JSON-RPC methods

The supported method set, including the QBFT methods.

Docs / Reference / JSON-RPC methods

The method set available on the public endpoints, measured against them rather than copied from a client's feature list.

Endpoints

TransportURL
HTTPShttps://rpc.aere.network, https://rpc2.aere.network
WebSocketwss://wss.aere.network, wss://api.aere.network/ws

Subscriptions live on the WebSocket endpoints. eth_subscribe is not available over HTTPS, which is the normal split for a JSON-RPC endpoint.

Available

MethodNotes
eth_blockNumber
eth_chainIdReturns 0xaf0
eth_getBlockByNumber, eth_getBlockByHash
eth_getBlockReceipts
eth_getTransactionByHash, eth_getTransactionReceipt
eth_getTransactionCountInside the 512-block state window only; older heights are refused
eth_getBalance, eth_getCode, eth_getStorageAt
eth_getProofThe correct way to prove an account fact
eth_call, eth_estimateGas, eth_createAccessList
eth_sendRawTransaction
eth_getLogs
eth_gasPrice, eth_maxPriorityFeePerGas, eth_feeHistoryReport the floor correctly
eth_subscribe, eth_unsubscribeWebSocket only
net_version, net_peerCount
web3_clientVersion, web3_sha3
txpool_statusrpc.aere.network only; rpc2.aere.network refuses it with -32604
qbft_getValidatorsByBlockNumberThe correct way to read the validator set
qbft_getSignerMetricsWhich validators actually produced blocks over a range

Not available on the public endpoints

NamespaceWhy it matters
debug_No debug_traceTransaction. Tracing needs your own node.
trace_No trace_block or trace_transaction.
admin_No peer list, no enode. Operational surface is not exposed.

If your workflow needs tracing, run your own node: the package and options are published. See Run a node.

Two behaviours to design around

State reads outside the state window are refused. The public endpoints keep state for 512 blocks; older heights answer -32000 World state unavailable (eth_call: -32603), measured on 2026-10-15. Earlier, eth_getTransactionCount there returned a false 0x0 instead of an error, so code written against that should treat an error as "not answerable here", never as zero. Use eth_getProof inside the window for anything you rely on.

An eth_call that returns empty data means that selector is not present. It does not mean the capability is absent. Prove a capability positively, from bytecode.

Checking this page

This table was produced by calling each method against the public endpoint and recording whether it answered, returned a parameter error, or reported that the method does not exist. You can repeat that check in a loop; a method that reports a parameter error is present, a method that reports it does not exist is not.