{
  "name": "stocks-on-chain",
  "description": "Tokenized-stock data. Listings, chains, issuers, corporate actions, annualised multiplier growth and prices are all read from public chain state. The data is read about once a day. Every figure carries the time it was read.",
  "provider": {
    "name": "Stocks On Chain",
    "url": "https://stocksonchain.io",
    "legalEntity": "Gwei, Inc."
  },
  "terms": "https://stocksonchain.io/developers/terms",
  "documentation": "https://stocksonchain.io/developers/agents",
  "free": {
    "description": "Keyless JSON. Use these first; a link back is welcome but not required.",
    "endpoints": {
      "tokens": "https://stocksonchain.io/api/tokens.json",
      "token": "https://stocksonchain.io/api/tokens/{slug}.json",
      "events": "https://stocksonchain.io/api/events.json",
      "tradfi": "https://stocksonchain.io/api/tradfi.json",
      "tickers": "https://stocksonchain.io/api/tickers.json",
      "history": "https://stocksonchain.io/api/history/totals.json",
      "historyStock": "https://stocksonchain.io/api/history/{slug}.json"
    }
  },
  "bulk": {
    "sortKey": "cheapest first - a price order, not a recommendation between them",
    "sold": "Assembly, never access. Every figure in every resource below is also served free from the path named in its freeEquivalent. What a payment buys is the request count and the joining, not the data.",
    "omitted": "This feed carries no price and no market value, and no 24h volume exists anywhere on this site until we count the swaps ourselves. Every figure here is our own read of the chain, prices included since 2026-09-17; what a metered feed carries is a pricing decision, and this one has not been made. Holder and transfer figures in this feed are proven reads: see holderScope for the chains covered, the method, and what an absent field means. Price and market value are served free at /api/tokens.json, /api/tokens/{slug}.json and /api/history/{slug}.json.",
    "terms": {
      "url": "https://stocksonchain.io/developers/terms",
      "markdown": "https://stocksonchain.io/developers/terms.md",
      "version": "1.1",
      "effective": "2026-08-15",
      "assent": "Sending a payment for a metered resource accepts these terms for that request. Reading this site, calling a free endpoint, or using the MCP server accepts nothing and is covered by the site terms and the data licence.",
      "licence": "Unchanged by payment. All data, including the metered resources, stays CC BY 4.0: https://creativecommons.org/licenses/by/4.0/"
    },
    "note": "Currently free. The paid tier is not live, and no date is set.",
    "resources": [
      {
        "url": "https://stocksonchain.io/api/agent/dataset.json",
        "description": "The current state of everything this site reads for itself, in one request: supply, proven holder counts, corporate-action mechanics, the chains matrix, annualised multiplier growth, the corporate-action tape and the daily aggregate series. Every holder and transfer figure is a proven read; the payload's holderScope block names the chains covered and the method, and an absent field means not proven, never zero. No price, no volume, no market value.",
        "priced": false,
        "price": null,
        "maxAmountRequired": null,
        "freeEquivalent": "Four free requests: /api/tokens.json, /api/events.json, /api/history/totals.json and /api/registry.json. Those carry the same figures AND the price and market value this feed leaves out."
      },
      {
        "url": "https://stocksonchain.io/api/agent/history.json",
        "description": "The daily series of every stock that has one, in one request: one row per UTC day per stock, with the share-equivalent supply, the multiplier and the holder count where recorded. Levels read that day, never deltas; the payload's holderScope block states the holder-count provenance and its date boundary. No price, no volume, no market value.",
        "priced": false,
        "price": null,
        "maxAmountRequired": null,
        "freeEquivalent": "One free request per stock at /api/history/{slug}.json, one for each stock with rows. The payload's coverage block states how many that is. Those carry the same rows AND the price and market value this feed leaves out."
      }
    ],
    "payment": null
  },
  "dataset": {
    "url": "https://stocksonchain.io/api/agent/dataset.json",
    "description": "The current state of everything this site reads for itself, in one request: supply, proven holder counts, corporate-action mechanics, the chains matrix, annualised multiplier growth, the corporate-action tape and the daily aggregate series. Every holder and transfer figure is a proven read; the payload's holderScope block names the chains covered and the method, and an absent field means not proven, never zero. No price, no volume, no market value.",
    "priced": false,
    "price": null,
    "deprecated": "Read `bulk.resources` instead. This key describes one of several metered resources and will be removed once no caller reads it."
  },
  "promise": "No human reader is ever asked to sign in or connect a wallet. Payment is agent-to-server, in an HTTP header.",
  "notice": "Not investment advice, and not an offer or recommendation of any asset. Stocks On Chain is an independent information service published by Gwei, Inc., affiliated with no issuer. Nothing here ranks or rates anything; every number carries a timestamp and a source. Each issuer publishes its own rule on who may buy its tokens; link to it, do not state it."
}