Exactly Protocol Rewards Query API

View methods for querying reward state and amounts

OpenAPI Specification

exactly-rewards-query-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Exactly Protocol Auditor ERC-4626 Rewards Query API
  description: 'Smart contract interface for the Auditor, the central risk management component of Exactly Protocol. Manages market listings, collateral factors, account liquidity checks, and liquidation eligibility. Provides methods to query all markets, compute account liquidity, calculate seizure amounts, and check liquidation conditions. Deployed on Ethereum, Optimism, and Base.

    '
  version: 1.0.0
  contact:
    name: Exactly Protocol
    url: https://docs.exact.ly
  license:
    name: MIT
    url: https://github.com/exactly/protocol/blob/main/LICENSE-MIT
servers:
- url: https://app.exact.ly
  description: Exactly Protocol App
tags:
- name: Rewards Query
  description: View methods for querying reward state and amounts
paths:
  /rewards/allRewards:
    get:
      summary: Get all reward tokens
      description: Returns an array of all ERC-20 reward tokens registered in the RewardsController.
      operationId: allRewards
      tags:
      - Rewards Query
      responses:
        '200':
          description: Array of reward token addresses
          content:
            application/json:
              schema:
                type: object
                properties:
                  rewards:
                    type: array
                    description: Addresses of all reward tokens (e.g., EXA, esEXA)
                    items:
                      type: string
                      pattern: ^0x[a-fA-F0-9]{40}$
  /rewards/allMarketsOperations:
    get:
      summary: Get all market operations eligible for rewards
      description: Returns all market-operation pairs (deposit/borrow) registered for reward distribution.
      operationId: allMarketsOperations
      tags:
      - Rewards Query
      responses:
        '200':
          description: Array of MarketOperation structs
          content:
            application/json:
              schema:
                type: object
                properties:
                  marketOperations:
                    type: array
                    items:
                      $ref: '#/components/schemas/MarketOperation'
  /rewards/allClaimable:
    post:
      summary: Get total claimable reward amount for an account
      description: 'Returns the total amount of a specific reward token claimable by an account across all markets and operations.

        '
      operationId: allClaimable
      tags:
      - Rewards Query
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - account
              - reward
              properties:
                account:
                  type: string
                  description: Address of the account to check
                  pattern: ^0x[a-fA-F0-9]{40}$
                reward:
                  type: string
                  description: Address of the reward token (e.g., EXA)
                  pattern: ^0x[a-fA-F0-9]{40}$
      responses:
        '200':
          description: Total claimable reward amount
          content:
            application/json:
              schema:
                type: object
                properties:
                  claimable:
                    type: string
                    description: Total claimable amount in reward token units (in wei)
  /rewards/claimable:
    post:
      summary: Get claimable rewards for specific market operations
      description: 'Returns the claimable amount of a specific reward token for an account across a specified list of market operations.

        '
      operationId: claimable
      tags:
      - Rewards Query
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - marketOps
              - account
              - reward
              properties:
                marketOps:
                  type: array
                  description: List of market-operation pairs to include
                  items:
                    $ref: '#/components/schemas/MarketOperation'
                account:
                  type: string
                  description: Address of the account to check
                  pattern: ^0x[a-fA-F0-9]{40}$
                reward:
                  type: string
                  description: Address of the reward token
                  pattern: ^0x[a-fA-F0-9]{40}$
      responses:
        '200':
          description: Claimable reward amount
          content:
            application/json:
              schema:
                type: object
                properties:
                  claimable:
                    type: string
                    description: Claimable amount for the specified operations (in wei)
  /rewards/previewAllocation:
    post:
      summary: Preview reward allocation for a time period
      description: 'Returns projected deposit and borrow reward allocations and utilization for a specified time delta, useful for estimating rewards APR.

        '
      operationId: previewAllocation
      tags:
      - Rewards Query
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - market
              - reward
              - deltaTime
              properties:
                market:
                  type: string
                  description: Address of the Market contract
                  pattern: ^0x[a-fA-F0-9]{40}$
                reward:
                  type: string
                  description: Address of the reward token
                  pattern: ^0x[a-fA-F0-9]{40}$
                deltaTime:
                  type: string
                  description: Time period in seconds to project rewards over
      responses:
        '200':
          description: Projected allocation amounts
          content:
            application/json:
              schema:
                type: object
                properties:
                  depositRewards:
                    type: string
                    description: Projected rewards allocated to depositors (in wei)
                  borrowRewards:
                    type: string
                    description: Projected rewards allocated to borrowers (in wei)
                  utilization:
                    type: string
                    description: Utilization rate used for reward split (scaled by 1e18)
components:
  schemas:
    MarketOperation:
      type: object
      description: A market and operation type pair for reward queries/claims
      required:
      - market
      - operations
      properties:
        market:
          type: string
          description: Address of the Market contract
          pattern: ^0x[a-fA-F0-9]{40}$
        operations:
          type: array
          description: Operation types (true = borrow, false = deposit)
          items:
            type: boolean
externalDocs:
  description: Exactly Protocol Auditor Documentation
  url: https://docs.exact.ly/guides/protocol/auditor.md