REST APIWallet & TransactWallet

GET

Returns wallet and balance details for a wallet.

Path Params

  • coin string required
    A cryptocurrency symbol or token ticker symbol
  • walletId string required

    matches ^[0-9a-f]{32}$

Query Params

  • allTokens boolean
    Include data for all subtokens (i.e. ERC20 Tokens, Stellar Tokens)
  • unspentCount boolean
    True, if including unspent count for UTXO-based coins.
  • includeRbf boolean
    True, if including Replace-By-Fee (RBF) transactions in the total balance amount.
  • expandAdvancedWhitelist boolean
    True, if including the advanced whitelist wallet address in the response. The address is annotated as part of the whitelist entry metadata
  • includeStakingBalances boolean
    Includes the staked balance and reward balance of the wallet
  • includeBalance boolean
    Omit trying to fetch the wallet balance
  • includeEvmKeyringWhitelist boolean
    When true, includes whitelist policy rules from all EVM keyring derived wallets in addition to the main wallet's rules. Each merged rule is tagged with the source walletId so the caller can identify which network it belongs to. Only applicable for EVM keyring wallets (parent or derived).
  • exactConfirmedBalance boolean

    When set to true, the confirmedBalance in the response will be the exact on-chain balance without considering any unconfirmed transactions (for UTXO-based coins only).

    When false, the confirmedBalance will not include the outputs consumed of unconfirmed withdrawals. This may be inaccurate in certain situations

    Default value: false.

Responses

200
OK

Response Body

