Base RPC endpoint — node URL, WebSocket & Flashblocks

Last updated:

Get API key Read the documentation

Network details

Base connection values
NetworkBase mainnet (OP Stack L2 on Ethereum)
Chain ID8453
CurrencyETH
RPC URLhttps://triport.io/rpc/base
WebSocket URLwss://triport.io/ws/base (from Basic, scope base:ws)
Flashblocks feedwss://triport.io/ws/base-feed (Pro+, scope base:feed, address filter required)
Authenticationx-token: $TRIPORT_API_KEY (Authorization: Bearer also accepted)
Keyed URL for walletshttps://triport.io/r/<API_KEY>/rpc/base

Try it without a key

https://triport.io/public/base — 10 req/s reads, 3 req/s transaction sends — one budget shared by every caller. JSON-RPC over HTTPS POST with no key and no account; it is not a plan, and there is no WebSocket.

eth_getProof, debug_* and trace_* need Pro; txpool_* is not served. Sends work on the same URL.

curl https://triport.io/public/base \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# -> {"jsonrpc":"2.0","id":1,"result":"0x2105"}

Checked by a live probe on 2026-11-01. Bodies up to 256 KiB; a batch of 20 calls is answered.

Add it to a wallet from the Base chain config, which has the button and the parameters.

What works today

Capabilities and their published status — from the generated capability registry
CapabilityStatusNotes
JSON-RPC readsAvailableeth_getLogs <= 10000 blocks
Block with receipts (recipe)AvailableNot a JSON-RPC method: call eth_getBlockByNumber and eth_getBlockReceipts.
Debug tracesAvailable—
Transaction submissionAvailable—
WebSocket newHeadsAvailable—
Flashblocks feedAvailableAn address filter is required.

Reads cover the standard EVM surface — balances, code and storage, blocks and receipts, transactions, gas and fee history. eth_getLogs is capped at 10,000 blocks per query; a wider range returns -32005 block_range_exceeds_10000, so split the range or read whole blocks with eth_getBlockReceipts. JSON-RPC batches are accepted and every element counts as one request.

Flashblocks, and what we do not claim about it

Base produces Flashblocks — preconfirmation blocks published ahead of the full L2 block. Triport relays that stream on wss://triport.io/ws/base-feed from Pro with the base:feed scope. An address filter is mandatory: a connection without one is refused with filter_required. We publish no latency numbers for this feed, because we have not measured them end to end through our own path — see Flashblocks.

Submit signed transactions with eth_sendRawTransaction; the receipt decides inclusion. See transactions.

What teams run on it

  • Bots and backends. WebSocket newHeads with a key, on the plans in the table below.
  • Indexers. eth_getLogs paged by block range.
  • Flashblocks consumers. The preconfirmation feed on Pro; see the Flashblocks section above.

Testnet

Base testnets: Base Sepolia (chain ID 84532). Triport serves mainnet only; switch the URL and chain ID for test work — Base testnet connection values.

Terms on this page: Sequencer · Layer 2 rollup · Base fee.

Limits and plans

2× burst buffer, included. Finite request-rate limits show sustained RPS and short burst capacity. A full buffer at 20 RPS can absorb up to 40 requests at once and refills at 20 requests per second. There is no quota on the number of bursts and no extra charge for them. Size ongoing traffic to sustained RPS. Categories with no per-category cap have no numeric burst ceiling. How burst capacity works.

Requests per second by plan — per-category RPS limits, not measured upstream capacity
CapabilityFree trial (7 days)BasicProBusinessEnterprise
Reads10 RPS sustained · up to 20 burst20 RPS sustained · up to 40 burst100 RPS sustained · up to 200 burst250 RPS sustained · up to 500 burst250 RPS sustained · up to 500 burst
Submission3 RPS sustained · up to 6 burst5 RPS sustained · up to 10 burst30 RPS sustained · up to 60 burst80 RPS sustained · up to 160 burst80 RPS sustained · up to 160 burst
Debug traces——2 RPS sustained · up to 4 burst5 RPS sustained · up to 10 burst5 RPS sustained · up to 10 burst
WebSocket connections—1 × 10 subs2 × 10 subs4 × 10 subs4 × 10 subs
Flashblocks feed streams——122

Enterprise carries the same 250 RPS read ceiling as Business on Base — the difference is contractual, not a higher number. Plans: Basic $20, Pro $249, Business $499, Enterprise from $999 per month. Free is a 7-day trial with a single key in the EU region, not a permanent plan. See Base limits.

Every plan with its limits on every network, and what a plan costs at its cap: RPC pricing.

Quickstart

# curl
curl https://triport.io/rpc/base \
  -H "x-token: $TRIPORT_API_KEY" -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

# viem
import { createPublicClient, http } from "viem";
import { base } from "viem/chains";
const client = createPublicClient({
  chain: base,
  transport: http("https://triport.io/r/<API_KEY>/rpc/base"),
});

# Hardhat / Foundry
networks: { base: { url: "https://triport.io/r/<API_KEY>/rpc/base", chainId: 8453 } }
rpc_endpoints = { base = "https://triport.io/r/<API_KEY>/rpc/base" }

FAQ

What is the Base RPC URL?
https://triport.io/rpc/base for JSON-RPC over HTTPS and wss://triport.io/ws/base for newHeads subscriptions. Authenticate with the x-token header, or use the keyed URL form https://triport.io/r/<API_KEY>/rpc/base where a header is impossible.
What is chain ID 8453?
8453 is Base mainnet, an Ethereum L2 built on the OP Stack that pays gas in ETH. Standard eth_* JSON-RPC and the usual EVM tooling (viem, ethers, Hardhat, Foundry) work against it.
Is there a block range limit on eth_getLogs?
Yes: 10,000 blocks per query. A wider range returns -32005 block_range_exceeds_10000. Split the range client-side, or read whole blocks with eth_getBlockReceipts.
Are WebSocket logs subscriptions available on Base?
No: wss://triport.io/ws/base serves newHeads from Basic. For contract events, poll eth_getLogs in 10,000-block windows, or use the Flashblocks feed from Pro with an address filter.
What is the Flashblocks feed?
A WebSocket stream of Base Flashblocks, available from Pro with the base:feed scope. An address filter is required — a connection without one is refused with filter_required. We publish no latency figures for it.
Can I send transactions on Base through Triport?
Yes. Send signed, serialized transactions with eth_sendRawTransaction on https://triport.io/rpc/base; a malformed payload is answered with a JSON-RPC error and never broadcast. A returned hash means the request was routed — the receipt decides inclusion.
Are debug_traceTransaction and trace_* available on Base?
debug_traceTransaction and debug_traceBlockByNumber are available from Pro. Parity-style trace_*, eth_getProof and the other debug_* methods are not part of the Base product.
What are the Base rate limits?
Reads 10/20/100/250 RPS on the 7-day Free trial, Basic, Pro and Business, and submission 3/5/30/80. Enterprise carries the same 250 read ceiling as Business. These are per-category RPS limits, not measured upstream capacity.
Does the public Base RPC support WebSocket?
Our keyless URL does not: it accepts HTTPS POST only. With a key, WebSocket subscriptions depend on your plan, as the limits table shows.
Is there a free Base RPC?
Yes, for testing: https://triport.io/public/base needs no key and allows 10 reads per second, shared by every caller. A key starts with a 7-day trial.
Does Triport serve Base Sepolia?
No. Triport serves Base mainnet only. Base Sepolia is chain ID 84532; its official values are on the chain config page.

Base read methods