REST APIStakeStaking Request

POST

Try to resubmit the failed staking transaction

Path Params

  • coin string enum required
    The staking asset.
    ADAAPTASIKAVACOSMOSATOMAVAXCAVAXPBABYBERABLDBSCBTCCOREDAOCOREUMCRONOSCSPRDOTEIGENETHFLRPHASHINJECTIVEMATICNEAROSMOPOLPOLYXRETH-ROCKETSEISOMISOLSTORYSTXSUISUI:WALTAOTIATONTRXWETHWCTWFLRXDCZETA
  • stakingRequestId string uuid required
    The ID for the staking request used in the path.

Responses

202
Successful retried Staking Request Accepted and Needs Approval

Response Body

ONE OF

  • delegations array of objects

    1 to 1 items

    delegations object
    • id string
      The staking request ID.
    • coin string
      The staking asset.
    • walletId string
      The ID of the wallet that the delegation is tied to.
    • delegationAddress string
      The delegation address.
    • validatorAddress string
      The validator address of the delegation.
    • provider string
      The staking provider backing the delegation.
    • providerType string
      The staking provider backing the delegation. This field is used in bitgo UI to map provider with icon
    • withdrawalAddress string
      The withdrawal address.
    • delegated string
      The delegation amount.
    • status string enum
      The status of the delegation.
      PENDINGFAILEDREJECTEDACTIVECOMPLETE
    • rewards string
      The amount of rewards received over the lifetime.
    • lockedRewards string
      The amount of locked rewards received.
    • pendingUnstake string
      The amount that is pending unstake.
    • pendingStake string
      The amount that is pending stake.
    • reserved string
      The amount that is reserved for this delegation.
    • pendingReserved string
      The amount that is pending reservation for this delegation.
    • apy string
      The estimated reward APY or APR if rewards are not compounding.
    • unstakeable boolean
      Indicates whether the delegation can currently be unstaked.
    • properties object

      ONE OF

      • type string enum required
        APTAVAXPAVAXCETHETH_SSVNEARSOLDOTMATICCSPRSUIADAATOMCOSMOSBSCTONSTXEIGEN_LIKEBTCWCTWFLRFLRPCOREDAOBERATAOTRXPOLYXSOMISTORYVETOGUNKNOWN
      • commissionPercent string bigDecimal nullable
      • commissionPercentLastUpdatedAt string date-time nullable
      • validatorAddress string required
      • rewardAddress string required
      • dRepId string nullable
    • claimable boolean nullable
      Whether the delegation has claimable rewards.
    • pendingClaimRewards string nullable
      Rewards that are pending claim (stringified bigint).
    • claimableRewards string nullable
      Rewards that are currently claimable (stringified bigint).
    • switchable boolean nullable
      Whether the delegation can be switched to another validator.
    • maxSwitch string nullable
      Maximum amount allowed to switch (stringified bigint).
    • minSwitch string nullable
      Minimum amount required to switch (stringified bigint).
    • permissionAttributes object
      Permission attributes for the staking wallet.
      permissionAttributes object
      • staking object
        Permission attributes specific to staking.
        staking object
        • allowClientToUseOwnValidator boolean
          True if the client is allowed to stake to their own validator.

          Defaults to false

        • allowClientToUseOwnDRep boolean nullable
          ADA-specific. True if the client can use their own DRep for governance.
        • allowVoteDelegation boolean nullable
          ADA-specific. True if the client can delegate votes.
        • requireVoteDelegation boolean nullable
          ADA-specific. True if vote delegation is required.
        • enabled boolean required
          True if the permission is enabled.
        • disabledReason string nullable
          Reason why the permission is disabled, if applicable.
      • unstaking object
        Permission attributes specific to unstaking.
        unstaking object
        • enabled boolean required
          True if the permission is enabled.
        • disabledReason string nullable
          Reason why the permission is disabled, if applicable.
      • claimRewards object
        Permission attributes specific to claiming staking rewards.
        claimRewards object
        • enabled boolean required
          True if the permission is enabled.
        • disabledReason string nullable
          Reason why the permission is disabled, if applicable.
      • switchValidator object
        Permission attributes specific to switching validators.
        switchValidator object
        • enabled boolean required
          True if the permission is enabled.
        • disabledReason string nullable
          Reason why the permission is disabled, if applicable.
      • wallet object
        Permission attributes specific to the wallet.
        wallet object
        • hasEnoughAdmins boolean
          True, if the wallet has enough admins to create a staking request.
        • numberOfRequiredAdmins integer
          The number of admins required to create a hot staking request.
        • useValidatorList boolean
          Boolean flag to control whether to show dropdown list of validators or not.
        • skipAddressValidation boolean
          Boolean flag to control whether to perform validator address validation or not.
        • showValidatorAddress boolean
          Boolean flag to control whether to display the validator address in the UI even when skipAddressValidation is true.
        • allowPartialUnstake boolean
          True if the wallet allows partial unstaking.
        • validatorNotNeededForStake boolean
          True if a validator is not required when staking.
        • validatorCoin string nullable
          Optional coin used for validator-specific staking.
    • spendableAttributes object
      Spendable attributes available for a wallet’s staking operations.
      spendableAttributes object
      • staking object
        staking object
        • netMax string
          The maximum spendable amount minus fees.
        • netMin string
          The net minimum spendable amount plus fees.
        • isStakingDurationNeeded boolean
          True, if staking duration in seconds is required.
        • defaultStakingDuration string
          Optional default staking duration in seconds.
        • unlockTimeEpochSeconds string
          Optional unlock time in epoch seconds.
        • minStakeMore string
          The minimum amount required to stake more to the same validator.
        • minDuration string
          Minimum allowed staking duration in seconds.
        • maxDuration string
          Maximum allowed staking duration in seconds.
        • durationLabel string
          Optional label for staking duration (e.g., "Epoch").
        • breakdown object
          Breakdown of staking spendable amounts, including balances, fees, and limits.
          breakdown object
          • balance string
            Total balance available for staking operations.
          • stakingFee string
            Fee amount required to perform staking operations.
          • unstakingFee string
            Fee amount required to perform unstaking operations.
          • pendingStake string
            Amount of stake that has been requested but is not yet active.
          • proxyCost string
            Proxy fee cost (applies to DOT staking only).
          • maxSpendable string
            Maximum amount that can be spent on staking after accounting for fees and limits.
          • minSpendable string
            Minimum amount required for a valid staking operation.
        • name string
          Optional staking type name (UI label).
        • type string
          Optional staking type identifier.
        • fields array of objects
          Additional form fields required for staking (e.g., resource type selection dropdown).
          fields object
          • name string
            Machine-readable name of the staking field.
          • label string
            Human-readable label for display.
          • required boolean
            Whether this field must be provided.

            Defaults to true

          • type string
            Input type (e.g., text, number, select).
          • coin string
            Optional coin symbol associated with the field.
          • useValidatorList boolean
            Whether this field should use the validator list as options.

            Defaults to false

          • readonly boolean
            If true, the field is not editable.

            Defaults to false

          • value string
            Optional pre-filled or default value for the field.
          • min string
            Optional minimum value (serialized as string).
          • max string
            Optional maximum value (serialized as string).
          • options array of objects
            Select/dropdown options for the field, if applicable.
            options object
            • label string
              Human-readable label for the option.
            • value string
              Machine-readable value for the option.
            • description string
              Optional explanation of the option.
            • amount string
              Optional amount associated with this option (used for fixed-amount staking like VET NFT tiers).
        • stakingSubTypes array of objects
          Available staking sub-types with their own attributes.
          stakingSubTypes object
          • name string
            The display name of the staking sub-type.
          • type string
            The identifier of the staking sub-type.
          • fee string
            The blockchain fee for this sub-type.
          • max string
            The maximum amount for this sub-type.
          • min string
            The minimum amount for this sub-type.
          • netMax string
            The net maximum amount for this sub-type.
          • netMin string
            The net minimum amount for this sub-type.
          • multiplier string
            The multiplier for this sub-type.
          • decimal string
            Optional custom conversion factor, when provided, should use amount ÷ decimal to get converted to derived unit.
          • displayUnit string
            Optional custom unit (e.g., "TP" for TronPower). When provided, this unit is the derived unit of the amounts in the attributes.
        • isDelegated boolean
          True if this staking is delegated.
        • restaking object
          Attributes related to restaking positions.
          restaking object
          • total string
            Total amount currently restaked.
          • pendingStake string
            Amount of stake that has been requested but is not yet active.
          • pendingUnstake string
            Amount of stake that is pending to be unstaked.
          • operator string
            The operator identifier for the restaking position.
          • type string
            The type of restaking (e.g., EigenLayer, AVS, etc.).
          • avses array of strings
            Optional list of AVS (Actively Validated Services) identifiers linked to this restaking.
          • apy string decimal
            Annual percentage yield (APY) for the restaking position.
          • commissionPercent string decimal
            Commission percentage charged by the operator.
        • stakingSubTypesStyle string
          Optional style hint for rendering staking sub-types.
        • decimal string
          Optional custom conversion factor, when provided, use amount ÷ decimal to get derived unit.
        • displayUnit string
          Optional custom unit (e.g., "TP" for TronPower). When provided, this unit is the derived unit of the amounts in the attributes.
        • fixedAmountStaking boolean
          Indicates that staking amounts are fixed per tier/option and should be auto-filled from the selected option's amount field. When true, the UI should prefill and make the amount field readonly.

          Defaults to false

        • max string
          The maximum spendable amount.
        • min string
          The minimum spendable amount.
        • multiplier string
          The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        • fee string
          The blockchain fee to submit the transactions.
      • unstaking object
        Spendable amounts and rules specific to unstaking operations.
        unstaking object
        • multipleDelegations boolean
          True if more than one active staking delegation exists for a wallet.
        • breakdown object
          Detailed breakdown of spendable amounts and fees for unstaking.
          breakdown object
          • balance string bigInteger
            Current balance available for unstaking.
          • unstakingFee string bigInteger
            Fee required to perform an unstaking transaction.
          • maxSpendable string bigInteger
            Maximum amount that can be unstaked in a single transaction.
          • unstakeable object
            Breakdown of the wallet’s staked funds that can be unstaked.
            unstakeable object
            • stakedBalance string bigInteger
              Total amount currently staked.
            • pendingUnstake string bigInteger
              Amount already requested for unstaking but not yet completed.
            • maxUnstakeable string bigInteger
              Maximum amount of staked funds that can be unstaked at this time.
        • requiresAmount boolean
          Whether specifying an amount is required for the unstaking request.

          Defaults to true

        • requiresDelegationId boolean
          Whether a single delegation ID is required for the unstaking request.

          Defaults to false

        • requiresDelegationIds boolean
          Whether multiple delegation IDs must be specified for the unstaking request.

          Defaults to false

        • fields array of objects
          Dynamic form fields for the unstaking request (e.g., resource type selection).
          fields object
          • Same shape as StakingField.
        • unstakingSubTypes array of objects
          Supported unstaking sub-types with their own spendable attributes.
          unstakingSubTypes object
          • name string
            Human-readable name of the unstaking sub-type.
          • type string
            Internal identifier for the unstaking sub-type.
          • fee string bigInteger
            Fee required to perform an unstaking transaction for this sub-type.
          • max string bigInteger
            Maximum amount that can be unstaked for this sub-type.
          • min string bigInteger
            Minimum amount that must be unstaked for this sub-type.
          • netMax string bigInteger
            Maximum unstakeable amount minus applicable fees.
          • netMin string bigInteger
            Minimum unstakeable amount including fees.
          • requiresAmount boolean
            True if the unstaking request requires specifying an amount.
          • requiresDelegationId boolean
            True if a single delegation ID must be specified for unstaking.
          • requiresDelegationIds boolean
            True if multiple delegation IDs must be specified for unstaking.
          • allowPartialUnstake boolean
            True if partial unstaking (less than full delegation) is allowed.
          • multipleDelegations boolean
            True if this sub-type supports wallets with multiple active delegations.
        • max string
          The maximum spendable amount.
        • min string
          The minimum spendable amount.
        • multiplier string
          The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        • fee string
          The blockchain fee to submit the transactions.
      • claimRewards object
        Spendable attributes specific to claiming staking rewards.
        claimRewards object
        • breakdown object
          Breakdown of rewards available for claiming.
          breakdown object
          • totalRewards string
            Total accumulated rewards (claimable + pending).
          • claimableRewards string
            Rewards that are immediately available for claiming.
          • pendingClaimRewards string
            Rewards that are pending and not yet claimable.
          • claimFee string
            Estimated fee required to claim rewards.
        • requiresDelegationId boolean
          True if a delegation ID must be specified when claiming rewards.
        • rewardCoin string
          The coin in which rewards are distributed.
        • rewardPairs array of objects
          Optional list of reward pairs (e.g., multiple tokens being rewarded).
          rewardPairs object
          • tokenAddress string nullable
            The optional token address.
          • amount string required
            The total amount of the reward pair in base units.
          • activeAmount string required
            The currently active amount in base units.
          • coin string nullable
            The optional coin for this reward pair.
        • max string
          The maximum spendable amount.
        • min string
          The minimum spendable amount.
        • multiplier string
          The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        • fee string
          The blockchain fee to submit the transactions.
      • switchValidator object
        switchValidator object
        • breakdown object
          breakdown object
          • balance string
            The wallet balance available for validator switching.
          • switchFee string
            The fee required to switch validators.
          • switchable object
            switchable object
            • stakedBalance string
              The total balance currently staked that can be switched.
            • pendingUnstake string
              The amount currently pending unstake, not switchable until complete.
            • maxSwitchable string
              The maximum amount of balance that can be switched to another validator.
        • requiresDelegationId boolean
          True if a delegation ID must be specified when switching validators.
        • requiresAmount boolean
          True if an amount must be specified when switching validators.
        • useDelegationForTarget boolean
          True if the validator field of a switch validator request must be a validator public key.
        • max string
          The maximum spendable amount.
        • min string
          The minimum spendable amount.
        • multiplier string
          The multiplier amount to be staked. Default to 1, but for coins like where the amount to stake is a multiple of 32 ETH, this is 32 in base unit, to allow validation.
        • fee string
          The blockchain fee to submit the transactions.
    • rewardPairs array of objects
      Reward token breakdown for Eigen-like or ETH restaking.
      rewardPairs object
      • Same shape as RewardPairs.
    • rewardCoin string nullable
      The reward coin associated with this delegation.
  • transactions array of objects

    1 to 500 items

    transactions object
    • id string
      The staking transaction ID.
    • stakingRequestId string required
      The staking request ID.
    • transactionType string enum required
      The transaction type (delegate).
      delegaterewardundelegatewithdraw_undelegatedauthorize
    • txHash string
      The transaction hash.
    • createdDate string date-time required
      The date the transaction was created.
    • status string enum required
      The status of the transaction, either NEW, READY, INITIATED, CONFIRMED, or REJECTED.
      WAITINGREADYSENDINGPENDING_APPROVALPENDING_BITGO_TRUST_APPROVALREJECTEDPENDINGFAILEDCONFIRMEDVALIDATOR_ACTIVATINGDELAYED_READY
    • statusModifiedDate string date-time required
      The last date the status changed.
    • error string
      The reason the transaction failed.
    • rawError string
      Raw internal error message if available.
    • amount string required
      The transaction Amount in base units (i.e. Wei for ETH).
    • delegationId string required
      The staking delegation the transaction is acting on.
    • pendingApprovalId string
      Pending Approval ID
    • transferId string
      Transfer ID
    • txRequestId string
      Transaction Request ID for the Transaction Request API
    • coin string
      The coin associated with this staking transaction.
    • buildParams object
      buildParams object
      • sequenceId string uuid
        Unique sequence identifier
      • recipients array of objects
        Recipient build params data
        recipients object
        • amount string
          The amount to stake in base units.
        • address string
          The recipient address.
        • data string
          Optional staking data (ABI format).
      • stakingParams object
        stakingParams object
        • requestId string uuid
        • amount string
          The amount to stake in base units.
        • coin string
        • validator string
        • provider string
        • blsPublicKey string
        • blsSignature string
        • actionType string
          The action type (e.g. delegate, unstake).
        • stakingOptions object
          Union of concrete staking option types. One of the concrete option schemas below.

          ONE OF

          • nodeID string required
            Node ID to delegate to
          • blsPublicKey string required
            BLS public key used for delegation
          • blsSignature string required
            BLS signature for the delegation
          • amount string required
            Amount to stake (base units)
          • delegationFeeRate number double required
            Delegation fee rate (percentage)
          • durationSeconds string required
            Duration of the delegation in seconds
        • coreDao object
          coreDao object
          • validator string
          • amount string
          • expiration string
          • rewardAddress string
          • version integer
          • fee integer
        • babylon object
          babylon object
          • amount string
          • babylonAddress string
          • finalityProvider string
          • babylonAddressPubkey string
          • timelock integer int64
          • keyType string
          • overrideStakingParams array of objects
        • ownerAddress string
          TRX specific owner address
        • frozenBalance string
          TRX specific frozen balance
        • unfreezeBalance string
          TRX specific unfreeze balance
        • resource string
          TRX specific resource type
        • votes array of objects
          votes object
          • voteAddress string
          • voteCount string
      • gasPrice string
        The gas price in base units.
      • gasLimit string
        The gas limit in base units.
      • stakingOptions object
        Union of concrete staking option types. One of the concrete option schemas below.
        stakingOptions object
        • Same shape as StakingOptions.
      • type string
        The transaction type (internal use).
      • senderWalletId string
        The wallet ID of the sender.
      • feeRate integer
        Fee rate (used in UTXO chains).
      • unspents array of strings
        List of unspent transaction outputs (UTXOs).
      • silentSignature boolean
        Indicates if silent signature is enabled.
      • unstakingParams object
        unstakingParams object
        • babylon object
          babylon object
          • withdrawType string
          • undelegation object
            undelegation object
            • txHex string
            • covenantSignatures array of objects
  • amount string
    Amount to stake in base units.
  • rewardAddress string
    The reward address for staking rewards.
  • dRepId string
    The delegated representative ID.
  • isVoteDelegationRequest boolean
    Whether this is a vote delegation request.
  • id string required
    Staking request ID.
  • clientId string
    Optional clientId if passed into the request.
  • requestingUserId string required
    The ID of the user that created the staking request.
  • enterpriseId string required
    The ID of the enterprise where the the staking request was created.
  • walletId string required
    The ID of the wallet where the staking request was created.
  • walletLabel string nullable
    The label of the wallet where the staking request was created.
  • withdrawalAddress string required
    Withdrawal Address
  • walletType string enum required
    The type of wallet the staking request was created from either cold, custodial, or hot.
    coldcustodialcustodialPairedhottrading
  • type string enum required
    The type of staking request.
    STAKEUNSTAKECLAIM_REWARDSSWITCH_VALIDATORUNSUPPORTED
  • coin string enum required
    The staking asset.
    ADAAPTASIKAVACOSMOSATOMAVAXCAVAXPBABYBERABLDBSCBTCCOREDAOCOREUMCRONOSCSPRDOTEIGENETHFLRPHASHINJECTIVEMATICNEAROSMOPOLPOLYXRETH-ROCKETSEISOMISOLSTORYSTXSUISUI:WALTAOTIATONTRXWETHWCTWFLRXDCZETA
  • createdDate string date-time required
    The date the staking request was created.
  • status string enum required
    The status of the staking request. For ETH the status will change from NEW to READY when a validator has been assigned to the wallet's address.
    NEWPENDING_VALIDATORSREADYPENDING_APPROVALPENDING_BITGO_TRUST_APPROVALPENDINGFAILEDREJECTEDVALIDATOR_ACTIVATINGPARTIAL_CONFIRMEDCONFIRMEDCOOLDOWNWARMUPDELAYED_COOLDOWNDELAYED_WARMUPETH_PARTIAL_EXITEDETH_EXITED
  • statusModifiedDate string date-time required
    The last date the status changed.
  • error string nullable
    The reason the staking request failed.
  • rawError string nullable
    Raw internal error message if available.
  • delegations array of objects
    The delegations associated with this staking request.
    delegations object
    • id string
      The staking request ID.
    • coin string
      The staking asset.
    • walletId string
      The ID of the wallet that the delegation is tied to.
    • delegationAddress string
      The delegation address.
    • validatorAddress string
      The validator address of the delegation.
    • provider string
      The staking provider backing the delegation.
    • providerType string
      The staking provider backing the delegation. This field is used in bitgo UI to map provider with icon
    • withdrawalAddress string
      The withdrawal address.
    • delegated string
      The delegation amount.
    • status string enum
      The status of the delegation.
      PENDINGFAILEDREJECTEDACTIVECOMPLETE
    • rewards string
      The amount of rewards received over the lifetime.
    • lockedRewards string
      The amount of locked rewards received.
    • pendingUnstake string
      The amount that is pending unstake.
    • pendingStake string
      The amount that is pending stake.
    • reserved string
      The amount that is reserved for this delegation.
    • pendingReserved string
      The amount that is pending reservation for this delegation.
    • apy string
      The estimated reward APY or APR if rewards are not compounding.
    • unstakeable boolean
      Indicates whether the delegation can currently be unstaked.
  • transactions array of objects
    The staking transactions associated with this request.
    transactions object
    • Same shape as StakingTransaction.
  • totalStaked string nullable
    The sum of the amounts of all confirmed staking transactions in this request.
  • properties object

    ONE OF

    • amount string required
      The amount involved in the staking request.
    • objectType string enum required
      Type of staking request entity properties.
      AVAXP_STAKEETH_STAKETRXTRX_UNSTAKETRX_CLAIM_REWARDSETH_CLAIM_REWARDSETH_UNSTAKEETH_STAKE_SSVNEAR_STAKESOL_STAKESOL_UNSTAKEDOT_STAKEMATIC_STAKEUNSTAKEMATIC_UNSTAKECSPR_STAKECSPR_UNSTAKESUI_STAKESUI_SWITCHSUI_UNSTAKEADA_STAKEADA_CLAIM_REWARDSATOM_STAKEATOM_CLAIM_REWARDSCOSMOS_STAKECOSMOS_CLAIM_REWARDSCOSMOS_SWITCHBASE_SWITCHBSC_STAKETON_STAKETON_UNSTAKESTX_STAKESTX_UNSTAKEEIGEN_STAKEEIGEN_CLAIM_REWARDSEIGEN_UNSTAKEBTC_STAKEBTC_UNSTAKEBTC_CLAIM_REWARDSWCT_STAKEWCT_UNSTAKEWCT_CLAIM_REWARDSCOREDAO_STAKECOREDAO_UNSTAKECOREDAO_CLAIM_REWARDSBERA_STAKEBERA_UNSTAKETAO_STAKETAO_UNSTAKETAO_SWITCHPOLYX_STAKEPOLYX_UNSTAKEPOLYX_SWITCH_VALIDATORICPAVAXC_STAKEAVAXC_UNSTAKEWFLR_STAKEWFLR_UNSTAKEFLRP_STAKESOMI_STAKESTORY_STAKEVET_STAKEWFLR_CLAIM_REWARDSUNKNOWN
400
Bad Request

Response Body

object

  • error string
  • errorName string
  • reqId string
  • context object
401
Unauthorized

Response Body

object

  • error string
  • errorName string
  • reqId string
  • context object
403
Forbidden

Response Body

object

  • error string
  • errorName string
  • reqId string
  • context object
404
Not Found

Response Body

object

  • error string
  • errorName string
  • reqId string
  • context object
409
Conflict

Response Body

object

  • error string
  • errorName string
  • reqId string
  • context object
500
Server Error - Transient error please try again

Response Body

object

  • error string
  • errorName string
  • reqId string
  • context object