跳到正文

使用 JSON-RPC 监听 USDT / USDC 收款

用 BlockVectra 的 JSON-RPC 监听 USDT / USDC 到账(通过 eth_getLogs 轮询;支持 WebSocket 的链也可以订阅)。

支持的链

各链能力以 GET /v1/chains 为准。

链支持的接收机制
Arbitrum OneHTTP 轮询 (eth_getLogs)
BaseHTTP 轮询 (eth_getLogs)
BNB Smart ChainHTTP 轮询 (eth_getLogs)
以太坊HTTP 轮询 (eth_getLogs)
HyperEVMHTTP 轮询 (eth_getLogs)
PolygonHTTP 轮询 (eth_getLogs)
Robinhood ChainHTTP 轮询与 WebSocket 订阅

三步接入收款监听

1. 获取 API key

通过以太坊钱包签名进行 程序化开户 自主创建 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(每 100 万次请求 $3.00)。

被服务拒绝的请求(如超出单次区块区间或触上限额)不计费(billed: false)。详见 计费规则指南,或查看 完整定价表。

开始接入收款监听