Pular para o conteúdo

Monitoramento de pagamentos em USDT / USDC via JSON-RPC

Utilize o JSON-RPC da BlockVectra para monitorar transferências recebidas de USDT e USDC por polling eth_getLogs, com assinaturas WebSocket disponíveis em redes com suporte.

Redes suportadas

Capacidades de rede publicadas em GET /v1/chains.

RedeMecanismo suportado
Arbitrum OnePolling HTTP (eth_getLogs)
BasePolling HTTP (eth_getLogs)
BNB Smart ChainPolling HTTP (eth_getLogs)
EthereumPolling HTTP (eth_getLogs)
HyperEVMPolling HTTP (eth_getLogs)
PolygonPolling HTTP (eth_getLogs)
Robinhood ChainPolling HTTP e WebSocket

Três etapas para receber pagamentos

1. Obter uma API key

Crie uma API key via cadastro programático(em inglês) usando assinatura de carteira Ethereum, ou faça login no console para gerá-la.

2. Fazer polling de eventos Transfer

Monte um filtro eth_getLogs com o endereço do contrato do token, o topic0 de Transfer e seu endereço de recebimento preenchido com zeros para 32 bytes. Avance o cursor em lotes respeitando o limite de blocos da rede (normalmente 1,000 blocos). Veja o guia de filtros Transfer(em inglês) e o guia de polling por cursor(em inglês).

3. Confirmar profundidade e creditar pagamento

Consulte até safe_head = current_head - CONFIRMATION_DEPTH para proteção contra reorganizações de rede. Verifique se log.removed não é true e garanta a idempotência com (transactionHash, logIndex) antes de creditar saldos. Veja o guia de reorganizações(em inglês) e o guia de deduplicação(em inglês).

Exemplo de requisição eth_getLogs

Chamada padrão JSON-RPC consistente com o guia de pagamentos em stablecoins:

curl -s -X POST https://api.blockvectra.com/v1/bsc_mainnet \
  -H "content-type: application/json" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "eth_getLogs",
    "params": [
      {
        "address": "0x55d398326f99059fF775485246999027B3197955",
        "fromBlock": "0x28a0000",
        "toBlock": "0x28a03e7",
        "topics": [
          "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          null,
          "0x000000000000000000000000<your-receiving-address>"
        ]
      }
    ]
  }'

Preços e regras de faturamento

Peso do método eth_getLogs: 30 CU ($3.00 por 1,000,000 de requisições).

Requisições rejeitadas pelo serviço (como intervalo de blocos excedido ou limite de taxa) não são faturadas (billed: false). Veja o guia de faturamento(em inglês) ou a tabela de preços completa.

Iniciar monitoramento