# Create Wallets

Source: https://developers.bitgo.com/docs/wallets-create-wallets

## Overview

You can generate or manually create multisignature and MPC wallets with BitGo. Once created, you can configure security policies for your wallets, dictating how transactions can occur.

#### Generate Wallets

Create a self-custody wallet and keys all in one step. When you generate a wallet, BitGo does the following:
    * Creates a user keychain locally on your machine and uploads an encrypted key, using the provided passphrase (skipped if you supply a `userKey`).
    * Creates a backup keychain locally on your machine and uploads the public key.
    * Creates a BitGo keychain on a BitGo hardware-security module (HSM) and a backup key if `backupXpubProvider` is set to true.
    * Creates a wallet on the blockchain with these 3 public keys.

#### Manually Create Wallets

Create a custody wallet or a self-custody, hot or cold, wallet. You must create your own keys prior to manually creating a self-custody wallet.

## Prerequisites

* [Get Started](/docs/get-started-intro)
* If manually creating self-custody wallets, [Create MPC Keys](/docs/wallets-create-mpc-keys) or [Create Multisignature Keys](/docs/wallets-create-multisig-keys), depending on the wallet type.

## Cookbooks

Need just the steps? Expand a cookbook below to get started:

<Cookbook slug="create-wallets-mpc" title="Create Wallets (MPC)" />

<Cookbook slug="create-wallets-multisignature" title="Create Wallets (Multisignature)" />


## Create Wallet

<Tabs>
<Tab title="Multisignature">
>Endpoints:
> * [Generate Wallet](/reference/expresswalletgenerate)
> * [Add Wallet](/reference/v2walletadd)

```shell cURL (Generate)
export BITGO_EXPRESS_HOST="<YOUR_LOCAL_HOST>"
export COIN="<ASSET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export ENTERPRISE="<YOUR_ENTERPRISE_ID>"
export PASSPHRASE="<YOUR_BITGO_LOGIN_PASSPHRASE>"
export LABEL="<YOUR_WALLET_NAME>"

curl -X POST \
  http://$BITGO_EXPRESS_HOST/api/v2/$COIN/wallet/generate \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
    "enterprise": "'"$ENTERPRISE"'",
    "passphrase": "'"$PASSPHRASE"'",
    "label": "'"$LABEL"'",
    "multisigType": "onchain",
    "type": "hot"
}'
```
```shell cURL (Manual)
export COIN="<ASSET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export ENTERPRISE="<YOUR_ENTERPRISE_ID>"
export LABEL="<YOUR_WALLET_NAME>"
export USER_KEY_ID="<USER_KEY_ID>"
export BACKUP_KEY_ID="<BACKUP_KEY_ID>"
export BITGO_KEY_ID="<BITGO_KEY_ID>"

curl -X POST \
  https://app.bitgo-test.com/api/v2/$COIN/wallet/add \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
    "enterprise": "'"$ENTERPRISE"'",
    "label": "'"$LABEL"'",
    "multisigType": "onchain",
    "type": "cold",
    "m": 2,
    "n": 3,
    "keys": [
        "'"$USER_KEY_ID"'",
        "'"$BACKUP_KEY_ID"'",
        "'"$BITGO_KEY_ID"'"
    ]
}'
```
```js JavaScript (Generate)
const { BitGo } = require('bitgo');

// Fill in with actual access token
const accessToken = '<YOUR_ACCESS_TOKEN>';

// Initialize the SDK
const bitgo = new BitGo({
accessToken: accessToken,
env: 'test',
});

// Generate hot wallet
async function createHotWalletSimple() {
const newWallet = await bitgo.coin('tbtc4').wallets().generateWallet({
    label: '<YOUR_WALLET_NAME>',
    passphrase: '<YOUR_BITGO_LOGIN_PASSPHRASE>',
    enterprise: '<YOUR_ENTERPRISE_ID>'
});

console.log(JSON.stringify(newWallet, undefined, 2));
}
```
```js JavaScript (Manual)
const { BitGo } = require('bitgo');

// Fill in with actual access token
const accessToken = '<YOUR_ACCESS_TOKEN>';

// Initialize the SDK
const bitgo = new BitGo({
accessToken: accessToken,
env: 'test',
});

// Manually create hot wallet
async function createHotWalletAdvanced() {
const options = {
    label: '<YOUR_WALLET_NAME>',
    m: 2,
    n: 3,
    // prerequisite is to create keys before hand
    keys: ['<USER_KEY_ID>', '<BACKUP_KEY_ID>', '<BITGO_KEY_ID>'],
};

const newWallet = await bitgo.coin('tbtc4').wallets().add(options);
console.log(JSON.stringify(newWallet, undefined, 2));
}

console.log(JSON.stringify(newWallet, undefined, 2));
}

// Manually create cold wallet
async function createColdWalletAdvanced() {
const options = {
    label: '<YOUR_WALLET_NAME>',
    isCold: true,
    m: 2,
    n: 3,
    // prerequisite is to create keys before hand
    keys: ['<USER_KEY_ID>', '<BACKUP_KEY_ID>', '<BITGO_KEY_ID>'],
};

const newWallet = await bitgo.coin('tbtc4').wallets().add(options);
console.log(JSON.stringify(newWallet, undefined, 2));
}

// Manually create custody wallet
async function createCustodyWalletAdvanced() {
const options = {
    label: '<YOUR_WALLET_NAME>',
    isCustodial: true,
};

const newWallet = await bitgo.coin('tbtc4').wallets().add(options);
console.log(JSON.stringify(newWallet, undefined, 2));
}
```

