Stocks On Chain
stocksonchain.io
· Gwei, Inc.
Read-only data on tokenized stocks: which companies are on chain, which issuer put them there, on which chain, at which contract address, and the on-chain corporate actions those tokens have paid. Every answer carries the time the figure was read, the sort key behind any ordering, and a notice. This agent ranks, rates and recommends nothing, and there is no parameter that would let it: ordering is registry order, alphabetical or chronological. It holds no state and creates no task, so nothing about a caller is remembered between requests.
stocksonchain.io via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
C
Conformance score: 66/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown ▾
click to collapse breakdown ▴
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-10-09 18:28:13 current | 2513af282f0a… |
view → |
Try it
Send a message to this agent live. Your prompt is proxied through Agenstry.
Endpoints
| Agent card | https://stocksonchain.io/.well-known/agent-card.json |
| Provider | https://stocksonchain.io |
| Docs | https://stocksonchain.io/developers/agents |
Skills · 8 declared · mapped to canonical taxonomy
Find tokenized stocks by ticker or company name. Returns every match with its issuers and chains, alphabetical by ticker. If a ticker is a real stock but has no…
Everything known about one stock: every instrument (one per issuer, with the mechanics union describing how it handles corporate actions), every listing under i…
Every issuer whose tokens are tracked, in registry order, with the legal wrapper it uses, the chains it issues on, and a link to where that issuer publishes its…
Every chain carrying tokenized stocks, with its explorer, and the matrix of which issuer has listed what where. Registry order, which is not a ranking.
The corporate-action tape: splits, distributions and multiplier changes read from chain state, each with a transaction hash. Newest first by the time the event …
What this site holds about one address, in two independent halves. `listings` says what the token IS - the stock, its company, the issuer and the chain - and is…
What 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…
Tell us you wanted something and did not get it: a stock we do not track, a chain a stock is not on, a field no endpoint carries, a tool that does not exist, a …
Health · last 1 probes
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/stocksonchain.io) [](https://agenstry.com/agents/stocksonchain.io) [](https://agenstry.com/agents/stocksonchain.io) [](https://agenstry.com/agents/stocksonchain.io)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"name": "Stocks On Chain",
"description": "Read-only data on tokenized stocks: which companies are on chain, which issuer put them there, on which chain, at which contract address, and the on-chain corporate actions those tokens have paid. Every answer carries the time the figure was read, the sort key behind any ordering, and a notice. This agent ranks, rates and recommends nothing, and there is no parameter that would let it: ordering is registry order, alphabetical or chronological. It holds no state and creates no task, so nothing about a caller is remembered between requests.",
"version": "1.0.0",
"supportedInterfaces": [
{
"url": "https://stocksonchain.io/a2a",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"capabilities": {
"streaming": false,
"pushNotifications": false,
"extendedAgentCard": false
},
"defaultInputModes": [
"application/json",
"text/plain"
],
"defaultOutputModes": [
"application/json",
"text/plain"
],
"skills": [
{
"id": "search_stocks",
"name": "Search tokenized stocks",
"description": "Find tokenized stocks by ticker or company name. Returns every match with its issuers and chains, alphabetical by ticker. 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.",
"tags": [
"stocks",
"search",
"tokenized-equities",
"registry"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
},
{
"id": "get_stock",
"name": "Get one tokenized stock",
"description": "Everything 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.",
"tags": [
"stocks",
"listings",
"issuers",
"chains",
"registry"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
},
{
"id": "list_issuers",
"name": "List issuers",
"description": "Every issuer whose tokens are tracked, in registry order, with the legal wrapper it uses, the chains it issues on, and a link to where that issuer publishes its own rule on who may buy. The rule itself is deliberately not included: it can change without this site noticing, so answer eligibility questions by sending the caller to eligibility.sourceUrl rather than by stating a rule.",
"tags": [
"issuers",
"wrappers",
"registry"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
},
{
"id": "list_chains",
"name": "List chains",
"description": "Every chain carrying tokenized stocks, with its explorer, and the matrix of which issuer has listed what where. Registry order, which is not a ranking.",
"tags": [
"chains",
"registry"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
},
{
"id": "list_events",
"name": "List corporate actions",
"description": "The 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.",
"tags": [
"corporate-actions",
"dividends",
"splits",
"on-chain-events"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
},
{
"id": "get_contract",
"name": "Look up a contract address",
"description": "What this site holds about one address, in two independent halves. `listings` says what the token IS - the stock, its company, the issuer and the chain - and is present whenever the address is a listing we track. `matches` says what the CODE at the address is: its runtime bytecode hash, the implementation behind it if it is a proxy, and how many other addresses we track run byte-identical code; it is present only where we have read the code. The code half is reproducible: fetch eth_getCode and take its keccak256 and you get the same hash. Either half can be empty and both can be present; an address we hold nothing about returns found: false, which is an answer rather than an error. This never says an address is safe, genuine or correct, and there is no field that could: check it against the issuer before you act on it.",
"tags": [
"contracts",
"addresses",
"verification"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
},
{
"id": "get_manifest",
"name": "Get the agent tier terms",
"description": "What 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.",
"tags": [
"metadata",
"licence",
"terms"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
},
{
"id": "report_gap",
"name": "Report something this site does not have",
"description": "Tell us you wanted something and did not get it: a stock we do not track, a chain a stock is not on, a field no endpoint carries, a tool that does not exist, a figure you believe is wrong, or a path that failed. Call this when another tool has just answered with a miss - the answer names the kind to send. THERE IS NO FREE-TEXT FIELD AND THERE WILL NOT BE ONE: a report is an enumerated kind plus a short subject, because the counts are what is useful and prose from an anonymous caller is a prompt-injection surface pointed at the people who read it. Nothing about you is recorded - no address, no header, no identifier - so a report cannot be joined to a caller and there is no reply. The report is counted in aggregate and returned to you with a prefilled link a human can open to track it. Reporting costs nothing and is never required.",
"tags": [
"feedback",
"coverage"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
}
],
"provider": {
"organization": "Gwei, Inc.",
"url": "https://stocksonchain.io"
},
"documentationUrl": "https://stocksonchain.io/developers/agents",
"iconUrl": "https://stocksonchain.io/logo-mark.svg",
"securitySchemes": {},
"securityRequirements": []
}