Create
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
- If manually creating self-custody wallets, Create MPC Keys or Create Multisignature Keys, depending on the wallet type.
Cookbooks
Need just the steps? Expand a cookbook below to get started:
Create Wallets (MPC)Open Cookbook Create Wallets (Multisignature)Open CookbookCreate Wallet
Endpoints:
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"
}'
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"'"
]
}'
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));
}
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.
{
"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!"
}
{
"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.
Endpoints:
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
}'
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
}'
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>"
]
}'
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));
}
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.
{
"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
}
}
{
"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": []
}