List wallets

get/api/v2/wallets

Get a list of all wallets for which you have permission. To narrow your search, use the List wallets parameters below or call List wallets by coin, Get Wallet (by "coin" and "walletId") or Get wallet by address (by "coin" and "address").

Compare the List/Get wallet APIs:

  • List wallets returns 1 or more wallets for 1 or more coins across 1 or more enterprises (within an array).
  • List wallets by coin returns 1 or more wallets for one coin only across 1 or more enterprises (within an array).
  • Get wallet and Get wallet by address return one wallet.
Test the List/Get wallet APIs. With the same parameter values, these calls should return the same wallet (with minor differences in the responses):

APIURL
List wallets{{baseUrl}}/api/v2/wallets?coin={coin}&enterprise={enterpriseid}&id={walletId}&expandBalance=true
List wallets by coin{{baseUrl}}/api/v2/{coin}/wallet?enterprise={enterpriseid}&searchLabel={wallet name}
Get wallet{{baseUrl}}/api/v2/{coin}/wallet/{walletId}
Get wallet by address{{baseUrl}}/api/v2/{coin}/wallet/address/{address}

Query Parameters

  • coinarray[string]
    Filter by coin
    Example: "btc"
  • deletedarray[boolean]
    Filter by deleted state
  • enterprisearray[string]
    Filter by enterprise
    Example: "59cd72485007a239fb00282ed480da1f"
    Pattern: ^[0-9a-f]{32}$
  • enterpriseIsNullboolean
    Filter by whether the enterprise field is null
  • skipReceiveAddressbooleanDefault: false
    Do not add "receiveAddress" to each wallet
  • expandBalancebooleanDefault: false
    Add "balanceString" and "spendableBalanceString" to each wallet
  • idarray[string]
    Filter by id
    Example: "59cd72485007a239fb00282ed480da1f"
    Pattern: ^[0-9a-f]{32}$
  • labelContainsstring
    Filter by label substring
  • limitintegerDefault: 25
    Maximum number of results to return. If the result set is truncated, use the "nextBatchPrevId" value to get the next batch.
  • offsetinteger
    Number of documents to skip for offset-based pagination. Default is 0.
  • prevIdstring
    Return the next batch of results, based on the "nextBatchPrevId" value from the previous batch.
    Example: "59cd72485007a239fb00282ed480da1f"
    Pattern: ^[0-9a-f]{32}$
  • typearray[string]
    Filter by wallet type
    Enum: cold custodial custodialPaired hot trading distributedCustody
  • expandCustodialWalletboolean
    Whether linked custodial wallets should be expanded inline
  • permissionstring
    Return only wallets for which the user has the given permission
    Enum: admin view spend

200 Response

wallets array[object] required
admin object
allowBackupKeySigning boolean
approvalsRequired integer required
Minimum: >= 1
Example: 1
balanceString string
Total balance in base units (e.g. Satoshis)
Example: 2000000
Match pattern: ^-?\d+$
buildDefaults object
coin string required
A cryptocurrency or token ticker symbol.
Example: btc
coinSpecificOne of
custodialWallet object
The associated custodial wallet object
custodialWalletId string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
deleted boolean required
disableTransactionNotifications boolean required
enterprise string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
freeze object
id string required
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
isCold boolean
keys array[string]
Example: ["585951a5df8380e0e304a553","585951a5df8380e0e30d645c","585951a5df8380e0e30b6147"]
label string required
Example: My Wallet
m integer
Number of signatures required. This value must be 2 for hot wallets, 1 for **ofc** wallets, and not specified for custodial wallets.
Example: 2
n integer
Number of keys provided. This value must be 3 for hot wallets, 1 for **ofc** wallets, and not specified for custodial wallets.
Example: 3
nodeId string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
receiveAddress object
recoverable boolean
tags array[string]
spendableBalanceString string
Spendable balance in base units (e.g. Satoshis)
Example: 2000000
Match pattern: ^-?\d+$
unspentCount number
Number of unspent outputs present in the wallet
Example: 100
startDate string <date-time>
Wallet creation time
Example: {}
type string
The type describes who owns the keys to the wallet and how they are stored. "cold" wallets are wallets where the private key of the user key is stored exclusively outside of BitGo's system. "custodial" means that this wallet is a cold wallet where BitGo owns the keys. Only customers of the BitGo Trust can create this kind of wallet. "custodialPaired" means that this is a hot wallet that is owned by the customer but it will be linked to a cold (custodial) wallet where BitGo owns the keys. This option is only available to customers of BitGo Inc. BitGo stores an encrypted private key for the user key of "hot" wallets. "trading" wallets are trading accounts where the coin is "ofc". "distributedCustody" means You manage one key and another key agent manages the second key. BitGo manages the third key
Allowed values: cold custodial custodialPaired hot trading distributedCustody
users array[object]
customChangeKeySignatures object
Signatures for the keys which will be used to derive custom change addresses. **Note:** These signatures may only be set once for each wallet and are not modifiable after being set.
multisigType string
Allowed values: onchain tss blsdkg
nextBatchPrevId string <uuid>
When a result set is truncated, this field returns the id of the last object in the previous batch. To get the next batch of results, pass this value via the "prevId" query parameter.
Example: 585951a5df8380e0e3063e9f
totalCount integer

400 Response

One of
error string required
Human-readable error message
requestId string required
Client request id
context object
Properties that apply to a specific error name
name string required
Error code