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 발급
이더리움 지갑 서명을 통한 프로그래밍 방식 회원가입(영어)으로 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). 청구 규칙 가이드(영어) 또는 전체 요금표를 확인하세요.