Search & Batch Lookup

Updated

Find assets by name or symbol with simple and advanced search, and fetch multiple assets in a single call by their IDs.

search(query)

Run a quick search by name or symbol. Returns matching assets across all asset types.

Parameters:

ParamTypeDescription
querystringSearch term (name, symbol, or partial match).

Returns: AssetSearchResponse

assets-search.ts
import { Chaos } from '@chaoslabs/ai-sdk';
 
const chaos = new Chaos({ apiKey: process.env.CHAOS_API_KEY! });
 
const { coins } = await chaos.assets.search('uniswap');
 
if (coins?.length) {
  for (const coin of coins) {
    console.log(`${coin.name} (${coin.symbol}) — ID: ${coin.id}`);
  }
} else {
  console.log('No results found');
}

searchAdvanced(params)

Run an advanced search with structured filters. The params object is passed directly as the POST body, allowing server-side filter fields such as market cap ranges, volume thresholds, and asset type constraints.

Parameters:

ParamTypeDescription
paramsAdvancedSearchParamsFilter object with key-value pairs. Accepts any fields supported by the API.

Returns: AssetSearchResponse

assets-search-advanced.ts
import { Chaos } from '@chaoslabs/ai-sdk';
 
const chaos = new Chaos({ apiKey: process.env.CHAOS_API_KEY! });
 
// Find large-cap assets
const largeCap = await chaos.assets.searchAdvanced({
  market_cap_min: 1_000_000_000,
});
 
console.log(`Found ${largeCap.coins?.length ?? 0} large-cap assets`);
 
for (const coin of largeCap.coins ?? []) {
  console.log(`  ${coin.name} (${coin.symbol})`);
}

byIds(assetType, ids)

Fetch multiple assets in a single request by their IDs. Useful when you already know the assets you need and want to avoid multiple round-trips.

Parameters:

ParamTypeDescription
assetTypeAssetTypeThe asset class: 'crypto', 'stock', 'etf', etc.
idsstring[]Array of asset IDs to fetch.

Returns: AssetsResponse

assets-by-ids.ts
import { Chaos } from '@chaoslabs/ai-sdk';
 
const chaos = new Chaos({ apiKey: process.env.CHAOS_API_KEY! });
 
const watchlist = ['bitcoin', 'ethereum', 'solana', 'avalanche-2'];
const { assets } = await chaos.assets.byIds('crypto', watchlist);
 
for (const a of assets) {
  console.log(`${a.name} (${a.symbol}): $${a.price}`);
  console.log(`  24h: ${a.change_percent_24h > 0 ? '+' : ''}${a.change_percent_24h}%`);
  console.log(`  Market Cap: $${a.market_cap.toLocaleString()}`);
}
[@portabletext/react] Unknown block type "callout", specify a component for it in the `components.types` prop
Was this helpful?