> ## Documentation Index
> Fetch the complete documentation index at: https://developers.fireblocks.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/earn-beta/get-list-of-earn-providers",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Get list of earn providers

> Get list of earn providers.

**Note:** This endpoint is currently in beta and might be subject to changes.




## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml get /earn/providers
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /earn/providers:
    get:
      tags:
        - Earn (Beta)
      summary: Get list of earn providers
      description: >
        Get list of earn providers.


        **Note:** This endpoint is currently in beta and might be subject to
        changes.
      operationId: getEarnProviders
      parameters:
        - name: pageCursor
          in: query
          required: false
          description: Cursor for the next or previous page of results.
          schema:
            type: string
        - name: pageSize
          in: query
          required: false
          description: Number of items per page.
          schema:
            type: integer
            format: int32
            default: 100
            minimum: 1
            maximum: 100
        - name: sortBy
          in: query
          required: false
          description: Field to sort results by.
          schema:
            type: string
        - name: order
          in: query
          required: false
          description: Sort order (ASC or DESC).
          schema:
            default: DESC
            example: ASC
            enum:
              - ASC
              - DESC
            type: string
      responses:
        '200':
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProvidersResponse'
        '403':
          description: >-
            Forbidden: insufficient permissions, disabled feature, or restricted
            access.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '404':
          description: 'Not found: requested resource does not exist.'
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '429':
          description: 'Rate limit exceeded: slow down and retry later.'
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '500':
          description: Internal error while processing the request.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response: Promise<FireblocksResponse<GetProvidersResponse>> =
            fireblocks.earnBeta.getEarnProviders(earnBetaApiGetEarnProvidersRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<GetProvidersResponse>> response =
            fireblocks.earnBeta().getEarnProviders(pageCursor, pageSize, sortBy,
            order);
        - lang: Python
          source: >-
            response = fireblocks.earn_beta.get_earn_providers(page_cursor,
            page_size, sort_by, order);
components:
  headers:
    X-Request-ID:
      schema:
        type: string
      description: >-
        Unique ID correlated to the API request. Please provide it in any
        support ticket you create or on Github issues related to Fireblocks SDKs
  schemas:
    GetProvidersResponse:
      type: object
      properties:
        data:
          type: array
          description: Page of integrated lending providers.
          items:
            $ref: '#/components/schemas/EarnProvider'
          example:
            - providerId: MORPHO
              displayName: Morpho
              logoUrl: https://cdn.example.com/morpho.svg
              supportedChainIds:
                - 1
                - 8453
              isTermsApprovalRequired: true
              termsOfServiceUrl: https://example.com/morpho/tos
              isTermsOfServiceApproved: false
        next:
          type: string
          description: Opaque cursor for the next page; empty when there is no next page.
          example: ''
        prev:
          type: string
          description: >-
            Opaque cursor for the previous page; empty when there is no previous
            page.
          example: ''
        total:
          type: integer
          format: int32
          description: Total number of items matching the query.
          example: 1
      required:
        - data
        - total
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    EarnProvider:
      type: object
      properties:
        providerId:
          type: string
          description: Stable protocol identifier (`MORPHO` or `AAVE`).
          example: AAVE
          enum:
            - MORPHO
            - AAVE
        displayName:
          type: string
          description: Human-readable protocol name for UI.
          example: Aave
        logoUrl:
          type: string
          description: URL for the provider logo asset.
          example: https://cdn.example.com/aave.svg
        supportedChainIds:
          type: array
          description: EVM chain IDs where this provider is supported.
          minItems: 0
          maxItems: 10
          items:
            type: integer
            format: int32
          example:
            - 1
            - 42161
        isTermsApprovalRequired:
          type: boolean
          description: Whether the user must accept terms before using this provider.
          example: false
        termsOfServiceUrl:
          type: string
          description: URL to the provider terms of service, when applicable.
          example: https://aave.com/terms
        isTermsOfServiceApproved:
          type: boolean
          description: Whether terms have been approved for this workspace / context.
          example: true
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````