METHODS
The endpoint serves the 90 methods below. Testnet and mainnet run the same list and the same limits — this one page covers both. Client: erigon-pulse. The client implements additional methods beyond this list. The endpoint does not serve them.
Every method below is rate-limited. The limits are per-client and deliberately unpublished — they may change without notice. Batches count per element and never cache.
| Method | Rate class | Recommended windows | Cached |
|---|---|---|---|
| web3_clientVersion | — | — | No |
| web3_sha3 | — | — | No |
| net_listening | — | — | No |
| net_peerCount | — | — | No |
| net_version | — | — | No |
| eth_blockNumber | — | — | No |
| eth_chainID | — | — | No |
| eth_chainId | — | — | Always |
| eth_protocolVersion | — | — | No |
| eth_syncing | — | — | No |
| eth_gasPrice | — | — | No |
| eth_maxPriorityFeePerGas | — | — | No |
| eth_feeHistory | — | — | No |
| eth_getBlockByHash | — | — | By hash (two-sight) |
| eth_getBlockByNumber | — | — | Below finality |
| eth_getBlockTransactionCountByHash | — | — | No |
| eth_getBlockTransactionCountByNumber | — | — | No |
| eth_getUncleByBlockHashAndIndex | — | — | No |
| eth_getUncleByBlockNumberAndIndex | — | — | No |
| eth_getUncleCountByBlockHash | — | — | No |
| eth_getUncleCountByBlockNumber | — | — | No |
| eth_getTransactionByHash | — | — | No |
| eth_getRawTransactionByHash | — | — | No |
| eth_getTransactionByBlockHashAndIndex | — | — | No |
| eth_getRawTransactionByBlockHashAndIndex | — | — | No |
| eth_getTransactionByBlockNumberAndIndex | — | — | No |
| eth_getRawTransactionByBlockNumberAndIndex | — | — | No |
| eth_getTransactionReceipt | — | — | No |
| eth_getBlockReceipts | — | — | By hash or below finality |
| eth_estimateGas | — | — | No |
| eth_getBalance | — | — | By hash or below finality |
| eth_getCode | — | — | By hash or below finality |
| eth_getTransactionCount | — | — | By hash or below finality |
| eth_getStorageAt | — | — | By hash or below finality |
| eth_exist | — | — | No |
| eth_call | — | — | Below finality (two-sight) |
| eth_callBundle | heavy window | — | No |
| eth_callMany | heavy window | — | No |
| eth_createAccessList | — | — | Below finality (two-sight) |
| eth_newFilter | light window | Filters with no address and no topics constraint are rejected. | No |
| eth_newBlockFilter | light window | — | No |
| eth_getFilterLogs | getLogs window | — | No |
| eth_getFilterChanges | getLogs window | — | No |
| eth_uninstallFilter | light window | — | No |
| eth_getLogs | getLogs window | Ranges above 10,000 blocks are rejected. blockHash queries are not affected. | Below finality (numeric span) |
| eth_sendRawTransaction | — | — | No |
| eth_getProof | heavy window | — | No |
| debug_accountAt | — | — | No |
| debug_getModifiedAccountsByNumber | light window | Ranges above 10,000 blocks are rejected. | No |
| debug_getModifiedAccountsByHash | light window | Multi-block queries are rejected. Single-block queries are not affected. | No |
| debug_getRawHeader | — | — | No |
| debug_getRawBlock | — | — | No |
| debug_traceBlockByHash | heavy window | — | No |
| debug_traceBlockByNumber | heavy window | — | No |
| debug_traceTransaction | — | — | No |
| debug_traceCall | — | — | Below finality (two-sight) |
| debug_traceCallMany | heavy window | — | No |
| trace_call | — | — | Below finality (two-sight) |
| trace_callMany | — | — | No |
| trace_replayBlockTransactions | heavy window | — | No |
| trace_replayTransaction | heavy window | — | No |
| trace_block | — | — | Below finality |
| trace_filter | getLogs window | Ranges above 10,000 blocks are rejected. | No |
| trace_get | — | — | No |
| trace_transaction | — | — | No |
| txpool_content | — | — | No |
| txpool_contentFrom | — | — | No |
| txpool_status | — | — | No |
| erigon_getHeaderByHash | — | — | No |
| erigon_getHeaderByNumber | — | — | Below finality |
| erigon_getLogsByHash | — | — | No |
| erigon_getLogs | getLogs window | Ranges above 10,000 blocks are rejected. blockHash queries are not affected. | No |
| erigon_getBalanceChangesInBlock | — | — | No |
| erigon_forks | — | — | No |
| erigon_getBlockByTimestamp | — | — | No |
| erigon_getBlockReceiptsByBlockHash | — | — | No |
| erigon_blockNumber | — | — | No |
| erigon_getLatestLogs | getLogs window | logCount above 100 or blockCount above 1,000 is rejected. | No |
| ots_getApiLevel | — | — | Always |
| ots_getInternalOperations | — | — | No |
| ots_hasCode | — | — | By hash or below finality |
| ots_getTransactionError | — | — | No |
| ots_traceTransaction | — | — | No |
| ots_getBlockDetails | — | — | Below finality |
| ots_getBlockDetailsByHash | — | — | By hash (two-sight) |
| ots_getBlockTransactions | — | — | Below finality |
| ots_searchTransactionsBefore | — | — | No |
| ots_getTransactionBySenderAndNonce | — | — | Always (two-sight) — frozen once mined |
| ots_getContractCreator | — | — | Always (two-sight) |
| ots_searchTransactionsAfter | — | — | No |
Caching is live on this endpoint. The Cached column describes the live behavior: Always = cached for every query. By hash = cached when the block param is a 0x hash. Hash-based transaction lookups (eth_getTransactionByHash, eth_getTransactionReceipt, eth_getRawTransactionByHash, and the by-tx traces) never cache: the pre-mine answer (null or "0x") is transient, and caching it lies to a poller for up to 24 h. Below finality = cached when the numeric block sits below the finalized checkpoint; latest tags and recent blocks never cache. Two-sight = a second identical request within 60 s confirms the store, so a null or error body never enters the cache.
Every cached response echoes your request id back and serves only clean bodies: a null result or a JSON-RPC error is remembered for 24 h instead of being cached. Equivalent spellings share one entry: addresses and hashes fold to lowercase, quantity zeros strip, and object keys sort.
This endpoint runs the erigon-pulse client. Its ots_traceTransaction returns empty internal-frame lists, where upstream erigon populates them. The erigon-pulse fork and upstream erigon are different clients with different configurations, so their tracing outputs are not identical.