Skip to main content
Ways BOT Chain’s public JSON-RPC differs from a standard Geth node. Each row lists BOT Chain’s documented behaviour, where there is one, and what we measured on 2026-10-01.

Summary

eth_getLogs

Documented: BOT Chain’s JSON-RPC page says eth_getLogs is disabled on the public endpoints and points to third-party providers. Measured: On 2026-10-01 both public RPCs answered eth_getLogs for bounded ranges. A 50,000-block range, queried in 5,000-block chunks, returned results in about 8 seconds. A query from block 0 to latest timed out. What to do: Treat eth_getLogs as unsupported in production. Query small ranges, or use the Explorer API. See Known limitations.

Blob API

Documented: BOT Chain implements EIP-4844 and keeps blob data on the execution layer, so it adds two methods: eth_getBlobSidecarByTxHash and eth_getBlobSidecars. Ethereum serves blobs from the consensus layer’s Beacon API instead. See Blob API for parameters.

Finality methods

Documented: BOT Chain uses Parlia, a difficulty-based fork choice with FFG finality, as described in BEP-126. Validators produce several blocks in a row, as described in BEP-341. Measured: The standard safe and finalized block tags work. These extra methods from the BNB Smart Chain client also answered on both networks: On 2026-10-01 the validator-count parameter accepted values from 1 to 7, matching the 7 validators producing blocks. For most apps, the finalized tag is simpler:
finalized.sh
See Consensus and finality.

Block header fields

Headers follow the Ethereum Prague format, with these Parlia-specific values:

Subscriptions, filters, debug and trace

These are not documented by BOT Chain. We found them on 2026-10-01:
  • No WebSocket. eth_subscribe returns “notifications not supported”. Poll over HTTP instead.
  • Filters are unreliable. eth_newFilter returns an ID, but eth_getFilterChanges and eth_getFilterLogs returned “filter not found” for about half of calls. The public endpoint likely spreads requests across several nodes. Don’t use filters; poll with block numbers.
  • No debug_* or trace_*. Both return error -32601. To trace transactions, run your own node with these APIs enabled.

eth_createAccessList

Not documented by BOT Chain. On testnet on 2026-10-01, eth_createAccessList checks that the sender can pay for gas at the default price, and fails with “insufficient funds” otherwise. Pass a funded from address, or set gasPrice to 0x0:
access-list.sh

JSON-RPC

Endpoints and method support.

Known limitations

Workarounds for each gap.
Last modified on October 2, 2026