openapi: 3.1.0 info: title: Idle Finance Pools API description: The Idle Finance REST API provides programmatic access to Best Yield and Yield Tranches vault pools, total value locked (TVL) metrics, historical yield rates for underlying token addresses, and protocol-level data across supported networks (Ethereum, Polygon zkEVM, Optimism). Authentication is via Bearer token obtained by request. version: 1.0.0 contact: name: Idle Finance Developer Access url: https://idlefinance.typeform.com/to/CzRkDH termsOfService: https://idle.finance/terms license: name: Proprietary url: https://idle.finance/terms servers: - url: https://api.idle.finance description: Ethereum mainnet endpoint - url: https://api-zkevm.idle.finance description: Polygon zkEVM endpoint - url: https://api-optimism.idle.finance description: Optimism endpoint security: - BearerAuth: [] tags: - name: Pools description: Best Yield and Yield Tranches vault pool data paths: /pools: get: operationId: getPools summary: Get all pools description: Retrieves all network pools for Best Yield and Yield Tranches vaults on the target network. tags: - Pools security: - BearerAuth: [] responses: '200': description: Array of pool objects content: application/json: schema: type: array items: $ref: '#/components/schemas/Pool' '401': description: Unauthorized — missing or invalid Bearer token content: application/json: schema: $ref: '#/components/schemas/Error' '502': description: Bad Gateway components: schemas: UnderlyingAllocation: type: object description: Allocation of pool assets to an underlying yield protocol. properties: protocol: type: string description: Name of the underlying protocol. example: Aave allocation: type: string description: Percentage allocation as a decimal string. example: '62.5' apy: type: string description: APY from this protocol as a decimal string. example: '3.91' Pool: type: object description: Represents a single Best Yield or Yield Tranches vault pool on the target network. properties: address: type: string pattern: ^0x[a-fA-F0-9]{40}$ description: Smart contract address of the pool/vault. example: '0xc8c64CC8c15D9aa1F4dD40933f3eF742A7c62478' name: type: string description: Human-readable pool name. example: idleDAIYield token: type: string description: Underlying token symbol. example: DAI tokenAddress: type: string pattern: ^0x[a-fA-F0-9]{40}$ description: Contract address of the underlying token. example: '0x6B175474E89094C44Da98b954EedeAC495271d0F' type: type: string description: Pool/vault type. enum: - best-yield - yield-tranches-senior - yield-tranches-junior example: best-yield apy: type: string description: Current annualised percentage yield as a decimal string. example: '4.52' tvl: type: string description: Total value locked in the pool as a decimal string (USD). example: '5234567.89' underlying: type: array description: List of underlying protocol allocations. items: $ref: '#/components/schemas/UnderlyingAllocation' required: - address - name - token - tokenAddress - type Error: type: object description: Standard error response. properties: error: type: string description: Short error code or message. example: Unauthorized message: type: string description: Detailed error description. example: A valid Bearer token is required. required: - error securitySchemes: BearerAuth: type: http scheme: bearer description: 'Bearer token obtained via https://idlefinance.typeform.com/to/CzRkDH. Include as "Authorization: Bearer " on all requests.' externalDocs: description: Idle Finance Developer Documentation url: https://docs.idle.finance/developers/api