Skip to content

Endpoints

One gateway host, one path per chain:

https://rpc.au.ro/<chain>

All endpoints require the apikey header (Authentication). The same host also serves WebSocket subscriptions (wss://…/ws/<chain>) and gRPC (rpc.au.ro:443) for the chains marked below.

Chain matrix

Status reflects a live probe of every method listed on the chain's integration page (linked in the first column). WS = WebSocket subscriptions (details); gRPC = native gRPC (details).

ChainPathProtocolBatchWSgRPCNotes
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)
Dogecoin/dogeJSON-RPC 1.0 (dogecoind)~1 min blocks; fees are DOGE-denominated
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 RESTGET only; core info endpoints; Horizon on roadmap
TRON/tronREST (java-tron HTTP API)POST /tron/wallet/<method>
Cosmos Hub/cosmosREST (Cosmos SDK LCD)HTTPS = LCD REST; CometBFT RPC is WS-only; gRPC = Cosmos SDK
NEAR/nearJSON-RPC 2.0
Aptos/aptosREST (fullnode API v1)GET /aptos/v1/...
Sui/suiJSON-RPC 2.0
Cardano/cardanoogmios JSON-RPCqueryNetwork/*, queryLedgerState/*
TON/tonTonCenter HTTP (via ton-http-api)JSON-RPC at /ton/jsonRPC + REST (/ton/getMasterchainInfo, …)
Solana/solanaHTTPS JSON-RPC coming soon; WS pubsub live

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

Per-location availability

The matrix above is the platform's full chain catalog. Each deployment location serves a subset of it, and chains can be temporarily withdrawn while their nodes are migrated between locations. A chain that is not served where you're connected answers with JSON-RPC error -32601"chain not available at this location" (WebSocket paths return HTTP 404 with the same message) — see Errors. Your API key is fine; retry on a location that serves the chain or check back after maintenance.

Two request styles

JSON-RPC chains — POST the JSON-RPC envelope to the chain path:

bash
curl -X POST https://rpc.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.au.ro/tron/wallet/getnowblock \
  -H "apikey: $YOUR_API_KEY"

# Aptos: fullnode REST v1
curl https://rpc.au.ro/aptos/v1 \
  -H "apikey: $YOUR_API_KEY"

# Cosmos Hub: Cosmos SDK LCD (NOT CometBFT JSON-RPC — see the chain page)
curl https://rpc.au.ro/cosmos/cosmos/base/tendermint/v1beta1/node_info \
  -H "apikey: $YOUR_API_KEY"

Two REST chains are GET-only at the gateway — a POST to /xlm or a JSON-RPC POST to /cosmos does not do what you'd expect:

  • Stellar (/xlm) accepts GET only; a POST returns Kong's 404 {"message":"no Route matched with those values"}.
  • Cosmos Hub (/cosmos) is the LCD REST API. A JSON-RPC POST is answered by the gRPC-gateway with {"code":12,"message":"Not Implemented"}, and CometBFT paths return 501 — the CometBFT RPC is WebSocket-only.

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

Chains marked WS in the matrix stream native subscriptions over

wss://rpc.au.ro/ws/<chain>?apikey=<YOUR_API_KEY>

The key rides the ?apikey= query parameter (browser WebSocket() can't set headers) or the apikey header for everything else; the handshake is authenticated exactly like an HTTPS call, then frames pipe verbatim to the chain node (eth_subscribe, Solana pubsub, CometBFT subscribe, XRPL subscribe, Ogmios). Per-chain examples + reconnect guidance: WebSockets.

gRPC

Chains marked gRPC in the matrix (Cosmos Hub, TRON) are additionally served over native gRPC (TLS, key in apikey metadata, no path prefix — routing is by proto package: cosmos.*, ibc.* → Cosmos; protocol.* → TRON). Two entries: rpc.au.ro:8443 supports every call shape including server reflection; rpc.au.ro:443 handles unary + server-streaming with explicit descriptors (Cosmos ships a ready-made cosmos.protoset, TRON needs the java-tron protos):

bash
grpcurl -H "apikey: $YOUR_API_KEY" rpc.au.ro:8443 list

grpcurl -protoset cosmos.protoset -H "apikey: $YOUR_API_KEY" \
  -d '{"denom":"uatom"}' \
  rpc.au.ro:443 cosmos.bank.v1beta1.Query/SupplyOf

Port semantics + details: gRPC.