JSON-RPC
지원하는 JSON-RPC 메서드, CU 가중치 및 오류 코드입니다. 엔드포인트와 체인을 설정하고 메서드 지원 여부, 요금 및 과금 규칙을 확인하세요.
개요
모든 요청의 사용량은 Compute Units (CU) 단위로 측정하며, API 키별 속도 제한을 적용합니다.
- 엔드포인트:
POST /v1/{chain}/{api_key}(경로로 키 전달) 또는POST /v1/{chain}(헤더로 키 전달). Robinhood Chain의{chain}은robinhood_mainnet입니다:https://api.blockvectra.com/v1/robinhood_mainnet. 같은 API 키를 지원되는 모든 체인에서 사용할 수 있습니다. - 프로토콜: HTTP
POST, 단일 호출 또는 배치 요청 - 사용량 측정: 요청이 도착하는 즉시 총 CU 비용을 키의 버스트 용량에서 차감합니다. 수락된 호출 중 응답을 받은 호출은 메서드의 공개 CU 가중치에 따라 과금합니다. 과금하지 않는 경우는 오류 레퍼런스에 나열되어 있습니다. 요금은 매시간 정산합니다(정수 단위로 내림하고 나머지는 이월하며, 정산 구간 종료 후 약 15분에 실행).
- Ethereum: 별도의 메서드 목록과
state_window_blocks로 결정되는 상태 조회 범위를 사용합니다. 지원 체인 → Ethereum을 확인하세요.
모든 메서드의 전체 매개변수 스키마, 메서드 시그니처 및 대화형 요청 테스트는 전체 레퍼런스를 참고하세요. 경로 버전 관리, 하위 호환성 규칙 및 SDK 권장 사항은 API 버전 관리 및 호환성을 확인하세요.
API 키 발급과 첫 요청은 빠른 시작을 참고하세요. 키 전달 방식과 배치 요청도 안내합니다.
자주 사용하는 호출
자주 사용하는 호출의 실행 예제입니다.
로그 조회 (eth_getLogs)
최근 블록 구간에서 컨트랙트 로그를 필터링합니다. 아래 예제는 ERC-20 Transfer 이벤트(topic 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef)를 조회합니다. eth_getLogs의 현재 CU 가중치는 아래 CU 사용량 측정 규칙 표에서 확인하세요. 체인의 max_logs_block_range(GET /v1/chains에서 조회)를 초과하는 구간은 -32602로 거부됩니다.
export BLOCKVECTRA_API_KEY=rgw_your_api_key
curl -X POST "https://api.blockvectra.com/v1/robinhood_mainnet" \
-H 'Content-Type: application/json' \
-H "x-api-key: $BLOCKVECTRA_API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getLogs",
"params": [{
"fromBlock": "0x45a2409",
"toBlock": "0x45a2609",
"address": "0x1111111111111111111111111111111111111111",
"topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]
}],
"id": 1
}'트랜잭션 추적 (debug_traceTransaction)
callTracer로 트랜잭션 내부 호출을 추적합니다. debug_traceTransaction의 현재 CU 가중치는 아래 CU 사용량 측정 규칙 표에서 확인하세요. 다른 상태 조회 메서드와 마찬가지로 대상 블록이 해당 체인의 최근 상태 조회 범위를 벗어나면 -32011로 거부됩니다. 범위 크기는 GET /v1/chains의 state_window_blocks로 결정됩니다. trace를 제공하는 체인의 과거 trace는 Data API로 조회하세요.
export BLOCKVECTRA_API_KEY=rgw_your_api_key
curl -X POST "https://api.blockvectra.com/v1/robinhood_mainnet" \
-H 'Content-Type: application/json' \
-H "x-api-key: $BLOCKVECTRA_API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": ["0xYOUR_TRANSACTION_HASH", {"tracer": "callTracer"}],
"id": 1
}'CU 사용량 측정 규칙
JSON-RPC 메서드별 Compute Unit (CU) 가중치입니다.
| 메서드 | 가중치 (CU) |
|---|---|
eth_blockNumber | 1 |
eth_chainId | 1 |
eth_getBlockByNumber | 5 |
eth_blobBaseFee | 10 |
eth_feeHistory | 10 |
eth_gasPrice | 10 |
eth_getBalance | 10 |
eth_getBlockByHash | 10 |
eth_getBlockReceipts | 10 |
eth_getBlockTransactionCountByHash | 10 |
eth_getBlockTransactionCountByNumber | 10 |
eth_getCode | 10 |
eth_getHeaderByHash | 10 |
eth_getHeaderByNumber | 10 |
eth_getProof | 10 |
eth_getRawTransactionByBlockHashAndIndex | 10 |
eth_getRawTransactionByBlockNumberAndIndex | 10 |
eth_getRawTransactionByHash | 10 |
eth_getStorageAt | 10 |
eth_getTransactionByBlockHashAndIndex | 10 |
eth_getTransactionByBlockNumberAndIndex | 10 |
eth_getTransactionByHash | 10 |
eth_getTransactionCount | 10 |
eth_getTransactionReceipt | 10 |
eth_getUncleByBlockHashAndIndex | 10 |
eth_getUncleByBlockNumberAndIndex | 10 |
eth_getUncleCountByBlockHash | 10 |
eth_getUncleCountByBlockNumber | 10 |
eth_maxPriorityFeePerGas | 10 |
eth_syncing | 10 |
net_version | 10 |
web3_clientVersion | 10 |
web3_sha3 | 10 |
eth_call | 15 |
eth_createAccessList | 20 |
eth_estimateGas | 20 |
eth_simulateV1 | 20 |
eth_getLogs | 30 |
eth_sendRawTransaction | 30 |
debug_traceBlockByHash | 100 |
debug_traceBlockByNumber | 100 |
debug_traceCall | 100 |
debug_traceTransaction | 100 |
trace_block | 100 |
trace_call | 100 |
trace_get | 100 |
trace_replayTransaction | 100 |
trace_transaction | 100 |
메서드 정책
지원 메서드는 체인마다 다르며 아래에 체인별로 표시합니다. 그 밖의 정보는 지원 체인을 참고하세요. 허용된 메서드 이름 또는 패턴과 일치하는 메서드만 호출할 수 있으며, 다른 메서드는 -32601 method not available을 반환합니다.
아래 모든 체인에서 허용
eth_blockNumbereth_calleth_chainIdeth_estimateGaseth_feeHistoryeth_gasPriceeth_getBalanceeth_getBlockByHasheth_getBlockByNumbereth_getBlockReceiptseth_getBlockTransactionCountByHasheth_getBlockTransactionCountByNumbereth_getCodeeth_getLogseth_getStorageAteth_getTransactionByBlockHashAndIndexeth_getTransactionByBlockNumberAndIndexeth_getTransactionByHasheth_getTransactionCounteth_getTransactionReceipteth_maxPriorityFeePerGaseth_syncingnet_versionweb3_clientVersion
Arbitrum One
eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 6,000개 블록
추가로 허용
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Base
eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 10,000개 블록
추가로 허용
eth_blobBaseFeeeth_createAccessListeth_getProofeth_simulateV1eth_getRawTransactionByHasheth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getUncleCountByBlockNumbereth_getUncleCountByBlockHasheth_getUncleByBlockNumberAndIndexeth_getUncleByBlockHashAndIndexeth_getHeaderByNumbereth_getHeaderByHasheth_sendRawTransactionweb3_sha3
BNB Smart Chain
eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 100개 블록
추가로 허용
eth_sendRawTransaction
Ethereum
eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 250,000개 블록
추가로 허용
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getProofeth_sendRawTransactiontrace_blocktrace_calltrace_gettrace_replayTransactiontrace_transactionweb3_sha3
Ethereum Sepolia
eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: —
추가로 허용
eth_blobBaseFeeeth_createAccessListeth_getProofeth_sendRawTransactionweb3_sha3
HyperEVM
이 체인에서는 아직 트랜잭션 전송을 지원하지 않습니다(eth_sendRawTransaction은 -32601 method_not_allowed 반환). 읽기 메서드는 정상적으로 사용할 수 있습니다.
eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: —
Polygon
eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 126개 블록
추가로 허용
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
Robinhood Chain
eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 900개 블록
추가로 허용
eth_blobBaseFeeeth_createAccessListeth_getProofeth_simulateV1eth_getRawTransactionByHasheth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getUncleCountByBlockNumbereth_getUncleCountByBlockHasheth_getUncleByBlockNumberAndIndexeth_getUncleByBlockHashAndIndexeth_getHeaderByNumbereth_getHeaderByHasheth_sendRawTransactionweb3_sha3debug_traceTransactiondebug_traceCalldebug_traceBlockByNumberdebug_traceBlockByHash
Robinhood Chain Testnet
eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 1,023개 블록
추가로 허용
debug_traceBlockByHashdebug_traceBlockByNumberdebug_traceCalldebug_traceTransactioneth_blobBaseFeeeth_createAccessListeth_getHeaderByHasheth_getHeaderByNumbereth_getProofeth_getRawTransactionByBlockHashAndIndexeth_getRawTransactionByBlockNumberAndIndexeth_getRawTransactionByHasheth_getUncleByBlockHashAndIndexeth_getUncleByBlockNumberAndIndexeth_getUncleCountByBlockHasheth_getUncleCountByBlockNumbereth_sendRawTransactioneth_simulateV1web3_sha3
한도:
- 배치: 요청당 최대 100회 호출. 아래의 키 CU 버스트 용량 제한도 적용됩니다.
- 요청 본문: 최대 2 MiB
- CU 버스트: 각 API 키에는 CU 버킷이 있습니다(
cu_per_sec보충 속도,burst_cu용량 — 기본 속도 400 CU/s, 버스트 용량 1,600 CU; 콘솔 Keys 표에 키별로 표시). 전체 JSON-RPC 배치를 포함한 단일 요청의 총 CU가 키의 버스트 용량을 초과하면-32022 request_exceeds_burst(request cost <N> CU exceeds burst capacity <M> CU)로 거부됩니다. 더 작은 배치로 나누세요.
오류 코드
전체 오류 코드, 과금 여부 및 처리 방법은 오류 레퍼런스를 참고하세요.
전체 OpenAPI 레퍼런스
모든 메서드 시그니처, 요청 및 응답 스키마, 대화형 매개변수 설명을 포함한 전체 기계 판독 명세는 전체 OpenAPI 레퍼런스를 확인하세요.
최종 수정일: