Vaults

New
Updated

The chaos.vaults namespace provides access to AI-generated vault digest narratives. Each digest analyzes a DeFi vault and includes an opening summary, performance breakdown, allocation details, TVL analysis, risk assessment, APY trends, and an overall assessment. Digests also carry a structured blocks array for rendering in your UI.

vaults-quickstart.ts
import { Chaos } from '@chaoslabs/ai-sdk';
 
const chaos = new Chaos({ apiKey: process.env.CHAOS_API_KEY! });
 
// List available vault digests
const { data: vaults } = await chaos.vaults.list(10);
 
for (const v of vaults) {
  const name = v.vault.vault_name ?? v.vault.vault_address ?? 'Unknown';
  console.log(`${name} — APY: ${v.current_apy_pct}% (${v.apy_trend})`);
}
 
// Get a specific vault digest by name
const { data: digest } = await chaos.vaults.digest({ vault_name: 'Morpho Blue WETH' });
 
if (digest) {
  console.log(digest.opening_summary);
  console.log(`Assessment: ${digest.overall_assessment}`);
}

Method Reference

MethodHTTPEndpointReturns
list(limit?)GET/v1/vault-digestion/vaultsVaultDigestListResponse
digest(params)GET/v1/vault-digestion/vaults/digestVaultDigestResponse

Core Types

vaults-types.ts
interface VaultInfo {
  vault_address?: string | null;
  vault_name?: string | null;
}
 
interface VaultDigestNarrative {
  vault: VaultInfo;
  opening_summary?: string | null;
  performance_summary?: string | null;
  allocations_summary?: string | null;
  tvl_summary?: string | null;
  risks_summary?: string | null;
  current_apy_pct?: number | null;
  apy_trend?: 'increasing' | 'decreasing' | 'stable' | null;
  overall_assessment?: 'positive' | 'cautious' | 'neutral' | null;
  sources?: string[] | null;
  generation_timestamp: string;
  translated_reports?: Record<string, unknown> | null;
  blocks: Array<Record<string, unknown>>;
}
 
interface VaultDigestResponse {
  data: VaultDigestNarrative | null;
}
 
interface VaultDigestListResponse {
  data: VaultDigestNarrative[];
}
 
interface VaultDigestParams {
  vault_address?: string;
  vault_name?: string;
}
Was this helpful?