WALLETS

Carteiras por API, com autorização de assinatura

A Hodle oferece carteiras e operações por API. No fluxo por PIN, a aplicação fornece as credenciais da carteira e o servidor assina temporariamente em memória. Conheça esse modelo antes de definir as permissões do seu produto.

USDTUSDT
USDCUSDC
PolygonPolygon
BaseBase

Como funciona a assinatura na integração por API

Auto-custódia diz respeito a quem controla a autorização de assinatura. Para avaliar uma integração, é necessário conhecer quem guarda as credenciais e onde a transação é assinada.

No fluxo por PIN documentado pela Hodle, a aplicação envia walletPin e protectedSymmetricKey da carteira de origem. O servidor usa essas credenciais para desbloquear a chave temporariamente em memória, assinar e descartá-la. A documentação descreve armazenamento de chaves criptografadas e exige as credenciais da origem a cada transferência.

  • A API key autentica a conta; isoladamente, ela não substitui o PIN e a chave protegida nesse fluxo.
  • A assinatura desse fluxo ocorre no servidor, com as credenciais fornecidas pela aplicação.
  • A plataforma integradora deve guardar e fornecer as credenciais corretas das subcontas e controlar sua utilização.
  • O poder de movimentar depende das credenciais e permissões entregues à aplicação.

O que muda para a empresa que integra

A aplicação que possui as credenciais de assinatura pode solicitar movimentações no escopo permitido. Por isso, a integração deve definir quem pode autorizar uma operação, quais carteiras cada usuário alcança e como proteger PINs e chaves protegidas. A descrição técnica do fluxo não determina, por si só, o enquadramento jurídico de custódia.

Use walletId para selecionar a origem e mantenha as credenciais dessa carteira associadas ao titular correto. Em transferências de subcontas, informe fromSubAccountId; em consultas e payouts, subAccountId. Uma carteira de outro titular ou escopo é rejeitada.

  • Defina autorização, limites e guarda de credenciais conforme o fluxo escolhido.
  • Não registre PINs ou chaves protegidas em logs, prompts ou mensagens de erro.
  • Use a carteira, o titular e as credenciais correspondentes em cada chamada.

Como integrar a carteira por API

Crie uma carteira apenas quando precisar de uma nova e guarde o walletId retornado. Consultas e movimentações devem reutilizar esse identificador.

  1. 1Criar. POST /api/wallet/create exige walletPin de seis dígitos e documenta Polygon, Base e Solana. Informe subAccountId para uma carteira de cliente. Cada chamada bem-sucedida cria outra carteira.
  2. 2Consultar. POST /api/wallet/get seleciona a carteira pelo walletId e retorna seus dados.
  3. 3Obter a chave protegida. POST /api/wallet/keys retorna walletId, protectedSymmetricKey e email. Faça cache por walletId, junto do email do proprietário, e atualize quando a chave protegida daquela carteira mudar.
  4. 4Transferir. POST /api/wallet/transfer usa walletId, walletPin e a chave protegida da origem para enviar o ativo na rede selecionada. A Hodle patrocina o gas nas redes documentadas para esse endpoint.
  5. 5Acompanhar. O extrato devolve saldo por ativo e operações paginadas, e o webhook assinado com HMAC avisa cada mudança de estado.

Transferências: ativos disponíveis por rede

A matriz abaixo é de POST /api/wallet/transfer. A operação envia tokens na mesma rede; não faz bridge. A criação de wallets, o payout Pix e o fluxo Lightning têm contratos próprios.

  • Polygon: USDT, USDC e BRLA.
  • Base: USDC e BRLA.
  • Solana: USDT, USDC e BRS. Para BRS, confirme o acesso às operações desse ativo pela API.
  • BNB Chain: USDT BEP20, com mínimo de 1 USDT. Depende de disponibilidade na conta; não está disponível no sandbox.
  • No sandbox, a criação EVM usa Base Sepolia. A criação de carteira Solana não está disponível nesse ambiente.
USDTUSDT
USDCUSDC
PolygonPolygon
BaseBase

A carteira que também paga Pix

POST /api/wallet/payout inicia um Pix financiado pelo saldo elegível da carteira. O recebedor recebe reais; a seleção do ativo segue as regras de saldo e preferência do endpoint. A resposta inicial traz transactionId para acompanhamento e não confirma a liquidação.

  • Payout em Polygon: USDT, USDC e BRLA; em Base: USDC e BRLA; em Tron: USDT; em Solana: USDT, USDC e BRS.
  • O payout depende de acesso às operações de pagamento Pix pela API. Confirme também a disponibilidade de Tron e BRS em Solana na sua conta.
  • No fluxo por PIN, envie walletId, walletPin e protectedSymmetricKey correspondentes. A documentação também descreve um fluxo separado com assinatura do usuário para carteira própria.
  • Lightning → Pix usa uma invoice BOLT11 em /api/lightning/invoice, separada da transferência e do payout de stablecoins.

Perguntas frequentes

Tire suas dúvidas sobre carteiras auto-custodiais para empresas.

O que é uma carteira auto-custodial?

Auto-custódia trata do controle da autorização de assinatura. Na integração por PIN da Hodle, a aplicação fornece walletPin e protectedSymmetricKey, e o servidor desbloqueia a chave temporariamente em memória para assinar. Avalie quem controla essas credenciais e permissões no seu produto.

Qual a diferença entre auto-custódia e MPC?

Auto-custódia trata de quem controla a assinatura; MPC é uma técnica de computação com múltiplas partes. Uma técnica não define sozinha quem pode autorizar movimentações. O fluxo descrito nesta página usa PIN e chave protegida conforme a documentação da Hodle; não pressupõe MPC.

A empresa que integra consegue acessar os fundos dos usuários?

Depende das credenciais e permissões que ela controla. No fluxo por PIN, uma integração com API key, walletPin e protectedSymmetricKey válidos pode solicitar movimentações da carteira autorizada. A API key sozinha não substitui essas credenciais. A plataforma deve proteger os PINs das subcontas e controlar cada autorização.

Quais redes e ativos a carteira suporta?

Depende da operação. Wallet Transfer suporta Polygon com USDT/USDC/BRLA, Base com USDC/BRLA, Solana com USDT/USDC/BRS e BNB Chain com USDT BEP20. BRS e BNB exigem habilitações específicas; BNB não funciona no sandbox. Tron com USDT é documentada para Wallet Payout, não para Wallet Transfer. Lightning usa um fluxo separado.

Como integro a carteira no meu produto?

Crie a carteira com POST /api/wallet/create e PIN de seis dígitos, guarde o walletId e consulte a carteira com POST /api/wallet/get. POST /api/wallet/keys retorna a chave protegida e o email do proprietário: faça cache por walletId com esse email e atualize quando a chave mudar. Para transferir, envie as credenciais da carteira de origem e uma combinação de rede e ativo suportada.

Pronto para começar?

Defina a criação de carteiras, a guarda das credenciais e a autorização das operações no seu produto.