← Protocols
BlockPI
RPC / Node·EVM · Cosmos · Multi-chain

BlockPI

01Description

Globally distributed RPC accelerator routing requests across geographically diverse nodes for low p99 latency, with per-chain endpoint URLs and free public RPC.

02Best for
  • 01low p99 latency RPC
  • 02free public RPC for prototyping
  • 03EVM-heavy multi-chain coverage
  • 04burst-friendly distributed routing
  • 05ZetaChain, Linea, Scroll early support
03Install
  • pnpm add viem
04Environment variables
VariableScopeDescription
BLOCKPI_API_KEYServerBlockPI API key (the path segment appended to the chain endpoint). Server-side only.
BLOCKPI_RPC_URLServerFull BlockPI RPC URL with key, e.g. `https://ethereum.blockpi.network/v1/rpc/<BLOCKPI_API_KEY>`. Server-side only.
05Prompt snippet
Use BlockPI's distributed RPC network as the JSON-RPC transport. Endpoint pattern: `https://<chain>.blockpi.network/v1/rpc/<BLOCKPI_API_KEY>` (e.g. `ethereum`, `bsc`, `polygon`, `arbitrum`, `optimism`, `base`, `avalanche`, `zksync`, `linea`, `scroll`). Wire into `viem` via `createPublicClient({ chain: mainnet, transport: http(process.env.BLOCKPI_RPC_URL) })`. WebSocket: `wss://<chain>.blockpi.network/v1/ws/<KEY>`. BlockPI also exposes free public RPC at `https://public.blockpi.io/` with no key required (heavily rate-limited). The 'accelerator' value prop is geo-distributed routing: requests land on the nearest healthy node, which keeps p99 lower than single-region providers under burst.
06Gotchas
  • The API key is in the URL path — leaking the URL leaks the credential. Never expose `<chain>.blockpi.network/v1/rpc/<KEY>` in a client bundle; proxy via a server route.
  • Public RPC at `public.blockpi.io` has no SLA, IP-based rate limits, and rotating internal keys — never use it in production; it WILL 429 under any real traffic.
  • Free tier has a daily request cap; archive-mode and `eth_getLogs` over wide ranges count the same as `eth_blockNumber` and exhaust the quota faster than expected.
  • Archive-state access is a paid-tier feature on most chains — historical balance queries at old blocks return method-not-supported on free endpoints.
  • Geo-distributed routing means consecutive requests can land on different upstream nodes — short-lived state inconsistencies during reorgs are possible; verify critical reads at the app layer.
  • Eviction policy: WebSocket subscriptions can be dropped without warning under provider rotation; reconnect with backoff and resubscribe.
  • Long-tail/new chains (e.g. Monad, Berachain) get added to BlockPI later than to Alchemy/QuickNode — verify chain support before pinning.
07Alternatives