Choose an RPC provider by how it behaves on a bad day, then confirm the price of the throughput you will actually buy. The nine checks below are the decision: reliability, security, latency, failover, chain coverage, pricing, rate limits, archive and WebSocket support, and a person who answers when production is hurting.

RPC infrastructure, updated November 2, 2026

An RPC provider is the service your app calls to read chain state and broadcast signed transactions. Wallet balances, contract calls, and payment confirmation all sit on that hop. Figures below were checked November 2, 2026 against the pages in Sources. The latency figures are CompareNodes report 01a19c0d, captured the same day from 30 regions.

Nine checks before you choose

Run this list against every finalist, including Tatum. A homepage logo for a chain is not a method matrix.

Check A good answer What to test
Reliability Healthy, synced nodes, with freshness you can measure Timeouts, error rate, stale blocks, time to recover
Security Keys restricted by IP or origin, HTTPS or WSS, signing outside the RPC layer Rotation, allowlists, what a leaked key can still do
Latency Low latency in the regions you actually serve, plus a median across a wide set Latest-block reads where your users are. Then the median across every region in the same run.
Failover Traffic leaves an unhealthy upstream without a code change Disable the primary. Confirm fresh data, not only status 200.
Chain coverage Your mainnets, testnets, and methods, written down Chain, environment, method, history depth, WebSocket or gRPC
Pricing and free tier A bill you can recompute at base load and at peak Credit weights, dedicated RPS, overages, gateway traffic
Rate limits Published RPS, plus what a burst does 1x, 3x, and a short 5x. Record the first 429.
Archive and WebSocket The historical and streaming calls your job uses Worst-case logs or traces, then a dropped subscription and replay
Support An escalation path with a named channel One real ticket during the pilot, outside the docs

1. Reliability

Verdict: Reliability includes block freshness. An endpoint can answer HTTP 200 with a block the rest of the network has already left behind, which delays a deposit view or leaves a transaction looking stuck.

Ask how the provider treats unsynced nodes, regional failure, and stale responses. A 99.9% monthly availability target still allows about 43.8 minutes of downtime in a 30.44-day month. That arithmetic only helps when the agreement defines what counts as down, and what is excluded.

Tatum's RPC Gateway docs say the gateway aims for 99.9% uptime or higher by moving traffic off a failed or unsynced node. The tatum.io homepage, checked November 2, 2026, says 99.99% uptime. Both lines are vendor copy. This guide did not run an uptime study.

Try this: read the latest block from two independent sources, force a timeout, and write down when your app shows the fresh block again.

2. Security

Verdict: Treat the RPC key like production infrastructure. A leaked key can burn quota. It should not be able to sign.

Tatum's API key access restrictions let each key carry an IP allowlist, an origin allowlist, or both. An empty pair of lists is the default, and that key works from anywhere. Requests that miss a list return 403 and do not consume credits. Origin checks stop another website from using a key that is visible in a browser. They are not a boundary for server traffic, because a non-browser client can send any Origin it wants. Restrict server keys by IP.

  • Use a separate key per environment. Rotate it, and expire it if it leaks. Store it in a secret manager, not in the repo.
  • Require HTTPS or WSS. Do not log the key or a full authenticated URL.
  • Sign in a wallet or signing service, then broadcast the signed payload. The RPC provider does not need the private key.
  • For a high-value read, check chain id, receipt, finality, and block hash. Reorgs still happen after a successful RPC call.

WebSocket and gRPC streams are checked when they open. A stream that opened before you restricted the key stays up until it reconnects.

3. Latency

Verdict: Check latency in the regions where you need it to be fast. Then look at the median across the full region set, so one slow city does not become the headline and one fast city does not either.

On November 2, 2026 at 11:38 UTC we submitted CompareNodes report 01a19c0d from RPC Inspector Pro. It compared https://ethereum-mainnet.gateway.tatum.io/ with https://ethereum-rpc.publicnode.com on Ethereum mainnet from 30 AWS regions. Requests were throttled to at least 1,100 ms apart in each region. Tatum recorded 120 successes and no 429s. PublicNode recorded 984 successes and no 429s.

The method is eth_getBlockByNumber(latest, false). Tatum returned one observation per region, so the figure below is that sample, not a multi-sample p95. Across all 30 regions the median of those samples is 74.8 ms (the midpoint of London at 74.2 ms and Singapore at 75.4 ms). PublicNode's global p50 on the same method was 83.8 ms, and its global p95 was 255.3 ms, from 210 successes.

Regions where the Tatum sample was lowest

Same run, same method. PublicNode's column is a p95 from 7 successes in that region.

