Wallet and Forwarder Versions

Overview

BitGo wallets utilize forwarder smart contracts to enable multiple receive addresses for wallets on Ethereum Virtual Machine (EVM) blockchains.

By default, most forwarders automatically consolidate assets deposited into your receive addresses to your base address. If you set the flushForwardersManually parameter to true, you must initiate a consolidation transaction for tokens to the base address yourself. However, even if this parameter is enabled, native coins continue to automatically consolidate.

BitGo enables automatic consolidation transactions by using your Gas Tanks - fee addresses controlled by the BitGo key. Despite being single signature, forwarder addresses are secure, because their smart contracts only enable sending assets to the base address of the wallet.

Compatibility

ForwarderWallet v0Wallet v1Wallet v2Wallet v3Wallet v4Wallet v5Wallet v6
v0
v1
v2
v3
v4
v5

Differences

Your asset determines your wallet version, which determines your forwarder version. The following outlines the differences between each version:

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 flushing from the fee address, you can manually flush tokens from the base address.
  • v5 - Is 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 Fees

Gas fees vary by asset and are impacted by the wallet and forwarder versions. For example, the following are the 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.

See Also