tokenstock.info
Updated 1m agoLast successful collection: underlying-quotes at 2026-10-12 07:23 UTC. Prices and liquidity refresh hourly for tokens above $100K liquidity and every three hours above $10K; supply, holders, and market cap once a day.

Data APIAbout Data APIVersioned JSON and CSV endpoints under /api/v1.

Public, self-serve access to the registry

What this data is

tokenstock.info tracks tokenized stocks and funds across chains. Each deployment — a token contract at an address on a chain — is identified by (chain_id, address), never by symbol alone, and one token is not necessarily one share. The API serves the same registry, issuer, stock and daily-total data the site renders, plus the premium table. Every JSON response is an envelope: { data, meta: { generated_at, license, attribution, sources, notes, next_cursor, limit, count } }. Values that are unmeasured are null, never zero or fabricated.

Premiums

GET /api/v1/premiums

Ranked premium/discount of each ranked tokenized version versus its underlying share reference, judged at request time.

Parameters
format — json (default) or csvview — moves for liquidity-weighted per-stock moves since the last close
Row fields
chain_id, address — Deployment identity — the registry key, never the symbol alone.symbol, issuer, ticker, isin, category, tier — Token symbol, issuer name, underlying ticker, ISIN, asset category and market tier.premium_pct — Percentage points versus the underlying reference price.basis, basis_label — live, last_close or a dated reference price, with its display label.token_price_usd, token_price_observed_at — Canonical per-token price and its observation time.price_per_share_usd, shares_per_token — Per-share value and the token-to-share ratio used.underlying_price_usd, underlying_observed_at — The share-price reference and its provider time.liquidity_usd — Whole-pool liquidity in USD.
Order
premium_pct descending, then chain_id, address.
CSV
view=moves uses the move columns documented in meta.notes.

curl "https://tokenstock.info/api/v1/premiums?limit=500" · CSV · JSON

Tokens

GET /api/v1/tokens

Every canonical, non-delisted tokenized-stock deployment in the registry — the full chain/address table, including deployments without market data.

Parameters
format — json (default) or csvlimit — Rows per page, 1–500 (default 500)cursor — meta.next_cursor from the previous page
Row fields
chain_id, address — Deployment identity.symbol, name — Token symbol and its underlying instrument's display name.issuer, issuer_name, product_id — Issuer slug (joins /api/v1/issuers.issuer), issuer name and product id.underlying_ticker, underlying_name, isin, category — Underlying identity; isin is the recorded or derived ISIN; category is stock, etf_equity, etf_bond, etf_commodity, etf_crypto, etf_other or portfolio.tier — Market-data tier (1 = tightest cadence), null when unassigned.supply, circulating — Total and circulating token supply as exact token-unit decimal strings; circulating subtracts recorded issuer custody.shares_per_token — Underlying shares per token: the issuer-reported share ratio when published, else the verified contract multiplier. Null when unknown.token_price_usd, liquidity_usd, volume_24h_usd, holders, market_cap_usd, share_value_usd — Latest observed values as exact decimal strings; market_cap_usd and share_value_usd match the token page (daily snapshots).premium_pct, premium_basis, premium_basis_label — Percentage points versus the underlying share reference on the same live / last-close / reference basis the token page shows at request time.<field>_source, <field>_updated_at — For supply, price, liquidity, volume, holders, market cap and share value: the upstream provider or pipeline of the materialized observation, and its observation time.
Order
chain_id, address — a keyset order; follow meta.next_cursor until null.

curl "https://tokenstock.info/api/v1/tokens?limit=500" · CSV · JSON

Issuers

GET /api/v1/issuers

One row per issuer project — the same aggregates the /projects table shows.