Region Tatum, 1 sample PublicNode p95
Frankfurt 18.5 ms 61.4 ms
Jakarta 25.0 ms 207.7 ms
Columbus, OH 38.1 ms 137.4 ms
Kuala Lumpur 40.1 ms 188.3 ms

Those four regions are the ones under 50 ms in this run. Other regions were slower. Osaka was 312.1 ms on the same single sample. Use the median, 74.8 ms, when you need one number for the whole run, and use the row for the region you deploy in when you need a local number.

The tatum.io homepage line "Sub 50 ms latency" matches Frankfurt, Jakarta, Columbus, and Kuala Lumpur in this run. It does not match the 30-region median. A keyed endpoint can collect a real multi-sample p95. This run used the public URL so the test can be repeated.

To sample the same method from one machine:

curl --request POST \
  --url https://ethereum-mainnet.gateway.tatum.io \
  --header 'content-type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["latest",false]}'

CompareNodes excluded one warmup request per endpoint per region. A laptop curl will not match the table.

4. Failover

Verdict: One hardcoded RPC URL is a single point of failure. Put failover in the routing layer so the app does not learn a new URL during an incident.

Tatum's Custom RPC Gateway accepts endpoints you bring, including other providers. Documented strategies are Priority Failover (highest priority endpoint, then a healthy fallback) and Load Distribution (weighted round-robin). A new gateway starts with Tatum as the default provider where Tatum has that chain. You then add provider endpoints.

A concrete layout: the app calls one gateway URL, Tatum is the preferred upstream, and a second provider or your own node is the backup. Test it by disabling the primary. Then read the latest block from an independent source and confirm the app caught up.

Failover stops at the HTTP call. It does not undo a reorg, refill a WebSocket you dropped, or tell you whether a timed-out broadcast landed. Keep the transaction hash, deduplicate retries, and reconcile.

5. Chain coverage

Verdict: Count the networks you will call, then the methods on each one. A larger logo wall is not a larger method matrix.

The tatum.io homepage, checked November 2, 2026, says 130+ blockchains. The supported blockchains doc groups protocols into three tiers and does not repeat that headline. Tier 1 names include Ethereum, Solana, Bitcoin, Base, Arbitrum, Polygon, BNB Smart Chain, and Tron. Tier 2 names include Sui and Robinhood. A chain can expose ordinary JSON-RPC and still differ on archive depth, trace and debug, WebSocket subscriptions, or gRPC.

Ask for a matrix: chain, mainnet or testnet, method, historical depth, streaming interface, throttle, and exceptions.

6. Pricing and free tier

Verdict: Model the bill at base load, at growth, and at a stress spike. A monthly sticker that ignores eth_getLogs, traces, and fallback traffic will not match the invoice.

Tatum prices below were read on tatum.io/pricing and plans and limits on November 2, 2026. The pricing page also shows lower amounts on longer commitments. Recheck the slider before you budget.

Offer Price Throughput Credits Where published
Free $0 3 RPS on full nodes 100,000 lifetime. Also 2 API keys, 100 notifications per month, 5 subscriptions, community support. Pricing FAQ, plans and limits
Starter $49 per month 200 RPS 4 million per month on that sticker. Plans and limits also list a 7 million credit choice. Pro is 10, 15, or 20 million. Scale is 40 or 80 million. Pro and Scale are also 200 RPS. Pricing page and plans and limits
Dedicated 10 RPS $99 per month 10 RPS Does not consume plan credits Pricing page, dedicated keys
Dedicated 25 RPS $249 per month 25 RPS Does not consume plan credits Pricing page, dedicated keys
Dedicated 50 RPS $509 per month 50 RPS Does not consume plan credits Pricing page, dedicated keys
Dedicated 100 RPS $1,049 per month 100 RPS Does not consume plan credits Pricing page, dedicated keys

If you hit a plan limit, the pricing FAQ says the account upgrades to the next tier unless you turn automatic upgrades off. With auto-upgrade off, keys stop until the next reset. Credits do not roll over. Custom Gateway traffic can be charged on its own rules. Dedicated RPS is throughput, not a bundle of every Tatum product.

A worksheet that works for any provider: requests by method, credit or compute weight, burst RPS, environments, chains, fallback traffic, support, and overage. Then add the engineering cost of building the missing failover yourself.

7. Rate limits

Verdict: Average requests per second hide the minute everyone arrives at once. Publish the cap, then watch the cliff.

On Tatum, the free plan is 3 RPS on full nodes. Starter, Pro, and Scale are 200 RPS in the plans and limits doc. A dedicated key is the RPS you bought, from the table above, and it does not draw down plan credits. Requests rejected by an IP or origin allowlist return 403 and do not use credits. That 403 is access control, not the same signal as a 429 from a rate limit.

