Plain GET requests, no key and no headers. Any origin may call it from a browser; any agent may read it from a chat.
Everything this app shows about tokenized stocks on Base, as a public read-only API. No key, no account, open CORS — and every example on this page runs against the live deployment.
Plain GET requests, no key and no headers. Any origin may call it from a browser; any agent may read it from a chat.
Each response declares how long it may be reused, and the CDN honours it. A thousand readers cost the app the same as one.
Two endpoints back a model call or a heavy upstream read. Those cost $0.10 in USDC per call over x402; everything else is free.
curl -s "https://basestocks.finance/api/v1/stocks/NVDA"
Every response is { data, meta }. meta.cacheSeconds tells you how long the body stays valid, so a polling client knows exactly how often it is worth asking again.
Tokenized stocks are not ordinary ERC-20s, and three of these have caught people out. The API returns each of them explicitly rather than leaving you to infer it.
Every stock carries a multiplier that moves on splits and dividends. Share-equivalents are rawBalance × multiplier ÷ 1e18. The portfolio endpoint returns both so no conversion is guessed.
Coinbase's feeds report total return, not the raw equity price. It is returned as reference.totalReturnUsd, deliberately not named a price: comparing it with dexPriceUsd and calling the gap an arbitrage is a mistake.
Outside US trading hours, and during a corporate action, a feed stops updating and keeps its last value while staying callable. Read reference.updatedAt and reference.isStale before relying on it.
dexPriceUsd is read only from a pool quoted in USDC or ETH, and only counts as displayUsd when it is within 20% of a live reference. A pool prices a token against whatever is on its other side, so a pair quoted in a long-tail token reports that token's valuation: one such pair had a stock reading 49x its reference. When the check refuses the market price, displaySource is "reference" even though dexPriceUsd is present.
Names and symbols are mutable onchain metadata. Symbols are accepted for convenience, but store the address.
/api/v1/stocksEvery listed tokenized stock: DEX price, Chainlink reference, liquidity, 24h volume, multiplier and trading status.
/api/v1/stocks/{symbol}One stock by ticker, token symbol or contract address, with the pools that trade it.
/api/v1/newsHeadlines: one stock's wire, the market desks, or the Base and Coinbase tokenized-stock feed. Titles and links only.
/api/v1/earnWhere idle USDC can earn on Base: venue, variable APY, TVL and risk notes, discovered live from the protocols.
/api/v1/portfolio/{address}Any wallet's tokenized-stock position, read from the chain — raw balances and share-equivalents side by side.
/api/v1/statsWhat has been done through the app, counted from records verified against a receipt on Base.
Call the endpoint. It answers 402 Payment Required with the amount, the asset, the network and the recipient. Your client signs a USDC authorization, retries the same URL, and gets the body. Nothing to sign up for and no key to rotate.
Settlement happens after a successful response, so a request that fails or asks for an unknown stock never costs anything.
x402 is Coinbase's HTTP payment standard. Base's guide covers the buyer side, including how an agent pays autonomously.
/api/v1/pro/reportThe written market brief with the prices behind it. $0.10 in USDC per call — it is backed by a model, so every call has a cost a cache cannot remove.
/api/v1/pro/history/{symbol}Full candle history for one stock, labelled with its source. $0.10 in USDC per call.
Everything here is a plain GET with the parameters in the URL, which is what an assistant inside Claude, ChatGPT or Perplexity can actually fetch — and what a person can open in a tab and paste back when it cannot. llms.txt is the one-fetch index of what exists.
Ask your assistant: “Read https://basestocks.finance/llms.txt and tell me which tokenized stock on Base has the deepest liquidity right now.”
Coinbase tokenized stocks are available only to eligible persons outside the United States. This API reports public chain data and does not offer or execute a trade. Prices and rates change; the app publishes what it reads and marks what it could not.