Vesper Finance Pools API

Vesper Grow Pool data and metadata

OpenAPI Specification

vesper-pools-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Vesper Finance Pools API
  description: 'REST API for Vesper Finance, a DeFi yield aggregator. Provides public access to pool performance data, APY metrics, VSP token statistics, historical value-locked snapshots, and per-pool data points. No authentication is required.

    '
  version: 1.0.0
  contact:
    name: Vesper Finance
    url: https://vesper.finance
  license:
    name: MIT
    url: https://github.com/vesperfi/doc/blob/main/LICENSE
servers:
- url: https://api.vesper.finance
  description: Vesper Finance Production API
tags:
- name: Pools
  description: Vesper Grow Pool data and metadata
paths:
  /dashboard:
    get:
      summary: Get pool dashboard data
      description: 'Retrieves comprehensive pool information including contract addresses, strategies, pool rewards, operational status, and stage classification for all Vesper pools.

        '
      operationId: getDashboard
      tags:
      - Pools
      responses:
        '200':
          description: Array of pool dashboard objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PoolDashboard'
        '500':
          description: Internal server error
  /pools:
    get:
      summary: Get all pools
      description: 'Delivers detailed pool data including asset information, risk levels, earning rates, fee structure, token values, supply metrics, and historical rate data for 1, 2, 7, and 30-day periods.

        '
      operationId: getPools
      tags:
      - Pools
      responses:
        '200':
          description: Array of pool detail objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Pool'
        '500':
          description: Internal server error
  /pools/{address}/data-points:
    get:
      summary: Get historical data points for a pool
      description: 'Retrieves historical data point snapshots from the specified pool contract within the last week, including block numbers, timestamps, interest metrics, pool supply, and total value.

        '
      operationId: getPoolDataPoints
      tags:
      - Pools
      parameters:
      - name: address
        in: path
        required: true
        description: The pool contract address (checksummed Ethereum address)
        schema:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
          example: '0x0C49066C0808Ee8c673553B7cbd99BCC9ABf113d'
      responses:
        '200':
          description: Array of historical data point objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DataPoint'
        '404':
          description: Pool not found
        '500':
          description: Internal server error
components:
  schemas:
    PoolDashboard:
      type: object
      description: Pool dashboard object with contract, strategy, and reward details
      properties:
        name:
          type: string
          description: Human-readable pool name
          example: vaDAI
        address:
          type: string
          description: Pool contract address
          example: '0x0C49066C0808Ee8c673553B7cbd99BCC9ABf113d'
        tokens:
          type: array
          description: Token contract addresses associated with the pool
          items:
            type: string
        holderCount:
          type: integer
          description: Number of unique holders of pool tokens
          example: 1450
        strategies:
          type: array
          description: List of strategy contract objects
          items:
            type: object
            properties:
              address:
                type: string
                description: Strategy contract address
              tokens:
                type: array
                items:
                  type: string
              makerVault:
                type: object
                description: MakerDAO vault details if applicable
        poolRewards:
          type: object
          description: Pool reward contract and token list
          properties:
            address:
              type: string
            tokens:
              type: array
              items:
                type: string
        status:
          type: string
          description: Operational status of the pool
          enum:
          - operative
          - paused
          example: operative
        stage:
          type: string
          description: Lifecycle stage of the pool
          enum:
          - alpha
          - beta
          - prod
          - retired
          example: prod
    DataPoint:
      type: object
      description: Historical data point snapshot for a pool
      properties:
        blockNumber:
          type: integer
          description: Ethereum block number of the snapshot
          example: 17500000
        timestamp:
          type: integer
          description: Unix timestamp of the snapshot
          example: 1686700000
        interest:
          type: string
          description: Accrued interest value
        interestFee:
          type: string
          description: Interest fee taken at this snapshot
        poolSupply:
          type: string
          description: Pool token total supply at snapshot
        totalValue:
          type: string
          description: Total asset value in the pool at snapshot
    Pool:
      type: object
      description: Detailed pool object with full metadata, fees, and earning data
      properties:
        name:
          type: string
          example: vaDAI
        address:
          type: string
          example: '0x0C49066C0808Ee8c673553B7cbd99BCC9ABf113d'
        decimals:
          type: integer
          example: 18
        stage:
          type: string
          enum:
          - alpha
          - beta
          - prod
          - retired
        asset:
          type: object
          properties:
            symbol:
              type: string
              example: DAI
            address:
              type: string
            price:
              type: number
              example: 1.0
            decimals:
              type: integer
              example: 18
        riskLevel:
          type: integer
          description: Risk score (1 = lowest, 5 = highest)
          example: 2
        holderCount:
          type: integer
          example: 1450
        interestFee:
          type: number
          description: Performance fee percentage
          example: 2.0
        withdrawalFee:
          type: number
          description: Withdrawal fee percentage
          example: 0.0
        lockPeriod:
          type: integer
          description: Token lock period in seconds
          example: 0
        tokenValue:
          type: number
          description: Current value per pool token
          example: 1.0421
        totalSupply:
          type: string
          description: Total pool token supply (string to preserve precision)
          example: '5000000000000000000000000'
        earningRates:
          type: object
          properties:
            day1:
              type: number
            day2:
              type: number
            day7:
              type: number
            day30:
              type: number
externalDocs:
  description: Vesper Developer Documentation
  url: https://docs.vesper.finance/vesper-developers/vesper-developers-guide