JSON-RPC

Endpoints, the method set, and the limits a client must know about.

Docs / Build / JSON-RPC

Chain 2800 exposes the standard Ethereum JSON-RPC API over HTTPS, plus the QBFT namespace.

Endpoints

https://rpc.aere.network
https://rpc2.aere.network

Both are public, unauthenticated, and operated by the AERE Foundation.

Subscriptions are on separate WebSocket endpoints, not on those hosts:

wss://wss.aere.network
wss://api.aere.network/ws

eth_subscribe works there and not over HTTPS.

A call

curl -s -X POST -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' \
  https://rpc.aere.network

Namespaces

NamespaceNotes
eth_The standard set: blocks, transactions, receipts, calls, logs, fee history, proofs
net_net_version returns 2800
web3_Client version and sha3
qbft_Validator set and signer metrics, specific to the consensus engine

Two qbft_ methods are worth knowing:

  • qbft_getValidatorsByBlockNumber returns the validator set at a height. This is the correct way

to count validators; do not infer the set from who produced recent blocks.

  • qbft_getSignerMetrics reports how many blocks each validator actually produced over a range.

A validator that proposes is not necessarily a validator that produces.

What is not exposed

admin_ is not exposed on the public endpoints. If you need a node's enode or peer list, you are looking at an operational question and the answer is to run your own node.

Limits worth knowing before you build

State window of 512 blocks. Beyond it, state-reading calls answer from a pruned state and eth_getTransactionCount returns a false 0x0. Use eth_getProof. See Events and logs.

A revert with empty data means the name is missing, not the function. An eth_call that returns empty tells you that selector is not present. It does not tell you the capability is absent. Prove capability positively, from bytecode.

Do not scan for history. Use the indexer for per-address history.

Errors

Standard JSON-RPC error objects. A transaction rejected for a fee below the base fee floor comes back as an ordinary underpriced error; see Fees.