Staking Request Creation

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

Create a Staking Request of type STAKE or UNSTAKE.

Path Parameters

  • coinstringRequired
    The staking asset.
  • walletIdstringRequired
    The wallet id
    Example: "59cd72485007a239fb00282ed480da1f"

Request Body

One of
clientId string
Optional user generated identifier to detect duplicated requests.
amount string required
Amount to stake in “base units” (i.e. Wei for ETH) For Ethereum the amounts need to be a multiple of 32 Eth (32000000000000000000 Wei). For Testnet the 32 Eth multiple restriction does not apply.
Example: 32000000000000000000
type string required
Staking Request type = 'STAKE'
Example: STAKE

202 Response

One of
delegations array[object]
Min items: >= 1 items
Max items: <= 1 items
id string
Staking Request Id.
coin string
The staking asset
walletId string
The id of the wallet where the delegation is tied to
delegationAddress string
Delegation Address
withdrawalAddress string
Withdrawal Address
delegated string
Delegation amount
status string
Delegation status
rewards string
Lifetime rewards received
lockedRewards string
Locked rewards received
pendingUnstake string
Amount that is pending unstake
pendingStake string
Amount that is pending stake
apy string
The estimated reward APY (or APR if rewards are not compounding)
unstakingFee string
Total fees needed in the wallet to unstake an amount from the delegation
unstakingMin string
Min amount needed to unstake from the delegation
transactions array[Staking Transaction]
Min items: >= 1 items
Max items: <= 500 items
id string
Staking Transaction Id
stakingRequestId string required
Staking Request Id.
txHash string
The transaction hash
createdDate string <date-time>required
The date the transaction was created
statusModifiedDate string <date-time>required
The last modified date the status changed
amount string required
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 new Transaction Request API
transactionType string required
Transaction type (delegate)
Allowed values: delegate reward undelegate withdraw_undelegated authorize
status string required
The status of the transaction (NEW, READY, INITIATED, CONFIRMED, REJECTED).
Allowed values: WAITING READY SENDING PENDING_APPROVAL PENDING_BITGO_TRUST_APPROVAL REJECTED PENDING FAILED CONFIRMED VALIDATOR_ACTIVATING DELAYED_READY
error string
The reason why the transaction failed
amount string
Amount to stake in “base units”
durationSeconds integer
The length of time in seconds to complete a staking period.
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 from
walletId string required
The id of the wallet where the staking request was created from
withdrawalAddress string required
Withdrawal Address
walletType string required
The type of wallet the staking request was created from (cold, custodial, hot)
type string required
The type of staking request.
Allowed values: STAKE UNSTAKE CLAIM_REWARDS SWITCH_VALIDATOR UNSUPPORTED
coin string required
The coin to be staked (ETH, MATIC, NEAR, SOL)
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 a 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 required
The last modified date the status changed
error string
The reason why the staking request failed
totalStaked string
The sum of the amounts of all confirmed staking transactions in this request
Example: 2000000
Match pattern: ^-?\d+$

400 Response

One of
code string
message string
status integer

401 Response

code string
message string
status integer

403 Response

code string
message string
status integer

404 Response

code string
message string
status integer

409 Response

code string
message string
status integer

500 Response

code string
message string
status integer