openapi: 3.0.0 info: title: Yo Protocol Agent API version: '1.0' description: 'Public read API for the YO Protocol (by Exponential.fi). Fetch historical and current protocol- and address-level data for yoVaults: current snapshot (TVL, yield, underlying pools, allocation), pending redeem requests, historical yield and TVL time series, per-user deposit/withdraw history, per-user pending redemptions, and per-user P&L. No API key required. Endpoints are assembled verbatim from the per-endpoint OpenAPI fragments published on the docs API reference page.' servers: - url: https://api.yo.xyz description: Production tags: - name: Agent paths: /api/v1/agent/schema: get: operationId: agentSchema summary: Data model — node types, edge types, grade letters. Call this first. tags: - Agent x-x402-price: $0.001 responses: '200': description: Graph schema '402': description: Payment Required — x402 invoice in PAYMENT-REQUIRED header /api/v1/agent/search: get: operationId: agentSearch summary: Search pools/assets/protocols/chains. Lean teaser per hit (no grade). Capped at 10 results. description: Always settles, even on a zero-result query, since the scan itself is the billable work. tags: - Agent x-x402-price: $0.001 parameters: - name: q in: query required: true description: Asset address or protocol/asset name. No wildcards. schema: type: string - name: label in: query required: false description: Restrict to Pool, Asset, Protocol, or Chain schema: type: string enum: - Pool - Asset - Protocol - Chain - name: limit in: query required: false description: 1-10, default 10 schema: type: integer minimum: 1 maximum: 10 default: 10 - name: tvl in: query required: false description: Comparator, e.g. ">1000000" schema: type: string - name: grade in: query required: false description: Comparator over A-F, e.g. "<=B" schema: type: string responses: '200': description: Up to 10 teaser hits '402': description: Payment Required — x402 invoice /api/v1/agent/node/{nodeId}: get: operationId: agentNode summary: Full properties + grade (_riskTier) + riskBreakdown (rationale as Q&A pairs). tags: - Agent x-x402-price: $0.05 parameters: - name: nodeId in: path required: true schema: type: string responses: '200': description: Node with grade and rationale '402': description: Payment Required — x402 invoice '404': description: Not indexed (free) /api/v1/agent/dependencies: get: operationId: agentDependencies summary: A pool's direct (1-hop) dependencies — edges and neighboring nodes, each stamped with lastUpdatedAt. tags: - Agent x-x402-price: $1.00 parameters: - name: nodeId in: query required: true schema: type: string responses: '200': description: 1-hop dependency subgraph '402': description: Payment Required — x402 invoice