BitGo Wallet Types
Overview
BitGo offers the following on-chain wallet types:
Multisig Cold | Multisig Hot | MPC Cold | MPC Hot | |
---|---|---|---|---|
Custody | ✅ | ❌ | ✅ | ❌ |
Self-Custody | ✅ | ✅ | ❌ | ✅ |
Additionally, BitGo offers an off-chain wallet known as a Go Account, which is an omnibus, custody cold wallet that utilizes an off-chain ledger. Unlike other wallet types from BitGo, Go Accounts can hold multiple assets, including fiat.
Multi-party computation (MPC) wallets at BitGo use threshold signature schemes (TSS). Whether a wallet is multisignature or MPC is dependent on its blockchain. Functionally, both signature schemas offer the same level of security and signing by multiple co-signers, but their integrations differ. To learn more, see Multisignature vs MPC.
Every wallet type at BitGo has unique features and functionality that determine integration flows for wallet creation and transacting. To learn more about the different flows and see how they compare, see Wallets Overview and Transact Overview.
Keys
All on-chain BitGo wallets utilize the following 3 keys:
- User key
- Backup key
- BitGo key
The following table identifies who creates the private keys for each wallet type:
Wallet Type | User Key | Backup Key | BitGo Key |
---|---|---|---|
Custody Multisig | 🄱 | 🄱 | 🄱 |
Custody MPC | 🄱 | 🄱 | 🄱 |
Self-Custody Multisig Cold | 👤 | 👤 | 🄱 |
Self-Custody Multisig Hot | 👤 | 👤 | 🄱 |
Self-Custody MPC Hot | 👤 | 👤 | 🄱 |
Custody
For both multisignature and MPC wallets, custody-wallet users initiate transactions, programmatically or through the BitGo web UI, but don't sign transactions. After video verification, a BitGo Trust operator signs the transaction with the user key. Then a different BitGo Trust operator downloads and signs the transaction in the BitGo Offline Vault Console (OVC). BitGo then uploads and broadcasts the transaction.
Custody wallets are the most secure wallets of all the supported BitGo wallet types. However, these are also the least flexible wallet type if you're sending funds frequently. Withdrawals from custody wallets have a 24-hour service-level agreement (SLA).
Self-Custody
Cold-wallet users download unsigned transactions from the BitGo web UI or programmatically. Users sign transactions in the OVC using their user key (encrypted by their BitGo or wallet password). Users 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
Go Accounts are the only off-chain wallet type at BitGo and the only wallet type that can hold multiple assets, including fiat. Additionally, due to leveraging an off-chain ledger, Go Accounts are the only wallet type that have just 1 key, instead of 3.
From your Go Accounts you can participate in the Go Network, enabling streamlined allocations, trades, and settlements with other connected enterprises and platforms. To learn more, see Go Network Overview.
Programmatically, Go Accounts function similar to other BitGo wallet types, and even have a wallet ID. Go Accounts can also have multiple receive addresses (when supported by an asset). However, an enterprise can only have 1 Go Account.
Note: If you had a trading wallet, it's now a Go Account. You may encounter parts of the API and SDK that still reference trading wallets or trading accounts, but they're 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
- BitGo Whitepaper: Digital Asset Wallet Security - A Comparison: Multi-Signature and Multi-Party Computation
- Forwarder Addresses
- Multisignature Smart-Contract Wallets
- Set Up Wallet Recovery Wizard
- Silent Laboratories GitHub Repo: Multi-Party-TSS (ECDSA-DKLs23)
- Silent Laboratories GitHub Repo: SL Crypto
- Silent Laboratories White Paper: Secure Two-Party Threshold ECDSA from ECDSA Assumptions
- Wallets Overview