Idle Finance Pools API

Best Yield and Yield Tranches vault pool data

OpenAPI Specification

idle-pools-api-openapi.yml Raw ↑
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 <token>" on all requests.'
externalDocs:
  description: Idle Finance Developer Documentation
  url: https://docs.idle.finance/developers/api