JSON-RPC による USDT / USDC 入金監視
BlockVectra の JSON-RPC を使用して eth_getLogs ポーリングで USDT / USDC の入金を監視します(WebSocket 対応チェーンではリアルタイム購読も利用可能です)。
対応チェーン
GET /v1/chains で公開されているネットワーク仕様。
| チェーン | 対応配信方式 |
|---|---|
| Arbitrum One | HTTP ポーリング (eth_getLogs) |
| Base | HTTP ポーリング (eth_getLogs) |
| BNB Smart Chain | HTTP ポーリング (eth_getLogs) |
| Ethereum | HTTP ポーリング (eth_getLogs) |
| HyperEVM | HTTP ポーリング (eth_getLogs) |
| Polygon | HTTP ポーリング (eth_getLogs) |
| Robinhood Chain | HTTP ポーリング & WebSocket |
決済受け取りの三つのステップ
1. API key の取得
Ethereum ウォレット署名による プログラマティック登録(英語) で API key を作成するか、コンソール にログインして生成します。
2. Transfer イベントのポーリング
トークンコントラクトアドレス、Transfer イベントの topic0、32 バイトゼロパディング済み受取アドレスを用いて eth_getLogs フィルタを構築します。チェーンの最大ブロック範囲制限(通常 1,000 ブロック)以内でカーソルを進めます。詳細は Transfer イベントフィルタガイド(英語) および カーソルポーリングガイド(英語) を参照してください。
3. 承認深度の確認と残高反映
チェーンの再編成(リオーグ)を防ぐため、safe_head = current_head - CONFIRMATION_DEPTH まで照会します。log.removed が true でないことを確認し、(transactionHash, logIndex) の複合キーにより冪等性を担保した上で残高へ反映します。詳細は リオーグ対策ガイド(英語) および 重複排除ガイド(英語) を参照してください。
eth_getLogs リクエスト例
実用ガイドと一致する標準 JSON-RPC リクエスト:
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>"
]
}
]
}'料金と請求ルール
eth_getLogs メソッド重み:30 CU(1,000,000 リクエストあたり $3.00)。
サービスによって拒否されたリクエスト(ブロック範囲超過やレート制限など)は課金されません (billed: false)。請求ルールガイド(英語) または 全料金表 をご確認ください。