본문으로 건너뛰기

JSON-RPC를 통한 USDT / USDC 입금 모니터링

BlockVectra의 JSON-RPC를 사용하여 eth_getLogs 폴링으로 USDT 및 USDC 입금을 모니터링하세요(WebSocket 지원 체인에서는 실시간 구독도 가능).

지원 네트워크

GET /v1/chains에 공개된 실시간 네트워크 사양.

체인지원 전송 방식
Arbitrum OneHTTP 폴링 (eth_getLogs)
BaseHTTP 폴링 (eth_getLogs)
BNB Smart ChainHTTP 폴링 (eth_getLogs)
EthereumHTTP 폴링 (eth_getLogs)
HyperEVMHTTP 폴링 (eth_getLogs)
PolygonHTTP 폴링 (eth_getLogs)
Robinhood ChainHTTP 폴링 및 WebSocket

결제 연동 세 단계

1. API key 발급

이더리움 지갑 서명을 통한 프로그래밍 방식 회원가입(영어)으로 API key를 생성하거나 콘솔에 로그인하여 발급받으세요.

2. Transfer 이벤트 폴링

토큰 컨트랙트 주소, Transfer 이벤트 topic0 및 32바이트 제로 패딩된 수신 주소로 eth_getLogs 필터를 구성합니다. 네트워크의 최대 블록 범위 제한(통상 1,000 블록) 내에서 커서를 분할 전진합니다. 자세한 내용은 Transfer 이벤트 필터 가이드(영어) 및 커서 폴링 가이드(영어)를 참조하세요.

3. 승인 깊이 확인 및 잔액 반영

체인 재구성(reorg)을 방지하기 위해 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). 청구 규칙 가이드(영어) 또는 전체 요금표를 확인하세요.

결제 모니터링 시작