JSON-RPC
The Ethereum JSON-RPC methods Vordium serves, what each answers, and the error codes.
| Fact | Mainnet | Testnet |
|---|---|---|
| Native lane | https://rpc.vordium.com | https://rpc-testnet.vordium.com |
| EVM lane | https://rpc.vordium.com/evmrpc | https://rpc-testnet.vordium.com/evmrpc |
| Chain id (hex) | 0x18aed | 0x18aee |
Both addresses take JSON-RPC over HTTP POST and over WebSocket. Batches (an array of calls) are answered with an array.
Methods that answer
| Method | Notes |
|---|---|
eth_chainId, net_version, web3_clientVersion, eth_syncing | |
eth_blockNumber, eth_getBlockByNumber, eth_getBlockByHash | a height with no block answers null |
eth_getBalance, eth_getTransactionCount, eth_getCode, eth_getStorageAt | |
eth_call, eth_estimateGas | |
eth_gasPrice, eth_feeHistory, eth_maxPriorityFeePerGas | the priority fee answers 0x0 |
eth_getLogs, eth_getTransactionByHash, eth_getTransactionReceipt, eth_getBlockReceipts | |
eth_newBlockFilter, eth_getFilterChanges, eth_uninstallFilter | a filter idle for 5 minutes is removed |
eth_accounts | answers []: the node holds no keys |
eth_subscribe("newHeads"), eth_unsubscribe | WebSocket only |
On the main network eth_sendRawTransaction is refused with -32003: the EVM lane does not take transactions there.
import requests
r = requests.post("https://rpc-testnet.vordium.com", timeout=10,
json={"jsonrpc": "2.0", "id": 1, "method": "eth_chainId", "params": []}).json()
print("chain id", int(r["result"], 16))Errors
| Code | Meaning |
|---|---|
-32003 | the transaction was refused (on the main network: EVM transactions are not accepted) |
-32601 | the method is not served (a subscription over HTTP answers this too, asking for a WebSocket) |
-32602 | a subscription other than newHeads |
-32600 | an invalid request, such as an empty batch |
-32700 | the body is not JSON |
-32000 | the request cannot be served (for example, a filter that does not exist) |
Network facts last checked against the network 2026-10-22 13:00:37 UTC · mainnet spec v28 · testnet spec v8