Passer au contenu

Suivi des paiements en USDT / USDC via JSON-RPC

Utilisez le JSON-RPC de BlockVectra pour suivre les transferts entrants en USDT et USDC par scrutation eth_getLogs, avec abonnements WebSocket disponibles sur les chaînes compatibles.

Chaînes prises en charge

Capacités réseau publiées dans GET /v1/chains.

ChaîneMécanisme pris en charge
Arbitrum OneScrutation HTTP (eth_getLogs)
BaseScrutation HTTP (eth_getLogs)
BNB Smart ChainScrutation HTTP (eth_getLogs)
EthereumScrutation HTTP (eth_getLogs)
HyperEVMScrutation HTTP (eth_getLogs)
PolygonScrutation HTTP (eth_getLogs)
Robinhood ChainScrutation HTTP et WebSocket

Trois étapes pour accepter les paiements

1. Obtenir une API key

Créez une API key via l'inscription programmatique(en anglais) avec signature de portefeuille Ethereum, ou connectez-vous à la console pour en générer une.

2. Scruter les événements Transfer

Construisez un filtre eth_getLogs avec l'adresse du contrat de token, le topic0 Transfer et votre adresse de réception complétée de zéros sur 32 octets. Avancez le curseur par lots dans la limite de blocs de la chaîne (généralement 1,000 blocs). Consultez le guide de filtrage Transfer(en anglais) et le guide de scrutation par curseur(en anglais).

3. Confirmer la profondeur et créditer le paiement

Interrogez jusqu'à safe_head = current_head - CONFIRMATION_DEPTH pour vous protéger contre les réorganisations de chaîne. Vérifiez que log.removed n'est pas true et assurez l'idempotence via (transactionHash, logIndex) avant de créditer le compte. Consultez le guide de réorganisation(en anglais) et le guide de déduplication(en anglais).

Exemple de requête eth_getLogs

Requête standard JSON-RPC conforme au guide pratique des paiements 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>"
        ]
      }
    ]
  }'

Tarification et règles de facturation

Poids de méthode eth_getLogs : 30 CU ($3.00 pour 1,000,000 de requêtes).

Les requêtes rejetées par le service (intervalle de blocs dépassé ou limitation de débit) ne sont pas facturées (billed: false). Consultez le guide de facturation(en anglais) ou la grille tarifaire complète.

Démarrer le suivi