Skip to content

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).

ChainPathProtocolBatchNotes
Ethereum/ethJSON-RPC 2.0debug_* blocked; heavy methods guarded
BNB Smart Chain/bscJSON-RPC 2.0
Polygon/polygonJSON-RPC 2.0
Avalanche C-Chain/avaxJSON-RPC 2.0C-Chain EVM (/ext/bc/C/rpc upstream)
Bitcoin/btcJSON-RPC 1.0 (bitcoind)load-balanced across nodes
Litecoin/ltcJSON-RPC 1.0 (litecoind)
Bitcoin Cash/bchJSON-RPC 1.0 (BCHN)see pageno estimatesmartfee (use estimatefee)
Dash/dashJSON-RPC 1.0 (dashd)
Liquid/liquidJSON-RPC 1.0 (elementsd)Bitcoin sidechain
XRP Ledger/xrprippled JSON-RPCrippled has no batch
Stellar/xlmstellar-core RESTcore info endpoints; Horizon on roadmap
TRON/tronREST (java-tron HTTP API)POST /tron/wallet/<method>
Cosmos Hub/cosmosCometBFT RPCJSON-RPC and GET style
NEAR/nearJSON-RPC 2.0
Aptos/aptosREST (fullnode API v1)GET /aptos/v1/...
Sui/suiJSON-RPC 2.0
Cardano/cardanoogmios JSON-RPCqueryNetwork/*, queryLedgerState/*
TON/toncoming soon
Solana/solanacoming 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:

ClassExamplesTTL
Immutableeth_getTransactionReceipt, getrawtransaction, confirmed blocks by hashindefinite
Staticeth_chainId, net_version, getnodeinfoindefinite
Shorteth_blockNumber (2 s), getblockcount (10 s), eth_gasPrice (5 s), getMasterchainInfo (2 s)1–30 s
Neverevery 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.