object

  • allowBackupKeySigning boolean required
  • approvalsRequired number required

    >= 1

  • coin string required
    A cryptocurrency symbol or token ticker symbol
  • coinSpecific object required

    ONE OF

    • rootAddress string required
    • addressCount string required
    • pendingChainInitialization boolean required
    • rewardAddress string required
    • lastChainIndex map of numbers
      lastChainIndex object
      • <key> number
  • deleted boolean required
  • disableTransactionNotifications boolean required
  • hasLargeNumberOfAddresses boolean nullable required
  • id string required

    matches ^[0-9a-f]{32}$

  • isCold boolean required
  • label string required
  • startDate string date-time required
    Wallet creation time
  • admin object
    admin object
    • policy object
      policy object
      • date string date-time required
      • id string required

        matches ^[0-9a-f]{32}$

      • latest boolean required
      • version number required
      • enterpriseId string
      • label string
      • rules array of objects
        rules object
        • id string required
        • type string enum required
          advancedWhitelistcoinAddressWhitelistcoinAddressBlacklist
        • action object required
          What happens when this rule is triggered
          action object
          • type string enum required
            The type of the action
            denygetApprovalgetEnterpriseUserApprovalgetUserRoleApprovalgetAnyApprovalgetFinalApprovalgetVideoApprovalgetIdVerificationverifyWalletRebalancegetCustodianApprovalgetCustodialSignaturetriggerWebhookNotificationperformLivenessVerificationrecommendBackingWalletRoutinggetManualTrustReviewgetManualSupportReviewgetSupportManagerApprovalgetVideoApprovalFromSupport
          • userIds array of strings
        • latest boolean
        • version number
        • lockDate string date-time
          The time at which this rule becomes immutable
        • mutabilityConstraint string enum
          Specifies whether a BitGo admin can change "lockDate" * "managed" - Not locked, but requires approval from a BitGo admin to change * "permanent" - "lockDate" cannot be changed * "sticky" - Not included in bulk unlock, but "lockDate" can be individually changed
          permanentmanaged
        • coin string
          A cryptocurrency symbol or token ticker symbol
        • condition object
          Parameters for the type

          ONE OF

        • walletId string
          The ID of the wallet this rule originates from. Populated only when the rule is returned as part of an EVM keyring aggregated response (includeEvmKeyringWhitelist=true) for rules that belong to a derived wallet. Absent for rules on the main wallet itself.
      • walletId string

        matches ^[0-9a-f]{32}$

  • billingEnterprise string
  • buildDefaults object
    buildDefaults object
    • minFeeRate number
      (UTXO only) Wallet-level minimum fee rate that must be greater than or equal to the default of 1000 satoshis/kvByte. Per transaction, you can override "minFeeRate" with the "feeRate" parameter.

      >= 1000

    • maxFeeRate number
    • feeMultiplier number nullable
    • changeAddressType string nullable
    • autoReserveUnspentsOnBuildMins number nullable
  • clientFlags array of objects
    clientFlags object
    • name string
    • value boolean
  • config object
    config object
    • nodeId object
  • custodialWalletId string

    matches ^[0-9a-f]{32}$

  • customChangeKeySignatures object
    customChangeKeySignatures object
    • user string
    • backup string
    • bitgo string
  • customerWalletId string
  • enterprise string

    matches ^[0-9a-f]{32}$

  • evmKeyRingReferenceWalletId string
    Reference wallet ID for EVM keyring wallets (child wallets only)

    matches ^[0-9a-f]{32}$

  • isParent boolean
    Indicates if this wallet is a parent wallet in an EVM keyring setup
  • enabledChildChains array of strings
  • archivedChildChains array of strings
  • organization string
  • bitgoOrg string
  • freeze object
    freeze object
    • time string date-time
    • expires string date-time
    • reason string enum
      Why a wallet was frozen
      TxIntentMismatchTxIntentMismatchRecipientTxIntentMismatchContractTxIntentMismatchApprovalUserRequestAdminRequest
    • referenceId string
      An optional reference ID for tracking purposes
    • adminOrUserId string
      The user who froze the wallet (could be a regular user or an admin)
  • instantProvider string
  • keys array of strings
  • keySignatures object
    keySignatures object
    • backupPub string
    • bitgoPub string
  • m number
    Number of signatures required. This value must be 2 for hot wallets, 1 for ofc wallets, and not specified for custodial wallets.
  • migratedFrom string
  • multisigType string enum
    onchaintss
  • multisigTypeVersion string enum
    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.
  • recoverable boolean
  • tags array of strings
  • type string enum
    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
    backingcoldcustodialcustodialPairedhotadvancedtrading
  • subType string enum
    distributedCustodypairedCustodialcustodialHotcustodialColdlightningCustodylightningSelfCustodyonPrem
  • 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.
  • withdrawHoldAmountUsdString string
    Total USD value (in cents) of active ACH-deposit related withdraw holds on this wallet. Only present for OFC wallets when allTokens=true is passed.
  • offchain object
    Lightning Balances
    offchain object
    • inboundBalance string required
      Inbound balance in millisatoshis (remote balance)
    • inboundPendingBalance string required
      Pending inbound balance in millisatoshis (pending open remote balance)
    • inboundUnsettledBalance string required
      Unsettled inbound balance in millisatoshis (unsettled remote balance)
    • outboundBalance string required
      Outbound balance in millisatoshis (local balance)
    • outboundPendingBalance string required
      Pending outbound balance in millisatoshis (pending open local balance)
    • outboundUnsettledBalance string required
      Unsettled outbound balance in millisatoshis (unsettled local balance)
    • outboundLockedBalance string required
      Locked (from pending force closed channels) outbound balance in millisatoshis (locked local balance)
    • outboundReservedBalance string required
      Total outbound reserved balance in millisatoshis (reserved local balance)
    • outboundSpendableBalance string required
      Total outbound spendable balance in millisatoshis (spendable local balance)
  • users array of objects
    users object
    • needsRecovery boolean
    • permissions array of string enums required
      adminspendviewfreezetradedapp
    • recoverable boolean
    • user string
  • walletFlags array of objects
    walletFlags object
    • name string enum required
      isStakinglightningambossLightningmusigKptrackingInscriptionsrbfcoldWalletStakingtokenizationTokenoneClickStakingsolOfcStakingsuiOfcStakingenableWalletConnectenableSolCustomTxenableAptCustomTx
    • value string required
  • receiveAddress object
    receiveAddress object
    • coin string required
      A cryptocurrency symbol or token ticker symbol
    • wallet string required
    • chain number enum required
      011011202130314041
    • index number required
    • id string
      Platform public ID for an address

      matches ^[0-9a-f]{32}$

    • address string

      up to 250 characters

    • balance object
      balance object
      • balanceString string required
        String representation of the balance. Guaranteed to not lose precision.
      • confirmedBalanceString string required
        The total balance of confirmed transactions for the address (in the chain's base unit). Guaranteed to not lose precision.
      • spendableBalanceString string required
        The total balance of the address (in the chain's base unit) which may be used as inputs for creating new transactions in string representation. Guaranteed to not lose precision.
      • updated string
        The last time a transaction affected the balance of this address
      • balance number
      • lockedBalanceString string
      • reservedBalanceString string
      • totalReceived number
        The total amount received on this address (in the chain's base unit)
      • totalSent number
        The total amount sent from this address (in the chain's base unit)
      • transferCount number
      • tokens map of objects
        tokens object
        • <key> object
      • nfts map of objects
        nfts object
        • <key> object
      • unsupportedNfts map of objects
        unsupportedNfts object
        • <key> object
      • type object
      • metadata object
    • coinSpecific object
      Properties specific to certain coin types

      ONE OF

      • rootAddress string required
      • trustedTokens array of objects
        trustedTokens object
        • state string enum
          pendingactive
        • limit string
        • token string
      • addressVersion number
      • threshold number
      • bitgoKey object
      • bitgoPubKey string
    • label string
      A human-readable label for the address

      up to 250 characters

    • lastNonce number

      Defaults to -1

    • token string
    • proof string
    • signature string
    • lastConsolidatedTime string date
    • needsConsolidation boolean
    • tokenConsolidationState object
    • tokenAddress object
  • customTags array of strings
400
Bad Request

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id
401
Unauthorized

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id
403
Forbidden

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id
404
Not Found

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id
500
Internal Server Error

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id