Create staking request

post/api/staking/v1/{coin}/wallets/{walletId}/requests

Create a staking request of type STAKE or UNSTAKE.

Path Parameters

  • coinstringRequired
    The staking asset.
    Enum: ADA ASI ATOM AVAXC AVAXP BABY BERA BLD BSC BTC COREDAO COREUM CRONOS CSPR DOT EIGEN ETH HASH INJECTIVE MATIC NEAR OSMO POL POLYX RETH-ROCKET SEI SOMI SOL STX SUI SUI:WAL TAO TIA TON TRX WETH WCT WFLR ZETA
  • walletIdstringRequired
    The wallet ID.
    Example: 59cd72485007a239fb00282ed480da1f

Request Body

One of
rewardAddress string
The reward address for staking rewards.
dRepId string
The delegated representative ID.
isVoteDelegationRequest boolean
Whether this is a vote delegation request.
clientId
string or null
Optional user-generated identifier to detect duplicated requests.
Max length: <= 256 characters
amount string required
Amount to stake in base units. For Ethereum, must be a multiple of 32 ETH (32000000000000000000 Wei). Testnet restrictions may differ.
Example: 32000000000000000000
type string required
Staking request type. Always 'STAKE' for this endpoint.
Example: STAKE
validator
string or null
The validator to delegate to.
duration
string or null
Optional staking duration in base units (e.g., seconds, blocks).
delegationRequests
array[object] or null
Individual delegation request entry.
amount string required
Amount to delegate to the validator in base units.
validator string required
The validator to delegate to.

202 Response

One of
delegations array[object]
The delegations associated with this staking request.
Min items: >= 1 items
Max items: <= 1 items
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.
withdrawalAddress string
The withdrawal address.
delegated string
The delegation amount.
status string
The status of the delegation.
Allowed values: PENDING FAILED REJECTED ACTIVE COMPLETE
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.
propertiesOne of
Union of all coin-specific delegation property schemas.
claimable
boolean or null
Whether the delegation has claimable rewards.
pendingClaimRewards
string or null
Rewards that are pending claim (stringified bigint).
claimableRewards
string or null
Rewards that are currently claimable (stringified bigint).
switchable
boolean or null
Whether the delegation can be switched to another validator.
maxSwitch
string or null
Maximum amount allowed to switch (stringified bigint).
minSwitch
string or null
Minimum amount required to switch (stringified bigint).
permissionAttributes object
Permission attributes for the staking wallet.
spendableAttributes object
Spendable attributes available for a wallet’s staking operations.
restaking
boolean or null
Whether this delegation is restaking rewards automatically.
rewardPairs array[object]
Reward token breakdown for Eigen-like or ETH restaking.
rewardCoin
string or null
The reward coin associated with this delegation.
transactions array[object]
The staking transactions associated with this request.
Min items: >= 1 items
Max items: <= 500 items
id string
The staking transaction ID.
stakingRequestId string required
The staking request ID.
transactionType string required
The transaction type (delegate).
Allowed values: delegate reward undelegate withdraw_undelegated authorize
txHash string
The transaction hash.
createdDate string <date-time>required
The date the transaction was created.
status string required
The status of the transaction, either NEW, READY, INITIATED, CONFIRMED, or REJECTED.
Allowed values: WAITING READY SENDING PENDING_APPROVAL PENDING_BITGO_TRUST_APPROVAL REJECTED PENDING FAILED CONFIRMED VALIDATOR_ACTIVATING DELAYED_READY
statusModifiedDate string <date-time>required
The last date the status changed.
error string
The reason the transaction failed.
amount string required
The transaction Amount in base units (i.e. Wei for ETH).
Example: 2000000
Match pattern: ^-?\d+$
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.
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 or null
The label of the wallet where the staking request was created.
withdrawalAddress string required
Withdrawal Address
walletType string required
The type of wallet the staking request was created from either cold, custodial, or hot.
Allowed values: cold custodial custodialPaired hot trading
type string required
The type of staking request.
Allowed values: STAKE UNSTAKE CLAIM_REWARDS SWITCH_VALIDATOR CHECKPOINT UNSUPPORTED
coin string required
The staking asset.
Allowed values: ADA ASI ATOM AVAXC AVAXP BABY BERA BLD BSC BTC COREDAO COREUM CRONOS CSPR DOT EIGEN ETH HASH INJECTIVE MATIC NEAR OSMO POL POLYX RETH-ROCKET SEI SOMI SOL STX SUI SUI:WAL TAO TIA TON TRX WETH WCT WFLR ZETA
createdDate string <date-time>required
The date the staking request was created.
status string 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.
Allowed values: NEW PENDING_VALIDATORS READY PENDING_APPROVAL PENDING_BITGO_TRUST_APPROVAL PENDING FAILED REJECTED VALIDATOR_ACTIVATING PARTIAL_CONFIRMED CONFIRMED COOLDOWN WARMUP DELAYED_COOLDOWN DELAYED_WARMUP ETH_PARTIAL_EXITED ETH_EXITED
statusModifiedDate string <date-time>required
The last date the status changed.
error
string or null
The reason the staking request failed.
rawError
string or null
Raw internal error message if available.
totalStaked
string or null
The sum of the amounts of all confirmed staking transactions in this request.
Example: 2000000
Match pattern: ^-?\d+$
isRestaking
boolean or null
Whether this request is a restaking operation.
propertiesOne of
amount string required
The amount involved in the staking request.
Example: 2000000
Match pattern: ^-?\d+$
objectType string required
Type of staking request entity properties.
Allowed values: AVAXP_STAKE ETH_STAKE TRX TRX_UNSTAKE TRX_CLAIM_REWARDS ETH_CLAIM_REWARDS ETH_CHECKPOINT ETH_UNSTAKE ETH_STAKE_P2P NEAR_STAKE SOL_STAKE SOL_UNSTAKE DOT_STAKE MATIC_STAKE UNSTAKE MATIC_UNSTAKE CSPR_STAKE CSPR_UNSTAKE SUI_STAKE SUI_SWITCH SUI_UNSTAKE ADA_STAKE ADA_CLAIM_REWARDS ATOM_STAKE ATOM_CLAIM_REWARDS COSMOS_STAKE COSMOS_CLAIM_REWARDS COSMOS_SWITCH BASE_SWITCH BSC_STAKE TON_STAKE TON_UNSTAKE STX_STAKE STX_UNSTAKE EIGEN_STAKE EIGEN_CLAIM_REWARDS EIGEN_UNSTAKE BTC_STAKE BTC_UNSTAKE BTC_CLAIM_REWARDS WCT_STAKE WCT_UNSTAKE WCT_CLAIM_REWARDS COREDAO_STAKE COREDAO_UNSTAKE COREDAO_CLAIM_REWARDS BERA_STAKE BERA_UNSTAKE TAO_STAKE TAO_UNSTAKE TAO_SWITCH POLYX_STAKE POLYX_UNSTAKE ICP AVAXC_STAKE AVAXC_UNSTAKE WFLR_STAKE WFLR_UNSTAKE SOMI_STAKE VET_STAKE WFLR_CLAIM_REWARDS UNKNOWN

400 Response

error string
errorName string
reqId string
context object

401 Response

error string
errorName string
reqId string
context object

403 Response

error string
errorName string
reqId string
context object

404 Response

error string
errorName string
reqId string
context object

409 Response

error string
errorName string
reqId string
context object

500 Response

error string
errorName string
reqId string
context object