Appearance
Endpoints
One gateway host, one path per chain:
https://rpc.lab.au.ro/<chain>All endpoints require the apikey header (Authentication).
Chain matrix
Status reflects a live probe of every method listed on the chain's integration page (linked in the first column).
| Chain | Path | Protocol | Batch | Notes |
|---|---|---|---|---|
| Ethereum | /eth | JSON-RPC 2.0 | ✓ | debug_* blocked; heavy methods guarded |
| BNB Smart Chain | /bsc | JSON-RPC 2.0 | ✓ | |
| Polygon | /polygon | JSON-RPC 2.0 | ✓ | |
| Avalanche C-Chain | /avax | JSON-RPC 2.0 | ✓ | C-Chain EVM (/ext/bc/C/rpc upstream) |
| Bitcoin | /btc | JSON-RPC 1.0 (bitcoind) | ✓ | load-balanced across nodes |
| Litecoin | /ltc | JSON-RPC 1.0 (litecoind) | ✓ | |
| Bitcoin Cash | /bch | JSON-RPC 1.0 (BCHN) | see page | no estimatesmartfee (use estimatefee) |
| Dash | /dash | JSON-RPC 1.0 (dashd) | ✓ | |
| Liquid | /liquid | JSON-RPC 1.0 (elementsd) | ✓ | Bitcoin sidechain |
| XRP Ledger | /xrp | rippled JSON-RPC | — | rippled has no batch |
| Stellar | /xlm | stellar-core REST | — | core info endpoints; Horizon on roadmap |
| TRON | /tron | REST (java-tron HTTP API) | — | POST /tron/wallet/<method> |
| Cosmos Hub | /cosmos | CometBFT RPC | ✓ | JSON-RPC and GET style |
| NEAR | /near | JSON-RPC 2.0 | ✓ | |
| Aptos | /aptos | REST (fullnode API v1) | — | GET /aptos/v1/... |
| Sui | /sui | JSON-RPC 2.0 | ✓ | |
| Cardano | /cardano | ogmios JSON-RPC | ✓ | queryNetwork/*, queryLedgerState/* |
| TON | /ton | — | — | coming soon |
| Solana | /solana | — | — | coming soon |
Aliases: /bitcoin→/btc, /ethereum→/eth, /ripple→/xrp, /stellar→/xlm, /litecoin→/ltc, /avalanche→/avax (for project chain-scoping purposes; the gateway paths above are the canonical ones).
Two request styles
JSON-RPC chains — POST the JSON-RPC envelope to the chain path:
bash
curl -X POST https://rpc.lab.au.ro/eth \
-H "apikey: $YOUR_API_KEY" -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'REST chains — append the upstream API path after the chain segment:
bash
# TRON: java-tron wallet API
curl -X POST https://rpc.lab.au.ro/tron/wallet/getnowblock \
-H "apikey: $YOUR_API_KEY"
# Aptos: fullnode REST v1
curl https://rpc.lab.au.ro/aptos/v1 \
-H "apikey: $YOUR_API_KEY"Batch requests
JSON-RPC chains accept arrays. Responses are correlated by id (order is not guaranteed), each element is cached and metered individually:
bash
curl -X POST https://rpc.lab.au.ro/eth \
-H "apikey: $YOUR_API_KEY" -H 'Content-Type: application/json' \
-d '[{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1},
{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":2}]'Response caching
The gateway caches per method class — you can always tell from the X-Cache: HIT|MISS response header:
| Class | Examples | TTL |
|---|---|---|
| Immutable | eth_getTransactionReceipt, getrawtransaction, confirmed blocks by hash | indefinite |
| Static | eth_chainId, net_version, getnodeinfo | indefinite |
| Short | eth_blockNumber (2 s), getblockcount (10 s), eth_gasPrice (5 s), getMasterchainInfo (2 s) | 1–30 s |
| Never | every submit/broadcast, eth_estimateGas, eth_call* | — |
* eth_call uses a 2 s TTL keyed on call data; state-changing simulation is safe because nothing is executed on-chain.
If your use case needs a guaranteed-fresh value (e.g. polling chain height in tests), prefer an uncached method of the same family — e.g. getmininginfo instead of getblockcount on bitcoind chains.
WebSockets
There is no public WebSocket endpoint yet — see WebSockets for the roadmap and a polling pattern that covers most subscription use cases today.