In a pilot, run 1x normal load, 3x the expected peak, and a short controlled 5x burst. Write down what fails first: latency, 429s, stale blocks, or a dropped subscription.

8. Archive and WebSocket

Verdict: "Ethereum RPC" is not a capability list. Archive depth, traces, and streaming differ by chain and by plan.

A wallet can live on recent state. An indexer may need a long eth_getLogs range, a trace, or state at an old block. A trading screen may need a WebSocket. A reconciliation job needs a way to backfill after a gap.

Tatum documents streaming on WebSockets and gRPC, with per-chain references such as Ethereum WebSocket. Confirm archive, debug, and trace on the network you will call. Time the worst historical query in the pilot, not a latest-block read.

The November 2 CompareNodes run is a useful warning here. Tatum's 30-region median for eth_getLogs was 264.7 ms, against 74.8 ms for the latest-block read in the same run.

9. Support

Verdict: The useful question is who can look at a stale block on your chain when the app is down, and how you reach them.

Tatum's free plan lists community support. Paid and custom agreements need their own response-time and incident terms. During the pilot, open one ticket that the docs do not already answer. Keep the timestamp and the resolution.

Also check status-page visibility and maintenance notice. A provider can have a fast node and a quiet incident channel.

Tatum vs one RPC URL

Verdict: Use a single Tatum URL for a pilot. Add a second upstream on the Custom RPC Gateway before a production app depends on that URL alone.

Tatum fits when you want one key across many chains, IP and origin restrictions on that key, and a place to attach a backup endpoint. The gateway docs describe health-based failover and load distribution. They do not say a gateway removes reorgs or replays subscriptions.

Tatum is a weak fit when you need a measured ranking against Alchemy, Infura, QuickNode, or Chainstack. The November 2 run compares the public Tatum gateway with PublicNode only, and each Tatum region is one sample. Do not read that table as a rank against vendors that were not in the run.

Anonymous gateway traffic. Access restrictions apply to requests that send the key. The access-restrictions doc says the RPC Gateway still serves requests with no key on an anonymous tier. Production apps should send a restricted key anyway, so quota and allowlists apply.

A seven-day test

Run this before you pick a setup. The pass condition is evidence you can reread, not a green status badge.

Day Assignment Pass condition
1 List chains, methods, read and write paths, and how far back history must go Every critical call returns on the target network
2 Latency from the regions you deploy in, same methods, same concurrency p95, p99, and error rate meet the SLO you wrote down
3 1x load, 3x peak, short 5x burst You know which limit trips, and how the client backs off
4 Disable the primary endpoint and drop a subscription Failover, replay, and reconciliation each have an owner
5 Restrict a key by IP, read a 403, confirm logs do not contain the key A leaked key from the wrong network cannot spend quota
6 Price base, growth, and stress traffic, including fallback calls The forecast fits the budget with the credit weights included
7 Open a realistic support ticket and record the decision Owners, gaps, and an exit path are written down

FAQ

Test nine things on your own workload: block freshness as well as uptime, key restrictions, p95 and p99 latency, automatic failover, the exact chains and methods you call, the bill at base load and at peak, rate limits, archive and WebSocket support, and a support path a human answers. For a pilot, Tatum's free plan is 100,000 lifetime credits at 3 requests per second on full nodes. For fixed production throughput, dedicated keys on tatum.io/pricing start at $99 per month for 10 RPS and do not consume plan credits. Checked November 2, 2026.

Sources

  • CompareNodes report 01a19c0d. Ethereum mainnet, captured November 2, 2026 at 11:38 UTC. Public Tatum gateway and PublicNode. 30 AWS regions. Median of Tatum's one-sample eth_getBlockByNumber(latest, false) times: 74.8 ms. Lowest samples: Frankfurt 18.5 ms, Jakarta 25.0 ms, Columbus 38.1 ms, Kuala Lumpur 40.1 ms.
  • Tatum pricing, checked November 2, 2026. Free-plan FAQ, Starter at $49 per month for 4 million credits, dedicated keys at $99, $249, $509, and $1,049 per month.
  • Plans and limits. Free plan 100,000 credits at 3 RPS. Starter 4 million or 7 million at 200 RPS. Pro and Scale credit bands at 200 RPS.
  • API key access restrictions. IP and origin allowlists, default open key, 403 behavior, WebSocket check on connect.
  • RPC Gateway and Custom RPC Gateways. Priority Failover, weighted load distribution, bring-your-own endpoints. Gateway copy says 99.9% uptime or higher.
  • Supported blockchains. Three tiers. Homepage claim of 130+ blockchains checked on tatum.io, November 2, 2026.
  • WebSockets and gRPC. Ethereum WebSocket reference.

Gateway and dedicated-key setup, checked November 2, 2026: Custom RPC Gateways and pricing.