Create Advanced Wallets
Create an advanced wallet using the Advanced Wallet Manager and Master BitGo Express. See the Guide.
-
You create an advanced wallet by calling the MBE Generate Wallet endpoint. The AWM generates the user and backup keychains, sends them to the advanced wallets key provider for encryption, then the MBE uploads the public keys to BitGo, which creates the BitGo key and the wallet. Pass
"multisigType": "onchain"for multisignature or"tss"for MPC.This response contains critical key material. The
commonKeychainvalue (for MPC wallets) is required for signing transactions and should be stored securely.Prerequisites: Complete the Advanced Wallets Infrastructure Setup.
// 1. Create Advanced Wallet
export IP_OR_HOSTNAME="<YOUR_SERVER_IP_OR_HOSTNAME>"
export COIN="<ASSET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export ENTERPRISE_ID="<YOUR_ENTERPRISE_ID>"
export LABEL="<YOUR_WALLET_NAME>"
curl -X POST \
http://$IP_OR_HOSTNAME/api/v1/$COIN/advancedwallet/generate \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"enterprise": "'"$ENTERPRISE_ID"'",
"label": "'"$LABEL"'",
"multisigType": "onchain" # Pass 'onchain' for multisignature or 'tss' for MPC
}'
// 1. Create Advanced Wallet
// Use the REST API via cURL for advanced wallet generation (see cURL tab)
// 1. Create Advanced Wallet Response
{
"wallet": {
"id": "6553e933288be490293ae748efafeaaf",
"coin": "tbtc",
"label": "My Advanced Wallet",
"m": 2,
"n": 3,
"keys": [
"6553e933288be490293ae748user0001",
"6553e933288be490293ae748back0001",
"6553e933288be490293ae748bitg0001"
],
"enterprise": "62c5ae8174ac860007aff138a2d74df7",
"approvalsRequired": 1,
"isCold": true,
"multisigType": "onchain",
"type": "advanced"
},
"userKeychain": {
"id": "6553e933288be490293ae748user0001",
"source": "user",
"type": "independent",
"pub": "xpub661MyMwAqRbcGMVhmc7wqQRYMtcX9LAvSj1pjB213y5TsrkV2uuzJjWnjBrT1FUeNWGPjaVm5p7o6jdNcQJrV1cy3a1R8NQ9m7LuYKA8RpH"
},
"backupKeychain": {
"id": "6553e933288be490293ae748back0001",
"source": "backup",
"type": "independent"
},
"bitgoKeychain": {
"id": "6553e933288be490293ae748bitg0001",
"source": "bitgo",
"type": "independent",
"isBitGo": true
},
"responseType": "GenerateWalletResponse"
}