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.
| Rede | Mecanismo suportado |
|---|---|
| Arbitrum One | Polling HTTP (eth_getLogs) |
| Base | Polling HTTP (eth_getLogs) |
| BNB Smart Chain | Polling HTTP (eth_getLogs) |
| Ethereum | Polling HTTP (eth_getLogs) |
| HyperEVM | Polling HTTP (eth_getLogs) |
| Polygon | Polling HTTP (eth_getLogs) |
| Robinhood Chain | Polling 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.