Skip to main content

The Standard Reserve

The Standard Reserve ("STANDARD", standardreserve.xyz) is an on-chain central-bank protocol on Robinhood Chain (chain id 4663). It runs charters (soulbound, meaning non-transferable, ERC-721 tokens that represent a member's standing), branches, a license auction and a charter auction, epochs with a policy multiplier and net-flow signal, issuance, an exit fee, dormancy tracking, two vaults, protocol-owned liquidity, and a tax hook. OneSource indexes the deployed contracts and serves the results as a read-only REST API.

  • Base URL: https://api.onesource.io/standard/v1/...
  • OpenAPI spec: /standard/openapi.yaml (free, no auth)
  • Network: Robinhood Chain only. These routes take no network parameter.

Every number the API returns comes from reading the deployed contracts, not from the whitepaper. The whitepaper's own constants are redacted; the contracts are the source of truth, and this API reports what they expose.

Check an address before you pay anyone​

Over 100 lookalike contracts impersonate Standard Reserve components. GET /v1/addresses is free and requires no payment or API key for exactly this reason: check an address before you send it money or trust data from it, not after.

curl https://api.onesource.io/standard/v1/addresses

The response always answers with HTTP 200, even before OneSource has finished verifying every address, and includes a registry_status of placeholder, partial, or verified so you know how far verification has progressed. Treat anything not listed, or listed with a status below verified, as unconfirmed.

Also free: GET /v1/genesis/live and GET /v1/genesis/mints (head-fresh genesis mint metrics), GET /v1/health, GET /v1/ready, and the OpenAPI document itself.

Everything else is paid​

Every other route is pay-per-call with x402 (USDC on Base) or covered by an API key subscription. There are no public pricing tiers: the API key subscription is the primary way to use the paid routes, and x402 covers per-call pricing. Exact prices aren't listed here; the response body below and the OpenAPI document are the source of truth, so this page can't drift out of sync with what's actually charged.

A paid call without a valid Authorization header or payment signature gets back an HTTP 402 with a JSON body in the x402 v2 shape: a resource naming the URL and route, and an accepts array of ways to pay it. Each entry gives a scheme (exact), a network (eip155:8453 for Base), the asset (the USDC contract), a maxAmountRequired in USDC base units, and the payTo address; the body also carries payment_rails and api_key_subscription hints pointing at the alternative. Sign and retry against one of the accepts entries, or subscribe with an API key instead. See x402 on Base and MPP on Tempo for the full client setup, or Getting Started to pick an access path.

curl https://api.onesource.io/standard/v1/policy/current
# HTTP/1.1 402 Payment Required
# {
# "x402Version": 2,
# "resource": { "url": "...", "description": "..." },
# "accepts": [
# { "scheme": "exact", "network": "eip155:8453", "asset": "...", "maxAmountRequired": "...", "payTo": "..." }
# ],
# "payment_rails": "...",
# "api_key_subscription": "..."
# }

Reading a response: basis, as_of_block, serving_state​

Every served number carries a small set of fields that tell you how much to trust it: basis (measured, derived, constant, or inferred_from_bytecode), as_of_block, and serving_state (fresh / lagging / withheld). See How to read a TSR response for the full rundown, including the null-vs-zero rule, formula_version gates, and how _raw fields are scaled.

Not sure which route answers your actual question? Deciding with the data maps five common decisions (exit, branch cost, policy, backing, participants) to the routes and MCP tools that answer them.

What the API covers​

Mechanics OneSource indexes and serves as measured or derived data:

  • Charters: soulbound ERC-721 membership tokens, keyset-paginated (before/after/order on charter_id, with next_before/next_after/total_charters; an unrecognized query parameter is a 400, not a silent no-op), and an exit quote per charter (realizable_eth estimates the ETH you'd actually net after selling into the pool; at_block reruns the price-impact math against a historical pool state)
  • Branches: a summary of branch-level state (GET /v1/branches/summary, including license_price_in_branch_days_basis for which price basis (current or floor) priced the branch-days figure), and what a license costs converted to ETH right now (GET /v1/branches/license-cost) compared against the charter auction
  • Auctions: the license Dutch auction and the charter auction, current and historical sales, and per-day history (GET /v1/auctions/days, whose rows carry close_price, first_sale_ts, last_sale_ts, and sold_out_ts for days that have closed). For kind=license days, rows also carry purchase aggregates derived from indexed sales (transaction_count, distinct_charters, average_price_raw, total_paid_raw, purchase_size_distribution); these are null on kind=charter days, and zero/null on a license day with no indexed sales. GET /v1/auctions/license/bids lists the license auction's standing bids with per-bid fillable and blocking reasons. GET /v1/auctions/current reports phase (not_started / live / sold_out / paused / unknown), sold_out (only true when the allotment sold was actually positive), units_offered/units_sold/units_remaining, freshness_basis, and value_last_changed_at/_block on each side
  • Epochs and policy: policy multiplier, net-flow signal, and issuance per epoch, current and historical. GET /v1/policy/current falls back to a live estimate before the epoch settles (regime_provisional, issuance_per_day_raw, time_to_close_source, epoch_start_ts/epoch_end_ts), with every fallback field carrying its own _source. GET /v1/policy/epochs rows carry pre_emissions: true for epochs that predate issuance starting
  • Policy outlook and issuance runway: a current-sign-holds projection of the multiplier and issuance rate (GET /v1/policy/outlook), and cumulative issuance against budget with a same-rate projected end date (GET /v1/issuance/runway)
  • Governance: param-change history, queued-but-not-applied changes, one-way switch states, and guardian pause state (GET /v1/governance/changes)
  • Protocol money movements: vault migrations, forwarded taxes, recycled fees, team claims, POL buybacks, fee collections and pairings, incentive sends, and every outflow from the reserve vault Safe (GET /v1/flows/protocol)
  • Exit pressure and exit economics: the current snapshot, history, and the validated mainnet resolution-fee formula. GET /v1/exit-pressure/history rows carry a formula field, and the response reports rows_without_formula for the count of older rows predating that field; GET /v1/exit/fee-curve (a withdrawal-size ladder) and GET /v1/exit/fee-forecast (a no-further-exits projection, plus an expiry_schedule of exact window-day expiries and the resulting fee rate when the window data is complete) sit alongside it
  • Backing and buybacks: vault ETH and reserve-asset holdings valued per circulating STANDARD (GET /v1/backing/current, /history), and contraction-vault buyback-tick readiness (GET /v1/buybacks/readiness, which also reports regime_provisional/regime_note before the first epoch settles)
  • Launch tax: the current buy/sell tax bps and decay schedule (GET /v1/tax/schedule)
  • Participants: holder concentration and cohort split (GET /v1/holders/concentration), one wallet's full position (GET /v1/wallets/{address}), and wallets past their reportable dormancy window ranked by bounty (GET /v1/dormancy/bounties)
  • Composite decisions: GET /v1/decisions/branch, /exit, and /charter bundle the routes above into the one call a specific decision needs. GET /v1/decisions/plan is a different kind of composite: it seeds a keep/selective/aggressive Branch-expansion simulation from this API's own live routes and runs it forward over a horizon you choose, rather than answering "what's true right now". GET /v1/decisions/stake bundles the S-Bills quote, live state, optional wallet cap headroom, and a derived 1h/6h/24h rate projection; GET /v1/decisions/hold bundles policy, issuance, governance, tax, buyback, and dormancy-count reads; GET /v1/decisions/sbill takes one S-Bill and returns its exit-fee schedule or its redeem and roll figures; GET /v1/decisions/bid takes a max unit price and returns when the license price reaches it, who is ahead in the bid book, and how fills happen. /exit also prices staking the net STANDARD as an S-Bill, /plan prices staking each strategy's released STANDARD instead of selling it, and /charter carries the charter auction's price path for the rest of the day
  • Supply, vaults, and pool: current and historical supply, the two vaults, and AMM pool state (price, tick, liquidity, reserves). GET /v1/supply/current includes minted_as_of_block, the block each supply field's own read reflects, plus burned_forever_cum_raw/deposited_cum_raw/ledger_retired_cum_raw for the three distinct ways maxSupply can move (see Protocol overview and issuance). policy/current, pool, exit-pressure/current (system-wide, gross=0), supply/current, vaults/current, and backing/current all take an optional at_block for a point-in-time read. GET /v1/pool and GET /v1/pool/candles add optional USD-denominated fields, converted via a Chainlink ETH/USD read on Ethereum mainnet
  • S-Bills: fixed-term STANDARD staking at a rate fixed per term, with live quotes, maturity/settle/redeem/roll state, early-exit economics, and a decoded event feed (GET /v1/sbills/current, /rate-history, /quote, /bills, /bills/{id}, /events). See S-Bills: fixed-term staking
  • Flow and events: hourly flow aggregates and a raw event feed
  • Constants: chain-read parameters (base rate, epoch length, floors, and similar), each with its own basis

Full parameter and schema detail lives in the OpenAPI spec; that document is the canonical route list; don't rely on this page for it.

MCP​

The hosted @one-source/mcp server exposes this same data as the Standard tools (category standard). See the tool reference for the full tool list rather than the partial set named here.