Ethereum
Ethereum mainnet over JSON-RPC.
Endpoint
| Default port | 3360 (override per endpoints[] entry) |
| Calling convention | POST / with a JSON-RPC body |
| Spec | specs/ethereum.json |
Supported method families
| Family | Examples |
|---|---|
| Standard | eth_blockNumber, eth_call, eth_getBalance, eth_getBlockByNumber, eth_getLogs, eth_estimateGas, eth_gasPrice, eth_feeHistory, eth_sendRawTransaction |
Tracing (debug add-on) |
debug_traceTransaction, debug_traceCall, debug_traceBlockByNumber, debug_storageRangeAt, debug_getRawBlock, debug_getRawReceipts |
Tracing (trace add-on) |
trace_call, trace_block, trace_transaction, trace_get |
| Account abstraction (ERC-4337) | eth_estimateUserOperationGas, eth_sendUserOperation, etc. (node-dependent) |
| Network / client | web3_*, net_* |
The full method list lives in the spec file linked above.
Upstream capabilities
Some methods only work on upstreams with specific capabilities. Mark these as add-ons in your config; the router only routes matching methods to capable upstreams.
| Add-on | Required for |
|---|---|
debug |
debug_* tracing methods |
trace |
trace_* methods (trace_call, trace_block, …) |
archive |
deep eth_getLogs and historical state (also extends the debug / trace collections for old blocks) |
bundler |
ERC-4337 user-operation methods |
Connect a client
Migrating from Alchemy / Infura / QuickNode
Swap the node URL for your Smart Router URL. The JSON-RPC protocol is identical — your existing client code doesn't change.
If you relied on vendor-specific extensions (Alchemy enhanced APIs, QuickNode add-ons, etc.), check whether your upstream nodes expose the equivalent methods. Coverage for a method is determined by the chain spec, which is maintained in the catalog — if something you need isn't covered, request it.
Run this example
The repo ships a ready-to-run config at config/smartrouter_examples/smartrouter_eth.yml — two public upstreams (PublicNode, Tenderly), HTTP + WS, no API key needed:
It listens on port 3360 — send it a request with any of the client snippets above.