tRPC Assets API
tRPC Endpoints
tRPC Assets API
Public asset discovery and asset-page procedures, including taxonomy-backed browse rails and Ondo-aware details.
POST
tRPC Assets API
The assets namespace is available on the public tRPC base endpoint:
Browse all onchain stocks except the current asset:
Fetch the full cached stock snapshot for legacy stock-first surfaces:
Fetch the first paginated stocks page with a region filter:
Fetch the first stock-selection page for the asset modal:
Fetch asset details for the asset page:
Batch-fetch additive overlays for normalized asset joins:
- Base endpoint:
POST /v1/trpc - Namespace:
assets.* - Auth: public
Highlighted Procedures
-
assets.browseAssets- Purpose: browse presentation-ready asset cards from the asset taxonomy
- Primary use cases:
- all tokens from a given issuer via
issuerSlug - all onchain stocks via
exposureCategory: "equity"
- all tokens from a given issuer via
- Required filter rule: provide at least one of
issuerSlug,exposureCategory, orexposureSlug - Pagination:
limitand numericcursor - Response items include
assetId,marketData,metadata, andtaxonomy - Discovery behavior: browse results may include geo-restricted tokenized equities; interactive clients should enforce restriction checks before selection or execution
-
assets.getStockBrowseSnapshot- Purpose: return the full server-ranked stock universe as one cached snapshot
- Primary use cases:
- legacy stock-only UI that still needs an instant full list instead of paged browse assembly
- Required filter rule: provide at least one of
issuerSlug,exposureCategory, orexposureSlug - Response items include
assetId,marketData,metadata, andtaxonomy - Current implementation is optimized for the Ondo onchain equity universe and is backed by the shared stock snapshot cache
- Discovery behavior: responses may include geo-restricted tokenized equities; clients should apply restriction checks at interactive steps
-
assets.browseStocks- Purpose: browse paginated stock results for
/stocks - Primary use cases:
/stocksmain table/stocksfilter chips and matching-card previews
- Required filter rule: provide at least one of
issuerSlug,exposureCategory, orexposureSlug - Pagination:
limitand numericcursor - Filter input: stock-tag arrays keyed by
type,sector,style,cap, andregion - Response includes:
itemsfor the requested pagenextCursortotalCountpreviewItemsfor filtered card previewsavailableTagswith cross-filter-aware counts for the filter UI
- Sparkline behavior: paged rows and preview rows already include merged 24H sparkline fallback data when native sparkline data is insufficient
- Purpose: browse paginated stock results for
-
assets.browseStocksForSelection- Purpose: browse paginated stock results for the asset-select modal
- Primary use cases:
- stock asset selector infinite scroll
- server-side stock search in the modal
- server-side stock chain filtering in the modal
- Required filter rule: provide at least one of
issuerSlug,exposureCategory, orexposureSlug - Pagination:
limitand numericcursor - Filter input:
- optional
search - optional
chainId
- optional
- Response includes:
itemsfor the requested pagenextCursortotalCountavailableChainIdsfor chain-pill availability
- Search behavior: cache-first substring matching over stock ticker, display name, and onchain symbol
- Sparkline behavior: returned rows already include merged 24H sparkline fallback data when native sparkline data is insufficient
-
assets.searchForCommandPalette- Purpose: return command-menu-ready asset results for the global “Search portfolios, strategies, assets…” input
- Primary use cases:
- legacy webapp command menu
- command-menu discovery that needs both generic tokens and Ondo onchain stocks
- Input:
- required
q - optional
chainFilter(scopes generic token results) - optional
stockChainFilter(scopes only stock/Ondo ticker/name results; a contract-address query ignores it and lists every chain) - optional
limit - optional
manualCountryCode
- required
- Response behavior:
- preserves generic token-search ordering
- appends stock-only Ondo matches when space remains
- when
stockChainFilteris set, drops Ondo stocks (from either source) on chains outside the filter unlessqis a contract address - dedupes by normalized
assetIdand prefers richer Ondo-backed rows when both sources return the same asset - includes the same additive
restrictedAssetsMapandrestrictionContextenvelope used byassets.searchForTokens
-
assets.searchForTokens- Purpose: generic token search
- Current behavior:
- remains unchanged and does not merge in command-surface-specific stock results
- continues to be the right fit for consumers that need raw token search semantics rather than presentation-aware command results
-
assets.getStockHighlights- Purpose: return pre-sized stock highlight sets for discovery surfaces
- Primary use cases:
/stockstrending cards- stock ticker bars and marquee surfaces
- Current behavior:
featuredItemsreturns up to 24 ranked stockstickerItemsreturns up to 15 ranked stocks
- Discovery behavior: responses may include geo-restricted tokenized equities; clients should apply restriction checks at interactive steps
-
assets.getAssetDetails- Purpose: hydrate the asset page for a single asset
- Response includes:
- live
marketData - static
metadata taxonomysummary with issuer and exposure classification- additive
equityDetailsfor taxonomy-classified tokenized equities isVerifiedByGlider
- live
- Ondo-matched assets automatically include live trading extensions inside
marketData.ondo - When present,
equityDetailsis the preferred UI surface for stock-specific rendering
-
assets.getAssetOverlaysBatch- Purpose: hydrate additive asset overlays for many asset ids at once
- Response includes per-asset:
taxonomyequityDetailsproviderExtensions
- Intended for normalized in-app joins such as
asset + price + taxonomy + provider state - Empty overlay rows are returned for non-equity or unresolved asset ids instead of failing the whole batch
-
assets.getTimeSeries- Purpose: return chart candles for the asset page
- Ondo-matched assets automatically use Ondo-aware history when available through the market-data overlay
Taxonomy Summary
assets.getAssetDetails and assets.browseAssets both return a compact taxonomy summary:
issuer- canonical issuer identity such as
ondo
- canonical issuer identity such as
exposures- exposure rows attached to the asset, such as an equity reference
primaryExposure- deterministic primary exposure summary derived from taxonomy ordering rules
exposureCategories- normalized category list such as
["equity"]
- normalized category list such as
isTokenizedEquity- derived convenience flag for UI behavior
Equity Details
assets.getAssetDetails.equityDetails is optional and additive:
nullfor non-equity assets- populated for taxonomy-backed tokenized equities
identity- issuer, ticker/reference, display name, underlying name, onchain symbol
taxonomy- primary exposure, additional exposures, exposure categories
tagGroups- normalized classification chips when issuer-specific tags are available
market- primary/underlying market snapshots, holder count, shares multiplier, minimum amount
income- dividend yield, last cash amount, last payment date, payout frequency
access- supported networks, payment methods, and raw trading/session details
documents- normalized legal document links
equityDetails is additive by design so future issuers can populate only the sections they support. Clients should hide empty subsections rather than assuming every field is present.
Example Calls
Browse all Ondo-issued assets:Response Shape Notes
browseAssets.items[].marketDatais already hydrated and ready for asset railsgetStockBrowseSnapshot.items[]is the full-list response for legacy stock-only surfaces that still need a snapshot payloadbrowseStocks.items[]is the preferred/stockstable response when the UI needs paging, preview cards, and stock-tag facets in one callbrowseStocksForSelection.items[]is the preferred stock modal response when the UI needs infinite scroll, chain availability, and server-side search without a full snapshot payloadbrowseAssets.items[].taxonomy.isTokenizedEquitycan drive generic equity UIgetAssetDetails.equityDetailsshould drive stock-specific asset-page modules when presentgetAssetOverlaysBatch.items[]is the preferred additive payload for normalized client-side asset joins and TanStack DB overlay hydrationgetAssetDetails.marketData.ondoremains a live trading overlay and should not be treated as the full issuer profile- future non-Ondo issuers can appear in equity rails without any Ondo-specific fields