Consolidate account (simple)
Build, sign, and send a consolidation transaction for an account-based asset all in 1 call. For account-based assets, consolidating the balances in the receive addresses to the base address maximizes the spendable balance of a wallet.
Path Params
-
coinstring requiredA cryptocurrency or token ticker symbol. -
walletIdstring requiredThe wallet ID.
Body Params
object
-
consolidateAddressesarray of stringsOptional: restrict the consolidation to the specified receive addresses. If not provided, will consolidate the funds from all receive addresses up to 500 addresses. -
walletPassphrasestringPassphrase to decrypt the user key on the wallet. Required if External Signer is not used to sign the transactions. -
prvstringThe un-encrypted user private key in string form. If the key is a JSON object it must be stringified. Required ifwalletPassphraseis not available or encrypted private key is not stored by BitGo. -
apiVersionstring enumThe Trasaction Request API version to use for MPC EdDSA Hot Wallets. Defaults based on the wallet type and asset curve.fulllite
Responses
200
OK
Response Body
object
-
successarray of objects requiredAn Array of TransactionRequest or Transfers.ONE OF
-
txRequestIdstring requiredA unique ID for the TxRequest document across all wallets. The combination of the txRequestId and version will always be unique. -
versionnumber requiredThe version of the document. Data changes are done only with inserts and incrementing the version. -
latestboolean requiredA boolean flag that indicates whether the document is the latest version of the TxRequest. -
walletIdstring requiredThe id of the Wallet the TxRequest is for. -
walletTypestring enumThe type describes who owns the keys to the wallet associated to the TxRequest.coldcustodialcustodialPairedhottradingdistributedCustodyadvanced -
enterpriseIdstringIf the wallet that owns the TxRequest is owned by an enterprise then this is the Id of said enterprise. -
statestring enum requiredinitializedpendingApprovalpendingUserCommitmentpendingUserRSharependingUserGSharereadyToSendpendingUserSignaturependingDeliverysigneddeliveredcanceledrejectedfailed -
datestring date-time requiredThe date and time this version of the TxRequest document was created. -
createdDatestring date-time requiredThe date and time the version 1 TxRequest document was created. -
userIdstring requiredThe Id of the User that produced this version of the TxRequest document. Could have created a new document or updated an existing document. -
initiatedBystring requiredThe Id of the User that originally created the TxRequest document (initiated the TxRequest). -
updatedBystring requiredThe Id of the User that last updated the TxRequest document. This is an alias for the userId field. -
intentobject requiredANY OF
- AdaStakeIntent1
- ConsolidateTokenIntent1
- CosmosContractCallIntent1
- DOTClaimIntent
- DotPaymentIntent1
- DotStakingIntent1
- DotUnstakingIntent1
- EthAccelerationIntent1
- EthFillNonceIntent1
- EthPaymentIntent1
- ETHSignMessageIntent
- EthStakingIntent1
- NearStakeIntent1
- NearUnstakeIntent1
- NearWithdrawIntent1
- SolClaimIntent1
- SolCloseAssociatedTokenAccountIntent1
- SolCreateAssociatedTokenAccountIntent1
- SolStakeIntent1
- SolUnstakeIntent1
- TransferTokenIntent1
- TrxDelegateResourceIntent1
- TrxUndelegateResourceIntent1
- UnstakeIntent2
- WalletRecoveryIntent1
- WithdrawIntent2
No matching variants
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
stakingRequestIdstring required -
intentTypestring enum requiredstake -
poolKeyHashstring requiredThe pool key hash to which the coins will be delegated to.
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
feeOptionsobjectONE OF
-
unitstring enumbaseUnitcpuram -
formulastring enumfixedfeeRateperKBcustomperVKB -
feeTypestring enumbasemaxtip -
gasLimitnumber -
gasPricenumber
-
gasLimitnumber -
maxFeePerGasnumber -
maxPriorityFeePerGasnumber
-
-
hopParamsobjecthopParams object
-
gasPriceMaxnumber required -
paymentIdstring required -
userReqSigstring required
-
-
receiveAddressstring -
senderAddressIndexnumber -
noncestring or number -
intentTypestring enum requiredconsolidateToken -
recipientsarray of objects requiredrecipients object
-
addressobject requiredaddress object
-
addressstring required -
optionsobject
-
-
amountobject requiredamount object
-
valuestring requiredThe value should be a valid number. -
symbolstring requiredThe coin or token the value is referring to.
-
-
datastring -
tokenDataobjecttokenData object
-
tokenTypestringThe type of standard of the token. -
tokenQuantitystringThe quantity of token to transfer (should be 1 for ERC721). -
tokenContractAddressstringAddress of the token contract which is necessary if the token is not supported on WP. -
tokenNamestringName of the token as it is supported on WP. -
tokenIdstringId of the token to be transferred which is required for NFTs. -
decimalPlacesnumberNumber of decimal places the token uses (for fungible tokens unsupported in WP).
-
-
-
consolidateIdstringConsolidation ID of this consolidation transaction -
keepAlivestringTrue, if excluding the minimum-funding amounts in an address during consolidation.
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
intentTypestring enum requiredcontractCall -
contractstring requiredThe address of the contract to call. -
msgHexstring requiredThe binary message data to send to the contract in hex format.
-
noncestring -
feeobjectfee object
-
amountstring required -
unitstring enumbaseUnitcpuram -
formulastring enumfixedfeeRateperKBcustom -
typestring enumbasemaxtip
-
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
stakingRequestIdstring required -
intentTypestring enum requiredclaim
-
proxyobject requiredproxy object
-
namestring -
addressStringstring -
assetstring -
amountStringstring
-
-
ownerstring required -
intentstring enum requiredpayment -
recipientsarray of objects requiredrecipients object
-
addressobject requiredaddress object
-
addressstring -
optionmap of objectsoption object
-
<key>object
-
-
-
amountobject requiredamount object
-
valuestring required -
symbolstring required
-
-
datastring
-
-
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
feeobjectfee object
-
amountstring or number required -
formulastring enumfixedfeeRateperKBcustom -
typestring enumbasemaxtip -
unitstring enumbaseUnitcpuram
-
-
noncestring or number
-
amountobject requiredamount object
- Same shape as
Amount1.
- Same shape as
-
stakingProxystring required -
addToStakeboolean -
addProxyboolean -
intentTypestring enum requiredstake -
stakingRequestIdstring required -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
feeobjectfee object
-
amountstring or number required -
formulastring enumfixedfeeRateperKBcustom -
typestring enumbasemaxtip -
unitstring enumbaseUnitcpuram
-
-
noncestring or number
-
amountobject requiredamount object
- Same shape as
Amount1.
- Same shape as
-
stakingProxystring required -
stopStakingboolean -
intentTypestring enum requiredunstake -
stakingRequestIdstring required -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
feeobjectfee object
-
amountstring or number required -
formulastring enumfixedfeeRateperKBcustom -
typestring enumbasemaxtip -
unitstring enumbaseUnitcpuram
-
-
noncestring or number
-
feeOptionsobject requiredONE OF
-
unitstring enumbaseUnitcpuram -
formulastring enumfixedfeeRateperKBcustomperVKB -
feeTypestring enumbasemaxtip -
gasLimitnumber -
gasPricenumber
-
gasLimitnumber -
maxFeePerGasnumber -
maxPriorityFeePerGasnumber
-
-
intentTypestring enum requiredacceleration -
txidstring required -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
hopParamsobjecthopParams object
-
gasPriceMaxnumber required -
paymentIdstring required -
userReqSigstring required
-
-
receiveAddressstring -
senderAddressIndexnumber -
noncestring or number
-
intentTypestring enum requiredfillNonce -
noncestring or number required -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
feeOptionsobjectONE OF
-
unitstring enumbaseUnitcpuram -
formulastring enumfixedfeeRateperKBcustomperVKB -
feeTypestring enumbasemaxtip -
gasLimitnumber -
gasPricenumber
-
gasLimitnumber -
maxFeePerGasnumber -
maxPriorityFeePerGasnumber
-
-
receiveAddressstring -
senderAddressIndexnumber
-
selfSendboolean required -
intentstring enum requiredpayment -
recipientsarray of objects requiredrecipients object
-
addressobject requiredaddress object
- Same shape as
Address1.
- Same shape as
-
amountobject requiredamount object
- Same shape as
Amount1.
- Same shape as
-
datastring
-
-
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
feeOptionsobjectONE OF
-
unitstring enumbaseUnitcpuram -
formulastring enumfixedfeeRateperKBcustomperVKB -
feeTypestring enumbasemaxtip -
gasLimitnumber -
gasPricenumber
-
gasLimitnumber -
maxFeePerGasnumber -
maxPriorityFeePerGasnumber
-
-
hopParamsobjecthopParams object
-
gasPriceMaxnumber required -
paymentIdstring required -
userReqSigstring required
-
-
receiveAddressstring -
senderAddressIndexnumber -
noncestring or number
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
intentTypestring enum requiredsignMessage
-
pubkeystring required -
withdrawalCredentialsstring required -
signaturestring required -
depositDataRootstring required -
intentTypestring enum requiredstake -
stakingRequestIdstring required -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
feeOptionsobjectONE OF
-
unitstring enumbaseUnitcpuram -
formulastring enumfixedfeeRateperKBcustomperVKB -
feeTypestring enumbasemaxtip -
gasLimitnumber -
gasPricenumber
-
gasLimitnumber -
maxFeePerGasnumber -
maxPriorityFeePerGasnumber
-
-
hopParamsobjecthopParams object
-
gasPriceMaxnumber required -
paymentIdstring required -
userReqSigstring required
-
-
receiveAddressstring -
senderAddressIndexnumber -
noncestring or number
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
stakingRequestIdstring required -
intentTypestring enum requiredstake -
recipientsarray of objects requiredrecipients object
- Same shape as
RecipientEntry1.
- Same shape as
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
stakingRequestIdstring required -
intentTypestring enum requiredunstake -
recipientsarray of objects requiredrecipients object
- Same shape as
RecipientEntry1.
- Same shape as
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
stakingRequestIdstring required -
intentTypestring enum requiredclaim -
recipientsarray of objects requiredrecipients object
- Same shape as
RecipientEntry1.
- Same shape as
-
stakingAddressstring required -
amountobject requiredamount object
- Same shape as
Amount1.
- Same shape as
-
intentTypestring enum requiredclaim -
amountobject requiredamount object
-
symbolstring required -
valuestring required
-
-
stakingRequestIdstring required -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
memostring required -
noncestring or number
-
intentTypestring enum requiredcloseAssociatedTokenAccount -
recipientsarray of objects requiredrecipients object
- Same shape as
RecipientEntry1.
- Same shape as
-
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
memostring required -
noncestring or number
-
intentTypestring enum requiredenableToken -
enableTokensarray of objects requiredenableTokens object
-
namestring required -
addressstring
-
-
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
memostring required -
noncestring or number
-
validatorAddressstring required -
amountobject requiredamount object
- Same shape as
Amount1.
- Same shape as
-
intentTypestring enum requiredstake -
stakingRequestIdstring required -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
memostring required -
noncestring or number
-
stakingAddressstring required -
amountobjectamount object
-
symbolstring required -
valuestring required
-
-
remainingStakingAmountobjectremainingStakingAmount object
-
symbolstring required -
valuestring required
-
-
intentTypestring enum requiredunstake -
stakingRequestIdstring required -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number -
memostring required -
noncestring or number
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
intentTypestring enum requiredtransferToken -
recipientsarray of objectsrecipients object
- Same shape as
RecipientEntry1.
- Same shape as
-
intentTypestring enum requireddelegateResource -
stakingRequestIdstring required -
ownerAddressstring requiredTRON address delegating resources (typically the wallet root address) -
receiverAddressstring requiredTRON address receiving the delegated ENERGY or BANDWIDTH -
amountobject requiredamount object
- Same shape as
Amount1.
- Same shape as
-
resourcestring enum requiredENERGYBANDWIDTH -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number
-
intentTypestring enum requiredundelegateResource -
stakingRequestIdstring required -
ownerAddressstring requiredTRON address that delegated the resources (typically the wallet root address) -
receiverAddressstring requiredTRON address from which resources are being undelegated -
amountobject requiredamount object
- Same shape as
Amount1.
- Same shape as
-
resourcestring enum requiredENERGYBANDWIDTH -
intentTypestring enum requiredpaymenttransferTokenconsolidateconsolidateTokenfanoutstakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenauthorizeaccelerationfillNoncewalletRecoverycontractCalldeactivatecustomTxcloseAssociatedTokenAccountdelegateResourceundelegateResource -
sequenceIdstring -
commentstring -
noncestring or number
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
stakingRequestIdstring required -
intentTypestring enum requiredunstake
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly.
-
intentTypestring required -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because BitGo only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. It is the responsibility of the caller to keep track of this ID. -
commentstringThecommentis only visible to users on the wallet and is not shared publicly. -
noncestringThe 'nonce' of a transaction (optional) -
memostringAmemois an additional address feature necessary for identifying a transaction recipient beyond wallet address. -
stakingRequestIdstring required -
intentTypestring enum requiredclaim
-
intentsarray of objects requiredintents object
- Same shape as
TransactionRequestIntent.
- Same shape as
-
pendingApprovalIdstringThe id of the Pending Approval that was created for the TxRequest if one was required. -
isCanceledbooleanTrue, if the transaction request is canceled. -
unsignedTxsarray of objectsHolds all unsigned transactions that will be used to fulfill the TxRequest for MPC wallets.unsignedTxs object
-
serializedTxHexstring requiredThe unsigned transaction as a hex string. -
signableHexstring requiredThe portion of a transaction used to generate a signature (may or may not be the same as serializedTxHex) as a hex string. -
derivationPathstringA bip32 path. -
feeInfoobjectfeeInfo object
-
feeStringstring required -
feenumber required
-
-
coinSpecificobjectCoin specific information. -
parsedTxobjectThe parsed transaction information.parsedTx object
-
minerFeestring required -
spendAmountstring -
spendAmountsarray of objectsspendAmounts object
-
coinNamestring -
amountStringstring
-
-
payGoFeestring -
outputsarray of objects requiredoutputs object
-
addressstring required -
isPayGoboolean -
valuenumber -
walletstring -
walletV1string -
baseAddressstring -
enterprisestring -
valueStringstring required -
datastring -
changeboolean -
coinNamestring
-
-
inputsarray of objects requiredinputs object
-
derivationIndexnumber -
valuenumber required -
addressstring -
valueStringstring required -
chainnumber -
indexnumber
-
-
typestring -
memostring
-
-
-
signatureSharesarray of objectsOnly used for MPC coins. This is used to collect signature shares from and exchange them with the user.signatureShares object
-
fromstring enum requiredThe source of the signature share.userbackupbitgo -
tostring enum requiredThe recipient of the signature share.userbackupbitgo -
sharestring requiredThe signature share.
-
-
commitmentSharesarray of objectsOnly used for MPC coins on EdDSA curve. This is used to collect commitment shares from and exchange them with the user.commitmentShares object
-
fromstring enum requiredThe source of the commitment share.userbackupbitgo -
tostring enum requiredThe recipient of the commitment share.userbackupbitgo -
sharestring requiredThe commitment share. -
typestring enum requiredThe type of the commitment share.commitment
-
-
txHashesarray of strings
-
txRequestIdstring requiredA unique ID for the TxRequest document across all wallets. The combination of the txRequestId and version will always be unique. -
versionnumber requiredThe version of the document. Data changes are done only with inserts and incrementing the version. -
latestboolean requiredA boolean flag that indicates whether the document is the latest version of the TxRequest. -
walletIdstring requiredThe id of the Wallet the TxRequest is for. -
walletTypestring enumThe type describes who owns the keys to the wallet associated to the TxRequest.coldcustodialcustodialPairedhottradingdistributedCustodyadvanced -
enterpriseIdstringIf the wallet that owns the TxRequest is owned by an enterprise then this is the Id of said enterprise. -
statestring enum requiredinitializedpendingApprovalpendingUserCommitmentpendingUserRSharependingUserGSharereadyToSendpendingUserSignaturependingDeliverysigneddeliveredcanceledrejectedfailed -
datestring date-time requiredThe date and time this version of the TxRequest document was created. -
createdDatestring date-time requiredThe date and time the version 1 TxRequest document was created. -
userIdstring requiredThe Id of the User that produced this version of the TxRequest document. Could have created a new document or updated an existing document. -
initiatedBystring requiredThe Id of the User that originally created the TxRequest document (initiated the TxRequest). -
updatedBystring requiredThe Id of the User that last updated the TxRequest document. This is an alias for the userId field. -
intentobject requiredintent object
- Same shape as
TransactionRequestIntent.
- Same shape as
-
intentsarray of objects requiredintents object
- Same shape as
TransactionRequestIntent.
- Same shape as
-
pendingApprovalIdstringThe id of the Pending Approval that was created for the TxRequest if one was required. -
isCanceledbooleanTrue, if the transaction request is canceled. -
transactionsarray of objects requiredTransaction information.transactions object
-
statestring enum requiredinitializedpendingSignatureeddsaPendingCommitmenteddsaPendingRShareeddsaPendingGSharereadyToCombineSharessignedhelddeliveredinvalidSignaturerejectedecdsaMPCv2Round1ecdsaMPCv2Round2ecdsaMPCv2Round3 -
unsignedTxobject requiredHolds the unsigned transaction for this transaction in a tx-request.unsignedTx object
-
serializedTxHexstring requiredThe unsigned transaction as a hex string. -
signableHexstring requiredThe portion of a transaction used to generate a signature (may or may not be the same as serializedTxHex) as a hex string. -
derivationPathstringA bip32 path. -
feeInfoobjectfeeInfo object
-
feeStringstring required -
feenumber required
-
-
coinSpecificobjectCoin specific information. -
parsedTxobjectThe parsed transaction information.parsedTx object
-
minerFeestring required -
spendAmountstring -
spendAmountsarray of objectsspendAmounts object
-
coinNamestring -
amountStringstring
-
-
payGoFeestring -
outputsarray of objects requiredoutputs object
-
addressstring required -
isPayGoboolean -
valuenumber -
walletstring -
walletV1string -
baseAddressstring -
enterprisestring -
valueStringstring required -
datastring -
changeboolean -
coinNamestring
-
-
inputsarray of objects requiredinputs object
-
derivationIndexnumber -
valuenumber required -
addressstring -
valueStringstring required -
chainnumber -
indexnumber
-
-
typestring -
memostring
-
-
-
signatureSharesarray of objectsOnly used for MPC coins. This is used to collect signature shares from and exchange them with the user. Holds the signature shares for this transaction in a tx-request.signatureShares object
- Same shape as
SignatureShare.
- Same shape as
-
commitmentSharesarray of objectsOnly used for MPC coins on EdDSA curve. This is used to collect commitment shares from and exchange them with the user. Holds the commitment shares for this transaction in a tx-request.commitmentShares object
- Same shape as
CommitmentShare.
- Same shape as
-
txHashstringThe hash of the transaction from the TxRequest that has been signed and is pending broadcast. -
bitgoPaillierChallengeobjectBitGo-to-user paillier challenge. Required when signing with ECDSA MPC wallets.bitgoPaillierChallenge object
-
parray of strings
-
-
-
messagesarray of objectsMessages for the transaction request.messages object
-
coinstringThe coin associated with the wallet. -
combineSigSharestring -
createdDatestring date-timeThe date the message was created. -
messageEncodedstringThe message encoded as a hex string. -
messageRawstring requiredThe message as human readable text. -
signatureSharesarray of objectssignatureShares object
- Same shape as
SignatureShare.
- Same shape as
-
statestring enum requiredinitializedpendingApprovalpendingUserCommitmentpendingUserRSharependingUserGSharereadyToSendpendingUserSignaturependingDeliverysigneddeliveredcanceledrejectedfailed -
txHashstringThe signed hex of the message. -
updatedDatestring date-timeThe date when the message state was updated.
-
-
coinstring requiredA cryptocurrency or token ticker symbol. -
idstring required -
walletstring required -
enterprisestring -
txidstring requiredThe on-chain transaction id.
Go Account / OFC wallets: For
ofc_withdrawaltransfers the top-leveltxid(andnormalizedTxHash) is the internal front-transfer hash, not the on-chain transaction hash. The on-chain hash is available inmetadata[].onChainTxIdonce the transfer reaches stateconfirmed. For standardofc_deposittransfers (non-lightning) all three values are identical. For OFC lightning deposits the payment hash is inmetadata[].lightningPaymentHash;onChainTxIdis absent. -
normalizedTxHashstringA normalized form of
txidused for deduplication. For most coins this is identical totxid. For account-model coins (e.g. ETH and its tokens) it may differ fromtxidwhen the transaction is regenerated. For lightning transfers,normalizedTxHashis identical totxid(no transformation is applied).Go Account / OFC withdrawals: Like
txid, this field holds the internal front-transfer hash, not the on-chain hash. Usemetadata[].onChainTxIdfor the on-chain transaction hash. -
txidTypestring enumThe type of the transaction idtransactionHashblockHash -
heightinteger requiredThe height of the block this Transfer was confirmed in (999999999 if unconfirmed) -
heightIdstringThe unique height id of the block -
datestring date-time requiredThe date this Transfer was last updated -
confirmationsinteger requiredThe number of blocks that have been confirmed since this Transfer's block was confirmed -
typestring enum requiredDefines whether or not this Transfer was sent or received by the usersendreceive -
valueintegerThe total value (in base units) sent by this Transfer (may be approximate for ETH and other coins where amounts in base units can exceed 2^53 - 1) -
valueStringstring requiredThe total value (in base units) sent by this Transfer represented as a String -
intendedValueStringstringA string representation (in base units) of the initial value for the transfer. This is present because when a transaction fails on chain, its value is mutated to be zero. This string is immutable and will always be the intended value of the initial transfer regardless of the final state of the transaction. -
baseValueintegerThe value (in base units) sent by this transfer, excluding network fees. BitGo is deprecating this field in the future. Instead, use baseValueWithoutFees. -
baseValueStringstringThe value (in base units) sent by this transfer, excluding network fees represented as a string. BitGo is deprecating this field in the future. Instead, use baseValueWithoutFees. -
baseValueWithoutFeesintegerThe value (in base units) sent by this transfer excluding network fees. -
baseValueWithoutFeesStringstringThe value (in base units) sent by this transfer, excluding network fees, represented as a string -
feeStringstringThe Transfer's fee (in base units) represented as a String -
payGoFeeintegerThe Transfer's BitGo fee (in base units) -
payGoFeeStringstringThe Transfer's BitGo fee (in base units) represented as a String -
usdnumber requiredThe amount of USD of this Transfer (will be negative if it's a send) -
usdRatenumber requiredThe USD price at the time this Transfer was created -
statestring enum requiredThe state of the transfer. Includes the following:
confirmed: The transfer is confirmed on chain.failed: BitGo failed to confirm the transfer on chain. You must retry the transaction.initialized: The initial state when creating a transfer.pendingApproval: The transfer requires admin approval to proceed.rejected: The transfer was rejected by an admin.removed: A network re-org occurred, causing the confirmed transfer to be removed from the blockchain.replaced: The transfer was stuck due to having a low fee and was replaced by a new transfer with a higher fee.signed: The transfer was approved by an admin (if required) and then signed by BitGo.unconfirmed: The signed transaction was sent to the network, and is pending on-chain validation.
confirmedfailedinitializedpendingApprovalrejectedremovedreplacedsignedunconfirmed -
tagsarray of strings requiredThe tags to be used on this Transfer (used in Policies) -
historyarray of objects requiredAn audit log of events that have happened to the Transfer during its lifecyclehistory object
-
datestring date-timeThe date of this history object -
userstring -
actionstring enumcreatedsignedunconfirmedconfirmedapprovedcommentedremovedfailedrejected -
commentstringIf this history object is of actioncommented, this is the comment from the user
-
-
commentstring requiredA comment from the user -
vSizeintegerThe size of the transaction -
coinSpecificobject requiredTransfer fields specific to each coin type -
sequenceIdstringAsequenceIdis a unique and arbitrary wallet identifier applied to transfers and transactions at creation. It is optional but highly recommended. With asequenceIdyou can easily reference transfers and transactions—for example, to safely retry sending. Because the system only confirms one send request persequenceId(and fails all subsequent attempts), you can retry sending without the risk of double spending. ThesequenceIdis only visible to users on the wallet and is not shared publicly. -
consolidateIdstringConsolidation ID if this transfer is part of a consolidation -
txRequestIdstringAssociated transaction request ID -
goStakingRequestIdstringAssociated GO staking request ID -
subTypestring enumTransfer subtypeofc_withdrawalofc_depositofc_unstakeofc_stakeofc_book_transfer -
feeCoinstringThe coin used to pay the fee (for cross-chain transactions) -
instantbooleanWhether this is an instant transaction -
instantIdstringThe instant transaction ID if applicable -
isFeebooleanWhether this transfer represents a fee -
isRewardbooleanWhether this transfer represents a staking reward -
isUnlockbooleanWhether this transfer represents an unlock operation -
metadataarray of objectsKey-value pairs carrying additional metadata about the transfer. The same key may appear more than once.
Known keys (alphabetical). This list reflects all keys defined in the current server release; additional keys may be added in future releases without a breaking-change notice.
backingTransferBroadcastTimestamp— Timestamp (ISO 8601) at which the backing on-chain transaction was broadcast to the network.lightningPaymentHash— (OFC lightning transfers only) The Lightning Network payment hash for the transfer. Present on bothofc_withdrawalandofc_depositlightning transfers; forofc_depositlightning transfers this key is used instead ofonChainTxId.onChainTxId— (Go Account / OFC non-lightning transfers only) The on-chain transaction hash of the backing transfer. Forofc_withdrawaltransfers this key is absent while the transfer is in statesigned; it is populated once the transfer reaches stateconfirmed(i.e. once the backing on-chain transaction is confirmed). Poll untilstate === 'confirmed'before reading this field. Use this value — not the top-leveltxid— when reconciling against a block explorer or external ledger. For standardofc_deposittransfers (non-lightning) this value equals the top-leveltxid.replacedBy— Transfer ID of the transfer that replaced this entry.replaces— Transfer ID of the transfer this entry replaces.reversedBy— Transfer ID of the transfer that reversed this entry.reverses— Transfer ID of the transfer this entry reverses.rtId— Internal routed-transaction ID linking a front transfer to its backing Go Account routed transaction.stablecoinTxType— Transaction type for stablecoin transfers (e.g.mint,reward,burn).tokenizationUniquenessId— (Tokenization withdrawals only) Internal identifier used to prevent double-spends on a tokenization withdrawal. Derived from the tokenization order ID; not guaranteed to equal the order ID in rare same-merchant/same-amount/same-instant collisions.
metadata object
-
keystringThe metadata key name. See themetadataarray description for documented values. Additional keys may be present. -
valuestring
-
sendAccountingarray of objectsAccounting breakdown for send transactionssendAccounting object
-
typestring -
amountStringstring -
nOutsinteger -
amountinteger -
idstring
-
-
createdTimestring date-timeThe time this transfer was created -
approvedTimestring date-timeThe time this transfer was approved -
rejectedTimestring date-timeThe time this transfer was rejected -
signedTimestring date-timeThe time this transfer was signed -
unconfirmedTimestring date-timeThe time this transfer became unconfirmed -
confirmedTimestring date-timeThe time this transfer was confirmed -
removedTimestring date-timeThe time this transfer was removed -
commentedTimestring date-timeThe time this transfer was commented on -
failedTimestring date-timeThe time this transfer failed -
regeneratedTimestring date-timeThe time this transfer was regenerated -
replacedTimestring date-timeThe time this transfer was replaced -
replacingTimestring date-timeThe time this transfer started replacing another -
abandonedTimestring date-timeThe time this transfer was abandoned -
signedDatestring date-timeThe date this transfer was signed (legacy field) -
customerApprovedTimestring date-timeThe time this transfer was approved by the customer (trust transfers) -
idVerificationTimestring date-timeThe time identity verification was completed (trust transfers) -
trustSignedTimestring date-timeThe time this transfer was signed by trust (trust transfers) -
trustFinalApprovalTimestring date-timeThe time this transfer received final trust approval (trust transfers) -
walletLabelstringLabel of the wallet associated with this transfer -
enterpriseNamestringName of the enterprise associated with this transfer -
ellipticstringElliptic risk score information (trust transfers) -
senderInformationVerifiedbooleanWhether sender information has been verified (trust transfers) -
buildParamsmapParameters used to build the transaction -
entriesarray of objectsAn array of objects describing the change in address balances made as a result of this Transferentries object
-
addressstringAn address affected by this Transfer -
walletstringOnly visible when the user has access to the wallet -
valueintegerThe change (in base units) in the address's balance -
valueStringstringThe change (in base units) in the address's balance represented as a String -
isChangebooleanTrue if this address is a change address (only exists for UTXO coins) and if this is asentTransfer -
isPayGobooleanTrue if this address is the BitGo PayGo wallet -
tokenstringIf this is a token entry, the token's symbol -
labelstringNames of addresses given by the user. -
failedbooleantrue if this entry is failed. -
associatedNativeCoinAddressstringThe native coin receive address associated with the solana ATA address. This is currently present only for BitGo addresses. -
memostringMemo associated with this entry. Only available for STX, EOS, SOL, NEAR, and POLYX. For other coins (XLM, XRP, Cosmos-based, TON, Tempo), memo is stored at the transaction level or appended to the address. -
typestringThe type of this entry (e.g., transfer, fee, contract_call). -
nftIdstringNFT ID associated with this entry. Only present for NFT transfers. -
nftSymbolstringNFT symbol associated with this entry. Only present for NFT transfers.
-
-
usersNotifiedbooleanWhether BitGo already sent notifications to the users of the transfer wallet -
labelstringAddress labels (if any) from entries concatenated. -
replacesarray of stringsTransaction IDs that this transfer replaces. -
replacedByarray of stringsTransaction IDs that replace this transfer. -
riskIndicatorsarray of string enumsRisk indicators detected on this transfer (e.g. SELFDESTRUCT opcode). Transfers with risk indicators will not trigger webhook or email notifications.SELFDESTRUCT
-
-
failurearray of strings requiredAn Array of Error messages.
400
Bad Request
Response Body
ONE OF
-
errorstring requiredHuman-readable error message -
requestIdstring requiredClient request id -
contextobjectProperties that apply to a specific error name -
namestring requiredError code
-
errorstring requiredHuman-readable error message -
requestIdstring requiredClient request id -
contextobject requiredcontext object
-
idstring
-
-
namestring enum requiredError codeInvalidWalletId