#### Step Result

> 📘 **Note**
>
> This response contains critical key material. Save it in a secure place.

```json Generate
{
  "wallet": {
    "id": "6849948ac0623f81f74f63dbd8351d4f",
    "users": [
      {
        "user": "62ab90e06dfda30007974f0a52a12995",
        "permissions": ["admin", "spend", "view"]
      }
    ],
    "coin": "tbtc4",
    "label": "TBTC4 Self-Custody Wallet",
    "m": 2,
    "n": 3,
    "keys": [
      "68499487e6c77351bd3bbf04281fa8bb",
      "68499487cd07fc57de18f6481baa1903",
      "6849948902be620840a384c148d19979"
    ],
    "keySignatures": {
      "backupPub": "204119cfa9a1d0a00bd0e30b2c43d535dff36af557d1846385df7d47dc1a0092cc1eefbdc41b9f619f6d89d3597656c5e3f6b1ccc4b1f4331861c6b0993296eab9",
      "bitgoPub": "20784ad236269cd93ba6b922831cc102fdfba193e6be5e88ba6234de1e5232b4ba65db1a0e47f1fd8d038bd23878632e4c376b475b36e4a0d9516797c12630963b"
    },
    "enterprise": "62c5ae8174ac860007aff138a2d74df7",
    "organization": "62c5ae8174ac860007aff1555ffb960d",
    "bitgoOrg": "BitGo Trust",
    "tags": [
      "6849948ac0623f81f74f63dbd8351d4f",
      "62c5ae8174ac860007aff138a2d74df7"
    ],
    "disableTransactionNotifications": false,
    "freeze": {},
    "deleted": false,
    "approvalsRequired": 1,
    "isCold": false,
    "coinSpecific": {},
    "admin": {},
    "clientFlags": [],
    "walletFlags": [],
    "allowBackupKeySigning": false,
    "recoverable": false,
    "startDate": "2025-06-11T14:36:58.000Z",
    "type": "hot",
    "buildDefaults": {},
    "customChangeKeySignatures": {},
    "hasLargeNumberOfAddresses": false,
    "multisigType": "onchain",
    "hasReceiveTransferPolicy": false,
    "creator": "62ab90e06dfda30007974f0a52a12995",
    "config": {},
    "balance": 0,
    "balanceString": "0",
    "rbfBalance": 0,
    "rbfBalanceString": "0",
    "confirmedBalance": 0,
    "confirmedBalanceString": "0",
    "spendableBalance": 0,
    "spendableBalanceString": "0",
    "unspentCount": 0,
    "receiveAddress": {
      "id": "6849948ac0623f81f74f63ead377af97",
      "address": "tb1pz65k93su0vdccm9tewv5c00nxjytmxxqwxjn6lcn4pu7d9fa5jtqvg0glr",
      "chain": 40,
      "index": 0,
      "coin": "tbtc4",
      "wallet": "6849948ac0623f81f74f63dbd8351d4f",
      "coinSpecific": { "_requestId": "54b5f74006db93a38ab7-0000" }
    },
    "pendingApprovals": []
  },
  "userKeychain": {
    "id": "68499487e6c77351bd3bbf04281fa8bb",
    "pub": "xpub661MyMwAqRbcEst4tb4F36AfvoFtAy7U9viB7zapRqNnXhPknsPwNqhxpD1CqMGSGhq3hDMKQR1Br8gGxYygoR6SGic3XdJoTEzM5v9wyFy",
    "ethAddress": "0x944b592f950d24dd12dc405527e355d3d3922856",
    "source": "user",
    "type": "independent",
    "encryptedPrv": "{\"iv\":\"9sYzOP14H+eAN16iN40RLA==\",\"v\":1,\"iter\":10000,\"ks\":256,\"ts\":64,\"mode\":\"ccm\",\"adata\":\"\",\"cipher\":\"aes\",\"salt\":\"P5CWbEjWcu0=\",\"ct\":\"yTNEuBHcOjrZAeqSeGSgxu1Anls6zuC7W6AcwNuL4dwGbc3A6OSs68fpzN2ZpFj4EP1BazjiuT0iwZXIaEY/aYsGLNF/DMkTa16sngzx16Az20sBroYdvcfqXoroTZR63N6hoeepQst19nTuPYp/By/NYR/nhxo=\"}",
    "prv": "xprv9s21ZrQH143K2PobnZXEfxDwNmRPmWPcnhnaKcBCsVqoeu4cFL5gq3PUxv8jZXassaVMAxdrZAi91kyY2RVRkoNW2x5JKSBnozsB4Nc4m5H"
  },
  "backupKeychain": {
    "id": "68499487cd07fc57de18f6481baa1903",
    "pub": "xpub661MyMwAqRbcEfnfBkVRk9BB1SrYaFR884ndYpmNXnci6U2wrAQCsFiD21c49Aq7EvtK6QFzDzMwmFKVqi1bTL7kmuCEJ78bFn9Rq6NyLDV",
    "ethAddress": "0x1907355a7022491140d0e7e3447303c94c2be0f1",
    "source": "backup",
    "type": "independent",
    "encryptedPrv": "{\"iv\":\"EHdXHSWtgxzMhys9XAK9kg==\",\"v\":1,\"iter\":10000,\"ks\":256,\"ts\":64,\"mode\":\"ccm\",\"adata\":\"\",\"cipher\":\"aes\",\"salt\":\"oAQFS3LUV38=\",\"ct\":\"za2qiPkBjSkxD6XJBYvCyLfFtZMjZG00eUOKMfuzKNODp5/zDnRSPhMj28nMxayWowf8XLyyN7lMxJXBYxohuZ95ii5XWK6sw4SxKrD6+cejiMawWFIFTCNc0WhrcnTsYpyMYL1U5Ncpcd2/5sPUNOBWaK5XAdA=\"}",
    "prv": "xprv9s21ZrQH143K2BiC5ixRP1ESTR24AnhGkqs2kSMkyT5jDfhoJd5xKTPjAkMwgvkHDmvBTMq6ck679XNTtdd1fz1DmxifzPi8HkkP7GjKyfj"
  },
  "bitgoKeychain": {
    "id": "6849948902be620840a384c148d19979",
    "pub": "xpub661MyMwAqRbcGCXsEAmctkLstGa92f5ugiD3hvCL3Wyt8BqHYGCVsL2x6PgNgJeq8Aabtz92sMzq4Ezac459QkDmxowKqoL35gNJXEJDdeo",
    "ethAddress": "0x92f48893ab51470c2253a97aea8071da70bbd461",
    "source": "bitgo",
    "type": "independent",
    "isBitGo": true,
    "isTrust": false,
    "hsmType": "institutional"
  },
  "responseType": "WalletWithKeychains",
  "warning": "Be sure to backup the backup keychain -- it is not stored anywhere else!"
}
```
```json Manual
{
  "id": "68499ba3df2bb455ecae0cf2bf0639a9",
  "users": [
    {
      "user": "62ab90e06dfda30007974f0a52a12995",
      "permissions": ["admin", "spend", "view"]
    }
  ],
  "coin": "tbtc4",
  "label": "TBTC4 BitGo Offline Vault Wallet",
  "m": 2,
  "n": 3,
  "keys": [
    "68499a2877a6825438c3339f769ee77a",
    "68499a6402be620840a448139781826f",
    "68499a86c0623f81f750411c0f625b03"
  ],
  "keySignatures": {},
  "enterprise": "62c5ae8174ac860007aff138a2d74df7",
  "organization": "62c5ae8174ac860007aff1555ffb960d",
  "bitgoOrg": "BitGo Trust",
  "tags": [
    "68499ba3df2bb455ecae0cf2bf0639a9",
    "62c5ae8174ac860007aff138a2d74df7"
  ],
  "disableTransactionNotifications": false,
  "freeze": {},
  "deleted": false,
  "approvalsRequired": 1,
  "isCold": true,
  "coinSpecific": {},
  "admin": {},
  "clientFlags": [],
  "walletFlags": [],
  "allowBackupKeySigning": false,
  "recoverable": false,
  "startDate": "2025-06-11T15:07:15.000Z",
  "type": "cold",
  "buildDefaults": {},
  "customChangeKeySignatures": {},
  "hasLargeNumberOfAddresses": false,
  "multisigType": "onchain",
  "hasReceiveTransferPolicy": false,
  "creator": "62ab90e06dfda30007974f0a52a12995",
  "config": {},
  "balance": 0,
  "balanceString": "0",
  "rbfBalance": 0,
  "rbfBalanceString": "0",
  "confirmedBalance": 0,
  "confirmedBalanceString": "0",
  "spendableBalance": 0,
  "spendableBalanceString": "0",
  "unspentCount": 0,
  "receiveAddress": {
    "id": "68499ba3df2bb455ecae0d0b3d0df225",
    "address": "tb1q8w3mcwt83tpmmr4reas3xt8t7rcshu7gztszewpcw4qvda9nf9fssxxdz2",
    "chain": 20,
    "index": 0,
    "coin": "tbtc4",
    "wallet": "68499ba3df2bb455ecae0cf2bf0639a9",
    "coinSpecific": {
      "witnessScript": "52210373af0b03d8d67ec6a4d35dac1d6a5e0f4266da68edc5101924d1129cadca9a1a2102641338f685cc6955c3f1798bd9fcf319b1fe27cc926c620b355cd598d764401c2102d080f5ee11112938a2af311445aca38a0d8957406f5e07e0be3515893ad084dd53ae",
      "_requestId": "cmbs32qec0paa0f4qccunhmkz"
    }
  },
  "pendingApprovals": []
}
```

