> ## 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/get-position-details",
  "feedback": "Description of the issue"
}
```

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

</AgentInstructions>

# Get position details

> Returns full details for a single staking position: amounts, rewards, status, chain, and vault.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml get /staking/positions/{id}
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/positions/{id}:
    get:
      tags:
        - Staking
      summary: Get position details
      description: >-
        Returns full details for a single staking position: amounts, rewards,
        status, chain, and vault.
      operationId: getDelegationById
      parameters:
        - name: id
          required: true
          in: path
          description: Unique identifier of the staking position.
          schema:
            type: string
      responses:
        '200':
          description: Position retrieved successfully.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Delegation'
        '400':
          description: >-
            Bad request: missing/invalid fields, unsupported amount, or
            malformed payload.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchema'
        '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<Delegation>> =
            fireblocks.staking.getDelegationById(stakingApiGetDelegationByIdRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<Delegation>> response =
            fireblocks.staking().getDelegationById(id);
        - lang: Python
          source: response = fireblocks.staking.get_delegation_by_id(id);
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:
    Delegation:
      type: object
      properties:
        id:
          type: string
          example: b70701f4-d7b1-4795-a8ee-b09cdb5b850a
          description: The unique identifier of the staking position
        vaultAccountId:
          type: string
          example: '2'
          description: The source vault account to stake from
        validatorName:
          type: string
          example: FwR3P......tT59f
          description: The destination validator address name
        providerName:
          type: string
          example: Kiln
          description: The destination validator provider name
        chainDescriptor:
          type: string
          example: SOL
          description: The protocol identifier (e.g. "ETH"/ "SOL") to use
        amount:
          type: string
          example: '0.05'
          description: >-
            Total value of the staking position. For Solana, Lido and Ethereum
            (compounding validator): includes the original stake plus
            accumulated rewards. For MATIC, Cosmos and Ethereum (legacy
            validator): refers to the amount currently staked.
        rewardsAmount:
          type: string
          example: '0.000856038'
          description: >-
            The amount staked in the position, measured in the staked asset
            unit.
        dateCreated:
          format: date-time
          type: string
          example: '2023-07-13T15:55:34.256Z'
          description: When was the request made (ISO Date).
        dateUpdated:
          format: date-time
          type: string
          example: '2023-07-13T15:55:34.256Z'
          description: When has the position last changed (ISO Date).
        status:
          type: string
          example: active
          description: The current status.
        relatedTransactions:
          example:
            - txId: b70601f4-d7b1-4795-a8ee-b09cdb4r850d
              completed: true
            - txId: c80601f4-d7b1-4795-a8ee-b09cdb5b450c
              completed: false
          description: >-
            An array of transaction objects related to this position. Each
            object includes a 'txId' representing the transaction ID and a
            'completed' boolean indicating if the transaction was completed.
          type: array
          items:
            $ref: '#/components/schemas/RelatedTransaction'
        validatorAddress:
          type: string
          example: FwR3PbjS5iyqzLiLugrBqKSa5EKZ4vK9SKs7eQXtT59f
          description: The destination address of the staking transaction.
        providerId:
          $ref: '#/components/schemas/StakingProvider'
        availableActions:
          example:
            - unstake
          description: >-
            An array of available actions that can be performed. for example,
            actions like "unstake" or "withdraw".
          type: array
          items:
            type: string
        inProgress:
          type: boolean
          example: true
          description: >-
            Indicates whether there is an ongoing action for this position
            related to this request
        inProgressTxId:
          type: string
          example: c80601f4-d7b1-4795-a8ee-b09cdb5b450c
          description: >-
            The transaction ID of the initial stake position request only. Only
            present when there is an active initial stake transaction.
        blockchainPositionInfo:
          description: >-
            Additional fields per blockchain - can be empty or missing if not
            initialized or no additional info exists.
          discriminator:
            propertyName: chainDescriptor
            mapping:
              SOL:
                $ref: '#/components/schemas/SolanaBlockchainData'
              SOL_TEST:
                $ref: '#/components/schemas/SolanaBlockchainData'
              ETH:
                $ref: '#/components/schemas/EthereumBlockchainData'
              ETH_TEST6:
                $ref: '#/components/schemas/EthereumBlockchainData'
              ETH_TEST_HOODI:
                $ref: '#/components/schemas/EthereumBlockchainData'
              STETH_ETH:
                $ref: '#/components/schemas/StEthBlockchainData'
              STETH_ETH_TEST6_DZFA:
                $ref: '#/components/schemas/StEthBlockchainData'
              STETH_ETH_TEST_HOODI:
                $ref: '#/components/schemas/StEthBlockchainData'
          oneOf:
            - $ref: '#/components/schemas/SolanaBlockchainData'
            - $ref: '#/components/schemas/EthereumBlockchainData'
            - $ref: '#/components/schemas/StEthBlockchainData'
        relatedRequests:
          example:
            - status: deactivating
              inProgress: false
              amount: '0.05'
              txId: c80601f4-d7b1-4795-a8ee-b09cdb5b450c
          type: array
          items:
            $ref: '#/components/schemas/RelatedRequest'
      required:
        - id
        - vaultAccountId
        - validatorName
        - providerName
        - chainDescriptor
        - amount
        - rewardsAmount
        - dateCreated
        - dateUpdated
        - status
        - relatedTransactions
        - validatorAddress
        - providerId
        - availableActions
        - inProgress
        - blockchainPositionInfo
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    RelatedTransaction:
      type: object
      properties:
        txId:
          type: string
          example: b70601f4-d7b1-4795-a8ee-b09cdb4r850d
          description: The transaction ID
        completed:
          type: boolean
          example: true
          description: Is the transaction completed or not
      required:
        - txId
        - completed
    StakingProvider:
      description: The unique identifier of the staking provider
      type: string
      example: kiln
      enum:
        - kiln
        - figment
        - lido
        - p2p
        - blockdaemon
        - galaxy
        - pierTwo
        - kraken
    SolanaBlockchainData:
      type: object
      example:
        stakeAccountAddress: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq
      description: >-
        Additional fields per blockchain - can be empty or missing if not
        initialized or no additional info exists. The type depends on the
        chainDescriptor value. For Solana (SOL), stake account address. For
        Ethereum (ETH), an empty object is returned as no specific data is
        available.
      properties:
        stakeAccountAddress:
          type: string
          example: 3Ru67FyzMTcdENmmRL4Eve4dtPd6AdpuypR21q5EQCdq
          description: The stake account address matching the stakeAccountId.
        stakeAccountDerivationChangeValue:
          type: number
          example: 7
          description: >-
            The value of the change level in the BIP32 path which was used to
            derive the stake account address.
      required:
        - stakeAccountAddress
        - stakeAccountDerivationChangeValue
    EthereumBlockchainData:
      type: object
      description: >-
        Additional fields per blockchain for Ethereum (ETH) - can be empty or
        missing if not initialized or no specific data is available.
      properties:
        isCompoundingValidator:
          type: boolean
          example: true
          description: >-
            Is the validator compounding (i.e it was created with compounding
            validator type).
      required:
        - isCompoundingValidator
    StEthBlockchainData:
      type: object
      description: >-
        Additional fields per blockchain for Staked Ethereum (STETH_ETH) - can
        be empty or missing if not initialized or no additional info exists.
      properties:
        totalWithdrawableAmount:
          type: string
          example: '1.5'
          description: The total amount available for withdrawal.
        totalInactiveAmount:
          type: string
          example: '2.0'
          description: The total inactive amount.
      required:
        - totalWithdrawableAmount
        - totalInactiveAmount
    RelatedRequest:
      type: object
      properties:
        status:
          type: string
          example: deactivating
          description: The status of the request
          enum:
            - deactivating
        inProgress:
          type: boolean
          example: false
          description: >-
            Indicates whether there is an ongoing action for this position
            related to this request
        amount:
          type: string
          example: '0.05'
          description: Amount of tokens
        txId:
          type: string
          example: c80601f4-d7b1-4795-a8ee-b09cdb5b450c
          description: The transaction ID of the ongoing request
      required:
        - status
        - inProgress
        - amount
        - txId
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````