API v1Endpoints

Asset by ID

Endpoints under /assets/:assetId for variants, markets, OHLCV, and more.

All endpoints on this page are Platform API endpoints.

Asset (canonical or singleton): GET /v1/assets/:assetId

Fetch an asset and, optionally, attach additional “include” blocks in one request.

  • assetId may be a canonical slug (for example: solana, usdc) or a deterministic singleton ID of the form solana-<mint> for ungrouped Solana tokens.

  • Auth: x-api-key

  • Scope: assets:read

Query params

  • include (optional): comma-separated list of:
    • profile
    • risk
    • ohlcv
    • markets
  • mint (optional): pick a specific variant mint for include computations; must be a variant of this asset.
  • variantsMode (optional): set to all to disable server-side capping of large variant sets.

When using includes, additional params apply:

ohlcv params

  • ohlcvInterval (default 1H): one of 1m, 5m, 15m, 1H, 4H, 1D, 1W
  • ohlcvFrom / ohlcvTo (unix seconds): default to last 7 days

markets params

  • marketsOffset (default 0)
  • marketsLimit (default 10, clamped to 1–50)

Notes

  • Includes are best-effort and returned as { ok: true, data } or { ok: false, reason, message } per include key.
  • This endpoint may trigger background cache warming if data is missing/stale.
  • asset.imageUrl is curated canonical imagery (storage-backed where configured). asset.primaryVariant.market.logoURI is a best-effort per-token icon from indexed/cache sources and may be null (the server may fall back to asset.imageUrl when missing).
  • asset.primaryVariant is chosen deterministically from the asset’s spot-like variants (native, wrapped, bridged, stablecoin, lst, tokenized_equity, basket) by highest liquidity, then trust tier, then 24h volume, then curated mint rank.
  • When present, asset.stats.liquidity and asset.stats.volume24hUSD are canonical aggregates across the asset’s spot-like variants (fallback to all variants if none exist). asset.stats.price and price change fields come from the asset’s primary variant. Unknown numeric fields may be null when data is unavailable.
  • For assetId=solana, yield variants can be very large; the server may cap the returned yield variant set by default to keep responses fast. Use variantsMode=all to request the full set.

Example

curl -sS "$API_BASE_URL/v1/assets/$ASSET_ID?include=profile,risk,ohlcv,markets" \
  -H "x-api-key: $API_KEY"

Variants: GET /v1/assets/:assetId/variants

List variants for an asset (canonical or singleton), optionally filtered.

  • Auth: x-api-key
  • Scope: assets:read

Query params

  • kind (optional): one of
    • native, wrapped, bridged, etf, yield, leveraged, basket, lst, stablecoin, tokenized_equity
  • liquidityTier (optional): one of tier1, tier2, tier3
  • trustTier (optional, deprecated alias): one of tier1, tier2, tier3
  • mint (optional): ensure a specific variant mint is included in the response (even if server-side capping is active).
  • variantsMode (optional): set to all to disable server-side capping of large variant sets.

Notes

  • Each returned variant includes a market snapshot when available; the server may derive a fallback market snapshot from cached DEX markets.
  • trustTier is currently mirrored from liquidityTier for backward compatibility.
  • Legacy trustTier=experimental is still accepted and treated as tier3.
  • For assetId=solana, yield variants can be very large; the server may cap the returned yield variant set by default. Use variantsMode=all to request the full set.

Example

curl -sS "$API_BASE_URL/v1/assets/$ASSET_ID/variants?liquidityTier=tier1" \
  -H "x-api-key: $API_KEY"

Variant top markets (canonical): GET /v1/assets/:assetId/variant-top-markets

Return the top DEX market for each variant of an asset (best-effort; some variants may have no cached market yet).

  • Auth: x-api-key
  • Scope: assets:read

Query params

  • offset (default 0)
  • limit (default 10, clamped to 1–100)
  • variantsMode (optional): set to all to disable server-side capping of large variant sets.

Notes

  • Results are sorted by market liquidity (descending).
  • For assetId=solana, the server may cap the yield variant set by default. Use variantsMode=all to request the full set.

Variant market (single): GET /v1/assets/:assetId/variant-market

Fetch the cached “variant market” snapshot for a single mint of the asset.

  • Auth: x-api-key
  • Scope: assets:read

Query params

  • mint (optional): defaults to the asset’s primary variant mint

Example

curl -sS "$API_BASE_URL/v1/assets/$ASSET_ID/variant-market" \
  -H "x-api-key: $API_KEY"

Markets: GET /v1/assets/:assetId/markets

List cached DEX markets for a mint of the asset.

  • Auth: x-api-key
  • Scope: assets:read

Query params

  • mint (optional): defaults to the asset’s primary variant mint
  • offset (default 0)
  • limit (default 10, clamped to 1–50)

Notes

  • Response includes protocolTokensByMarket for certain pools to help identify protocol-owned tokens.
  • This endpoint may trigger background cache warming when markets are missing/stale.

OHLCV (by mint): GET /v1/assets/:assetId/ohlcv

Return OHLCV candles for a specific mint (variant).

  • Auth: x-api-key
  • Scope: assets:read

Query params

  • mint (optional): defaults to primary variant mint
  • interval (default 1H): one of 1m, 5m, 15m, 1H, 4H, 1D, 1W
  • from / to (unix seconds): default to last 7 days

Notes

  • When stale/missing, the server may trigger cache warming.

Price chart (canonical): GET /v1/assets/:assetId/price-chart

Return canonical price candles.

  • Auth: x-api-key
  • Scope: assets:read

Behavior

  • If the asset has an external listing ID, this endpoint serves external provider candles (and may warm cache).
  • Otherwise it falls back to mint-based OHLCV using the primary variant (or mint query param).

Profile: GET /v1/assets/:assetId/profile

Return cached external profile/market stats when the asset has an external listing ID.

  • Auth: x-api-key
  • Scope: assets:read

Notes

  • If no external listing ID is available, response includes profile: { ok: false, reason: "not_available" }.
  • When stale/missing, the server may trigger background cache warming.

Tickers: GET /v1/assets/:assetId/tickers

Return cached exchange tickers for the canonical asset (when it has an external listing ID).

  • Auth: x-api-key
  • Scope: assets:read

Query params

  • offset (default 0)
  • limit (default 10, clamped to 1–50)
  • order (optional): accepted values include volume_desc etc; currently served from cached order.

Risk summary/details: GET /v1/assets/:assetId/risk-summary and /risk-details

Return a market-based score derived from cached market snapshots.

  • Auth: x-api-key
  • Scope: assets:read

Query params

  • mint (optional): defaults to primary variant mint

Notes

  • risk-details includes more inputs in the response (for debugging/scoring transparency).

Description: GET /v1/assets/:assetId/description

Return a cached per-mint description summary when available.

  • Auth: x-api-key
  • Scope: assets:read

Query params

  • mint (optional): defaults to primary variant mint

On this page