Logo

Webhooks

Webhooks — Transações Crypto

Receba notificações em tempo real quando o status de transações de depósito ou saque em criptomoedas mudar.

Configuração

Headers do Webhooktext
Método: POST
Content-Type: application/json
User-Agent: Crypto-Webhook/1.0
Timeout: 10 segundos

Status Possíveis

PENDING_CONFIRMATIONAguardando confirmação na blockchain (depósitos)
PROCESSINGEm processamento (saques)
CONFIRMEDConfirmada e finalizada na blockchain
FAILEDTransação falhou
CANCELEDTransação cancelada

Payload do Webhook

Interface TypeScripttypescript
interface CryptoWebhook {
  id: string;
  type: "DEPOSIT" | "WITHDRAW" | "SWAP";
  asset: string;
  chain: string | null;
  amount: string;
  deposit_address?: string | null; // apenas para DEPOSIT
  wallet?: string | null;          // apenas para WITHDRAW
  status: "PENDING_CONFIRMATION" | "PROCESSING" | "CONFIRMED" | "FAILED" | "CANCELED";
  platform_fee: string;
  tx_hash?: string | null;
  expires_at?: Date | null;        // apenas para DEPOSIT
  created_at: Date;
  updated_at: Date;
  confirmed_at?: Date | null;
}

Exemplos de Payload

Depósito Confirmadojson
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "type": "DEPOSIT",
  "asset": "USDT",
  "chain": "ERC20",
  "amount": "100.50",
  "deposit_address": "0x742d35Cc1D1B2F48dE3D7d8c53c4E7Db0C4bC123",
  "status": "CONFIRMED",
  "platform_fee": "1.00",
  "tx_hash": "0x1234567890abcdef...abcdef",
  "expires_at": "2024-01-15T10:30:00.000Z",
  "created_at": "2024-01-15T09:30:00.000Z",
  "updated_at": "2024-01-15T10:00:00.000Z",
  "confirmed_at": "2024-01-15T10:00:00.000Z"
}
Withdraw Confirmadojson
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "type": "WITHDRAW",
  "asset": "USDT",
  "chain": "ERC20",
  "amount": "50.00",
  "wallet": "0x742d35Cc1D1B2F48dE3D7d8c53c4E7Db0C4bC123",
  "status": "CONFIRMED",
  "platform_fee": "1.00",
  "tx_hash": "0x1234567890abcdef...abcdef",
  "created_at": "2024-01-15T09:30:00.000Z",
  "updated_at": "2024-01-15T10:00:00.000Z",
  "confirmed_at": "2024-01-15T10:00:00.000Z"
}

Campos do Payload

CampoTipoDescrição
id
string (UUID)ID da transação crypto
type
stringTipo: DEPOSIT, WITHDRAW ou SWAP
asset
stringMoeda da transação
chain
string | nullRede blockchain
amount
stringValor da transação
deposit_address
string | nullEndereço de depósito (apenas DEPOSIT)
wallet
string | nullCarteira de destino (apenas WITHDRAW)
status
stringStatus atual da transação
platform_fee
stringTaxa da plataforma cobrada
tx_hash
string | nullHash da transação na blockchain (quando disponível)
expires_at
Date | nullExpiração do endereço de depósito (apenas DEPOSIT)
created_at
DateData de criação
updated_at
DateData da última atualização
confirmed_at
Date | nullData de confirmação na blockchain

Observações

  • Timeout de 10 segundos — responda rapidamente com HTTP 200
  • O webhook é enviado a cada mudança de status
  • O campo tx_hash só é preenchido após a confirmação na blockchain
  • Todos os valores monetários são strings para preservar precisão decimal