JSON-RPC

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_blockNumber1
eth_chainId1
eth_getBlockByNumber5
eth_blobBaseFee10
eth_feeHistory10
eth_gasPrice10
eth_getBalance10
eth_getBlockByHash10
eth_getBlockReceipts10
eth_getBlockTransactionCountByHash10
eth_getBlockTransactionCountByNumber10
eth_getCode10
eth_getHeaderByHash10
eth_getHeaderByNumber10
eth_getProof10
eth_getRawTransactionByBlockHashAndIndex10
eth_getRawTransactionByBlockNumberAndIndex10
eth_getRawTransactionByHash10
eth_getStorageAt10
eth_getTransactionByBlockHashAndIndex10
eth_getTransactionByBlockNumberAndIndex10
eth_getTransactionByHash10
eth_getTransactionCount10
eth_getTransactionReceipt10
eth_getUncleByBlockHashAndIndex10
eth_getUncleByBlockNumberAndIndex10
eth_getUncleCountByBlockHash10
eth_getUncleCountByBlockNumber10
eth_maxPriorityFeePerGas10
eth_syncing10
net_version10
web3_clientVersion10
web3_sha310
eth_call15
eth_createAccessList20
eth_estimateGas20
eth_simulateV120
eth_getLogs30
eth_sendRawTransaction30
debug_traceBlockByHash100
debug_traceBlockByNumber100
debug_traceCall100
debug_traceTransaction100
trace_block100
trace_call100
trace_get100
trace_replayTransaction100
trace_transaction100

메서드 정책

지원 메서드는 체인마다 다르며 아래에 체인별로 표시합니다. 그 밖의 정보는 지원 체인을 참고하세요. 허용된 메서드 이름 또는 패턴과 일치하는 메서드만 호출할 수 있으며, 다른 메서드는 -32601 method not available을 반환합니다.

아래 모든 체인에서 허용

  • eth_blockNumber
  • eth_call
  • eth_chainId
  • eth_estimateGas
  • eth_feeHistory
  • eth_gasPrice
  • eth_getBalance
  • eth_getBlockByHash
  • eth_getBlockByNumber
  • eth_getBlockReceipts
  • eth_getBlockTransactionCountByHash
  • eth_getBlockTransactionCountByNumber
  • eth_getCode
  • eth_getLogs
  • eth_getStorageAt
  • eth_getTransactionByBlockHashAndIndex
  • eth_getTransactionByBlockNumberAndIndex
  • eth_getTransactionByHash
  • eth_getTransactionCount
  • eth_getTransactionReceipt
  • eth_maxPriorityFeePerGas
  • eth_syncing
  • net_version
  • web3_clientVersion

Arbitrum One

eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 6,000개 블록

추가로 허용

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_sendRawTransaction
  • eth_simulateV1
  • web3_sha3

Base

eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 10,000개 블록

추가로 허용

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getProof
  • eth_simulateV1
  • eth_getRawTransactionByHash
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getUncleCountByBlockNumber
  • eth_getUncleCountByBlockHash
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleByBlockHashAndIndex
  • eth_getHeaderByNumber
  • eth_getHeaderByHash
  • eth_sendRawTransaction
  • web3_sha3

BNB Smart Chain

eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 100개 블록

추가로 허용

  • eth_sendRawTransaction

Ethereum

eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 250,000개 블록

추가로 허용

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getProof
  • eth_sendRawTransaction
  • trace_block
  • trace_call
  • trace_get
  • trace_replayTransaction
  • trace_transaction
  • web3_sha3

Ethereum Sepolia

eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: —

추가로 허용

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getProof
  • eth_sendRawTransaction
  • web3_sha3

HyperEVM

이 체인에서는 아직 트랜잭션 전송을 지원하지 않습니다(eth_sendRawTransaction은 -32601 method_not_allowed 반환). 읽기 메서드는 정상적으로 사용할 수 있습니다.

eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: —

Polygon

eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 126개 블록

추가로 허용

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_sendRawTransaction
  • eth_simulateV1
  • web3_sha3

Robinhood Chain

eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 900개 블록

추가로 허용

  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getProof
  • eth_simulateV1
  • eth_getRawTransactionByHash
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getUncleCountByBlockNumber
  • eth_getUncleCountByBlockHash
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleByBlockHashAndIndex
  • eth_getHeaderByNumber
  • eth_getHeaderByHash
  • eth_sendRawTransaction
  • web3_sha3
  • debug_traceTransaction
  • debug_traceCall
  • debug_traceBlockByNumber
  • debug_traceBlockByHash

Robinhood Chain Testnet

eth_getLogs 최대 블록 범위: 1,000개 블록; 상태 조회 범위: 1,023개 블록

추가로 허용

  • debug_traceBlockByHash
  • debug_traceBlockByNumber
  • debug_traceCall
  • debug_traceTransaction
  • eth_blobBaseFee
  • eth_createAccessList
  • eth_getHeaderByHash
  • eth_getHeaderByNumber
  • eth_getProof
  • eth_getRawTransactionByBlockHashAndIndex
  • eth_getRawTransactionByBlockNumberAndIndex
  • eth_getRawTransactionByHash
  • eth_getUncleByBlockHashAndIndex
  • eth_getUncleByBlockNumberAndIndex
  • eth_getUncleCountByBlockHash
  • eth_getUncleCountByBlockNumber
  • eth_sendRawTransaction
  • eth_simulateV1
  • web3_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 레퍼런스를 확인하세요.

최종 수정일:

이 페이지의 내용