Skip to Content
Getting StartedUse EVM RPC HTTP

Call RPC

Hosted raw RPC keeps direct EVM JSON-RPC access under compatibility-style endpoint URLs. For public RPC onboarding, treat the API key as part of the endpoint URL, such as /v1/ethereum/{api_key}.

Access

Endpoint pattern
POST {RPC_HTTP_BASE_URL}/v1/{CHAIN_NAME}/{API_KEY}
CHAIN_NAME
ethereum | bnbchain | base | arbitrum | optimism | polygon

How to call RPC

Create the API key

Create the API key first, then keep the full compatibility endpoint ready.

Pick one chain family

Use one endpoint from the current EVM family for the first successful call.

Copy-ready examples

curl -X POST "{RPC_HTTP_BASE_URL}/v1/ethereum/{api_key}" \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "eth_blockNumber", "params": [] }'

Contract notes

  • Raw RPC HTTP now accepts standard JSON-RPC batch arrays on the same route. Send an array of request objects and expect an array of response objects with HTTP 200.
  • Method pages under EVM HTTP API are the reviewed contract. Other upstream-style methods should be treated as best-effort forwarding, not a blanket public guarantee.
  • eth_getLogs keeps a hard maximum block-range guardrail of 10000 blocks on the current route. Requests above that range return a standard JSON-RPC error response instead of falling through to upstream.
  • Failed JSON-RPC responses preserve the normal JSON-RPC error object. Request correlation stays on headers such as X-Trace-ID and X-Request-ID instead of mutating upstream-style error.message payloads.
  • Missing auth on the HTTP route returns 401 plus X-Trace-ID and X-Request-ID headers before any upstream call is attempted.

Failure contract

{ "jsonrpc": "2.0", "id": 1, "error": { "code": -32001, "message": "upstream unavailable" } }

Batch contract

[ { "jsonrpc": "2.0", "id": 1, "method": "eth_chainId", "params": [] }, { "jsonrpc": "2.0", "id": 2, "method": "eth_blockNumber", "params": [] } ]

The response is a JSON array with one entry per request object. Mixed success and error entries are allowed.

eth_getLogs guardrail

The current hosted raw RPC route enforces a maximum explicit fromBlock to toBlock span of 10000 blocks for eth_getLogs.

{ "jsonrpc": "2.0", "id": 21, "error": { "code": -32012, "message": "eth_getLogs query exceeds max block range 10000" } }

Try it in the docs

Try send

Try EVM RPC

Send one direct browser request to the current hosted gateway base URL so the real network request is visible in devtools. The API key is only stored locally when you provide one.

Open one chain-family menu

  • EVM HTTP API: open the EVM family reference with exact method pages.
Last updated on