ExpressAdvanced Wallets

POST

Recover assets from an advanced wallet with a balance only in the base address. Works for both multisignature and MPC recoveries.

Retrieves the private keys from KMS using the provided public keys or common keychain, then signs and returns the broadcastable transaction hex.

Note: This endpoint only works when AWM and MBE are running in recovery mode.

To recover assets from an advanced wallet with balances in multiple receive addresses, use Advanced Wallets - Consolidate and Recover Assets.

Use this endpoint only with advanced wallets. For other wallet types, use the Wallet Recovery Wizard.

Path Params

  • coin string required

Body Params

object

Request type for the wallet recovery endpoint. Used to recover funds from both standard multisig and TSS wallets. Recover funds from an advanced wallet by building a transaction with user and backup keys.
  • isTssRecovery boolean
    Set to true to perform a TSS (Threshold Signature Scheme) recovery.
  • tssRecoveryParams object
    Parameters specific to TSS recovery. Required when isTssRecovery is true.
    tssRecoveryParams object
    • commonKeychain string required
      The common keychain string used for TSS wallets. Required for TSS recovery.
  • multiSigRecoveryParams object
    Parameters specific to standard multisig recovery. Required when isTssRecovery is false (default).
    multiSigRecoveryParams object
    • backupPub string required
      The backup public key.
    • bitgoPub string required
      The BitGo public key. Required for UTXO coins, optional for others.
    • userPub string required
      The user's public key.
    • walletContractAddress string required
      The wallet contract address. Required for ETH-like recoveries.
  • recoveryDestinationAddress string required
    The address where recovered funds will be sent. Must be a valid address for the coin being recovered.
  • apiKey string
    API Key for a block chain explorer. Required for some coins (BTC, ETH) to build a recovery transaction without BitGo.
  • coinSpecificParams object
    Coin-specific recovery options. Different parameters are required based on the coin family: - For UTXO coins (BTC, etc): provide utxoRecoveryOptions. - For EVM chains (ETH, etc): provide evmRecoveryOptions. - For Solana: provide solanaRecoveryOptions.
    coinSpecificParams object
    • ecdsaCosmosLikeRecoverySpecificParams object
      ecdsaCosmosLikeRecoverySpecificParams object
      • rootAddress string required
    • ecdsaEthLikeRecoverySpecificParams object
      ecdsaEthLikeRecoverySpecificParams object
      • apiKey string required
      • bitgoDestinationAddress string required
      • walletContractAddress string required
    • evmRecoveryOptions object
      EVM-specific recovery parameters for Ethereum and EVM-compatible chains. Used for recovering funds from standard multisig wallets on Ethereum and EVM-compatible chains. Required when recovering ETH, MATIC, BSC, AVAX C-Chain, etc.
      evmRecoveryOptions object
      • eip1559 object
        EIP-1559 gas parameters for modern Ethereum transactions. Required for EIP-1559 compatible networks (Ethereum post-London fork).
        eip1559 object
        • maxFeePerGas number required
          Maximum fee per gas in wei (base fee + priority fee).
        • maxPriorityFeePerGas number required
          Maximum priority fee per gas in wei (tip for miners/validators).
      • gasLimit number
        Gas limit for the recovery transaction. Must be enough to cover the contract execution costs.
      • gasPrice number
        Gas price in wei for the recovery transaction (for legacy transactions). Higher gas prices result in faster confirmations but higher transaction costs.
      • replayProtectionOptions object
        Replay protection options for the transaction. Required to prevent transaction replay attacks across different chains.
        replayProtectionOptions object
        • chain string or number required
          Chain ID or name.
        • hardfork string required
          Hardfork name to determine the transaction format.

          Defaults to london

      • scan number
        Number of addresses to scan for funds. Higher values will scan more addresses but take longer to complete.

        Defaults to 20

    • solanaRecoveryOptions object
      Solana-specific recovery parameters.
      solanaRecoveryOptions object
      • closeAtaAddress string
        The close associated token account address. Required for token recovery.
      • durableNonce object
        Durable nonce configuration for transaction durability. Optional but recommended for recovery operations. Refer to https://github.com/BitGo/wallet-recovery-wizard/blob/master/DURABLE_NONCE.md on durable nonce creation.
        durableNonce object
        • publicKey string required
          The public key of the durable nonce account.
        • secretKey string required
          The secret key of the durable nonce account.
      • programId string
        The program ID for the token. Required for token recovery.
      • recoveryDestinationAtaAddress string
        The recovery destination's associated token account address. Required for token recovery.
      • tokenContractAddress string
        The token contract address for token recovery. Required when recovering tokens.
    • utxoRecoveryOptions object
      UTXO-specific recovery parameters for Bitcoin & Bitcoin-like cryptocurrencies. Used for recovering funds from standard multisig wallets on UTXO chains. Required when recovering BTC, BCH, LTC, DASH, ZEC, etc.
      utxoRecoveryOptions object
      • feeRate number
        Fee rate for the recovery transaction in satoshis per byte. Higher fee rates result in faster confirmations but higher transaction costs.
      • ignoreAddressTypes array of strings
      • scan number
        Number of addresses to scan for funds. Higher values will scan more addresses but take longer to complete.
      • userKeyPath string
        Derivation path for the user key. Specifies the HD path to derive the correct user key for signing.

        Defaults to m/0

Responses

200
OK

Response Body

object

Successful recovery response.
  • txHex string required
    The full signed transaction in hexadecimal format. This transaction can be broadcast to the network to complete the recovery.
400
Bad Request

Response Body

object

  • error string required
    The error name
  • details string required
    Error details
404
Not Found

Response Body

object

  • error string required
    The error name
  • details string required
    Error details
409
Conflict

Response Body

object

  • error string required
    The error name
  • details string required
    Error details
422
Unprocessable Entity

Response Body

object

  • error string required
    The error name
  • details string required
    Error details
500
Internal Server Error

Response Body

object

  • error string required
    The error name
  • details string required
    Error details
501
Not Implemented

Response Body

object

  • error string required
    The error name
  • details string required
    Error details