Parameters
format — json (default) or csvlimit — Rows per page, 1–500 (default 500)cursor — meta.next_cursor from the previous page
Row fields
issuer, issuer_name — Project slug and display name.tokens, tokens_with_data_24h — Registered deployments, and those with a fresh market observation in 24 hours.market_cap_usd, share_value_usd — Live corroborated market-cap total; included share-value total. Exact decimal strings, null when none qualify.stocks_equity_etfs_usd, other_etfs_usd, portfolios_usd — Share value split between stocks+equity ETFs, other ETFs and portfolios.category_split — Included share value per asset category.transparency_score — Value-weighted publication score 0–100; null when no product is scored.chains — Chain ids hosting the issuer's deployments.
Order
issuer (project slug) ascending; follow meta.next_cursor until null.
CSV
CSV flattens category_split to category_stock_usd, category_etf_equity_usd, category_etf_bond_usd, category_etf_commodity_usd, category_etf_crypto_usd, category_etf_other_usd, category_portfolio_usd.

curl "https://tokenstock.info/api/v1/issuers?limit=500" · CSV · JSON

Stocks

GET /api/v1/stocks

One row per underlying ticker across every canonical non-delisted registry deployment, including tickers without recent market data.

Parameters
format — json (default) or csvlimit — Rows per page, 1–500 (default 500)cursor — meta.next_cursor from the previous page
Row fields
ticker, name, category — Normalized underlying ticker, best display name, asset category.isins — Distinct recorded or derived ISINs across the ticker's versions.versions — Registered instrument versions in the directory.issuers, chains — Issuer slugs and chain ids hosting the ticker's versions.share_value_usd — Sum of the ticker's included outstanding-supply valuations, judged at request time.max_liquidity_usd — Largest whole-pool liquidity across versions.url — Canonical stock page URL.
Order
ticker ascending; follow meta.next_cursor until null.
CSV
isins, issuers and chains are JSON-encoded arrays inside their CSV cells.

curl "https://tokenstock.info/api/v1/stocks?limit=500" · CSV · JSON

Totals

GET /api/v1/totals

The daily_totals history behind /trends — long-form rows, one per day, scope and metric.

Parameters
format — json (default) or csvlimit — Rows per page, 1–500 (default 500)cursor — meta.next_cursor from the previous pagescope — global (default), project:<slug>, chain:<id>, or asset_category:<category>metric — Optional; one of the metrics present (e.g. tokens_registered, tokens_with_market_data, liquidity_usd, volume_24h_usd, market_cap_usd, underlying_value_usd, underlying_valued_count, underlying_unvalued_count)
Row fields
day — UTC calendar day of the snapshot.scope_kind, scope_id — global, project, chain or asset_category; scope_id is empty for global.metric — Metric name.value — Exact decimal string; null when the scope had no usable inputs that day.
Order
day, scope_kind, scope_id, metric — keyset; follow meta.next_cursor until null.

curl "https://tokenstock.info/api/v1/totals?limit=500" · CSV · JSON

Conventions

List endpoints share three parameters: format (json or csv), limit (an integer from 1 to 500, default 500) and cursor (the opaque meta.next_cursor from the previous page; the last page returns null). Pages are keyset-paginated on the documented order, so walking every page yields each row exactly once — no duplicates, no gaps — even where rows tie on display fields. CSV returns the same rows with the documented column order; nested objects flatten to field_sub columns and arrays are JSON-encoded in their cell. An unknown parameter, an out-of-range or non-integer limit, a bad format, or a malformed cursor answers 400 JSON; an unavailable reader answers 503; neither is cached.

Caching

List endpoints carry Cache-Control: public, s-maxage=900, stale-while-revalidate=900 (15 minutes); /api/v1/premiums caches for 5 minutes. Freshness judgments on values and premiums are made at request time.

License & attribution

tokenstock-derived data is published under CC BY 4.0. When you use it, include the attribution line Data: tokenstock.info and link tokenstock.info.

Third-party sources

Fields are collected from third parties — DexScreener, GeckoTerminal, Alpaca IEX, holder-count providers, issuer APIs and proof-of-reserves pages, and block explorers / RPC endpoints. Each row carries its per-field source where one is recorded, and meta.sources lists the providers behind the endpoint. Those providers' own terms apply to their underlying data and are under review — see coverage & sources.

Not investment advice

Informational only. tokenstock.info is not affiliated with any issuer, and no endpoint is an offer, a price quote for execution, or investment advice.