
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@one-source/api-mcp
Advanced tools
MCP server for OneSource blockchain data — named tools for balances, NFTs, transactions, events, live chain queries, with x402 (USDC on Base) and MPP (Tempo) pay-per-call payment rails
MCP server for OneSource blockchain data. 27 named tools for balances, NFTs, transactions, events, and live chain queries via API key or x402 micropayments.
npx onesource-api-mcp
# Claude Code
claude mcp add onesource-api -- npx onesource-api-mcp
# Claude Desktop / Cursor — add to MCP config:
{
"mcpServers": {
"onesource-api": {
"command": "npx",
"args": ["-y", "onesource-api-mcp"]
}
}
}
| Tool | Description |
|---|---|
1s_allowance_live | ERC20 allowance check |
1s_contract_info_live | Contract type detection via ERC165 |
1s_erc1155_balance_live | ERC1155 balance via RPC |
1s_erc20_balance_live | ERC20 balance via balanceOf |
1s_erc20_transfers_live | ERC20 Transfer logs via eth_getLogs |
1s_erc721_tokens_live | ERC721 token enumeration |
1s_events_live | Event logs via eth_getLogs |
1s_multi_balance_live | ETH + multiple ERC20 balances |
1s_nft_metadata_live | NFT metadata via tokenURI |
1s_nft_owner_live | NFT owner via ownerOf |
1s_total_supply_live | Token total supply |
1s_tx_details_live | Transaction + receipt via RPC |
| Tool | Description |
|---|---|
1s_block_by_number | Block details by number |
1s_block_number | Latest block number |
1s_chain_id | EIP-155 chain ID |
1s_contract_code | Contract bytecode |
1s_ens_resolve | ENS name/address resolution |
1s_estimate_gas | Gas estimation |
1s_network_info | Chain ID, block number, gas price |
1s_nonce | Transaction count |
1s_pending_block | Pending block from mempool |
1s_proxy_detect | Proxy contract detection |
1s_simulate_call | Simulate eth_call |
1s_storage_read | Read storage slot |
1s_tx_receipt | Transaction receipt |
| Tool | Description |
|---|---|
1s_payment_mode | View or switch the payment rail + mode: x402-exact / x402-batch (USDC on Base) or mpp-charge / mpp-session (Tempo) |
1s_refund | Reclaim an open payment channel's unspent deposit on demand — works for whichever rail's channel is active: x402 batch (Base) or MPP session (Tempo) |
All tools accept an optional network parameter:
| Network | Description |
|---|---|
ethereum | Ethereum mainnet (default) |
sepolia | Ethereum Sepolia testnet |
robinhood | Robinhood Chain (chain ID 4663) — Arbitrum Orbit L2 settling to Ethereum. ~100ms blocks, no ENS, no public mempool, live-RPC only (indexed endpoints unavailable) |
Two auth methods are supported. API key takes priority when both are configured.
Set ONESOURCE_API_KEY to your OneSource API key. The server sends it as a Bearer token on every request.
ONESOURCE_API_KEY=your-key-here npx onesource-api-mcp
Or in your MCP config:
{
"mcpServers": {
"onesource-api": {
"command": "npx",
"args": ["-y", "onesource-api-mcp"],
"env": {
"ONESOURCE_API_KEY": "your-key-here"
}
}
}
}
Set X402_PRIVATE_KEY to a funded EVM wallet key. The server automatically signs and settles USDC payments on Base via x402.
X402_PRIVATE_KEY=your-private-key-hex npx onesource-api-mcp
Payments default to the x402-exact scheme (one USDC payment per call). For a burst of calls you can switch to x402-batch settlement — a payment channel that funds many off-chain calls from a single on-chain deposit, settled with one claim — by calling the 1s_payment_mode tool with { "mode": "x402-batch" }, or by setting X402_PAYMENT_MODE=batch. Both modes use the same wallet.
In batch mode the first paid call deposits price × X402_DEPOSIT_MULTIPLIER (default 10) up front, so a session typically over-funds the channel. Reclaim the unused balance whenever you're done with the 1s_refund tool; idle channels are also auto-refunded by the receiver after a few hours. The deposit residual is always recoverable.
Set MPP_PRIVATE_KEY to a funded Tempo wallet key. The server automatically signs and settles Tempo payments (USDC.e / pathUSD) via the mppx SDK.
MPP_PRIVATE_KEY=your-private-key-hex npx onesource-api-mcp
MPP has two modes, switched with 1s_payment_mode: mpp-charge (default — one payment per call) and mpp-session (a voucher channel — one on-chain deposit, capped by MPP_MAX_DEPOSIT, funds many off-chain calls; reclaim the unspent deposit any time with 1s_refund, or it settles automatically on clean shutdown). x402 and MPP are separate rails with separate wallets; if both keys are set, x402 is the initial rail and you switch between all four modes in-session.
Without either variable, tools work for free endpoints. Paid endpoints return 402 errors with a descriptive message.
Most users only set one of the two keys below. Everything else has a working default — including batch mode, which runs out of the box with no extra configuration.
Set one to access paid endpoints. Without either, only free endpoints work. API key takes priority when both are set.
| Variable | Default | Description |
|---|---|---|
ONESOURCE_API_KEY | — | OneSource API key. Sent as Authorization: Bearer <key>. Takes priority over a payment wallet. |
X402_PRIVATE_KEY | — | EVM private key (hex, with or without 0x prefix) for automatic x402 USDC payments on Base. |
MPP_PRIVATE_KEY | — | EVM private key (hex, with or without 0x prefix) for automatic MPP payments on Tempo (USDC.e / pathUSD). |
All have sensible defaults — set these only to override an endpoint or tune how channel modes behave. You can switch payment modes at runtime with the 1s_payment_mode tool instead of setting any of these.
| Variable | Default | Description |
|---|---|---|
ONESOURCE_BASE_URL | https://api.onesource.io | API endpoint. |
ONESOURCE_PAYMENT_MODE | rail default | Initial rail+mode: x402-exact, x402-batch, mpp-charge, or mpp-session. Falls back to the enabled rail's own default. |
X402_PAYMENT_MODE | exact | Initial x402 scheme: exact (per-call) or batch (payment channel). Switch in-session with the 1s_payment_mode tool. |
X402_RPC_URL | Base default | Base RPC endpoint used to submit channel deposits in batch mode. |
X402_CHANNEL_DIR | — | Directory to persist batch channel state across restarts. Unset = in-memory (channel lost on restart). |
X402_DEPOSIT_MULTIPLIER | 10 | Batch mode: deposit = price × this multiplier, funding that many calls per channel. Unused balance is reclaimable via 1s_refund. |
MPP_PAYMENT_MODE | charge | Initial MPP mode: charge (per-call) or session (voucher channel). Switch in-session with the 1s_payment_mode tool. |
MPP_MAX_DEPOSIT | 1 | mpp-session: max tokens reserved in the on-chain channel deposit. Bounds the worst-case locked balance on an unclean shutdown. |
MPP_RPC_URL | Tempo default | Tempo RPC endpoint used to open/settle the session channel (mpp-session only). |
MIT
FAQs
MCP server for OneSource blockchain data — named tools for balances, NFTs, transactions, events, live chain queries, with x402 (USDC on Base) and MPP (Tempo) pay-per-call payment rails
The npm package @one-source/api-mcp receives a total of 300 weekly downloads. As such, @one-source/api-mcp popularity was classified as not popular.
We found that @one-source/api-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.