> ## 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/staking/list-staking-providers",
  "feedback": "Description of the issue"
}
```

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

</AgentInstructions>

# List staking providers

> Returns all available staking providers with metadata such as name, ID, and supported chains.
Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml get /staking/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:
  /staking/providers:
    get:
      tags:
        - Staking
      summary: List staking providers
      description: >-
        Returns all available staking providers with metadata such as name, ID,
        and supported chains.

        Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.
      operationId: getProviders
      responses:
        '200':
          description: Supported providers retrieved successfully.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StakingGetProvidersResponse'
        '403':
          description: >-
            Forbidden: insufficient permissions, disabled feature, or restricted
            provider/validator.
          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 (e.g., position,
            validator, provider, or wallet).
          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<StakingGetProvidersResponse>> =
            fireblocks.staking.getProviders();
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<List<Provider>>> response =
            fireblocks.staking().getProviders();
        - lang: Python
          source: response = fireblocks.staking.get_providers();
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:
    StakingGetProvidersResponse:
      type: array
      items:
        $ref: '#/components/schemas/Provider'
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    Provider:
      type: object
      properties:
        id:
          type: string
          example: kiln
          description: The ID of the provider
        providerName:
          type: string
          example: Kiln
          description: Name of the provider
        validators:
          example:
            - chainDescriptor: ETH
              feePercent: 5
            - chainDescriptor: SOL
              feePercent: 7
          description: >-
            An array of objects that includes chain descriptors and the
            corresponding fee percentages for validators supported by the
            provider
          type: array
          items:
            $ref: '#/components/schemas/Validator'
        iconUrl:
          type: string
          example: https://static.fireblocks.io/staking/validators/kiln_console.png
          description: URL to the validator's icon
        termsOfServiceUrl:
          type: string
          example: https://www.kiln.fi/terms-and-conditions-for-fireblocks-customers
          description: URL to the terms of service
        isTermsOfServiceApproved:
          type: boolean
          example: true
          description: Indicates whether the terms of service are approved
        isPrivate:
          type: boolean
          example: true
          description: Is the provider private, i.e created by the user
        isLiquidStaking:
          type: boolean
          example: true
          description: Is the provider a liquid staking provider
      required:
        - id
        - providerName
        - validators
        - isTermsOfServiceApproved
        - isLiquidStaking
    Validator:
      type: object
      properties:
        chainDescriptor:
          type: string
          example: SOL
          description: The protocol identifier (e.g. "ETH"/"SOL") of the validator
        feePercent:
          type: number
          example: 5
          description: The service fee as a percentage out of the earned rewards
        isPrivate:
          type: boolean
          example: true
          description: Is the validator private, i.e created by the user
      required:
        - chainDescriptor
        - feePercent
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````