Forwarder Addresses

Overview

BitGo wallets utilize forwarder smart contracts to enable multiple receive addresses for ETH-like assets.

By default, forwarders automatically consolidate native coins and tokens 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 v5
v0
v1
v2
v3
v4

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.

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.

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 related to forwarders include the following:

  • Creating a forwarder address - free
  • Deploying a v0 forwarder address - 102,000 gas limit
  • Receiving assets to a v1 or v2 forwarder address for the first time and thus deploying the address - 154,000 gas limit
  • Transferring assets from a forwarder to the base address - 63,662 gas limit

See Also