POST
Create Wallet with Keychains
Creates a new 2-of-3 multisignature wallet along with all three required keychains in a single operation. This is a convenience method that handles the entire wallet setup process.
WARNING: BE SURE TO BACKUP! NOT DOING SO CAN RESULT IN LOSS OF FUNDS!
Workflow:
- Creates the user keychain locally and encrypts it with the provided passphrase
- Handles backup keychain based on parameters (see Backup Keychain Strategies below)
- Uploads the encrypted user keychain and backup keychain xpub to BitGo
- Creates the BitGo-managed keychain on the service
- Creates the 2-of-3 multisig wallet on BitGo with all three public keys
Backup Keychain Strategies:
- KRS Provider (Recommended): Set backupXpubProvider to use a Key Recovery Service (e.g., "keyternal")
- Creates instant-capable wallets
- Professional key management
- Cannot be combined with backupXpub
- External Xpub (Recommended): Provide backupXpub generated on a separate, secure machine
- Maximum security (keys never on same machine)
- You control the backup key
- Cannot be combined with backupXpubProvider
- Local Generation (NOT RECOMMENDED): If neither backupXpub nor backupXpubProvider provided
- Creates backup key on same machine as user key (security risk)
- Response includes warning message and unencrypted backup xprv
- You MUST back up the backup keychain yourself
Response: Returns wallet object and all three keychains. If backup keychain was created locally, response includes warning message and the backup keychain will contain xprv (which you must securely back up). Otherwise, backup keychain only contains xpub.
Body Params
object
Wallet creation parameters including passphrase, label, and backup key configuration
-
passphrasestring requiredWallet passphrase to encrypt user and backup keys with (required) -
labelstringWallet label shown in BitGo UI -
backupXpubstringBackup keychain xpub generated on a separate machine (HIGHLY RECOMMENDED for security - cannot be used with backupXpubProvider) -
backupXpubProviderstringKey Recovery Service provider for backup key, e.g. "keyternal" (creates instant-capable wallet - cannot be used with backupXpub) -
enterprisestringEnterprise ID to create wallet under -
passcodeEncryptionCodestringCode used to encrypt the wallet passcode for the recovery process -
disableTransactionNotificationsbooleanDisable transaction notifications for this wallet -
disableKRSEmailbooleanDisable KRS email notifications (only applicable when using backupXpubProvider)
Responses
200
OK
Response Body
object
-
walletmap of objects requiredNewly created wallet model object with balance, label, keychains array, and other wallet propertieswallet object
-
<key>object
-
-
userKeychainmap of objects requiredUser keychain with xpub and encryptedXprv (encrypted with passphrase, stored on BitGo)userKeychain object
-
<key>object
-
-
backupKeychainmap of objects requiredBackup keychain with xpub (and xprv if created locally - must be backed up immediately)backupKeychain object
-
<key>object
-
-
bitgoKeychainmap of objects requiredBitGo-managed keychain with xpub (BitGo holds this key)bitgoKeychain object
-
<key>object
-
-
warningstringWarning message present only when backup keychain was created locally (has xprv) - reminds you to back it up
400
Bad Request
Response Body
object
-
messagestring required -
namestring required -
bitgoJsVersionstring required -
bitgoExpressVersionstring required