Create Advanced Wallets

Create an advanced wallet using the Advanced Wallet Manager and Master BitGo Express. See the Guide.

  1. 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 commonKeychain value (for MPC wallets) is required for signing transactions and should be stored securely.

    Prerequisites: Complete the Advanced Wallets Infrastructure Setup.

    API Reference

// 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
}'
Response
// 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"
}