Overview

For account-based assets, the spendable balance of a wallet is the balance of the assets in the base address. The spendable balance is the total amount available for withdrawal. The confirmed balance is the balance of the base address plus all the receive addresses. If a wallet has multiple receive addresses, you can obtain the maximum withdrawal amount by consolidating the balances from the receive addresses to the base address.

Note

This page covers consolidation fees (sweeping from receive addresses to the base address). For where the fee comes from when you send funds out of a wallet, see Withdrawal Fee Sources.

For Ethereum Virtual Machine (EVM) wallets, BitGo can enable automatic consolidations. For non-EVM wallets, you must manually consolidate balances. Consolidations aren't required for UTXO assets. You can determine if a wallet requires consolidations by calling the Get Wallet by ID endpoint and referencing the needsConsolidation field.

How it Works

Most EVM blockchains don't natively support multiple receive addresses. BitGo uses a forwarder smart contract to enable multiple receive addresses for such wallets. The BitGo key controls these receive addresses. Despite being single signature, these addresses are secure, because their smart contracts only enable sending assets to the base address of the associated wallet. Being single signature also enables automatic consolidations.

If you want to disable automatic consolidation of tokens, you can set the flushForwardersManually parameter to true. If true, you must manually consolidate tokens. However, even if enabled, native coins continue to automatically consolidate.

Exemptions

Some EVM blockchains don't require manual or forwarder-based consolidations. Instead, these networks utilize memo IDs or destination tags in conjunction with the base address. For these wallets, all deposited assets are immediately available in the spendable balance.

Blockchain Identifier Fee Source Fee Asset
Agoric Memo ID Receive Address BLD
Babylon Memo ID Receive Address AAA
Coreum Memo ID Receive Address CORE
Cosmos Memo ID Receive Address ATOM
Cronos POS Memo ID Receive Address CRO
EOS Memo ID Receive Address EOS
Fetch Native Memo ID Receive Address FET
Hedera Memo ID Receive Address HBAR
Initia Memo ID Receive Address INIT
Injective Memo ID Receive Address INJ
Internet Computer Memo ID Receive Address ICP
Osmosis Memo ID Receive Address OSMO
Polymesh Memo ID Receive Address POLYX
Provenance Memo ID Receive Address HASH
Rune Memo ID Receive Address RUNE
SEI Memo ID Receive Address SEI
Stacks Memo ID Receive Address STX
Stellar Memo ID Receive Address XLM
Toncoin Memo ID Receive Address TON
Vaulta Memo ID Receive Address VAULT
XRP Destination Tag Receive Address XRP
Zetachain Memo ID Receive Address ZETA

Wallet & Forwarder Versions

When creating wallets, the default wallet version differs depending on your asset and wallet type. If you want to use a specific wallet version, you can use the walletVersion parameter. Once you create a wallet, you can't change the version number. The wallet type is important, as it determines the forwarder version. There are functional differences in the forwarder versions, including v5 that doesn't automatically consolidate.

Forwarder Wallet v0 Wallet v1 Wallet v2 Wallet v3 Wallet v4 Wallet v5 Wallet v6
v0
v1
v2
v3
v4
v5

Wallet Versions

  • v0 - Smart-contract wallet that deploys as soon as you create it.
  • v1 - Smart-contract wallet that deploys upon receiving assets, enabling you to save on fees for wallets that aren't yet in use. BitGo uses the CREATE2 opcode to create the address, but doesn't broadcast the creation transaction until an indexer detects the address received assets.
  • v2 - Same as v1, but with support for NFTs.
  • v3 - MPCv1 wallets with support for NFTs.
  • v4 - Same as v2, but optimized for EVM chains.
  • v5 - MPCv2 wallets with support for NFTs.
  • v6 - Same as v5, but with support for native MPC addresses.

Forwarder Versions

  • v0 - Deploys as soon as you create the address.
  • v1 - Deploys upon receiving assets, enabling you to save on fees for addresses that aren't yet in use. BitGo uses the CREATE2 opcode to create the address, but doesn't broadcast the creation transaction until an indexer detects the address received assets.
  • v2 - Same as v1, but with support for NFTs.
  • v3 - MPCv1 receive addresses.
  • v4 - Same as v2, but in addition to automatic consolidating from the fee address, you can manually transfer tokens from the base address.
  • v5 - A native MPC receive address that requires manual consolidations to the base address.

Note

Don't send CryptoPunks to forwarder addresses. CryptoPunks are nonstandard NFTs that must be sent to base addresses. In addition, CryptoPunks aren't compatible with MPC wallets.

To learn more about assets and wallet types, see the Coins and Tokens table.

Gas Tanks

Gas fees associated with forwarder consolidation are paid by your Gas Tanks. Gas tanks, like EVM receive addresses, are also smart contract addresses controlled by the BitGo key.

