Pular para o conteúdo

Depósito

O cliente deposita pagando o Pix fixo dele. Pedir o depósito antes é recomendado: assim o Pix recebido fica ligado ao seu pedido e você recebe o id dele no webhook.

Requer scope CRYPTO_WRITE.

Pedir depósito
curl -X POST https://api.gestaotechnology.com/api/crypto/deposits \
-H "X-Api-Key: <SECRET_KEY>" -H "Content-Type: application/json" \
-d '{ "customerId": "cliente-42", "amount": 2000 }'
CampoRegra
customerIdId ou externalRef do cliente. Precisa estar ACTIVE.
amountReais em centavos.

Resposta (201):

{
"depositIntentId": "610784d8-baa6-4daa-91c6-a45a16303c4a",
"customerId": "aaa61c8a-f702-4f02-aa16-0a803a232e0e",
"brCode": "00020126670014br.gov.bcb.pix…6304EAAC",
"amount": 2000,
"expiresAt": "2026-10-11T15:24:13.157Z"
}

Mostre o brCode como QR Code ou copia e cola e peça para o cliente pagar exatamente o valor. O pedido vale 24 horas. Se o cliente ainda não foi aprovado, a resposta é 403 kyc_required com o status e os links.

matchQuando
EXACTValor igual ao pedido em aberto.
PARTIALValor menor que o pedido.
OVERPAIDValor maior que o pedido.
UNREQUESTEDNão havia pedido em aberto. O depósito entra do mesmo jeito.

Em todos os casos o valor recebido é creditado. O match serve para você conciliar.

sequenceDiagram
  participant S as Seu sistema
  participant G as Plataforma
  participant C as Cliente
  participant P as Provedor cripto
  S->>G: POST /crypto/deposits (amount)
  G-->>S: brCode + depositIntentId
  S->>C: mostra QR / copia e cola
  C->>P: paga o Pix
  P->>P: converte reais em USDC (carteira do cliente)
  P-->>G: aviso de USDC recebido
  G-->>S: webhook crypto.deposit.paid (saldo pendente)
  G->>P: move o USDC para o caixa da plataforma
  G->>G: saldo pendente vira disponível (taxa descontada)

Leva por volta de 2 minutos entre o Pix e o webhook crypto.deposit.paid. O webhook chega quando o valor entra como saldo pendente; alguns minutos depois ele passa a disponível, já com a taxa descontada. Essa passagem não gera outro webhook: acompanhe pelo state em GET /crypto/deposits ou pelo saldo.

O provedor cripto fica com a parte dele na conversão do Pix para USDC: o amountUsdc já vem líquido desse custo. A taxa da loja (fee, em centavos) é calculada sobre o valor do Pix em reais.

GET /crypto/deposits/intents/:depositIntentId → 200

Seção intitulada “GET /crypto/deposits/intents/:depositIntentId → 200”

Requer scope CRYPTO_READ.

{
"depositIntentId": "610784d8-baa6-4daa-91c6-a45a16303c4a",
"status": "PAID",
"amount": 2000,
"expiresAt": "2026-10-11T15:24:13.157Z",
"depositId": "11fcaddc-29b8-4353-a756-4073d8ec82d0"
}

Status do pedido: OPEN aguardando, PAID casado com um Pix, EXPIRED passou de 24 h.

Requer scope CRYPTO_READ.

QueryTipoRegras
customerIdstringFiltra por cliente (id ou externalRef)
from, tostring (ISO 8601)Intervalo de datas
limitint1 a 100, default 50
{
"data": [
{
"depositId": "11fcaddc-29b8-4353-a756-4073d8ec82d0",
"customerId": "aaa61c8a-f702-4f02-aa16-0a803a232e0e",
"depositIntentId": "610784d8-baa6-4daa-91c6-a45a16303c4a",
"state": "SETTLED",
"match": "OVERPAID",
"amountBrl": 4000,
"amountUsdc": "7.820000",
"netUsdc": "7.490566",
"createdAt": "2026-10-10T15:41:10.802Z"
}
]
}

netUsdc é o USDC que entrou no seu saldo disponível (amountUsdc menos a taxa da loja); só vem preenchido em SETTLED, nos demais estados é null.

stateDiagram-v2
  [*] --> CONFIRMED: Pix convertido em USDC (saldo pendente)
  CONFIRMED --> SETTLING: movendo para o caixa da plataforma
  SETTLING --> SETTLED: saldo disponível
  CONFIRMED --> REVIEW: situação fora do normal
  SETTLING --> REVIEW: situação fora do normal
  REVIEW --> SETTLED: resolvido pelo suporte
  SETTLED --> REFUNDED: Pix devolvido ao cliente

Em CONFIRMED e SETTLING o valor aparece como saldo pending; em SETTLED, available (ver Saldo e taxas). Devoluções geram o webhook crypto.deposit.refunded.

REVIEW é tratado pela equipe da Gestão Intermediações (por exemplo, quando a taxa configurada é maior que o valor recebido, ou a conversão demora além do prazo). O valor não fica disponível até a análise; você não precisa fazer nada além de acompanhar.

Passo a passo com webhooks: Guia › Cripto: receber depósito.