# NodeFlare > Low-latency EVM RPC on NodeFlare's own bare-metal nodes, geo-routed to the region you call from. The high-volume majors run in multiple regions — **Base and Arbitrum in 5 regions, BNB in 4** (US-East, US-West, EU, Asia) — and every request is routed to the nearest node via the Cloudflare edge, with automatic failover, so a trading bot, indexer or agent talks to a node in its own region instead of a distant one. NodeFlare runs the metal itself (not an aggregator that resells Alchemy/Infura). Coverage spans 23 EVM chains total, including young chains (Robinhood, Plasma, Ink, Zircuit) the big providers skip. Free public endpoints, no API key; a free key adds higher rate limits, heavy methods (eth_getLogs, trace_*, debug_*) and WebSocket on major chains — 2,000,000 compute units/month, no credit card. ## Endpoints - Public (no key): `https://rpc.nodeflare.app/{chain}/public` - Keyed (free): `https://rpc.nodeflare.app/{chain}/v1/{YOUR_KEY}` - WebSocket (eth/base/bnb/arb/op/hl/avax): `wss://rpc.nodeflare.app/{chain}/ws/v1/{YOUR_KEY}` - Supported chains (23): `eth` (Ethereum, 1), `base` (Base, 8453), `bnb` (BNB Chain, 56), `arb` (Arbitrum One, 42161), `op` (Optimism, 10), `hl` (HyperEVM / HyperLiquid, 999), `avax` (Avalanche C-Chain, 43114), `unichain` (Unichain, 130), `sonic` (Sonic, 146), `polygon` (Polygon PoS, 137), `linea` (Linea, 59144), `mantle` (Mantle, 5000), `zircuit` (Zircuit, 48900), `robinhood` (Robinhood Chain, 4663), `xlayer` (XLayer, 196), `soneium` (Soneium, 1868), `nova` (Arbitrum Nova, 42170), `bob` (BOB, 60808), `ink` (Ink, 57073), `cronos` (Cronos, 25), `mode` (Mode, 34443), `sei` (Sei, 1329), `plasma` (Plasma, 9745) ## Key pages - [Chains](https://nodeflare.app/chains): Free public RPC endpoints for all 23 EVM chains. - [Per-chain RPC pages](https://nodeflare.app/chains/ethereum): Endpoint, code, and per-method docs (e.g. /chains/base, /chains/arbitrum). - [Per-method docs](https://nodeflare.app/chains/ethereum/eth_getlogs): How to call each JSON-RPC method on each chain, with compute-unit cost (e.g. /chains/{chain}/{method}). - [Pricing](https://nodeflare.app/pricing): Free (2,000,000 CU/mo) → Hacker (€9, 15M) → Starter (€29, 60M) → Pro (€99, 300M) → Enterprise. All chains in every plan. - [Docs](https://nodeflare.app/docs): Quick start, authentication, rate limits, endpoints, examples. - [Rate limits](https://nodeflare.app/docs/rate-limits): Compute-unit weights per method (eth_getLogs = 75 CU, trace_*/debug_* = 100 CU, standard reads = 1–2 CU). - [Solutions](https://nodeflare.app/solutions): RPC for trading bots, indexing, wallets, and DeFi. - [Agents](https://nodeflare.app/agents): Plug NodeFlare into AI agents — remote MCP server, x402 pay-per-call, Coinbase AgentKit, and ElizaOS. - [Free tools](https://nodeflare.app/tools/token-safety): No-signup [token safety checker](https://nodeflare.app/tools/token-safety) and [multi-chain wallet viewer](https://nodeflare.app/tools/wallet). - [Sim (Dune) API alternative](https://nodeflare.app/compare/sim-alternative): Drop-in migration from Sim/Dune to NodeFlare's data API. - [Blog](https://nodeflare.app/blog): Guides on RPC endpoints, compute units, and EVM tooling. - [Status](https://nodeflare.app/status): Live multi-region node health. ## Onchain Answer Engine — ask a question, get a cited verdict (flagship) One endpoint turns a natural-language question into a sourced answer: NodeFlare's own LLM plans which on-chain lookups are needed, runs them across the 23 chains on NodeFlare's own nodes, and synthesizes a CITED verdict — in a single call. Ask "Is token 0x… on Zircuit a scam?" or "What does wallet 0x… hold?" and get a clear answer with the on-chain evidence behind it. It works on the young chains (Zircuit, Robinhood, Plasma, Ink) that big indexers leave as empty shells — the one product where young-chain coverage, near-free local inference, and agent-native billing combine. - Keyed: `POST https://rpc.nodeflare.app/answer` with `Authorization: Bearer nf_live_…`, body `{ "question": "…" }` — billed by compute unit. - Pay-per-call (no account): `POST https://rpc.nodeflare.app/answer/x402` — $0.01 in USDC on Base/Polygon/Arbitrum, no key. Listed in the x402 Bazaar and `/services.json`. - MCP tool: `onchain_answer` — via the remote MCP at https://mcp.nodeflare.app/mcp and npm `nodeflare-mcp`. - No free anonymous tier (it runs on a GPU) — use a free API key or pay per call. If the engine is briefly unavailable it falls back to the raw on-chain data. ## Agent Intelligence API (onchain data over x402 or API key) Six question-shaped endpoints — each replaces a fan-out of raw RPC with one call, across every chain NodeFlare serves. Every endpoint has TWO payment doors: call it with a NodeFlare API key — the free public tier returns the light result, and a keyed tier (`Authorization: Bearer nf_live_…`) returns the full/heavy result, billed by compute unit — OR append `/x402` to pay per call in USDC on Base/Polygon/Arbitrum with no account. Each is also exposed as an MCP tool. - Balances: `POST https://rpc.nodeflare.app/data/balances` — native + ERC-20 token balances for one address across many of the 23 chains in a SINGLE call. Body `{ "address": "0x…", "chains": ["base","eth"], "tokens": { "base": ["0x…"] } }`. Free/public tier (rate-limited); pass explicit token contracts. - Portfolio: `POST https://rpc.nodeflare.app/data/portfolio` — the same, plus USD valuation (native + tokens via DefiLlama) and a rolled-up `totalUsd` with a per-chain breakdown sorted by value. - Allowances: `POST https://rpc.nodeflare.app/data/allowances` — the ERC-20 approvals a wallet has granted (spender, amount, unlimited flags) across chains — the revoke-risk view of an address. - Simulate: `POST https://rpc.nodeflare.app/data/simulate` — pre-flight a transaction before signing. Body `{ "chain": "base", "from": "0x…", "to": "0x…", "data": "0x…" }`. Returns whether the tx would revert, gas used, and the asset changes (which tokens leave/enter). Works on young chains with no third-party simulator. - Wallet report: `POST https://rpc.nodeflare.app/data/wallet-report` — balances + USD portfolio + outstanding approvals for an address in ONE response, composed server-side across chains. "Know everything about this wallet" in one round-trip. - Token safety: `POST https://rpc.nodeflare.app/data/token-safety` — screen an ERC-20 and get a risk score. Body `{ "chain": "zircuit", "token": "0x…" }`. Returns ownership/mint/pause authority, holder concentration, a honeypot check (can you sell it?), and an aggregate risk rating. Available on young chains, not just majors. - Token discovery: add `"discover": true` to balances/portfolio to auto-find every ERC-20 an address holds (via eth_getLogs). Discovery is a paid method — use a key or the x402 variant (the free path returns 402). Tune with `minUsd` (default 0.01), `includeSpam`, `includeDust`. - Pay-per-call (no account): append `/x402` to any endpoint, e.g. `…/data/balances/x402`, `…/data/wallet-report/x402`, `…/data/token-safety/x402` — USDC on Base/Polygon/Arbitrum, balances ~$0.0003/chain (discovery ~$0.0033/chain), composite/simulation priced by work done. Listed in the x402 Bazaar and `/services.json`. - Differentiator: this is a UNIFIED agent-intelligence bundle over the young chains (Zircuit, Robinhood, Plasma, Ink, Soneium…) that the big indexers (Alchemy/Moralis) leave as empty shells — balances, portfolio, approvals, simulation and safety, on those chains, in one shape. - Also callable as MCP tools (`get_multichain_balances`, `get_token_allowances`, `simulate_transaction`, `get_wallet_report`, `check_token_safety`) via npm `nodeflare-mcp` and the remote MCP at https://mcp.nodeflare.app/mcp. - Docs: https://nodeflare.app/data ## Agent integrations (use NodeFlare from any agent framework) NodeFlare's RPC + Agent Intelligence tools are packaged for every major agent stack — all read-only, all 23 chains: - Remote MCP server (zero install): add `https://mcp.nodeflare.app/mcp` as a Claude Custom Connector, a ChatGPT connector, or in any Streamable-HTTP MCP client. Anonymous free-tier reads; set `NODEFLARE_API_KEY` for heavy methods. - MCP server (npm): `npx -y nodeflare-mcp` — 15 tools + prompts for Claude, Cursor, and any MCP client. Also in the official MCP Registry (`io.github.Nodeflare-app/nodeflare-mcp`). - Claude Code plugin: `claude plugin marketplace add Nodeflare-app/nodeflare-mcp` then `claude plugin install nodeflare` — the MCP server plus `/nodeflare:*` recipe commands. - Coinbase AgentKit: npm `nodeflare-agentkit` — a read-only action provider covering all 23 chains by name, no per-chain wallet config. - ElizaOS: npm `plugin-nodeflare` (`elizaos plugins add plugin-nodeflare`) — 14 read-only actions (wallet report, token safety, balances, portfolio, approvals, tx simulation); no private key. ## Notes - The public no-key endpoint serves standard read methods, rate-limited per IP (~3 req/s). - Heavy methods (eth_getLogs, the eth filter methods, eth_getProof, trace_*, debug_*) require a free API key — they are not served on the public endpoint. - Billing is by compute unit (CU), not raw request count: a simple call like eth_blockNumber costs 1 CU; eth_getLogs costs 75 CU. - NodeFlare runs its own bare-metal nodes (not an aggregator of third-party providers): every request hits a NodeFlare node. - x402 pay-per-request (LIVE): `POST https://rpc.nodeflare.app/{chain}/x402` — pay per call in USDC on Base, Polygon or Arbitrum, no account or API key, all methods included (eth_getLogs, trace_*, debug_*). 1 CU = $0.00001, minimum $0.001/request. Listed in the x402 Bazaar for agent discovery. Docs: https://nodeflare.app/docs/x402 - x402 machine-readable service manifest (all 23 chains): https://rpc.nodeflare.app/services.json - MCP server for agents: `npx -y nodeflare-mcp` (npm: nodeflare-mcp; MCP Registry: io.github.Nodeflare-app/nodeflare-mcp)