API v1Endpoints
Assets (collection)
Search, curated lists, mint resolution, snapshots, and aggregate risk.
All endpoints on this page are Platform API endpoints unless noted otherwise.
GET /v1/assets/search
Search canonical assets by text query.
- Auth:
x-api-key - Scope:
assets:read
Query params
q(required): search stringlimit(optional): integer (1–50), default20category(optional): must be one of the supported asset categories
Response
interface AssetsSearchResponse {
query: string;
category: string | null;
results: Array<{
assetId: string;
name?: string;
symbol?: string;
category: string;
aliases: string[];
symbols: string[];
imageUrl: string | null;
stats: null | {
price: number;
liquidity: number;
volume24hUSD: number;
marketCap: number;
priceChange24hPercent: number;
priceChange1hPercent?: number;
};
primaryVariant: null | {
variantId: string;
mint: string;
kind: string;
trustTier: string;
tags: string[];
issuer?: string;
issuerUrl?: string;
label?: string;
symbol?: string;
name?: string;
market?: {
price: number;
liquidity: number;
volume24hUSD: number;
marketCap: number;
priceChange24hPercent: number;
priceChange1hPercent?: number;
decimals: number;
logoURI?: string;
lastFetchedAt?: number;
};
};
}>;
}Example
curl -sS "$API_BASE_URL/v1/assets/search?q=bitcoin&limit=10" \
-H "x-api-key: $API_KEY"GET /v1/assets/resolve
Resolve a Solana mint to its canonical assetId + variant details.
- Auth:
x-api-key - Scope:
assets:read
Query params
mint(required): Solana mint address (base58)
Response
interface AssetsResolveResponse {
assetId: string;
asset: {
assetId: string;
name: string | null;
symbol: string | null;
category: string;
aliases: string[];
};
variant: {
mint: string;
chain: string;
kind: string;
trustTier: string;
tags: string[];
issuer?: string;
issuerUrl?: string;
label?: string;
};
}{
"assetId": "solana",
"asset": {
"assetId": "solana",
"name": "Solana",
"symbol": "SOL",
"category": "l1",
"aliases": []
},
"variant": {
"mint": "So11111111111111111111111111111111111111112",
"chain": "solana",
"kind": "native",
"trustTier": "tier1",
"tags": []
}
}Example
curl -sS "$API_BASE_URL/v1/assets/resolve?mint=$MINT" \
-H "x-api-key: $API_KEY"GET /v1/assets/curated
Get curated assets from a list.
- Auth:
x-api-key - Scope:
assets:read
Query params
list(optional): curated list id, orall(defaultall)groupBy(optional):asset(default) ormint
Notes
- Results are sorted by
stats.volume24hUSDdescending when available. groupBy=mintexpands the response to one row per variant mint.
Response
interface AssetsCuratedResponse {
listId: string;
assets: Array<{
assetId: string;
name?: string;
symbol?: string;
category: string;
aliases: string[];
symbols: string[];
imageUrl: string | null;
stats: null | {
price: number;
liquidity: number;
volume24hUSD: number;
marketCap: number;
priceChange24hPercent: number;
priceChange1hPercent?: number;
};
primaryVariant: null | {
variantId: string;
mint: string;
kind: string;
trustTier: string;
tags: string[];
issuer?: string;
issuerUrl?: string;
label?: string;
symbol?: string;
name?: string;
market?: {
price: number;
liquidity: number;
volume24hUSD: number;
marketCap: number;
priceChange24hPercent: number;
priceChange1hPercent?: number;
decimals: number;
logoURI?: string;
lastFetchedAt?: number;
};
};
}>;
}Notes:
- If
groupBy=mint,assets[]becomes “one row per mint” andprimaryVariantis always present for returned rows.
Example
curl -sS "$API_BASE_URL/v1/assets/curated?list=all&groupBy=asset" \
-H "x-api-key: $API_KEY"POST /v1/assets/market-snapshots
Batch lookup cached market snapshots for up to 250 mints.
- Auth:
x-api-key - Scope:
assets:read - Body: JSON
Body
Either mints or addresses (both treated the same).
{ "mints": ["So11111111111111111111111111111111111111112"] }Notes
- Input is de-duped and capped at 250 addresses.
- Returns an array (Convex-backed) of token search rows for those addresses.
Response
This endpoint returns an array of token rows. The exact row shape can evolve, but it is safe to treat each entry as “token metadata + market snapshot data” keyed by the requested address.
type AssetsMarketSnapshotsResponse = Array<unknown>;Example
curl -sS "$API_BASE_URL/v1/assets/market-snapshots" \
-H "x-api-key: $API_KEY" \
-H "content-type: application/json" \
-d '{"mints":["So11111111111111111111111111111111111111112"]}'GET /v1/assets/variant-markets
Batch lookup per-mint variant market snapshots (best-effort; may be null if not cached).
- Auth:
x-api-key - Scope:
assets:read
Query params
mintsoraddresses: comma-separated list (max 50)
Response shape (high level)
variants[]where each entry contains:mintassetId(when variant is known)chain(when variant is known)market(market snapshot, ornullif missing)
Response
interface AssetsVariantMarketsResponse {
variants: Array<{
mint: string;
assetId: string | null;
chain: string | null;
market: Record<string, unknown> | null;
}>;
}{
"variants": [
{
"mint": "So11111111111111111111111111111111111111112",
"assetId": "solana",
"chain": "solana",
"market": {
"symbol": "SOL",
"name": "Solana",
"decimals": 9,
"price": 0,
"liquidity": 0,
"volume24hUSD": 0,
"marketCap": 0,
"priceChange24hPercent": 0,
"lastFetchedAt": 0
}
}
]
}Example
curl -sS "$API_BASE_URL/v1/assets/variant-markets?mints=$MINT1,$MINT2" \
-H "x-api-key: $API_KEY"GET /v1/assets/risk-summary
Compute a quick market-based “risk summary” for a mint.
- Auth:
x-api-key - Scope: requires either
assets:readorassets:risk:read
Query params
mint(required) oraddress(alias): Solana mint
Notes
- This endpoint requires a cached market snapshot; if missing you’ll get an “Insufficient Data” response.
Response
interface AssetsRiskSummaryResponse {
score: number;
grade: string;
label: string;
tone: "info" | "success" | "warning" | "danger";
isTrustedLaunch: boolean;
caps: Array<unknown>;
hasInsufficientData: boolean;
insufficientDataReason?: string;
}{
"score": 0,
"grade": "C",
"label": "Insufficient Data",
"tone": "info",
"isTrustedLaunch": false,
"caps": [],
"hasInsufficientData": true,
"insufficientDataReason": "Market snapshot not available in cache"
}Example
curl -sS "$API_BASE_URL/v1/assets/risk-summary?mint=$MINT" \
-H "x-api-key: $API_KEY"