> 📘 **Note**
>
> Some networks, such as Ethereum, don't immediately return a new multisignature address, since creating a new address requires a blockchain transaction. The blockchain must confirm this transaction before you can use the address. The parameter `pendingChainInitialization` identifies if an address is awaiting confirmation.
>
>You can save the wallet ID in the response, then wait for the blockchain to confirm the address before using it.
</Tab>
<Tab title="MPC">
>Endpoints:
> * [Generate Wallet](/reference/expresswalletgenerate)
> * [Add Wallet](/reference/v2walletadd)

```shell cURL (Generate)
export BITGO_EXPRESS_HOST="<YOUR_LOCAL_HOST>"
export COIN="<ASSET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export ENTERPRISE="<ENTERPRISE_ID>"
export WALLET_PASSPHRASE="<YOUR_BITGO_LOGIN_PASSPHRASE>"
export LABEL="<YOUR_DESIRED_WALLET_NAME>"

curl -X POST \
  http://$BITGO_EXPRESS_HOST/api/v2/$COIN/wallet/generate?includeKeychains=true \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
    "enterprise": "'"$ENTERPRISE"'",
    "passphrase": "'"$PASSPHRASE"'",
    "label": "'"$LABEL"'",
    "type": "hot",
    "multisigType": "tss",
    "walletVersion": 5 # Required for ECDSA assets, such as ETH and MATIC
}'
```
```shell cURL (Manual)
export COIN="<ASSET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export ENTERPRISE="<ENTERPRISE_ID>"
export LABEL="<YOUR_WALLET_NAME>"

curl -X POST \
  https://app.bitgo-test.com/api/v2/$COIN/wallet \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
    "enterprise": "'"$ENTERPRISE"'",
    "label": "'"$LABEL"'",
    "type": "custodial",
    "multisigType": "tss",
    "walletVersion": 5 # Required for ECDSA assets, such as ETH and MATIC
}'
```
```shell cURL (Manual Self-Custody)
export COIN="<ASSET_ID>"
export ACCESS_TOKEN="<YOUR_ACCESS_TOKEN>"
export ENTERPRISE="<ENTERPRISE_ID>"
export LABEL="<YOUR_WALLET_NAME>"
export USER_KEY_ID="<USER_KEY_ID>"
export BACKUP_KEY_ID="<BACKUP_KEY_ID>"
export BITGO_KEY_ID="<BITGO_KEY_ID>"

curl -X POST \
  https://app.bitgo-test.com/api/v2/$COIN/wallet \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
    "enterprise": "'"$ENTERPRISE"'",
    "label": "'"$LABEL"'",
    "type": "hot",
    "multisigType": "tss",
    "walletVersion": 5, # Required for ECDSA assets, such as ETH and MATIC
    "m": 2,
    "n": 3,
    "keys": [
        "<USER_KEY_ID>",
        "<BACKUP_KEY_ID>",
        "<BITGO_KEY_ID>"
    ]
}'
```
```js JavaScript (Generate)
async function createHotWalletSimple() {
    const newWallet = await bitgo.coin('teth').wallets().generateWallet({
        label: '<YOUR_WALLET_NAME>',
        passphrase: '<YOUR_BITGO_LOGIN_PASSPHRASE>',
        multisigType: 'tss',
        passcodeEncryptionCode: '<RANDOM_STRING>', // Encrypts the orginal wallet passphrase
        walletVersion: 5, // Required for ECDSA assets, such as ETH, MATIC, and Cosmos SDK assets
    });
    console.log(JSON.stringify(newWallet, undefined,2));
}
```
```js JavaScript (Manual)
async function createHotWalletAdvanced() {
    const options = {
        label: '<YOUR_WALLET_NAME>',
        multisigType: 'tss',
        walletVersion: 5, // Required for ECDSA assets, such as ETH and MATIC
        m: 2,
        n: 3,
        // Prerequisite is to create keys before hand
        keys: ['<USER_KEY_ID>', '<BACKUP_KEY_ID>', '<BITGO_KEY_ID>'],
    };
    const newWallet = await bitgo.coin('hteth').wallets().add(options);
    console.log(JSON.stringify(newWallet, undefined, 2));
}

async function createCustodyWalletAdvanced() {
    const options = {
        label: '<YOUR_WALLET_NAME>',
        isCustodial: true,
        multisigType: 'tss',
    };
    const newWallet = await bitgo.coin('hteth').wallets().add(options);
    console.log(JSON.stringify(newWallet, undefined, 2));
}
```

