Complete reference of World Chain JSON-RPC methods supported on Chainstack, with per-method availability for the eth, debug, trace, net, and web3 namespaces.
Our pricing is simple: 1 RU per full request, 2 RUs per archive. For which EVM methods are full vs archive, see Request units — EVM methods affected by block age.World Chain is an OP Stack layer 2 built by World. Chain ID is 480. Chainstack nodes run the world-chain execution client, a fork of Reth, and report world-chain/v2.4.0 from web3_clientVersion. The availability below applies to World Chain Mainnet on Global Nodes.
World Chain exposes the debug_* and the trace_* namespaces in full. Every trace method works, including trace_block, trace_transaction, trace_filter, trace_callMany, and trace_replayBlockTransactions. Both namespaces need a paid plan — see Debug and trace APIs.For tracer selection, the native tracers callTracer, prestateTracer, 4byteTracer, and noopTracer are enabled. flatCallTracer and muxTracer are not — see Available native tracers.
rpc_modules is not available on World Chain — it returns -32601 Method not found. Do not use it to work out which namespaces you have; use the table below.
The txpool_* namespace is not available on World Chain. txpool_status, txpool_content, txpool_contentFrom, and txpool_inspect all return -32601. There is no archive-mode or plan upgrade that turns them on, because World Chain is an OP Stack chain and pending transactions stay with the sequencer.
Pending transactions are accepted but never delivered
eth_newPendingTransactionFilter returns a filter ID and eth_subscribe("newPendingTransactions") returns a subscription ID, so both look like they worked. Neither ever delivers a transaction — the subscription produced zero events over a 16-second window against a chain that was confirming transactions throughout.eth_getBlockByNumber("pending") does return a block, unlike on Arc, so that call is safe to make. See What gives you mempool access for how World Chain compares with the other EVM chains.
A Global Node endpoint is load balanced across backends, and a filter created by eth_newFilter or eth_newBlockFilter lives on the single backend that created it. A follow-up eth_getFilterChanges that lands on a different backend returns -32602 filter not found. Poll with eth_getLogs over an explicit block range instead, or use a WSS subscription, which holds one connection to one backend for its lifetime.
World Chain produces a block roughly every 2 seconds. The standard EVM rule — 127 or more blocks behind the tip bills as archive — therefore covers about 4 minutes of history, against roughly 25 minutes on Ethereum. Plan for historical queries to bill as archive sooner than they would on Ethereum.
The world-chain client inherits Reth’s behavior of registering a number of Geth-era debug_* methods and then returning null for them rather than an error. They are marked unavailable below, because a null response carries no data. Use debug_traceTransaction, debug_traceBlockByNumber, debug_traceBlockByHash, and debug_traceCall instead, or eth_getStorageAt in place of debug_storageRangeAt — see Using eth_getStorageAt instead of debug_storageRangeAt on Reth.