---
title: "Rebuild multiple transaction requests"
method: POST
path: "/api/v2/wallet/{walletId}/txrequests/rebuild"
tags: ["Transaction request"]
---

# Rebuild multiple transaction requests

`POST /api/v2/wallet/{walletId}/txrequests/rebuild`

Rebuild the unsigned transactions for multiple transaction requests in a single call. A rebuild resets existing signature shares and reconstructs each unsigned transaction from its original intent, which is necessary when a previously built transaction becomes invalid (for example, due to a changed nonce or updated fee estimate). Transaction requests are rebuilt sequentially in creation-date order.

## Path parameters

- `walletId` string, required

## Request body

- object
  - `txRequestIds` string[], required

## Response `200`

OK

- union[]
  - union
    - TransactionRequestLite
      - `intent` union
        - object — The intent of the transaction request
          - `unspents` string[]
          - `intentType` 'consolidate', required — Must be "consolidate".
          - `receiveAddress` string, required — Destination address for consolidated funds. Must be a wallet-owned address.
          - `senderAddressIndex` number
          - `consolidateId` string
          - `recipients` object[]
            - `tokenData` TokenData
              - …
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `keepAlive` boolean
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `unspents` string[], required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
        - object — The intent of the transaction request
          - `unspents` string[], required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
        - object — The intent of the transaction request
          - `intentType` 'stakeClaimRewards', required — Must be "stakeClaimRewards".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `poolKeyHash` string, required
          - `dRepId` string, required
          - `amount` object
            - `symbol` string, required
            - `value` string, required
          - `intentType` 'stake', required — Must be "stake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `poolKeyHash` string, required
          - `amount` object
            - `symbol` string, required
            - `value` string, required
          - `intentType` 'unstake', required — Must be "unstake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `dRepId` string, required
          - `intentType` 'voteDelegation', required
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'customTx', required
          - `aptosCustomTransactionParams` object, required
            - `moduleName` string, required
            - `functionName` string, required
            - `typeArguments` string[]
            - `functionArguments` unknown[]
              - …
            - `abi` EntryFunctionABI
              - …
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `maxGasAmount` number
          - `gasUnitPrice` number
          - `expirationTime` number
        - object — The intent of the transaction request
          - `memo` string, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
        - object — The intent of the transaction request
          - `memo` string, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
        - object — The intent of the transaction request
          - `validatorAddress` string, required — Bech32 validator address to delegate tokens to (e.g. cosmosvaloper1...).
          - `recipients` object[]
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `intentType` 'stake', required — Must be "stake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `validatorAddress` string, required — Bech32 validator address to undelegate tokens from (e.g. cosmosvaloper1...).
          - `recipients` object[]
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `intentType` 'unstake', required — Must be "unstake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `intentType` 'createBtcDelegation', required — Register a BTC delegation on the Babylon chain for Baby BTC staking.
          - `createBtcDelegationBytes` string, required
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'stakeClaimRewards', required
          - `type` string, required
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'delegate', required
          - `validatorAddress` string, required
          - `relayerFee` string
          - `delegateVotePower` string
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `intentType` 'undelegate', required
          - `validatorAddress` string, required
          - `relayerFee` string
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `validatorAddress` string, required
          - `requestNumber` number, required
          - `intentType` 'claim', required — Must be "claim".
          - `amount` object
            - `symbol` string, required
            - `value` string, required
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'allocationAllocate', required
          - `txRequestId` string, required
          - `updateId` string
          - `operatorId` string
          - `contractId` string, nullable
          - `tradeId` string
          - `transferLegId` string
          - `senderPartyId` string
          - `receiverPartyId` string
          - `amount` string
          - `token` string
          - `receiveToken` string
          - `receiveAmount` string
          - `allocateBefore` string
          - `settleBefore` string
          - `comment` string — Human-readable memo attached to the transaction.
          - `requestedAt` string
          - `sequenceId` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'allocationOfferWithdrawn', required
          - `transferOfferId` string, required
          - `token` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'allocationReject', required
          - `txRequestId` string, required
          - `updateId` string
          - `operatorId` string
          - `contractId` string, nullable
          - `tradeId` string
          - `transferLegId` string
          - `senderPartyId` string
          - `receiverPartyId` string
          - `amount` string
          - `token` string
          - `receiveToken` string
          - `receiveAmount` string
          - `allocateBefore` string
          - `settleBefore` string
          - `comment` string — Human-readable memo attached to the transaction.
          - `requestedAt` string
          - `sequenceId` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'allocationRequest', required
          - `updateId` string, required
          - `operatorId` string, required
          - `contractId` string, nullable, required
          - `tradeId` string, required
          - `transferLegId` string, required
          - `senderPartyId` string, required
          - `receiverPartyId` string, required
          - `amount` string, required
          - `token` string, required
          - `receiveToken` string, required
          - `receiveAmount` string, required
          - `allocateBefore` string, required
          - `settleBefore` string, required
          - `comment` string — Human-readable memo attached to the transaction.
          - `requestedAt` string
          - `sequenceId` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'cosignDelegationAccept', required
          - `txRequestId` string, required
          - `operatorId` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'cosignDelegationProposal', required
          - `contractId` string, required
          - `operatorId` string, required
          - `updateId` string, required
          - `packageName` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'cantonCommand', required
          - `cantonCommandParams` CantonCommandParams, required
            - `command` union, required
              - …
            - `actAs` string[], required
            - `readAs` string[]
            - `resolveContracts` object[]
              - …
          - `token` string — Optional registered coin/token identifier for the command target (e.g. "tcanton:stgusd1"). This is not an auth/session token.
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `memo` string
          - `isConsolidate` boolean
          - `numberOfSplits` number
          - `unspents` string[], required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
        - object — The intent of the transaction request
          - `memo` string
          - `isConsolidate` boolean
          - `numberOfSplits` number
          - `unspents` string[], required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
        - object — The intent of the transaction request
          - `intentType` 'transferAccept', required
          - `txRequestId` string, required
          - `token` string
          - `expiry` number
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'transferAcknowledge', required
          - `contractId` string, required
          - `senderPartyId` string, required
          - `updateId` string, required
          - `amount` string, number, required
          - `expiry` number, required
          - `memoId` string
          - `token` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'transferOfferWithdrawn', required
          - `transferOfferId` string, required
          - `token` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'transferReject', required
          - `txRequestId` string, required
          - `token` string
          - `expiry` number
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'cantonEndInvestorOnboardingOffer', required
          - `endInvestorPartyId` string, required
          - `participantPartyId` string
          - `comment` string — Human-readable memo attached to the transaction.
          - `sequenceId` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'cantonEndInvestorOnboardingAccept', required
          - `txRequestId` string, required
          - `participantPartyId` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'cantonEndInvestorOnboardingReject', required
          - `txRequestId` string, required
          - `reason` string, required
          - `participantPartyId` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'cantonParticipantOnboardingRequest', required
          - `operator` string, required
          - `provider` string, required
          - `compliance` string, required
          - `registrar` string, required
          - `clientOnboarder` string, required
          - `expirationIso` string
          - `comment` string — Human-readable memo attached to the transaction.
          - `sequenceId` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'claim', required — Must be "claim".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'contractCall', required — Must be "contractCall"
          - `contract` string, required — Bech32 contract address to execute
          - `msgHex` string, required — Hex-encoded binary message to pass to the contract Execute entrypoint
          - `feeGranter` string — Optional Bech32 address paying transaction fees on behalf of the submitter (fee-grant). Supported on hash chain; passed through for any chain.
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `memo` string, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
        - object — The intent of the transaction request
          - `memo` string, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
        - object — The intent of the transaction request
          - `intentType` 'stakeClaimRewards', required — Must be "stakeClaimRewards"
          - `validatorAddress` string, required — Bech32 validator address to withdraw accumulated staking rewards from (e.g. cosmosvaloper1...)
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'delegate', required
          - `validatorAddress` string, required — Bech32 validator address to delegate tokens to (e.g. cosmosvaloper1...).
          - `recipients` object[]
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `intentType` 'switchValidator', required
          - `validatorAddress` string, required — Bech32 source validator address to redelegate from (e.g. cosmosvaloper1...).
          - `destValidatorAddress` string, required — Bech32 destination validator address to redelegate to (e.g. cosmosvaloper1...).
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `intentType` 'undelegate', required
          - `validatorAddress` string, required — Bech32 validator address to undelegate tokens from (e.g. cosmosvaloper1...).
          - `recipients` object[]
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `intentType` 'defi-approve', required
          - `vaultId` string, required
          - `amount` string, required
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'defi-deposit', required
          - `vaultId` string, required
          - `amount` string, required
          - `operationId` string, required
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'defi-redeem', required
          - `protocol` string, required
          - `amount` string, required
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'defi-withdraw', required
          - `vaultId` string, required
          - `shareTokenAmount` string, required
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'consolidate', required — Must be "consolidate".
          - `receiveAddress` string, required — Destination address for consolidated funds. Must be a wallet-owned address.
          - `senderAddressIndex` number
          - `consolidateId` string
          - `recipients` object[]
            - `tokenData` TokenData
              - …
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `keepAlive` boolean
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `delayBlocks` string, required
          - `proxyType` string, required
          - `index` number
          - `recipients` object[]
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `intentType` 'createAccount', required
          - `name` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `proxy` DotProxy, required
            - `name` string
            - `addressString` string
            - `asset` string
            - `amountString` string
          - `owner` string, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `proxy` DotProxy, required
            - `name` string
            - `addressString` string
            - `asset` string
            - `amountString` string
          - `owner` string, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `stakingProxy` string, required
          - `addToStake` boolean
          - `addProxy` boolean
          - `intentType` 'stake', required — Must be "stake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `stakingProxy` string, required
          - `stopStaking` boolean
          - `intentType` 'unstake', required — Must be "unstake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `intentType` 'claim', required — Must be "claim".
          - `amount` object
            - `symbol` string, required
            - `value` string, required
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `intentType` 'delegate', required — Must be "delegate".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `feeOptions` union, required — New fee settings (must be higher than the original transaction). Use EIP1559FeeOptions for London-compatible chains.
            - FeeOption
              - …
            - EIP1559FeeOptions
              - …
          - `intentType` 'acceleration', required — Must be "acceleration".
          - `txid` string, required — Transaction hash (0x-prefixed) of the pending transaction to accelerate.
          - `senderAddress` string — Sender address of the original transaction.
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `hopParams` object — Parameters for BitGo Hop transactions (cross-chain bridging via the Hop protocol).
            - `gasPriceMax` number, required
            - `paymentId` string, required
            - `userReqSig` string, required
          - `receiveAddress` string
          - `senderAddressIndex` number
        - object — The intent of the transaction request
          - `intentType` 'consolidate', required — Must be "consolidate".
          - `receiveAddress` string, required — Target receive address override. Defaults to wallet's primary receive address.
          - `senderAddressIndex` number — Index of the wallet address to use as the sender.
          - `consolidateId` string
          - `recipients` object[]
            - `tokenData` TokenData
              - …
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `keepAlive` boolean
          - `nonce` union
            - string
            - number
          - `feeOptions` union — Override gas estimation. Provide EIP1559FeeOptions for EIP-1559 chains or FeeOption for legacy.
            - FeeOption
              - …
            - EIP1559FeeOptions
              - …
          - `hopParams` object — Parameters for BitGo Hop transactions (cross-chain bridging via the Hop protocol).
            - `gasPriceMax` number, required
            - `paymentId` string, required
            - `userReqSig` string, required
        - object — The intent of the transaction request
          - `intentType` 'consolidateToken', required — Must be "consolidateToken".
          - `recipients` object[], required
            - `tokenData` TokenData
              - …
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `consolidateId` string, required
          - `keepAlive` boolean, required
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `feeOptions` union — Override gas estimation. Provide EIP1559FeeOptions for EIP-1559 chains or FeeOption for legacy.
            - FeeOption
              - …
            - EIP1559FeeOptions
              - …
          - `hopParams` object — Parameters for BitGo Hop transactions (cross-chain bridging via the Hop protocol).
            - `gasPriceMax` number, required
            - `paymentId` string, required
            - `userReqSig` string, required
          - `receiveAddress` string
          - `senderAddressIndex` number
        - object — The intent of the transaction request
          - `intentType` 'fillNonce', required — Must be "fillNonce".
          - `nonce` union, required — The nonce value to fill. The transaction will be a self-send that consumes this nonce.
            - string
            - number
          - `senderAddress` string — Sender address with the stuck nonce. Defaults to the wallet's base address.
          - `sequenceId` string
          - `comment` string
          - `feeOptions` union — Override gas estimation for the fill-nonce transaction.
            - FeeOption
              - …
            - EIP1559FeeOptions
              - …
          - `receiveAddress` string
          - `senderAddressIndex` number
        - object — The intent of the transaction request
          - `intentType` 'fillNonce', required — Must be "fillNonce".
          - `nonce` union, required — The nonce value to fill. The transaction will be a self-send that consumes this nonce.
            - string
            - number
          - `senderAddress` string — Sender address with the stuck nonce. Defaults to the wallet's base address.
          - `sequenceId` string
          - `comment` string
        - object — The intent of the transaction request
          - `selfSend` boolean, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `feeOptions` union — Override gas estimation. Provide EIP1559FeeOptions for EIP-1559 chains or FeeOption for legacy.
            - FeeOption
              - …
            - EIP1559FeeOptions
              - …
          - `hopParams` object — Parameters for BitGo Hop transactions (cross-chain bridging via the Hop protocol).
            - `gasPriceMax` number, required
            - `paymentId` string, required
            - `userReqSig` string, required
          - `receiveAddress` string
          - `senderAddressIndex` number
        - object — The intent of the transaction request
          - `selfSend` boolean, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
          - `feeOptions` union — Override gas estimation. Provide EIP1559FeeOptions for EIP-1559 chains or FeeOption for legacy.
            - FeeOption
              - …
            - EIP1559FeeOptions
              - …
          - `hopParams` object — Parameters for BitGo Hop transactions (cross-chain bridging via the Hop protocol).
            - `gasPriceMax` number, required
            - `paymentId` string, required
            - `userReqSig` string, required
          - `receiveAddress` string
          - `senderAddressIndex` number
        - object — The intent of the transaction request
          - `pubkey` string, required — BLS public key of the validator (hex-encoded, provided by the staking service).
          - `withdrawalCredentials` string, required — Withdrawal credentials for the validator (provided by the staking service).
          - `signature` string, required — BLS signature over the deposit data (provided by the staking service).
          - `depositDataRoot` string, required — SHA-256 hash of the deposit data (provided by the staking service).
          - `intentType` 'stake', required — Must be "stake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `feeOptions` union — Override gas estimation. Provide EIP1559FeeOptions for EIP-1559 chains or FeeOption for legacy.
            - FeeOption
              - …
            - EIP1559FeeOptions
              - …
          - `hopParams` object — Parameters for BitGo Hop transactions (cross-chain bridging via the Hop protocol).
            - `gasPriceMax` number, required
            - `paymentId` string, required
            - `userReqSig` string, required
          - `receiveAddress` string
          - `senderAddressIndex` number
        - object — The intent of the transaction request
          - `intentType` 'transferToken', required — Must be "transferToken".
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `recipients` object[], required
            - `tokenData` TokenData
              - …
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `feeOptions` union — Override gas estimation. Provide EIP1559FeeOptions for EIP-1559 chains or FeeOption for legacy.
            - FeeOption
              - …
            - EIP1559FeeOptions
              - …
          - `hopParams` object — Parameters for BitGo Hop transactions (cross-chain bridging via the Hop protocol).
            - `gasPriceMax` number, required
            - `paymentId` string, required
            - `userReqSig` string, required
          - `receiveAddress` string
          - `senderAddressIndex` number
        - object — The intent of the transaction request
          - `intentType` 'stakeClaimRewards', required — Must be "stakeClaimRewards".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `intentType` 'undelegate', required — Must be "undelegate".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'feeAddressTransfer', required
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `stakedNodeId` number
          - `stakedAccountId` string
          - `declineStakingReward` boolean
          - `intentType` 'updateAccount', required
          - `options` OptionalUnknownObject
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
        - object — The intent of the transaction request
          - `feeOptions` union — Override gas estimation for the bridge transaction.
            - FeeOption
              - …
            - EIP1559FeeOptions
              - …
          - `intentType` 'bridgeFunds', required — Must be "bridgeFunds".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `intentType` 'spotTransfer', required — Must be "spotTransfer".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
        - object — The intent of the transaction request
          - `intentType` 'enableBridging', required
          - `asset` string, required
          - `network` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `memo` string
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
        - object — The intent of the transaction request
          - `memo` string
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
        - object — The intent of the transaction request
          - `intentType` 'consolidate', required — Must be "consolidate".
          - `receiveAddress` string, required — Destination address for consolidated funds. Must be a wallet-owned address.
          - `senderAddressIndex` number
          - `consolidateId` string
          - `recipients` object[]
            - `tokenData` TokenData
              - …
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `keepAlive` boolean
          - `nonce` union
            - string
            - number
          - `feeOptions` IotaFeeOptions, required
            - `gasLimit` number, required
          - `lockedAmount` string, required
          - `sequenceId` string
          - `comment` string
        - object — The intent of the transaction request
          - `unspents` string[], required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string — Client-assigned sequence identifier for idempotency.
          - `comment` string — Human-readable memo attached to the transaction.
          - `nonce` union
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `feeOptions` IotaFeeOptions, required
            - `gasLimit` number, required
          - `lockedAmount` string, required
        - object — The intent of the transaction request
          - `unspents` string[], required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string — Client-assigned sequence identifier for idempotency.
          - `comment` string — Human-readable memo attached to the transaction.
          - `nonce` union
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
          - `feeOptions` IotaFeeOptions, required
            - `gasLimit` number, required
          - `lockedAmount` string, required
        - object — The intent of the transaction request
          - `intentType` 'payment', required
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `signedRequest` LightningPaymentRequest, required
            - `invoice` string, required
            - `amountMsat` string, number
            - `feeLimitMsat` string, number
            - `feeLimitRatio` number
          - `signature` string, required
        - object — The intent of the transaction request
          - `intentType` 'payment', required
          - `onchainRequest` LightningOnchainRequest, required
            - `recipients` object[], required
              - …
            - `satsPerVbyte` string, number
            - `numBlocks` number
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `custodianMessageId` string, required
          - `intentType` 'signMessage', required
          - `messageRaw` string, required — A plain text message
          - `messageEncoded` string, required
          - `messageStandardType` string, required
          - `signerAddress` string, required
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `custodianTransactionId` string, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
        - object — The intent of the transaction request
          - `custodianTransactionId` string, required
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
        - object — The intent of the transaction request
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `intentType` 'stake', required — Must be "stake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `intentType` 'unstake', required — Must be "unstake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `intentType` 'claim', required — Must be "claim".
          - `amount` object
            - `symbol` string, required
            - `value` string, required
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `memo` string
          - `index` number
          - `recipients` object[]
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `intentType` 'createAccount', required
          - `name` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `intentType` 'enableToken', required
          - `enableTokens` object[], required
            - `name` string, required
            - `address` string
          - `memo` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `intentType` 'stake', required
          - `addToStake` boolean
          - `validators` string[]
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `intentType` 'switchValidator', required
          - `validators` string[], required
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `intentType` 'unstake', required
          - `stopStaking` boolean
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `intentType` 'claim', required
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `fee` object
            - `amount` union, required
              - …
            - `formula` 'fixed' | 'feeRate' | 'perKB' | 'custom'
            - `type` 'base' | 'max' | 'tip'
            - `unit` 'baseUnit' | 'cpu' | 'ram'
        - object — The intent of the transaction request
          - `intentType` 'authorize', required — Must be "authorize".
          - `transactionMessage` string, required — The pre-signed serialized transaction message, validated by the platform against the provided address fields.
          - `stakeAccount` string, required — The on-chain stake account whose authority is being transferred.
          - `oldWithdrawPublicKey` string, required — The current withdrawal authority public key.
          - `newWithdrawPublicKey` string, required — The new withdrawal authority public key.
          - `lockupPublicKey` string, required — The lockup authority public key.
          - `nonceAccount` string, required — The durable nonce account used for this transaction.
          - `nonceAuthority` string, required — The authority of the nonce account.
          - `blockhash` string, required — The recent blockhash used in the transaction message.
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `stakingAddress` string, required — The on-chain stake account address to withdraw from.
          - `intentType` 'claim', required — Must be "claim".
          - `amount` object, required — Transaction amount. amount.symbol identifies the asset (e.g. "hypeevm:eth"); amount.value is the quantity in base units.
            - `symbol` string, required
            - `value` string, required
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `intentType` 'closeAssociatedTokenAccount', required — Must be "closeAssociatedTokenAccount".
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `intentType` 'consolidate', required — Must be "consolidate".
          - `receiveAddress` string, required — Destination address for consolidated funds. Must be a wallet-owned address.
          - `senderAddressIndex` number
          - `consolidateId` string
          - `recipients` object[]
            - `tokenData` TokenData
              - …
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `keepAlive` boolean
          - `nonce` union — Override the on-chain nonce for this transaction.
            - string
            - number
        - object — The intent of the transaction request
          - `intentType` 'enableToken', required — Must be "enableToken".
          - `enableTokens` object[], required
            - `name` string, required
            - `address` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `intentType` 'customTx', required — Must be "customTx". For legacy (non-versioned) transactions only; use SolVersionedCustomTxIntent for versioned transactions.
          - `solInstructions` object[], required
            - `programId` string, required — The program ID to invoke.
            - `keys` object[], required
              - …
            - `data` string, required — Instruction data encoded as base58 or hex.
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `intentType` 'deactivate', required — Must be "deactivate".
          - `stakingAddresses` string[]
          - `stakingAddress` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `intentType` 'delegate', required — Must be "delegate".
          - `validatorAddress` string, required — The validator vote account address to delegate to.
          - `stakingAddresses` string[]
          - `stakingAddress` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `goStakingRequestId` string
          - `intentType` 'goUnstake', required — Must be "goUnstake".
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `memo` string, required
        - object — The intent of the transaction request
          - `intentType` 'payment', required — Must be "payment".
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `recipients` object[], required
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `isTestTransaction` boolean, required — When true, marks this as a test transaction (not broadcast to the network).
          - `memo` string, required
        - object — The intent of the transaction request
          - `validatorAddress` string, required — The validator vote account address to stake SOL with.
          - `isMarinade` boolean
          - `stakingType` 'NATIVE' | 'MARINADE' | 'JITO' — The staking provider type. Accepted values: "NATIVE", "MARINADE", "JITO". Supersedes the deprecated isMarinade field.
          - `intentType` 'stake', required — Must be "stake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
          - `amount` Amount, required
            - `value` string, required
            - `symbol` string, required
        - object — The intent of the transaction request
          - `stakingAddress` string, required — The stake account address to deactivate.
          - `amount` object — For partial unstake: the amount to remove from the stake account. Must be provided together with remainingStakingAmount.
            - `symbol` string, required
            - `value` string, required
          - `remainingStakingAmount` object — For partial unstake: the amount to keep in the existing stake account after the split. Must be provided together with amount.
            - `symbol` string, required
            - `value` string, required
          - `isMarinade` boolean
          - `stakingType` 'NATIVE' | 'MARINADE' | 'JITO' — The staking provider type. Accepted values: "NATIVE", "MARINADE", "JITO". Supersedes the deprecated isMarinade field.
          - `recipients` object[]
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `intentType` 'unstake', required — Must be "unstake".
          - `stakingRequestId` string, required — ID of the staking request, obtained from the BitGo staking service.
          - `source` 'MANUAL' | 'AUTO_STAKE' | 'EXTERNAL'
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `intentType` 'customTx', required — Must be "customTx". Presence of solVersionedTransactionData distinguishes this from legacy SolCustomTxIntent at runtime.
          - `solVersionedTransactionData` object, required — Versioned transaction data in Solana v0 message format. Presence of this field indicates a versioned transaction.
            - `versionedInstructions` object[], required
              - …
            - `addressLookupTables` object[], required
              - …
            - `staticAccountKeys` string[], required
            - `messageHeader` object, required — Solana message header specifying the number of required signers and read-only accounts.
              - …
            - `recentBlockhash` string — Optional recent blockhash; when provided the platform uses it instead of fetching a durable nonce.
          - `sequenceId` string
          - `comment` string
          - `nonce` union
            - string
            - number
          - `memo` string, required
        - object — The intent of the transaction request
          - `intentType` 'consolidate', required — Must be "consolidate".
          - `receiveAddress` string, required — Destination address for consolidated funds. Must be a wallet-owned address.
          - `senderAddressIndex` number
          - `consolidateId` string
          - `recipients` object[]
            - `tokenData` TokenData
              - …
            - `address` Address, required
              - …
            - `amount` Amount, required
              - …
            - `data` string
          - `keepAlive` boolean
          - `nonce` union — Override the on-chain nonce for this transaction.
- … truncated; see the full OpenAPI document linked below

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/bitgo/apis/bitgo-api.md) · [All operations](https://skmtc.net/bitgo/apis/bitgo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitgo/bitgo-api/revisions/e445c15e5bee/schema)
