BitGo Wallet Types

Overview

Within your BitGo enterprise, you can create an unlimited number of segregated wallets for each asset. If supported by the asset, you can create an unlimited number of receive addresses for each wallet.

BitGo offers the following on-chain wallet types that utilize 2-of-3 keys for transaction signing:

Multisig ColdMultisig HotMPC ColdMPC Hot
Custody
Self-Custody

Additionally, BitGo offers an omnibus, custody cold wallet that leverages an off-chain ledger known as a Go Account.

Signature Schemes

BitGo wallets support both multisignature and multi-party computation (MPC) signature schemes. The specific implementation that BitGo uses for MPC is threshold signature schemes (TSS). Whether a wallet is multisignature or MPC is dependent on its blockchain. Some native-MPC assets can support both signature schemes using multisignature smart-contract wallets. Functionally, both signature schemas offer the same level of security and 2-of-3 signing by multiple co-signers, but their integrations differ.

To learn more, see Multisignature vs MPC.

Integration Flows

Every wallet type at BitGo has unique features and functionality that determine the integration flows for wallet creation and transacting. To learn more about the different flows and see how they compare, see Wallets Overview and Withdraw Overview.

Keys

All on-chain BitGo wallets utilize the following 3 keys:

  1. User key
  2. Backup key
  3. BitGo key

The following table identifies who creates the private keys for each wallet type:

Wallet TypeUser KeyBackup KeyBitGo Key
Custody Multisig🄱🄱🄱
Custody MPC🄱🄱🄱
Self-Custody Multisig Cold👤👤🄱
Self-Custody Multisig Hot👤👤🄱
Self-Custody MPC Cold👤👤🄱
Self-Custody MPC Hot👤👤🄱

Custody

Custody wallets are the most secure wallets of all the BitGo wallet types. As a regulated custodian, BitGo spreads the key material for custody wallets across multiple bank-grade physical Class 3 vaults. Like self-custody wallets, BitGo encrypts each of the three keys with a unique password. BitGo Trust divides these keys among different owners, so no one person controls more than one key for a given wallet.

Custody wallets at BitGo are all cold wallets. For both multisignature and MPC, custody-wallet users can initiate transactions, programmatically or through the BitGo web application. However, custody-wallet users don't sign transactions themselves. Instead, BitGo signs transactions with the user key after video ID verification with a BitGo Trust operator. Afterwards, a different BitGo Trust operator downloads and signs the transaction in the BitGo Offline Vault Console (OVC) using the BitGo key. BitGo then uploads and broadcasts the transaction.

Custody wallets are, however, the least flexible wallet type if you're sending assets frequently. BitGo has a service-level agreement (SLA) to complete on-chain withdrawals from custody wallets within 24 hours. However, you can configure policies that remove the requirement for video ID verification under specific conditions that you define. To learn more, see Policies Overview.

Note: The requirement for video ID verification is applicable within testnet too. However, BitGo doesn't monitor pending custody withdrawals in testnet. If you need to conduct a video ID verification in testnet, schedule one by contacting support@bitgo.com.

Self-Custody

  • Multisignature Cold
  • Multisignature Hot
  • MPC Cold
  • MPC Hot

Transacting from self-custody multisignature cold wallets entails downloading unsigned transactions and then signing them in the OVC using your user key (encrypted by your BitGo or wallet password). You then upload the half-signed transaction to BitGo and BitGo signs using the BitGo key. BitGo then uploads and broadcasts the transaction.

Self-custody multisignature cold wallets enable the most control and privacy of all the supported BitGo wallet types.

Go Account

A Go Account is an omnibus custody wallet that enables you to hold multiple assets, including fiat. Your Go Account enables interacting with the Go Network, where you can make multi-asset trades and settlements with other connected enterprises and platforms.

Go Accounts are the only wallet type at BitGo that leverage an off-chain ledger and a single key, instead of three. Deposits into your Go Account are available within minutes. BitGo has a service-level agreement (SLA) to complete on-chain withdrawals from custody wallets within 24 hours. However, Go Account withdrawals typically complete on chain within a few hours.

Programmatically, Go Accounts function similar to other BitGo wallet types, and even have a wallet ID. Go Accounts can have multiple receive addresses (when supported by the asset). However, each enterprise can have only one Go Account.

Note: You may encounter parts of the API and SDK that reference trading wallets or trading accounts. These are now Go Accounts.


Legacy Wallet Types

Note: Don't create new wallets using legacy wallet types. If you have a legacy wallet type, BitGo recommends that you upgrade to a current type for enhanced security and functionality.

The following are legacy wallet types:

  • Custody Paired - The original custody wallet at BitGo. This wallet worked similar to a hot wallet, but each was linked to a BitGo-managed parent wallet that approved all outgoing transactions.
  • V1 - The original self-custody wallet at BitGo. This wallet was limited to Bitcoin.

See Also