Gas fees for consolidation transactions are paid by the native assets held in your gas tanks. For example, to consolidate native Polygon or Polygon tokens on the Polygon network, your gas tank must have a sufficient balance of Polygon (POLYGON). However, there are a few protocols that use ETH to pay gas fees instead of the native assets.

Gas fees vary by asset and depend on the wallet and forwarder versions. The following are example gas fees for Ethereum v5 wallets with v4 forwarders:

  • Address Creation - Free.
  • Contract Deployment - ~250,000 gas units, paid by your gas tank upon receiving the first deposit.
  • Consolidating Coins - ~75,000 gas units, paid by the sender within the same transaction.
  • Consolidating Tokens - ~40,000 gas units, paid by your gas tank in a subsequent transaction.

Manual Consolidations

The following assets require you to manually consolidate wallet balances. Assets deposited to the receive addresses remain unavailable for withdrawal until you transfer them to the base address.

Blockchain Network Type Consolidation Type Consolidation Method Fee Source Fee Asset
Algorand L1 Manual Consolidation Request Receive Address ALGO
Aptos L1 Manual Consolidation Request Gas Tank APT
Bittensor L1 Manual Consolidation Request Receive Address TAO
Canton Coin L1 Manual Consolidation Request Gas Tank SUI
Cardano Hybrid Manual Consolidation Request Receive Address ADA
Celestia L1 Manual Consolidation Request Receive Address TRX
Near Protocol L1 Manual Consolidation Request Receive Address NEAR
Polkadot L1 Manual Consolidation Request Gas Tank DOT
Solana L1 Manual Consolidation Request Receive Address SOL
Sui L1 Manual Consolidation Request Receive Address SUI
Tezos L1 Manual Consolidation Request Gas Tank XTZ
Tron L1 Manual Consolidation Request Receive Address TRX
VeChain L1 Manual Consolidation Request Gas Tank VET:VTHO

Automatic Consolidations

The following assets enable automatic consolidations. Upon deposit, the receive addresses uses smart contract forwarders to automatically transfer the assets to the base address.

Note

All v6 wallets require manual consolidations, even if the table below states that the blockchain has automatic consolidations. The v6 wallet uses a v5 forwarder, which is a native MPC address that doesn't automatically consolidate. To learn more, see Consolidations.

Blockchain Network Type Consolidation Type Consolidation Method Fee Source Fee Asset
Arbitrum EVM Automatic Smart Contract Forwarder Gas Tank ETH (on Arbitrum Network)
Avalanche-C EVM Automatic Smart Contract Forwarder Gas Tank AVAXC
Base EVM Automatic Smart Contract Forwarder Gas Tank ETH (on Base Network)
Berachain EVM Automatic Smart Contract Forwarder Gas Tank BERA
BNB EVM Automatic Smart Contract Forwarder Gas Tank BSC
CoreDAO EVM Automatic Smart Contract Forwarder Gas Tank COREDAO
Ethereum EVM Automatic Smart Contract Forwarder Gas Tank ETH
Ethereum Classic EVM Automatic Smart Contract Forwarder Gas Tank ETC
Flare EVM Automatic Smart Contract Forwarder Gas Tank FLR
Flow EVM Automatic Smart Contract Forwarder Gas Tank FLOW
Hyperliquid EVM EVM Automatic Smart Contract Forwarder Gas Tank HYPEEVM
Kava EVM EVM Automatic Smart Contract Forwarder Gas Tank KAVAEVM
Monad EVM Automatic Smart Contract Forwarder Gas Tank MON
Oasys EVM Automatic Smart Contract Forwarder Gas Tank OAS
Optimism EVM Automatic Smart Contract Forwarder Gas Tank ETH (on Optimism Network)
Plasma EVM Automatic Smart Contract Forwarder Gas Tank XPL
Polygon EVM Automatic Smart Contract Forwarder Gas Tank POLYGON
SEI EVM EVM Automatic Smart Contract Forwarder Gas Tank SEIEVM
Somnia EVM Automatic Smart Contract Forwarder Gas Tank SOMI
Soneium EVM Automatic Smart Contract Forwarder Gas Tank ETH (on Soneium Network)
Songbird EVM Automatic Smart Contract Forwarder Gas Tank SGB
Sonic EVM Automatic Smart Contract Forwarder Gas Tank SONIC
WeMix EVM Automatic Smart Contract Forwarder Gas Tank WEMIX
WorldChain EVM Automatic Smart Contract Forwarder Gas Tank ETH (on Worldchain Network)
XDC EVM Automatic Smart Contract Forwarder Gas Tank XDC
Zero Gravity EVM Automatic Smart Contract Forwarder Gas Tank 0G

See Also