Skip to content

Tokenized stocks

Tokenized US equities in swap, bridge and the launchpad: how they are registered, priced and shown.

Registry: Token.assetClass = 'equity' + Token.equity{ticker, issuer, underlyingName, instrument, calendar, mintRedeem247} · Seeder: bz-backend/scripts/seed-tokenized-stocks.js

Why no aggregator work was needed

The 26 swap providers forward token addresses, so an equity routes like any ERC-20 once the swap controller can resolve it from Mongo. The seeder is the gate: an unseeded equity 404s "From token not found" before any provider runs.

Issuers the seeder recognises

IssuerChainsHow it is recognised
xStocks (Backed/Kraken)Ethereum, BNB, Solananame … xStock + symbol TICKERx
OndoEthereum, BNB, Solananame (Ondo Tokenized) + symbol TICKERon; 24/7 mint/redeem
BackedBase, Arbitrum, Polygonname Backed … + symbol bTICKER / wbTICKER
RobinhoodRobinhood Chain 4663bare ticker + bare company name; accepted by two-factor agreement with tickers other issuers already proved, or an unambiguously corporate name
Coinbase (B20)Base0xb200… address prefix and symbol TICKERc and 8 decimals and a corporate name. The prefix alone is shared by cbHYPE, cbZEC and memecoins

Dinari dShares are KYC-allowlisted at the token level and are not seeded.

Pricing

Equities have no CoinMarketCap id. Prices come from, in order: a Chainlink total-return feed where one exists (Base 13, Robinhood 35; v1/launchpad/data/chainlink-equity-feeds.json), else the quote-implied median across aggregators keyed by contract address (services/quotePrice.service.js). Feeds hold the last print outside US hours; the UI shows the session badge (utils/marketSession.ts, mirrored server-side in v1/launchpad/marketSession.js).

Gotchas

  • The crypto list must filter assetClass: { $ne: 'equity' }, never === 'crypto': pre-existing docs have no field.
  • After --apply, clear the token cache on the VM; a local run clears an in-memory store.
  • Ethereum (1) and Solana (102) hold most equities but are hidden (Network.show: false).

Internal + developer documentation. Usage figures are point-in-time snapshots — re-verify before publishing them.