Crypto RPC
Proxy a JSON-RPC request to a supported blockchain node and bill per credit.
Request shapes
- Single request: a JSON-RPC 2.0 object (
{ "jsonrpc":"2.0", "method":"…", "params":[…], "id":1 }). - Batch: an array of up to 100 JSON-RPC 2.0 objects. If any item references an unsupported method, the entire batch is rejected with 400 and the offending methods are listed.
Supported methods
Methods are classified into three pricing tiers:
- Standard (1×):
eth_call,eth_getBalance,eth_blockNumber,eth_sendRawTransaction,eth_getLogs,net_version,web3_clientVersion, ERC-4337 bundler methods (eth_sendUserOperation, etc.), and chain-family extensions (zks_*,linea_*,bor_*,starknet_*). - Advanced (2×):
trace_*,debug_*,txpool_inspect,txpool_status,arbtrace_*. - Large (4×):
trace_replayBlockTransactions,trace_replayTransaction,txpool_content,arbtrace_replay*.
Stateful filter methods (eth_newFilter, eth_getFilterChanges, eth_uninstallFilter, etc.) are not supported — they break on a load-balanced HTTP proxy because filter state is pinned to a single upstream backend. Use eth_getLogs instead.
WebSocket-only methods (eth_subscribe, eth_unsubscribe) return 400 because this proxy is HTTP-only.
Pricing
Credits consumed per call = baseCredits[chain] × methodTier. baseCredits is 20 for most EVM chains (Ethereum, Base, Optimism, Arbitrum, Polygon, Linea, Avalanche, BSC, Blast) and Starknet; 30 for zkSync Era. The USD price per credit is ~7e-7 — a single standard EVM call costs ≈ 0.000056.
Per-request errors at the JSON-RPC layer (HTTP 200 with an error field in a response item) are billed at 5 credits instead of the full method tier — a small concession for methods not supported on a given chain or bad-parameter responses.
Rate limits
Two caps apply per caller:
- Requests per minute: 100 on the paid tier, 1000 on the staff tier.
- Credits per rolling 24 hours: 10,000,000 on the paid tier, 100,000,000 on the staff tier.
When either cap is exceeded, the request returns 429 with a
customMessageidentifying which cap tripped. The per-minute cap also sets theX-RateLimit-*response headers.
Idempotency
Set the Idempotency-Key request header to any string matching [A-Za-z0-9_-]{1,255} to enable safe retries. The response is cached for 24 hours keyed on (user, idempotency-key); replaying the same key with the same body returns the cached response with Idempotent-Replayed: true. Reusing the same key with a different body returns 400 to prevent silent corruption.
Authentication: This endpoint accepts either a Bearer API key or a SIGN-IN-WITH-X header for x402 wallet-based authentication. The legacy X-Sign-In-With-X header is also accepted during migration. When using x402, a 402 Payment Required response indicates insufficient balance and includes top-up instructions.
인증
이 엔드포인트는 두 가지 인증 방법을 지원합니다:- API Key:
Authorization: Bearer <key>헤더를 통한 표준 Bearer 토큰 인증. - x402 Wallet: Base 또는 Solana의 지갑에서 USDC 크레딧으로 종량제 결제. Venice 계정이 필요하지 않습니다. 설정은 x402 가이드를 참조하세요.
지원되는 네트워크
실시간 권위 목록은GET /crypto/rpc/networks를 참조하세요. 현재 커버리지:
| Family | Mainnet | Testnets |
|---|---|---|
| Ethereum | ethereum-mainnet | ethereum-sepolia, ethereum-holesky |
| Polygon | polygon-mainnet | polygon-amoy |
| Arbitrum | arbitrum-mainnet | arbitrum-sepolia |
| Optimism | optimism-mainnet | optimism-sepolia |
| Base | base-mainnet | base-sepolia |
| Linea | linea-mainnet | linea-sepolia |
| Avalanche C-Chain | avalanche-mainnet | avalanche-fuji |
| BNB Smart Chain | bsc-mainnet | bsc-testnet |
| Blast | blast-mainnet | blast-sepolia |
| zkSync Era | zksync-mainnet | zksync-sepolia |
| Starknet | starknet-mainnet | starknet-sepolia |
요청 형태
단일 요청
배치 요청
최대 100개의 JSON-RPC 2.0 객체 배열. 각 항목은 독립적으로 유효성 검사됩니다; 지원되지 않는 메서드가 있으면 전체 배치가400으로 거부되고 모든 위반 메서드 이름이 오류 메시지에 나열됩니다.
지원되는 메서드 및 가격 등급
메서드는 세 가지 크레딧 등급으로 분류됩니다. 호출당 소비되는 크레딧 =baseCredits[chain] × methodTier.
| 등급 | 배수 | 예제 메서드 |
|---|---|---|
| Standard | 1× | eth_call, eth_getBalance, eth_blockNumber, eth_sendRawTransaction, eth_getLogs, eth_getTransactionReceipt, eth_estimateGas, net_version, web3_clientVersion, ERC-4337 bundler methods (eth_sendUserOperation, eth_estimateUserOperationGas, etc.), chain-family extensions (zks_*, linea_*, bor_*, starknet_*) |
| Advanced | 2× | trace_block, trace_call, trace_transaction, debug_traceCall, debug_traceTransaction, debug_traceBlockByHash, txpool_inspect, txpool_status, arbtrace_* |
| Large | 4× | trace_replayBlockTransactions, trace_replayTransaction, txpool_content, arbtrace_replayTransaction, arbtrace_replayBlockTransactions |
체인별 기본 크레딧
| baseCredits | Chains |
|---|---|
| 20 | Ethereum + 위의 모든 EVM L2(Base, Optimism, Arbitrum, Polygon, Linea, Avalanche, BSC, Blast) 및 Starknet |
| 30 | zkSync Era |
비용 예제
Venice의 크레딧당~$6.25 × 10⁻⁷:
| 호출 | 크레딧 | USD 비용 |
|---|---|---|
Ethereum의 eth_call (20 × 1×) | 20 | $0.0000125 |
Ethereum의 trace_transaction (20 × 2×) | 40 | $0.0000250 |
Ethereum의 trace_replayTransaction (20 × 4×) | 80 | $0.0000500 |
zkSync의 eth_call (30 × 1×) | 30 | $0.0000188 |
지원되지 않음
- WebSocket 전용 메서드 (
eth_subscribe,eth_unsubscribe) — 이 프록시는 HTTP 전용입니다. 대신 폴링하거나 직접 WebSocket 제공자로 업그레이드하세요. - 상태 저장 필터 메서드 (
eth_newFilter,eth_getFilterChanges,eth_getFilterLogs,eth_uninstallFilter,eth_newBlockFilter,eth_newPendingTransactionFilter) — 필터 상태는 단일 업스트림 백엔드에 고정되어 있고 로드 밸런싱된 HTTP 프록시에서 조용히 끊깁니다. 대신eth_getLogs(상태 비저장)를 사용하세요. - 마이너 / 키 보유 메서드 (
eth_sign,eth_accounts,eth_mining,eth_hashrate,eth_getWork,eth_submitWork) — 호스팅된 제공자 엔드포인트는 사용자 비공개 키를 보유하지 않으므로 항상 오류가 발생합니다. 클라이언트 측에서 트랜잭션에 서명하고eth_sendRawTransaction을 통해 제출하세요. - 매핑되지 않은 메서드 — 명시적으로 허용 목록에 없는 모든 것은
400을 반환합니다. 추가를 요청하려면 지원팀에 문의하세요.
배치 항목별 청구
HTTP 응답이200인 경우에도 개별 배치 항목은 JSON-RPC error 필드(예: 잘못된 매개변수 오류 또는 대상 체인에서 지원되지 않는 메서드)와 함께 반환될 수 있습니다. Venice는 이러한 항목을 전체 메서드 등급이 아닌 각 5 크레딧으로 청구합니다 — 일반적인 “API 탐색” 실수에 대한 작은 양보입니다.
= 25입니다.
속도 제한
인증된 호출자당 분당 요청 제한:| 등급 | 요청/분 |
|---|---|
| Standard | 100 |
| Staff | 1,000 |
customMessage 및 표준 X-RateLimit-* 응답 헤더와 함께 429를 반환합니다.
멱등성
안전한 재시도를 활성화하려면Idempotency-Key 요청 헤더를 [A-Za-z0-9_-]{1,255}와 일치하는 문자열로 설정하세요. 응답은 (user, idempotency-key)를 키로 24시간 동안 캐시됩니다:
- 동일한 본문과 함께 동일한 키를 재생하면 캐시된 응답과
Idempotent-Replayed: true응답 헤더가 반환됩니다. 업스트림은 건드리지 않으며 새 크레딧이 청구되지 않습니다. - 다른 본문과 함께 동일한 키를 재생하면 무음 상태 손상을 방지하기 위해
400을 반환합니다. 별개의 요청에는 새 키를 선택하세요.
응답 헤더
| Header | Description |
|---|---|
X-Venice-RPC-Credits | 이 요청에 청구된 크레딧. 배치 요청의 경우 항목 전체의 합계입니다. |
X-Venice-RPC-Cost-USD | 소수점 8자리까지의 달러 비용. X-Venice-RPC-Credits × 크레딧당 가격과 동일합니다. |
X-Request-ID | 32자 상관 ID. 모든 지원 문의에 포함하세요. |
Idempotent-Replayed | 응답이 멱등성 캐시에서 온 경우 "true" 값과 함께 표시됩니다. |
X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset | 429 응답에만 설정됩니다. |
트랜잭션 릴레이를 위한 포렌식 로깅
eth_sendRawTransaction에 대한 모든 호출은 tx 해시(원시 바이트의 keccak256), 네트워크 슬러그, 요청 ID 및 호출 사용자 ID와 함께 서버 측에 기록됩니다. 서명된 페이로드 자체는 보존하지 않습니다 — 해시는 온체인 영수증에서 복구할 수 있습니다. 이 감사 추적은 고객의 API 키가 손상되어 인프라를 통해 불법 트랜잭션을 중계하는 데 사용되는 경우 온체인 활동을 책임 있는 계정과 연관시킬 수 있도록 존재합니다.
예제
X-Venice-RPC-Credits: 20, X-Venice-RPC-Cost-USD: 0.00001250, X-Request-ID: <nanoid>.
Postman 컬렉션
27개의 예제 요청(검색, 표준/고급/대규모 호출, 다중 체인, 배치, 멱등성, 오류 사례)이 포함된 즉시 가져올 수 있는 Postman 컬렉션이 공개 워크스페이스에서 제공됩니다: Venice Crypto RPC — Postman CollectionapiKey 컬렉션 변수를 Venice API 키로 설정하고 즉시 요청을 보내기 시작하세요.인증
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
헤더
Optional idempotency key for safe retries. Pattern: [A-Za-z0-9_-]{1,255}. Retrying within 24 hours with the same key + same body replays the cached response with Idempotent-Replayed: true. Same key + different body returns 400.
^[A-Za-z0-9_-]{1,255}$"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
경로 매개변수
Venice-side network slug. Call GET /api/v1/crypto/rpc/networks for the current list.
"ethereum-mainnet"
본문
- object
- object[]
JSON-RPC method name. See the "Supported methods" section of the endpoint description for the classification into 1×/2×/4× pricing tiers.
"eth_chainId"
2.0 "2.0"
Method parameters. Shape depends on the method; see the upstream chain documentation.
[]Caller-supplied request ID echoed back in the response. Required for batch request correlation.
1
응답
JSON-RPC response forwarded from the upstream node. Content-Type is forced to application/json regardless of upstream headers.