List derived wallets for an EVM keyring

get/api/v2/wallet/{walletId}/derivedwallets

Lists all child wallets derived from an EVM keyring parent wallet. This endpoint accepts either a parent wallet ID or a child wallet ID:

  • If given a parent wallet ID (wallet with isParent=true), returns all child wallets
  • If given a child wallet ID (wallet with evmKeyRingReferenceWalletId), returns all sibling child wallets that share the same parent

Child wallets are identified by having the evmKeyRingReferenceWalletId field set to the parent wallet's ID. Child wallets can be on different chains (e.g., BSC, Polygon, Arbitrum) but share the same key material from the parent wallet.

Returns wallets with the same structure as the normal list wallet API, including:

  • Balance information (balance, confirmedBalance, spendableBalance)
  • Token balances for all tokens on each chain
  • Staking balances (if includeStakingBalances is set)
  • Receive addresses (unless skipReceiveAddress is set)
  • Policy information (if expandPolicy is set)
  • All other wallet properties

Path Parameters

  • walletIdstringRequired
    The wallet ID - can be either a parent wallet ID or a child wallet ID
    Example: 59cd72485007a239fb00282ed480da1f
    Pattern: ^[0-9a-f]{32}$

Query Parameters

  • idarray[string]
    Filter by ID
    Example: "59cd72485007a239fb00282ed480da1f"
    Pattern: ^[0-9a-f]{32}$
    Min length: >= 1 characters
  • coinarray[string]
    Filter by coin
    Example: "btc"
  • enterprisearray[string]
    Filter by enterprise.
    Example: "59cd72485007a239fb00282ed480da1f"
    Pattern: ^[0-9a-f]{32}$
  • typearray[string]
    Filter by wallet type
  • subTypearray[string]
    Filter by wallet sub-type
  • deletedboolean
    Filter by deleted state
  • prevIdstring
    Return the next batch of results, based on the "nextBatchPrevId" value from the previous batch.
    Example: 59cd72485007a239fb00282ed480da1f
    Pattern: ^[0-9a-f]{32}$
  • labelContainsstring
    Filter by label substring.
  • expandBalancebooleanDefault: false
    Add "balanceString", "confirmedBalanceString" and "spendableBalanceString" to each wallet
  • excludeSpendableBalanceboolean
  • expandPolicyboolean
  • expandCustodialWalletboolean
    Whether linked custodial wallets should be expanded inline
  • ignoreErrorsboolean
  • includeStakingBalancesbooleanDefault: false
    Include `stakingBalanceString` and `rewardBalanceString` properties for each staking wallet. Requires `expandBalance` to be set to true.
  • limitstring<number>Default: 25
    Maximum number of results to return. If the result set is truncated, use the "nextBatchPrevId" value to get the next batch.
  • offsetstring<number>Default: 0
    Number of documents to skip for offset-based pagination.
  • skipReceiveAddressbooleanDefault: false
    Do not add "receiveAddress" to each wallet
  • permissionstring
    Return only wallets for which the user has the given permission
    Enum: admin view spend
  • pinnedWalletsstring
    Return only pinned wallets ("pinnedOnly") or only unpinned wallets ("pinnedExcluded"), exclude to return both
    Enum: pinnedOnly pinnedExcluded
  • bitgoOrgstring
    Return only wallets belong to the BitGo trust org
    Enum: BitGo Trust BitGo New York BitGo Germany BitGo Switzerland BitGo Europe ApS Frankfurt DE Trust BitGo Singapore BitGo Korea BitGo Custody MENA FZE BitGo India BitGo Sister Trust 1

200 Response

coinOne of
wallets array[object] required
allowBackupKeySigning boolean required
approvalsRequired number required
Minimum: >= 1
Example: 1
coin string required
A cryptocurrency symbol or token ticker symbol
Example: btc
coinSpecificOne ofrequired
deleted boolean required
disableTransactionNotifications boolean required
hasLargeNumberOfAddresses
boolean or null
required
id string required
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
isCold boolean required
label string required
Example: My Wallet
startDate string <date-time>required
Wallet creation time
admin object
billingEnterprise string
buildDefaults object
clientFlags array[object]
config object
custodialWalletId string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
customChangeKeySignatures object
customerWalletId string
enterprise string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
evmKeyRingReferenceWalletId string
Reference wallet ID for EVM keyring wallets (child wallets only)
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
isParent boolean
Indicates if this wallet is a parent wallet in an EVM keyring setup
Example: true
enabledChildChains array[string]
Array of enabled child chain names for parent EVM keyring wallets
Example: ["tbsc","tpolygon"]
organization string
bitgoOrg string
freeze object
instantProvider string
keys array[string]
Example: ["585951a5df8380e0e304a553","585951a5df8380e0e30d645c","585951a5df8380e0e30b6147"]
keySignatures object
m number
Number of signatures required. This value must be 2 for hot wallets, 1 for **ofc** wallets, and not specified for custodial wallets.
Example: 2
migratedFrom string
multisigType string
Allowed values: onchain tss blsdkg
multisigTypeVersion string
Allowed value: MPCv2
n number
Number of keys provided. This value must be 3 for hot wallets, 1 for **ofc** wallets, and not specified for custodial wallets.
Example: 3
recoverable boolean
tags array[string]
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: backing cold custodial custodialPaired hot advanced trading
subType string
Allowed values: distributedCustody pairedCustodial custodialHot custodialCold lightningCustody lightningSelfCustody onPrem
balanceString string
The cleared balance of the address in base units (e.g. Satoshis). Guaranteed to not lose precision. The is only returned if the `expandBalance` query parameter is set to `true`.
balance number
The cleared balance of the address in base units (e.g. Satoshis). The is only returned if the `expandBalance` query parameter is set to `true`.
confirmedBalanceString string
The total balance of confirmed transactions in base units (e.g. Satoshis). The is only returned if the `expandBalance` query parameter is set to `true`. Guaranteed to not lose precision.
confirmedBalance number
The total balance of confirmed transactions in base units (e.g. Satoshis). The is only returned if the `expandBalance` query parameter is set to `true`.
spendableBalanceString string
The total balance in base units (e.g. Satoshis) which may be used as inputs for creating new transactions in string representation. Guaranteed to not lose precision. The is only returned if the `expandBalance` query parameter is set to `true`.
spendableBalance number
The total balance in base units (e.g. Satoshis) which may be used as inputs for creating new transactions in string representation. The is only returned if the `expandBalance` query parameter is set to `true`.
stakingBalanceString string
The staked balance in base units. Guaranteed to not lose precision. The is only returned if the `includeStakingBalances` query parameter is set to `true`.
rewardBalanceString string
The staking reward balance in base units. Guaranteed to not lose precision. The is only returned if the `includeStakingBalances` query parameter is set to `true`.
offchain object
Lightning Balances
users array[object]
walletFlags array[object]
receiveAddress object
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 number

400 Response

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

404 Response

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