#### Step Result

> 📘 **Note**
>
> This response contains critical key material. Save it in a secure place.

```json Generate
{
  "wallet": {
    "id": "665e33f768f9b4b1cc2ca87a6b87cdfb",
    "users": [
      {
        "user": "660d7c9fa6fbf0d00b415146cf70405a",
        "permissions": ["admin", "spend", "view"]
      }
    ],
    "coin": "hteth",
    "label": "MPCv2-using-settings-api",
    "m": 2,
    "n": 3,
    "keys": [
      "665e33f6fcf87cac817eb3b2ed964042",
      "665e33f6e7331ba062e62c48c6ccaf98",
      "665e33f6fcf87cac817eb3b01c6b4c36"
    ],
    "keySignatures": {},
    "enterprise": "66325011d4b1ff58feae3b311d669aae",
    "organization": "66325011d4b1ff58feae3b76c2d30987",
    "bitgoOrg": "BitGo Trust",
    "tags": [
      "665e33f768f9b4b1cc2ca87a6b87cdfb",
      "66325011d4b1ff58feae3b311d669aae"
    ],
    "disableTransactionNotifications": false,
    "freeze": {},
    "deleted": false,
    "approvalsRequired": 1,
    "isCold": false,
    "coinSpecific": {
      "deployedInBlock": false,
      "lastChainIndex": { "0": -1, "1": -1 },
      "baseAddress": "0x1a52b70e708f4aec9d92260aa035b3c71e51df84",
      "feeAddress": "0x56b269b691f910f1bed53893af099402c2983ea8",
      "pendingChainInitialization": false,
      "pendingEcdsaTssInitialization": false,
      "creationFailure": [],
      "gasPriceTier": "fast",
      "tokenFlushThresholds": {},
      "lowPriorityFeeAddress": "0x56b269b691f910f1bed53893af099402c2983ea8",
      "salt": "0x7",
      "walletVersion": 5,
      "pendingDeployment": false,
      "deployForwardersManually": false,
      "flushForwardersManually": false,
      "enableMMI": false,
      "enableNFT": false
    },
    "admin": {},
    "clientFlags": [],
    "walletFlags": [],
    "allowBackupKeySigning": false,
    "recoverable": false,
    "startDate": "2024-06-03T21:21:59.000Z",
    "type": "hot",
    "buildDefaults": {},
    "customChangeKeySignatures": {},
    "hasLargeNumberOfAddresses": false,
    "multisigType": "tss",
    "multisigTypeVersion": "MPCv2",
    "config": {},
    "balanceString": "0",
    "confirmedBalanceString": "0",
    "spendableBalanceString": "0",
    "receiveAddress": {
      "id": "665e33f768f9b4b1cc2ca88ae9f990fc",
      "address": "0x1a52b70e708f4aec9d92260aa035b3c71e51df84",
      "chain": 0,
      "index": 0,
      "coin": "hteth",
      "wallet": "665e33f768f9b4b1cc2ca87a6b87cdfb",
      "coinSpecific": {
        "nonce": -1,
        "updateTime": "2024-06-03T21:21:59.948Z",
        "txCount": 0,
        "pendingChainInitialization": false,
        "creationFailure": [],
        "pendingDeployment": false,
        "forwarderVersion": 4,
        "isTss": true,
        "isNonceLocked": false
      }
    },
    "pendingApprovals": []
  },
  "userKeychain": {
    "id": "665e33f6fcf87cac817eb3b2ed964042",
    "source": "user",
    "type": "tss",
    "commonKeychain": "0294459a370b9326a8f64a5279bc072329fd6ae7df8257ed3676fe6acb84542bcc2a9c88e000d1f978be4e361a3a2134042019480a5d26e4cc8c28b3c6b447bb35",
    "encryptedPrv": "{\"iv\":\"sFg9U3JGBj+7r/LDiIMC9Q==\",\"v\":1,\"iter\":10000,\"ks\":256,\"ts\":64,\"mode\":\"ccm\",\"adata\":\"\",\"cipher\":\"aes\",\"salt\":\"t6Hxh0ltDyk=\",\"ct\":\"P4EX2aysZFaFVjfNK6/dPI/sCP1TBuBRWEh+0/.../DGtSuMoRWGsTREEsC8CPEdIXQXHtHQFz7suBl4MI1CAJrn\"}",
    "reducedEncryptedPrv": "{\"iv\":\"5I6TxMaZIxxXt4hCSDAYRg==\",\"v\":1,\"iter\":10000,\"ks\":256,\"ts\":64,\"mode\":\"ccm\",\"adata\":\"\",\"cipher\":\"aes\",\"salt\":\"KQyVl16HLXo=\",\"ct\":\"AWhrVQ6VdbGUhVyXmJvVPtzJTHbtL5SRSPoaQFQnB2mVsHCdLb6/.../eJtnkmW0JmY01pGoVOFEQAejvbHslAU3SsjePlntQ==\"}"
  },
  "backupKeychain": {
    "id": "665e33f6e7331ba062e62c48c6ccaf98",
    "source": "backup",
    "type": "tss",
    "commonKeychain": "0294459a370b9326a8f64a5279bc072329fd6ae7df8257ed3676fe6acb84542bcc2a9c88e000d1f978be4e361a3a2134042019480a5d26e4cc8c28b3c6b447bb35",
    "encryptedPrv": "{\"iv\":\"PhOwLdbEsNfVYZ6sYXQJEg==\",\"v\":1,\"iter\":10000,\"ks\":256,\"ts\":64,\"mode\":\"ccm\",\"adata\":\"\",\"cipher\":\"aes\",\"salt\":\"JdFcXK+6WLk=\",\"ct\":\"eK22QoNHhSFmv5g8sfnd0z3lmjv5XvZPjS2C2XJjsPO...wnz0DkZoql8LaiQy3slwC1jIrtYHF3DfELce3LyMtOAx\"}",
    "reducedEncryptedPrv": "{\"iv\":\"Ve8tq+ZYwR4pUcWGYlgwPQ==\",\"v\":1,\"iter\":10000,\"ks\":256,\"ts\":64,\"mode\":\"ccm\",\"adata\":\"\",\"cipher\":\"aes\",\"salt\":\"oFPwODIvtLs=\",\"ct\":\"Rap2+GkxwhHjRJeu+B7lKnEOk6oydbT4bGra7afZuGFyvenNKPI3dYe+...+GXhbKIbv586SxUsZV4ePDeXTcY6P/f3NUPhMfXZ0sS5fCpMrL9Vj5cVmks2zjx8MKbPL9ixgmlq2b3RZvLDoUwJmbD0qWWwGygczCdWFWuuS1qohtFI02E9TnA==\"}"
  },
  "bitgoKeychain": {
    "id": "665e33f6fcf87cac817eb3b01c6b4c36",
    "source": "bitgo",
    "type": "tss",
    "commonKeychain": "0294459a370b9326a8f64a5279bc072329fd6ae7df8257ed3676fe6acb84542bcc2a9c88e000d1f978be4e361a3a2134042019480a5d26e4cc8c28b3c6b447bb35",
    "isBitGo": true
  }
}
```
```json Manual
{
    "id": "62f03dee8d13be0007894b3dbc21be17",
    "users": [
        {
            "user": "62ab90e06dfda30007974f0a52a12995",
            "permissions": [
                "admin",
                "view",
                "spend"
            ]
        }
    ],
    "coin": "teth",
    "label": "ETH MPC Wallet",
    "m": 2,
    "n": 3,
    "keys": [
        "62f03dee8d13be0007894b41f63bc504",
        "62f03dee8d13be0007894b43cb0f65d0",
        "62f03dee8d13be0007894b3f8024e0e8"
    ],
    "keySignatures": {},
    "enterprise": "62c5ae8174ac860007aff138a2d74df7",
    "tags": [
        "62f03dee8d13be0007894b3dbc21be17",
        "62c5ae8174ac860007aff138a2d74df7"
    ],
    "disableTransactionNotifications": false,
    "freeze": {},
    "deleted": false,
    "approvalsRequired": 1,
    "isCold": true,
    "coinSpecific": {
        "rootAddress": "5G4oQ1xMu5V4y9Cdp9zPnVR57Nh8vsbYRRTei7MmQU6e1DHv",
        "lastNonce": 0,
        "lastChainIndex": {
            "0": 0,
            "1": -1
        }
    },
    "admin": {
        "policy": {
            "date": "2022-08-07T22:34:22.329Z",
            "id": "62f03dee8d13be0007894b527ee9f7fa",
            "label": "default",
            "rules": [
                {
                    "id": "Custody Wallet Transaction Custodian Approval",
                    "lockDate": "2022-08-07T22:34:22.486Z",
                    "mutabilityConstraint": "permanent",
                    "type": "allTx",
                    "action": {
                        "type": "getCustodianApproval",
                        "userIds": []
                    },
                    "condition": {}
                },
                {
                    "id": "Custody Wallet Whitelist",
                    "lockDate": "2122-08-07T22:34:22.289Z",
                    "mutabilityConstraint": "managed",
                    "type": "advancedWhitelist",
                    "action": {
                        "type": "deny",
                        "userIds": []
                    },
                    "condition": {
                        "entries": []
                    }
                }
            ],
            "version": 6,
            "latest": true
        }
    },
    "clientFlags": [],
    "walletFlags": [],
    "allowBackupKeySigning": false,
    "recoverable": false,
    "startDate": "2022-08-07T22:34:22.000Z",
    "type": "custodial",
    "buildDefaults": {},
    "customChangeKeySignatures": {},
    "hasLargeNumberOfAddresses": false,
    "multisigType": "tss",
    "config": {},
    "balanceString": "0",
    "confirmedBalanceString": "0",
    "spendableBalanceString": "0",
    "receiveAddress": {
        "id": "62f03dee8d13be0007894b73b894ee69",
        "address": "5G4oQ1xMu5V4y9Cdp9zPnVR57Nh8vsbYRRTei7MmQU6e1DHv",
        "chain": 0,
        "index": 0,
        "coin": "tdot",
        "wallet": "62f03dee8d13be0007894b3dbc21be17",
        "coinSpecific": {
            "nonceTracker": {
                "detectedMissingNonces": []
            },
            "rootAddress": "5G4oQ1xMu5V4y9Cdp9zPnVR57Nh8vsbYRRTei7MmQU6e1DHv"
        }
    },
    "pendingApprovals": []
}
```
</Tab>
</Tabs>

## Next

* [Create Addresses](/docs/wallets-create-addresses)
* [Create Whitelists](/docs/wallets-whitelists-create)

## See Also

* [API Reference: Add Wallet](/reference/v2walletadd)
* [API Reference: Generate Wallet](/reference/expresswalletgenerate)
* [Concept: BitGo Wallet Types](/docs/wallet-types)
