Standard JSON-RPC for Base

One URL. Standard JSON-RPC. Faster Base.

No SDK, no network object, no signup. Point your client at one HTTPS endpoint and keep your code. It works with viem, ethers, wagmi, web3.py, and curl, anything that speaks Ethereum RPC.

Get connected

POSThttps://rpc.baseazul.dev

Chain ID 8453 0x2105. Single region (us-east-1 (Virginia)), wrap it in a fallback for production.

curl -X POST https://rpc.baseazul.dev \  -H 'content-type: application/json' \  -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'# => {"jsonrpc":"2.0","id":1,"result":"0x2105"}

Paste the curl tab and you’ll get back 0x2105, you’re connected.

Build against it

Rate limit
100rps
Burst 400, per anon IP
eth_getLogs
5,000blk
Per call
Batch
50reqs
Per JSON-RPC batch

Full limits in docs →

Pair with a fallback

Azul runs from a single region (us-east-1 (Virginia)). Wrap it in viem’s fallback() (see the viem tab above) so a backup takes over on errors.

Writes fan out for you

You don’t need a wrapper. eth_sendRawTransaction already races multiple paths to the sequencer for the lowest inclusion latency.

Method support

All eth_*, net_*, web3_* are open and keyless. debug_*, trace_*, txpool_* need a free key. HTTP today; WebSocket is roadmap.

Full method reference →

Upgrade path

Anonymous access is keyless, ungated, and the default. Most apps never need more. Two rungs above it when you do. Compare tiers and limits →

Free key

Hit a limit, or need debug_* / trace_*? A free key raises your rate limits, widens the eth_getLogs window, and opens blocked namespaces.

No signup. We set you up by hand, your traffic still isn’t logged.

Edge

Fill-sensitive? Edge adds a pre-confirmation feed (early access) and an end-to-end priority path, the data advantage trading desks pay for. We make money on Edge, so we never monetize your traffic. That is also why there is nothing to log.