Skip to main content

OneSource REST API & MCP Server

A REST and MCP interface to live Ethereum data: balances, NFTs, transactions, events, contracts, ENS, and chain utilities. Serves Ethereum mainnet by default and the Sepolia testnet via the network parameter. Designed for AI agents and apps that need fresh, on-chain answers without running their own node.

Three ways to access

Access pathHow you authenticateBest for
API keyAuthorization: Bearer sk_…Production apps, predictable monthly billing via Stripe
MCP serverONESOURCE_API_KEY=sk_… (or x402 wallet)AI assistants: Claude Code, Claude Desktop, Cursor, Windsurf
x402 / MPPUSDC on Base (x402) or USDC.e on Tempo (MPP)Pay-per-call from agents, no signup required

See Getting Started to pick a path.

Response envelope

Every /api/* response is wrapped:

{ "data": { ... }, "error": null, "meta": { "endpoint": "/api/chain/network-info", "request_id": "…" } }

On failure, data is null and error is { code, message }. Standard HTTP status codes apply (200, 400, 401, 403, 404, 429).

What's covered

  • Chain RPC: eth_call, gas estimate, code, nonce, storage, receipts, blocks, pending block, network info
  • Balances: ETH + ERC20 (batched), ERC1155, ERC20 allowances and total supply
  • NFTs: ownership, metadata with IPFS/Arweave resolution, ERC721 token enumeration
  • Logs: eth_getLogs, ERC20 transfer history
  • ENS: forward resolution
  • Identity: proxy detection, contract introspection
  • Free utilities: pricing, health, OpenAPI, sitemap, llms.txt

Full endpoint catalog: API Reference.