Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

OneSource MCP

NPM · @ONE-SOURCE/MCP

Blockchain data, Deepstate and Standard Reserve markets, live chain queries, and API docs

Available components

0 this week 77 Trust /100

Last scanned (3 hours ago)

Scores higher than 55% of npm servers

Category Crypto and Web3

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security81
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 33 of 128 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability66
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 23469 tokens (~237/item across 99 items; 99 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 100 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 29 Oct 26 +20
    • Known CVEs: unverified → fail ▼ security
    • Malware scan: unverified → pass ▲ security
    • Dependency health: unverified → 0.89 ▲ functional
  • 28 Oct 26 −5
    • Known CVEs: fail → unverified ▼ security
    • Malware scan: unverified → pass ▲ security
    • Dependency health: 0.89 → unverified ▼ functional
    • Package version: 5.23.2 → 5.24.0 functional
  • 27 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
    • Dependency health: 0.89 → partial functional
    • Package version: 5.23.1 → 5.23.2 functional
  • 24 Oct 26 −6
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
  • 17 Oct 26 +44
    • Injection markers: unverified → pass ▲ security
    • Stability: unverified → pass ▲ security
    • Schema quality: 19834 → 22571 ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • Package version: 5.23.0 → 5.23.1 functional
    • Package version: 5.22.0 → 5.23.0 functional
  • 14 Oct 26 0
    • Provenance: pass → unverified ▼ security
    • Stability: Stability not yet verified: this package could not be installed in a clean environment, so we have no schema to compare. security
    • Tool safety: Tool safety not yet verified: this package could not be installed in a clean environment, so we have no tool text to scan. security
    • Schema quality: Schema quality not yet verified: this package could not be installed in a clean environment, so we have no schema to assess. functional
    • Capabilities: Protocol version not yet verified: this package could not be installed in a clean environment, so we never saw its MCP handshake. functional
    • Tool coverage: Tool coverage not yet verified: this package could not be installed in a clean environment, so we have no tool definitions to assess. functional
    • Package version: 5.22.0 → 5.23.0 functional
  • 13 Oct 26 0
    • Security disclosure: unverified → fail ▼ functional
    • Package version: 5.22.0 → 5.23.0 functional
  • 12 Oct 26 0
    • Package version: 5.22.0 → 5.23.0 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/@one-source/mcp@5.24.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 128 packages
Packages resolved 128
Stale 33
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 99 exposed · ~23,036 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
1s_allowance_live ~226

Check ERC20 token allowance (approved spending amount) via the allowance(owner,spender) RPC call. Use this before executing transferFrom or to verify approvals. Returns the allowance amount in raw token units. Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.

NameTypeReqDescription
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
ownerstringyesToken owner address
spenderstringyesApproved spender address
tokenstringyesERC20 token contract address

No output schema declared.

No examples provided.

1s_batch_config ~351

View or change payment preferences and save them so they persist across restarts — no MCP config editing or restart required. Call with no arguments to see current settings. Set "prompt" (ask/auto/off — agent autonomy when switching to a cheaper channel mode), "threshold" (anticipated calls before a channel is worth it), "deposit_multiplier" (x402 channel deposit = call price × this; applies to the next channel opened), "mpp_max_deposit" (MPP session channel deposit cap, in tokens), or "mode" (the default rail+scheme — x402-exact / x402-batch / mpp-charge / mpp-session — also switched live for this session). Pass "reset": true to restore defaults. With an API key, calls are covered by your plan.

NameTypeReqDescription
deposit_multipliernumber–x402 channel deposit = call price × this multiplier. Minimum 3. Applies to the next channel opened.
modestring–Default payment rail+scheme the session starts in. Also switched live for the current session when that rail is active.
mpp_max_depositstring–MPP session channel max deposit, in human token units (e.g. "1"). Applies to the next Tempo channel opened.
promptstring–Agent autonomy when deciding to switch to a channel mode: ask (confirm first), auto (switch on its own), off (only on explicit request).
resetboolean–Restore all payment settings to their built-in defaults (deletes the saved config file).
thresholdinteger–Anticipated call count at/above which a channel mode is worth considering. Default 5.

No output schema declared.

No examples provided.

1s_block_by_number ~235

Get full block details by block number via RPC. Returns transactions, gas used, miner, timestamp, and other header fields. Accepts decimal (e.g. "21000000"), hex (e.g. "0x1406F40"), or a named tag ("latest", "pending", "earliest", "safe", "finalized").

NameTypeReqDescription
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
numberstringyesBlock number — decimal (e.g. "21000000"), hex (e.g. "0x1406F40"), or named tag ("latest", "pending", etc.)

No output schema declared.

No examples provided.

1s_block_number ~160

Get the latest block number for a network. Returns the current chain head as a hex-encoded value. Use 1s_network_info to also get chain ID and gas price in the same call.

NameTypeReqDescription
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…

No output schema declared.

No examples provided.

1s_chain_id ~167

Get the EIP-155 chain ID for a network as a hex-encoded value. Use this to verify the network before signing transactions. Use 1s_network_info to get chain ID, block number, and gas price together.

NameTypeReqDescription
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…

No output schema declared.

No examples provided.

1s_contract_code ~191

Get the deployed bytecode of a contract via eth_getCode. Returns '0x' for EOA (non-contract) addresses. Bytecode can be very large for complex contracts. Prefer 1s_proxy_detect or 1s_contract_info_live for type checks without fetching full bytecode.

NameTypeReqDescription
addressstringyesEthereum address (0x...)
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…

No output schema declared.

No examples provided.

1s_contract_info_live ~199

Detect contract type and supported interfaces via eth_getCode and ERC165 supportsInterface. Returns detected standards (ERC20, ERC721, ERC1155, ERC165). Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.

NameTypeReqDescription
addressstringyesEthereum address (0x...)
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…

No output schema declared.

No examples provided.

1s_ds_book ~163

Get a Deepstate order-book snapshot for a market — bids descending, asks ascending, with each price level’s resting size. Reflects the last completed on-chain state read rather than every intervening block; the returned block number names exactly which height it was read at. Call 1s_ds_markets for the list of available book slugs.

NameTypeReqDescription
bookstringyesDeepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs.
depthinteger–Maximum price levels returned per side (1-500, default 50)

No output schema declared.

No examples provided.

1s_ds_candles ~193

Get Deepstate OHLCV candles for a market at a given timeframe. Open/high/low/close are real trade prices, not recomputed; volumes are exact sums. The most recent (still-open) bucket updates as new trades arrive; earlier buckets are final. Call 1s_ds_markets for the list of available book slugs.

NameTypeReqDescription
bookstringyesDeepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs.
fromstring–Inclusive lower bound, RFC 3339 or unix seconds
tfstringyesCandle timeframe
tostring–Exclusive upper bound, RFC 3339 or unix seconds. Default: now

No output schema declared.

No examples provided.

1s_ds_cost_to_quote ~187

Get gas spent resting and cancelling orders on a Deepstate market, bucketed over time — total fee, median fee, and how much of the fee is L2-to-L1 data cost. Requires a book — call 1s_ds_markets for the list of available book slugs.

NameTypeReqDescription
bookstringyesDeepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs.
fromstring–Inclusive lower bound, RFC 3339 or unix seconds
resstring–Bucket width (default 1d)
tostring–Exclusive upper bound, RFC 3339 or unix seconds. Default: now

No output schema declared.

No examples provided.

1s_ds_depth_history ~219

Get a depth heatmap for a Deepstate market: resting order size by price level over time, bucketed and optionally restricted to one side. Each bucket also reports how much of it is covered by a sized order count, so a caller can tell how complete a given level is. Requires a book — call 1s_ds_markets for the list of available book slugs.

NameTypeReqDescription
bookstringyesDeepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs.
fromstring–Inclusive lower bound, RFC 3339 or unix seconds
resstring–Bucket width (default 1d)
sidestring–Restrict to one side. Default both
tostring–Exclusive upper bound, RFC 3339 or unix seconds. Default: now

No output schema declared.

No examples provided.

1s_ds_makers ~269

Get per-maker analytics for a Deepstate market over a time window: time spent at the top of book, current resting notional, fill count and fill rate, and maker rewards earned. The reward token is per-market, not fixed — call 1s_ds_markets and read that market’s `reward_token` (NVDA/USDG has paid 2DEEP since the DGP-3 migration on 2026-09-22; DEEP/USDG is a legacy book and earns no rewards). Rows are keyed by maker (resting-order owner) address. Requires a book — call 1s_ds_markets for the list of available book slugs.

NameTypeReqDescription
bookstringyesDeepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs.
fromstring–Inclusive lower bound, RFC 3339 or unix seconds
limitinteger–Maximum maker rows returned (1-500, default 50)
tostring–Exclusive upper bound, RFC 3339 or unix seconds. Default: now

No output schema declared.

No examples provided.

1s_ds_markets ~191

List the Deepstate markets (order books) this API serves, with each market’s slug, token layout, pool/router addresses, lifecycle `status`, and `reward_token`. `status` is one of `live`, `price_decode_pending`, `legacy` (token superseded, may still have resting orders), or `registered` (exists on-chain, not yet trading). `reward_token` is the token maker rewards pay in for that market — 2DEEP for NVDA/USDG since the DGP-3 migration on 2026-09-22; DEEP/USDG is legacy and pays no rewards. Call this first: every other Deepstate tool takes a book identifier, and this is the source of truth for which books exist and their canonical uppercase slug form (e.g. "NVDA-USDG"). Static configuration data, safe to cache client-side.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

1s_ds_migration ~266

Track how much of the old DEEP and STATE supply has been redeemed for 2DEEP since the DGP-3 upgrade on 2026-09-22, and how much is still outstanding. Returns the redemption ratio, when the upgrade executed (block and time), DEEP and STATE redeemed totals and counts, 2DEEP minted for STATE redemptions, and what remains redeemable of each, plus a daily series over an optional from/to window. These totals and counts come from an indexed event stream and are a floor, not an exact count: `truncated` is true when the window held more events than one read caps at, and the index is still being backfilled for 2026-09-22/23 while a replay runs, so until that finishes, treat counts as at-least, not exact. Redemption has no deadline; this reports progress so far. Call 1s_ds_token_2deep for the current live totals instead of a point-in-time snapshot.

NameTypeReqDescription
fromstring–Inclusive lower bound, RFC 3339 or unix seconds. Default: the DGP-3 upgrade itself
tostring–Exclusive upper bound, RFC 3339 or unix seconds. Default: now

No output schema declared.

No examples provided.

1s_ds_stats ~117

Get rolling 24h / 7d / 30d volume and price change for a Deepstate market, plus the latest traded price. Call 1s_ds_markets for the list of available book slugs.

NameTypeReqDescription
bookstringyesDeepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs.

No output schema declared.

No examples provided.

1s_ds_token_2deep ~285

Get 2DEEP’s current supply, supply cap, float, Rewarder V3 balance, endowment locked, and outstanding migration liabilities, read live from chain. 2DEEP replaced DEEP and STATE in the DGP-3 upgrade on 2026-09-22, and every figure here reflects that migration: `state_to_2deep_wad`/`state_to_2deep` (1 STATE redeems for 3.0155 2DEEP; DEEP redeems 1:1), plus `legacy_deep_total_supply_raw`/`legacy_state_total_supply_raw`, the old tokens’ current total supplies (the DEEP figure includes about 793M DEEP stranded forever in the retired Rewarder V1, which can never be redeemed; for what’s actually still redeemable see 1s_ds_migration’s `remaining_deep_redeemable_raw`/`remaining_state_redeemable_raw`). `price_usdg`/`price_usdg_raw` come from the USDG/2DEEP Uniswap v4 pool and are omitted from the response until that pool has a trade; `price_source` still names the pool, so a client can tell "no price yet" from "wrong pool". There is no deadline to redeem old DEEP or STATE.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

1s_ds_trades ~171

Get the Deepstate trade tape for a market, newest first — each fill’s price, size, side, and the block it happened in. Page backward in time with `before` (returns trades strictly below that block number). Call 1s_ds_markets for the list of available book slugs.

NameTypeReqDescription
beforeinteger–Return trades strictly below this block number, for paging backward
bookstringyesDeepstate market identifier: the 32-byte book_id, or its canonical uppercase slug (e.g. "NVDA-USDG", "DEEP-USDG"). Call 1s_ds_markets first for the full list of available markets and their slugs.
limitinteger–Maximum trades returned (1-500, default 100)

No output schema declared.

No examples provided.

1s_ens_resolve ~253

Resolve ENS names to addresses (forward) or addresses to ENS names (reverse). Accepts either a .eth name or a 0x address. Only works on networks with the ENS registry deployed: ethereum and sepolia. On robinhood the registry is absent, and the response is HTTP 200 with supported:false and an error naming the chain — that is a fact about the network, not evidence that the name is unregistered. Do not conclude a name has no resolver from a non-ENS chain.

NameTypeReqDescription
inputstringyesENS name (e.g. 'vitalik.eth') or address (0x...) for reverse lookup
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…

No output schema declared.

No examples provided.

1s_erc1155_balance_live ~189

Get real-time ERC1155 token balance via balanceOf(address,uint256) RPC call. Returns the raw balance as a numeric string.

NameTypeReqDescription
accountstringyesWallet address to check balance for
contractstringyesERC1155 contract address
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
token_idstringyesToken ID (numeric string)

No output schema declared.

No examples provided.

1s_erc20_balance_live ~234

Get real-time ERC20 token balance directly from the blockchain via balanceOf. Use this for pre-transaction checks or when zero indexing delay is needed. Returns raw token units (divide by 10^decimals); non-standard tokens may return empty name/symbol. Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.

NameTypeReqDescription
accountstringyesWallet address to check balance for
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
tokenstringyesERC20 token contract address

No output schema declared.

No examples provided.

1s_erc20_transfers_live ~474

Query ERC20 Transfer(from, to, value) event logs via eth_getLogs directly from the node. Filter by token contract and/or wallet address. Block params accept decimal, hex, or named tags ("latest", "pending", etc.). Returns decoded transfer events with sender, recipient, and value, plus the from_block/to_block actually queried. Omitting from_block/to_block queries ONLY the latest block — a single block, not a recent window. Size ranges by TIME, not by a fixed block count: block time varies from ~12s (ethereum) to ~100ms (robinhood and other L2s), so 10 blocks is two minutes on one chain and one second on another. Call 1s_network_info first and use avg_block_time_ms to convert the window you want into blocks. A count of 0 usually means the range was too narrow rather than that no transfers occurred — check the returned from_block/to_block before reporting a token as inactive. A busy token can exceed the response limit in far fewer blocks than expected. When that happens the result is still usable: you get the first whole blocks of the range plus "truncated": true, "returned", "total" and "next_from_block". Call again with from_block=next_from_block to continue — pages are cut on block boundaries, so this skips nothing and repeats nothing. Page through rather than retrying the same window smaller, which pays twice for overlapping data.

NameTypeReqDescription
from_blockstring–Start block — decimal, hex, or named tag
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
to_block––End block — decimal, hex, or named tag
tokenstring–ERC20 token contract address
wallet––Wallet address to filter transfers

No output schema declared.

No examples provided.

1s_erc721_tokens_live ~202

Enumerate ERC721 tokens owned by an address via ERC721Enumerable. Only works for contracts that implement the Enumerable extension. Returns token IDs owned by the address. If warnings lists the token collection, the returned tokens are an incomplete set, not the full holdings for that address.

NameTypeReqDescription
contractstringyesERC721 contract address
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
ownerstringyesWallet address to enumerate tokens for

No output schema declared.

No examples provided.

1s_estimate_gas ~214

Estimate gas required for a transaction via eth_estimateGas. Use this before sending transactions to set appropriate gas limits. Returns the estimated gas as a hex value; reverts return the revert reason.

NameTypeReqDescription
datastring–ABI-encoded call data (0x-prefixed hex bytes)
from––Sender address
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
tostringyesEthereum address (0x...)
valuestring–ETH value in wei — decimal or hex

No output schema declared.

No examples provided.

1s_events_live ~490

Query raw event logs via eth_getLogs directly from the node. Filter by contract address and/or topic0 (keccak256 hash of event signature, e.g. Transfer(address,address,uint256)). Block params accept decimal, hex, or named tags ("latest", "pending", etc.). Returns raw log entries with topics, data, and block context, plus the from_block/to_block actually queried. Always specify a contract address when possible. Omitting from_block/to_block queries ONLY the latest block — a single block, not a recent window. Size ranges by TIME, not by a fixed block count: block time varies from ~12s (ethereum) to ~100ms (robinhood and other L2s), so 10 blocks is two minutes on one chain and one second on another. Call 1s_network_info first and use avg_block_time_ms to convert the window you want into blocks. A count of 0 usually means the range was too narrow rather than that nothing happened — check the returned from_block/to_block before concluding a contract is idle. A busy contract can exceed the response limit in far fewer blocks than expected. When that happens the result is still usable: you get the first whole blocks of the range plus "truncated": true, "returned", "total" and "next_from_block". Call again with from_block=next_from_block to continue — pages are cut on block boundaries, so this skips nothing and repeats nothing. Page through rather than retrying the same window smaller, which pays twice for overlapping data.

NameTypeReqDescription
contractstring–Contract address to filter
from_blockstring–Start block — decimal, hex, or named tag
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
to_block––End block — decimal, hex, or named tag
topicstring–Event topic0 hash (0x...)

No output schema declared.

No examples provided.

1s_get_api_overview ~73

High-level summary of the OneSource REST API: how many operations it exposes, the tags they are grouped under, the networks it routes, the payment protocols it accepts, and a handful of sample endpoints. Start here when you do not yet know what the API covers. Free, no authentication required.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

1s_get_authentication_guide ~87

How to authenticate to the OneSource REST API — an API key from a subscription, x402 (USDC on Base), or MPP (USDC.e or pathUSD on Tempo) — and how to choose between them. This covers calling the REST API directly; to configure this MCP server, call 1s_setup_check. Free, no authentication required.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

1s_get_endpoint_reference ~125

Full reference for a single OneSource REST API endpoint: parameters, request body, example response, price, use cases, and a ready-to-run curl command. Accepts an operation ID or a path. Use 1s_list_endpoints or 1s_search_use_cases first if you do not know which endpoint you need. Free, no authentication required.

NameTypeReqDescription
endpointstringyesEither an operationId (e.g. `chainAllowance`) or a path (e.g. `/api/chain/allowance` or `chain-allowance`).

No output schema declared.

No examples provided.

1s_get_payment_info ~93

Pricing and payment protocols for the OneSource REST API — which rails it accepts, the price range per call, and the recipient address. Pass an endpoint for that endpoint's specific price. This describes what the API charges; 1s_batch_config changes what this server pays with. Free, no authentication required.

NameTypeReqDescription
endpointstring–Optional operationId or path. Omit for a global summary.

No output schema declared.

No examples provided.

1s_list_endpoints ~149

List OneSource REST API endpoints with their method, path, per-call price, and a one-line summary. Pass a tag to narrow the list to one area of the API. Free, no authentication required.

NameTypeReqDescription
familystring–Optional product family filter: `chain-rpc` (live EVM RPC), `deepstate` (Robinhood Chain order-book market data), or `standard-reserve` (The Standard Reserve / TSR). Case-insensitive.
limitinteger–Max results to return. Default 25.
tagstring–Optional tag filter (e.g., `nft`, `erc20`, `ens`). Case-insensitive.

No output schema declared.

No examples provided.

1s_list_networks ~62

List the networks the OneSource REST API can route to, as declared by its published specification, and how to select one on a call. This is the documented roster; 1s_network_info queries a chain live. Free, no authentication required.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

1s_multi_balance_live ~248

Get native ETH plus balances for up to 20 caller-supplied ERC20 contract addresses in one bounded RPC batch. Tokens are queried, not discovered, and the tool does not calculate a portfolio value. Individual token errors are returned per-token without failing the entire request; exceeding the 20-token cap rejects the request. Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.

NameTypeReqDescription
addressstringyesEthereum address (0x...)
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
tokensstring–Comma-separated ERC20 contract addresses (max 20)

No output schema declared.

No examples provided.

1s_network_info ~409

Get network information and chain characteristics in one call: chain ID, latest block number, gas price, how far behind the chain head is, and what kind of chain this is. Returns hex-encoded values; gas price is in wei. CALL THIS FIRST when working with an unfamiliar network — it is the only way to learn the properties that make other results interpretable. The "chain" object reports layer, stack, settles_to, avg_block_time_ms, native_currency, and whether ens, a public mempool, and indexed history are available. Use avg_block_time_ms to size block ranges: cadence spans ~12s (ethereum) to ~100ms (L2s), so a fixed block count means very different windows per chain. Check "stale" before trusting ANY latest-relative read: it reports whether head_age_seconds exceeds this network's stale_after_seconds threshold. A frozen chain client and a genuinely idle chain return identical-looking data, and stale is the only signal that distinguishes them — if it is true, treat block numbers, balances and logs as a snapshot from head_age_seconds ago, not as current. Historical reads remain correct when a head is stale. On layer-2 networks gas_price is the L2 base fee only and gas_price_note explains why: the L1 data cost is charged as additional gas units, so use 1s_estimate_gas for a total cost basis rather than multiplying gas_price yourself.

NameTypeReqDescription
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…

No output schema declared.

No examples provided.

1s_nft_metadata_live ~191

Fetch NFT metadata directly from the blockchain via tokenURI/uri RPC call. Resolves all URI formats: ipfs://, ar://, data: URIs, bare CIDs, and ERC1155 {id} templates.

NameTypeReqDescription
contractstringyesNFT contract address
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
token_idstringyesToken ID (numeric string)

No output schema declared.

No examples provided.

1s_nft_owner_live ~166

Get the current NFT owner via ownerOf(tokenId) RPC call. Only works for ERC721 tokens.

NameTypeReqDescription
contractstringyesNFT contract address
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
token_idstringyesToken ID (numeric string)

No output schema declared.

No examples provided.

1s_nonce ~166

Get the transaction count (nonce) for an address via eth_getTransactionCount. Use this to set the correct nonce when constructing transactions. Returns the count as a hex value.

NameTypeReqDescription
addressstringyesEthereum address (0x...)
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…

No output schema declared.

No examples provided.

1s_payment_mode ~188

View or switch how this session pays for metered calls. Two rails, each with two modes: x402-exact (per-call USDC on Base, default), x402-batch (Base payment channel — one deposit funds many off-chain calls), mpp-charge (per-call on Tempo, USDC.e/pathUSD), and mpp-session (Tempo voucher channel). Channel modes are cheaper for a burst of calls but lock a deposit until the channel is closed/refunded. Each rail uses its own wallet (X402_PRIVATE_KEY on Base / MPP_PRIVATE_KEY on Tempo). Call with no arguments to see the current mode and which modes are available. Only applies when paying via a wallet; with an API key, calls are covered by your plan.

NameTypeReqDescription
modestring–Payment rail + mode to switch to. Omit to report the current mode without changing it.

No output schema declared.

No examples provided.

1s_pending_block ~286

Get the current pending block via eth_getBlockByNumber("pending"). On networks with a public mempool (ethereum, sepolia) this shows transactions waiting for inclusion, and the response can be very large (1MB+) on mainnet. On single-sequencer chains it is NOT a mempool view: robinhood and other L2s order transactions first-come-first-served with no public pending pool, so the call still succeeds but returns essentially the next block rather than a queue. An empty or near-empty result there means "not applicable on this chain", NOT "no activity" and NOT "no front-running risk" — check the mempool field from 1s_network_info before drawing either conclusion. Prefer 1s_network_info for chain status or 1s_tx_details_live for specific transactions.

NameTypeReqDescription
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…

No output schema declared.

No examples provided.

1s_proxy_detect ~207

Detect if a contract is a proxy and read its implementation address. Checks EIP-1967 (transparent/UUPS/beacon) storage slots. Returns the proxy type, implementation address, and admin if applicable. Optional fields the response could not confirm are listed in warnings; a field that is missing or false for that reason is unknown for this response, not a confirmed answer.

NameTypeReqDescription
addressstringyesEthereum address (0x...)
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…

No output schema declared.

No examples provided.

1s_refund ~134

Reclaim the unused deposit from an open payment channel back to your wallet right away, instead of waiting for the channel to be closed or auto-refunded. Channel modes deposit funds up front to cover many calls; whatever you do not spend stays locked until reclaimed. Works for whichever channel is active this session: x402 batch (USDC on Base) or MPP session (USDC.e/pathUSD on Tempo). Call this when you are done making channel-mode calls. Not needed for per-call modes (x402-exact / mpp-charge) or API-key auth — there is no channel deposit to reclaim.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

1s_report_bug ~195

Report a bug or issue to the OneSource team. Use when a tool returns an unexpected error or when the user asks to report a problem. Free, no payment required.

NameTypeReqDescription
descriptionstringyesWhat went wrong — describe the bug, what you expected, and what actually happened.
error_messagestring–The error message or relevant output from the failed tool call.
networkstring–The blockchain network involved, if applicable (e.g. ethereum, sepolia).
severitystring–Bug severity: low (cosmetic), medium (degraded function), high (feature broken), critical (server crash or data loss).
steps_to_reproducestring–Steps to reproduce the issue, if known.
tool_namestring–The MCP tool that produced the error (e.g. 1s_network_info, 1s_erc20_balance_live).

No output schema declared.

No examples provided.

1s_search_docs ~85

Search the OneSource developer documentation by keyword and return the best-matching sections. Use this for conceptual questions — getting started, guides, concepts, how-tos. For the parameters and response of one specific endpoint, use 1s_get_endpoint_reference instead. Free, no authentication required.

NameTypeReqDescription
querystringyesSearch query: keywords to match against documentation sections

No output schema declared.

No examples provided.

1s_search_use_cases ~108

Find the OneSource REST API endpoints that fit a task described in plain language (for example "check who owns an NFT" or "decode a transaction"). Use this when you know what you want to do but not which endpoint does it. Free, no authentication required.

NameTypeReqDescription
limitinteger–Max results. Default 5.
querystringyesNatural-language description of what you want to do (e.g., "check NFT ownership", "decode a transaction").

No output schema declared.

No examples provided.

1s_setup_check ~143

Interactive setup & health check for the OneSource MCP server. Returns a step-by-step setup script that the AGENT must run by consulting the user: it walks through EVERY configuration choice for BOTH payment rails (auth method, API key, x402 on Base, MPP on Tempo, payment modes, channel preferences) one decision at a time, every time it is run — even when everything is already configured, so the user can review and adjust without touching env vars or config files directly. Also reports version, auth status, channel status, and connectivity. Free, no authentication required. Call this first to set up, to change configuration, or to troubleshoot.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

1s_simulate_call ~230

Simulate a contract call via eth_call without sending a transaction. Use this to preview call results, decode return data, or check for reverts before sending. Returns the raw hex result or revert reason.

NameTypeReqDescription
datastringyesABI-encoded call data (0x-prefixed hex bytes)
fromstring–Sender address for msg.sender context
gas––Gas limit — decimal or hex
networkstring–Blockchain network. "ethereum" (default, ~12s blocks, ENS and a public mempool), "sepolia" (Ethereum testnet), or "robinhood" (Robinhood Chain, chain 4663 — an Arbitrum Orbit L2 settling to Ethereum,…
tostringyesTarget contract address
valuestring–ETH value in wei — decimal or hex

No output schema declared.

No examples provided.

1s_std_addresses ~119

Get the verified registry of The Standard Reserve (TSR) contracts and pool on Robinhood Chain: token, Charter NFT, Central Bank, tax hook, vaults, auctions, genesis minter, registry, and pool, each with a verification status. Check an address here before sending funds; more than 100 lookalike contracts exist. Always answers, even before every address is fully verified: check registry_status (placeholder|partial|verified) and each row's own verification_status before trusting an address. Free, no payment required.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

1s_std_auction_days ~178

List per-day history for The Standard Reserve (TSR)'s license or charter auction on Robinhood Chain, newest day first: open/floor/close price, offered vs. sold, first/last sale time, sold-out time, and minutes to sell out. License days also carry purchase aggregates: transaction_count, distinct_charters, average_price_raw, total_paid_raw, and purchase_size_distribution (licenses bought per transaction to number of transactions); these are null for charter days. Requires kind (license or charter). Page with before (a day number, exclusive) and limit. Fields ending in _raw are 18-decimal integers as strings.

NameTypeReqDescription
beforeinteger–Day cursor, exclusive
kindstringyesAuction kind
limitinteger–Maximum days returned (default 50)

No output schema declared.

No examples provided.

1s_std_auction_sales ~170

List recent sales for The Standard Reserve (TSR)'s license or charter auction on Robinhood Chain, newest first: buyer, unit price, count, and block. Filter by kind (license or charter, both returned when omitted), optionally narrow to charter_id, and page with before (a "block:log_index" cursor from a prior page) and limit. Fields ending in _raw are 18-decimal integers as strings. Divide by 1e18 to get token amounts.

NameTypeReqDescription
beforestring–Pagination cursor: "block:log_index", exclusive
charter_idinteger–Return only sales associated with this charter
kindstring–Auction kind to filter by
limitinteger–Maximum sales returned (default 50)

No output schema declared.

No examples provided.

1s_std_auctions_current ~252

Get The Standard Reserve (TSR)'s current Dutch-auction quotes on Robinhood Chain for the daily STANDARD license auction and the ETH charter auction: price now (when the formula allows it), floor, last sale, daily license supply, and expected license prices at short wait horizons. Each side also reports units_offered/units_sold/units_remaining, sold_out, and phase (not_started, live, sold_out, paused, or unknown). When sold_out is true, price_now_raw is still the decay curve's value, not a live price you can actually buy at; check sold_out (and price_now_note) before trading on it. A side with price_available false still returns its floor and last sale. Each side also carries a day_clock object (current_day, day_started_at, next_day_starts_at, seconds_to_next_day) telling you when today's auction day rolls into the next one, null with day_clock_reason before that side's auction has started. For fills, call 1s_std_auction_sales filtered by kind. Fields ending in _raw are 18-decimal integers as strings. Divide by 1e18 to get token amounts.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

1s_std_backing ~441

Get The Standard Reserve (TSR)'s reserve backing on Robinhood Chain: vault ETH balances, reserve-asset holdings, the Uniswap v4 positions the expansion vault owns (vault_positions), and eth_backing_per_standard (ETH per circulating STANDARD) in three variants. excluding_pol is vault ETH only, the conservative figure. including_pol adds total POL-controlled ETH (idle + position principal + uncollected fees) and is null when pol_position_basis is position_inventory_unavailable. including_reserve_assets adds the ETH value of vault_positions and of the priced reserve_assets to vault ETH, leaves out POL, and is null until a snapshot has both positions and prices. Part of the vault's ETH was redeployed into USDG and Uniswap v4 pools, so excluding_pol and including_pol fall when that happens. reserve_value splits the reserve-inclusive figure into components (vault_positions_eth, usdg_eth, stock_tokens_eth), a total, and an unpriced list. Stock tokens and positions are valued at the current price in the Reserve's own stock/USDG pools and USDG at $1 via Chainlink ETH/USD, so selling a large amount would fetch less; eth_value and valuation on reserve_assets name the basis, and unpriced assets keep eth_value null. Position STANDARD and per-range POL liquidity are also returned. No variant includes ETH held by the tax hook or fee splitter (see hook_eth_balance_raw/fee_splitter_eth_balance_raw on 1s_std_buyback_readiness); that ETH is tax collected on trades awaiting a forwardTaxes() call, not vault-held backing. Pass history_hours to get the backing-ratio history instead of the current snapshot, or atBlock to get the backing snapshot at or before that block (ignored when history_hours is set). Fields ending in _raw are 18-decimal integers as strings; divide by 1e18 to get token amounts.

NameTypeReqDescription
atBlockinteger–Return the backing snapshot at or before this block instead of the latest one
history_hoursinteger–When set, return backing-ratio history for this many hours instead of the current snapshot

No output schema declared.

No examples provided.

1s_std_branch_auction_live ~175

Get the raw, head-fresh state of The Standard Reserve (TSR) Branch license auction on Robinhood Chain: phase (not_started/live/paused, or unknown when the contract did not answer), current/floor/day-start price, half-life, licenses issued per day, today's sold/remaining counts, and sales in the last 5, 15, and 60 minutes. Read straight from the chain (not the indexed pipeline), refreshed every few seconds. A field the contract view did not return comes back null, not zero. day_clock gives the next auction-day boundary (next_day_starts_at, seconds_to_next_day), null with day_clock_reason before the auction has started. For the buy-now-vs-wait decision, use 1s_std_branches_doi instead.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Install

How do I install the OneSource MCP server?

OneSource MCP runs locally as an npm package, launched with npx -y @one-source/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @one-source/mcp

# add to Claude Code
claude mcp add io-onesource-mcp -- npx -y @one-source/mcp
Common questions

What is the OneSource MCP server?

OneSource MCP is listed in the public MCP registry as io.onesource/mcp. Blockchain data, Deepstate and Standard Reserve markets, live chain queries, and API docs. This page covers its npm package (@one-source/mcp).

Is the OneSource MCP server safe to use?

OneSource MCP scores 77 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the OneSource MCP server expose?

OneSource MCP exposes 99 tools: 1s_allowance_live, 1s_contract_info_live, 1s_erc1155_balance_live, 1s_erc20_balance_live, 1s_erc20_transfers_live, and 94 more. Their descriptions and schemas cost roughly 23,036 tokens of context every time the server is loaded.

Is the OneSource MCP server still maintained?

OneSource MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the OneSource MCP server under?

OneSource MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.