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 source
Endpoint pattern
POST {RPC_HTTP_BASE_URL}/v1/{CHAIN_NAME}/{API_KEY}CHAIN_NAME
ethereum | bnbchain | base | arbitrum | optimism | polygonHow 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
Compatibility endpoint
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_getLogskeeps a hard maximum block-range guardrail of10000blocks 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-IDandX-Request-IDinstead of mutating upstream-styleerror.messagepayloads. - Missing auth on the HTTP route returns
401plusX-Trace-IDandX-Request-IDheaders 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.
Related pages
Last updated on