Getting Started
Three access paths share the same REST API. Pick the one that matches your application:
API Key
Sign up at app.onesource.io/signup, subscribe to the Developer plan, and authenticate with a Bearer API key. Predictable per-month pricing billed through Stripe. Your plan sets an account-wide request quota, shared across every key you create.
curl https://api.onesource.io/api/chain/network-info \
-H "Authorization: Bearer sk_your_api_key_here"
MCP Server
If your workflow is in Claude Code, Claude Desktop, Cursor, or Windsurf, install the @one-source/mcp MCP server. It exposes the OneSource REST API as 30 MCP tools, all prefixed 1s_ (live-chain tools end in _live).
claude mcp add onesource -e ONESOURCE_API_KEY=sk_… -- npx -y @one-source/mcp@latest
Works with either an API key (Bearer) or an x402 wallet (X402_PRIVATE_KEY).
x402 / MPP
Pay per call from an agent wallet, no signup. Two protocols:
- x402 on Base mainnet, paid in USDC. Use the
@x402/fetchclient or AgentCash. - MPP on Tempo, paid in USDC.e (or pathUSD). Tempo CLI or MPP-aware fetch clients work.
Per-endpoint pricing is published in meta.cost_usdc on every response and in the x-payment-info extension on each OpenAPI operation.
Verify Access
Whichever path you pick, the same one-call sanity check works for all of them:
curl https://api.onesource.io/api/chain/network-info \
-H "Authorization: Bearer $ONESOURCE_API_KEY"
Expected response:
{
"data": { "chain_id": "0x1", "block_number": "0x14abcde", "gas_price": "0x3b9aca00" },
"error": null,
"meta": { "endpoint": "/api/chain/network-info", "request_id": "..." }
}
Calls run against Ethereum mainnet by default. Add ?network=sepolia to any /api/chain/* request to target the Sepolia testnet instead. See Choosing a network.