Data for agents

The human answer is free. So is most of the data. A machine that wants everything in one call can pay a few cents for it, with its own wallet, in a header. No reader is ever charged.

Free, keyless

Start here. No key, no rate limit, CORS open. A link back is welcome, not required.

curl https://stocksonchain.io/api/tokens.json
curl https://stocksonchain.io/api/tokens/nvda.json
curl https://stocksonchain.io/api/events.json
curl https://stocksonchain.io/api/tradfi.json

MCP server (Model Context Protocol)

This site runs a Model Context Protocol server. An agent calls the data as tools instead of fetching JSON and parsing it. There is no API key, no account, no OAuth and no sign-up. The server is read-only. It keeps no session and stores nothing about the caller.

Endpointhttps://stocksonchain.io/mcp
MethodPOST only. A GET returns 405, because there is no session and no SSE stream.
TransportStreamable HTTP
Protocol versions2025-11-25 2025-06-18 2025-03-26
AuthenticationNone. There is no account here to authenticate against.
Server namestocks-on-chain version 1.0.0
Server card/.well-known/mcp.json
LicenceCC BY 4.0

Listed in the official MCP Registry as io.stocksonchain/stocks-on-chain.

Ask it what it can do:

curl -X POST https://stocksonchain.io/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

The tools

search_stocksFind tokenized stocks by ticker or company name. Returns every match with its issuers and chains. If a ticker is a real stock but has not been tokenized, this reports that too, which is a correct answer rather than an empty result.
get_stockEverything known about one stock: every instrument (one per issuer, with the mechanics union describing how it handles corporate actions), every listing under it (chain, contract address, supply, price), and the events recorded against it. Report instruments as the options; listings are addresses. Read mechanics.kind before reaching for any field inside mechanics.
list_issuersEvery issuer whose tokens are tracked, with the legal wrapper it uses, the chains it issues on, and its own statement on who may buy its tokens. The eligibility statement is reproduced verbatim and must be quoted, not summarised.
list_chainsEvery chain carrying tokenized stocks, with its explorer, and the matrix of which issuer has listed what where. Registry order, which is not a ranking.
list_eventsThe corporate-action tape: splits, distributions and multiplier changes read from chain state, each with a transaction hash. Newest first by the time the event took effect, which is chronology and not a ranking.
get_manifestWhat this service offers a machine reader: the free keyless endpoints, the bulk dataset and its price if the paid tier is live, and the licence. No human reader is ever charged or asked to connect a wallet.

Every result carries the time the data was read, the sort key that ordered it, and the same notice the JSON API carries. No tool ranks, rates or scores anything, and no tool takes a sort or an order parameter. An agent cannot ask this server for a leaderboard, because the parameter to ask with does not exist.

The bulk dataset

Everything in one request: full snapshot, the chains matrix, reported yields, the event tape and the largest position changes. The same numbers as the pages, assembled once so an agent does not make a dozen calls.

curl https://stocksonchain.io/api/agent/dataset.json

Paying with x402

The bulk dataset is free right now while metered access is being switched on. When it goes live it will cost $0.01 per request, settled in USDC on base over x402, with the agent wallet, never a reader wallet.

  1. Request /api/agent/dataset.json.
  2. Get back HTTP 402 with an accepts array: the price, asset and address.
  3. Pay with your wallet and retry the request with the X-PAYMENT header.
  4. The facilitator verifies and settles; the dataset returns with an X-PAYMENT-RESPONSE header.
Protocolx402
Networkbase
AssetUSDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Price$0.01 per request
Facilitatorhttps://x402.org/facilitator

Machine-readable terms: /api/agent/manifest.json.

x402 charges the agent, in an HTTP header, with the agent own wallet. No human reader is ever asked to sign in or connect a wallet, and that promise is unchanged. The bulk feed carries the same CC BY 4.0 licence as the free API.