Skip to Content
Endpoint-free RPC
View Markdown source

Endpoint-free RPC

Endpoint-free RPC lets the Gateway return shared cached results for supported request shapes before accessing an Endpoint. A matching read can return through the same Access Point without an Endpoint on your Gateway.

  • Endpoint-free RPC covers the exact methods and parameter forms listed on this page.
  • A hit returns the shared result without an upstream call. A miss continues through the configured Route to an Endpoint.
  • Authentication, rate limits, and Usage accounting apply to both hits and misses.

Pair Endpoint-free RPC with an Endpoint-backed Route for stable coverage across additional data, methods, and parameter forms.

Free to use and Endpoint-free RPC

TermMeaning
Free to useDescribes the RPC Gateway service. Authentication, rate limits, and Usage accounting still apply.
Endpoint-free RPCSupported request shapes check the shared cache before Endpoint selection.
Cache missThe request continues through the configured Route to an Endpoint.
Endpoint-backed RouteProvides stable coverage for writes, additional methods, parameter variants, and cache misses.

See Free RPC Gateway for the service-level overview.

Request flow

  1. The Gateway validates the App API Key, Host, chain, and network.
  2. The Gateway classifies the method and parameters against the Endpoint-free RPC policy.
  3. A cache hit returns the result immediately.
  4. On a miss, the Gateway continues through its Route to a configured Endpoint.

Authentication, rate limits, and Usage accounting apply to both paths.

Request flow: authentication and rate limiting precede the Endpoint-free RPC policy check; a cache hit returns the shared result, while a miss forwards through the Route to an Endpoint. Request flow: authentication and rate limiting precede the Endpoint-free RPC policy check; a cache hit returns the shared result, while a miss forwards through the Route to an Endpoint.

How concurrent cache misses are handled

Concurrent requests for the same eligible cache key are combined while one cache load is in flight. Within a worker, waiting requests reuse the local flight result once it is published. Across workers, distributed flight contention uses a bounded wait; if no result is published within that interval, a request can continue without a cache result.

Supported methods and parameters

Use these exact request forms for Endpoint-free RPC. Configure an Endpoint-backed Route for additional reads, writes, and parameter variants.

ProtocolMethodSupported params
EVMeth_blockNumberomitted or []
EVMeth_getBlockByNumber["latest", false] or ["<explicit hexadecimal block height>", false]
EVMdebug_traceBlockByNumber["<explicit hexadecimal block height>", {"tracer":"callTracer","tracerConfig":{"withLog":true}}]
SolanagetSlotomitted, [], or [{"commitment":"finalized"}]
SolanagetLatestBlockhashomitted, [], or [{"commitment":"finalized"}]
SolanagetBlock[<slot>, {"encoding":"json","commitment":"finalized","rewards":false,"maxSupportedTransactionVersion":0}]
Bitcoin / Litecoingetblockchaininfoomitted or []
Bitcoin / Litecoingetblockhash[<non-negative block height>]
Bitcoin / Litecoingetblock["<block_hash>", 3]
TRON JSON-RPCeth_blockNumberomitted or []

The EVM scope covers Ethereum, Polygon, BNB Smart Chain, Arbitrum, Optimism, and Base. For eth_getBlockByNumber, Endpoint-free RPC accepts only ["latest", false] or an explicit hexadecimal height with false. ["latest", true], the safe and finalized tags, decimal heights, and all other variants require an Endpoint-backed Route. The latest form uses a short-lived shared cache. During refresh fallback, it may return a stale cached value, so do not treat it as strongly consistent. debug_traceBlockByNumber still requires an explicit hexadecimal height.

For Solana getBlock, encoding may be json or jsonParsed; commitment must be finalized, rewards must be false, and the supported maximum transaction version is 0. transactionDetails may be omitted or set to full.

The TRON native HTTP API supports these Endpoint-free RPC request shapes:

PathSupported request
POST /wallet/getnodeinfoNo query parameters and no request body
POST /wallet/getblockbynumNo query parameters and a JSON body containing only {"num":<non-negative integer>,"visible":true}

Examples

This Ethereum Mainnet request uses an Endpoint-free RPC request shape. A current cache entry returns the latest cached height:

curl '<ethereum_access_point>' \ -H 'Authorization: Bearer <app_api_key>' \ -H 'Content-Type: application/json' \ --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Request the latest block without full transaction objects:

curl '<ethereum_access_point>' \ -H 'Authorization: Bearer <app_api_key>' \ -H 'Content-Type: application/json' \ --data '{"jsonrpc":"2.0","id":2,"method":"eth_getBlockByNumber","params":["latest",false]}'

Production guidance

  • Configure an Endpoint-backed Route for stable coverage across block heights, slots, block hashes, and cache refreshes.
  • Use upstream-backed reads and chain-specific confirmation rules for pending state, mempool state, newly submitted transactions, and decisions that require irreversible confirmation.
  • Configure an Endpoint for stable coverage, writes, and additional methods.
  • Use JSON-RPC requests with an id when the application needs a response body and cache-result visibility.
  • Endpoint-free RPC covers single JSON-RPC HTTP requests and the two exact TRON native HTTP API request shapes above.
  • Use the complete RPC Method Catalog in the dashboard for Route configuration and this page for the Endpoint-free RPC request set.

Use Errors and recovery as the reference for Gateway error codes and recovery actions.

Last updated on