REST APIWallet & TransactTransfer

PUT

Approve or reject a pending fiat withdrawal. If approving, the state updates to pendingApproval, enabling BitGo Trust to wire transfer the funds. If rejecting, the state updates to rejected, canceling the pending withdrawal.

Path Params

  • walletId string required
    The wallet ID

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

  • transferId string required
    The transfer ID of the fiat withdrawal to confirm

    at least 1 characters · matches ^[0-9a-f]{32}$

Body Params

object

Confirm Fiat Withdrawal Request Body

The action to take on a pending fiat withdrawal, with optional validation fields to verify the transfer details before confirming.

  • action string enum required
    The action to take on a wire withdrawal confirmation. "approve" to confirm the withdrawal, "reject" to reject it.
    approvereject
  • coin string enum
    tfiatusdtfiateurotfiatgbptfiatinrtfiataedtfiatsgdfiatusdfiateurofiatgbpfiataedfiatsgd
  • amount string
    String representation of the amount to send in base units of the currency.

    matches ^-?\d+$

  • address string
    The address to send to.

    up to 250 characters

Responses

200
OK

Response Body

object

  • baseValue number
    The value (in base units) sent by this transfer, excluding network fees. BitGo is deprecating this field in the future.
  • baseValueString string
    The value (in base units) sent by this transfer, excluding network fees represented as a string. BitGo is deprecating this field in the future.

    matches ^-?\d+$

  • coin string required
    A cryptocurrency symbol or token ticker symbol
  • comment string nullable
    A comment from the user
  • date string date-time required
    The date this Transfer was last updated
  • enterprise string

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

  • organization string

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

  • bitgoOrg string enum
    BitGo TrustBitGo New YorkBitGo GermanyBitGo SwitzerlandBitGo Europe ApSFrankfurt DE TrustBitGo SingaporeBitGo KoreaBitGo Custody MENA FZEBitGo IndiaBitGo Sister Trust 1BitGo Inc
  • entries array of objects required
    entries object
    • address string required
      An address affected by this Transfer
    • valueString string
      The change (in base units) in the address' balance represented as a string

      matches "^-?\d+$"

    • isChange boolean
      True if this address is a change address (only exists for UTXO coins) and if this is a "send" transfer
    • wallet string
      Only visible when the user has access to the wallet

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

    • walletLabel string
      The label of the wallet referenced by wallet. Only visible when the user has access to that wallet. Useful for displaying a human-readable destination name (e.g. for sibling enterprise wallets) instead of a generic external-address fallback.
    • value number
      The change (in base units) in the address' balance
    • nftSymbol string
    • type string enum
      flushForwarderTokenswalletFundingwalletInitializationaddressInitializationimportedOutputonchainidWalletLinkedonchainidClaimAddedonchainidClaimRemovedAccountCreateContract
    • isPayGo boolean
      True if this address is the BitGo PayGo wallet
    • token string
      If this is a token entry, the token's symbol
    • failed boolean
      True if this entry is failed
    • associatedNativeCoinAddress string
      The native coin receive address associated with the solana ATA address. This is currently present only for BitGo addresses. This change was done so that there is a mapping between the two addresses in the transfer entries.
    • isFee boolean
      Indicates if this entry is a fee
    • isInternal boolean
      Indicates if this entry is internal
    • memo string
      Memo associated with this entry
    • rewardAddress string
      Reward address associated with this entry
    • subtype string
      Subtype of this entry
    • backingFeeString string
      Backing fee represented as a string
    • nftId string
      NFT ID associated with this entry
    • tokenContractHash string
      Token contract hash associated with this entry
    • isReward boolean
      Indicates if this entry is a reward
    • activityMetadata map of objects
      Cosmos group governance metadata (e.g. MsgSubmitProposal details) emitted by the Generic Indexer
      activityMetadata object
      • <key> object
  • history array of objects required
    history object
    • action string enum required
      createdapprovedrejectedsignedunconfirmedconfirmedremovedcommentedfailedregeneratedreplacedreplacingreversedabandoned
    • comment string nullable
      If this history object is of action "commented", this is the comment from the user
    • date string date-time required
      The date of this history object
    • transferId string
      The ID of the transfer that this history object is associated with
    • txid string
      The transaction ID of the transaction that this history object is associated with
    • user string

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

  • id string required

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

  • pendingApproval string
  • state string enum required

    The state of the transfer. Includes the following:

    • confirmed: The transfer is confirmed on chain.
    • failed: BitGo failed to confirm the transfer on chain. You must retry the transaction.
    • initialized: The initial state when creating a transfer.
    • pendingApproval: The transfer requires admin approval to proceed.
    • rejected: The transfer was rejected by an admin.
    • removed: A network re-org occurred, causing the confirmed transfer to be removed from the blockchain.
    • replaced: The transfer was stuck due to having a low fee and was replaced by a new transfer with a higher fee.
    • reversed: The transfer was reversed (e.g., when a withdrawal offer is rejected in multi-step transfers).
    • signed: The transfer was approved by an admin (if required) and then signed by BitGo.
    • unconfirmed: The signed transaction was sent to the network, and is pending on-chain validation.
    initializedpendingApprovalrejectedsignedunconfirmedconfirmedremovedfailedreplacedreverseddeleted
  • stakingParams object
    stakingParams object
    • actionType string required
    • amount string
    • coreDao object
      coreDao object
      • amount string number required
      • expiration string date-time required
      • fee number required
      • rewardAddress string required
      • validator string required
      • version number required
    • receiverAddress string
    • requestId string required
    • resource string
    • source string enum
      externalinternal
    • validator string
  • txid string
    The on-chain transaction id
  • type string enum required
    Defines whether or not this Transfer was sent or received by the user
    sendreceive
  • usd number
    The amount of USD of this Transfer (will be negative if it's a send)
  • usdRate number
    The USD rate at the time this Transfer was created
  • medianUsdValue number
    The median USD value of this Transfer
  • medianUsdRate number
    The median USD rate at the time this Transfer was created
  • feeUsd number
    The fee USD value for token transfers
  • feeUsdRate number
    The fee coin USD rate for token transfers
  • value number
    The total value (in base units) sent by this Transfer (may be approximate for ETH and other coins where amounts in base units can exceed 2^53 - 1)
  • valueString string required
    The total value (in base units) sent by this Transfer represented as a String

    matches ^-?\d+$

  • wallet string required

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

  • walletType string enum
    Wallet type
    backingcoldcustodialcustodialPairedhotadvancedtrading
  • replaces array of strings
  • replacedBy array of strings
  • replacedByTransferId array of strings
  • riskIndicators array of string enums
    SELFDESTRUCT
  • baseValueWithoutFeesString string
    The value (in base units) sent by this transfer, excluding network fees, represented as a string
  • baseValueWithoutFees number
    The value (in base units) sent by this transfer excluding network fees.
  • coinSpecific object
    Transfer fields specific to each coin type
  • confirmations number
    The number of blocks that have been confirmed since this Transfer's block was confirmed
  • consolidateId string
    Consolidation ID if this transfer is part of a consolidation
  • feeString string nullable
    The Transfer's fee (in base units) represented as a String
  • feeCoin string
    The coin used to pay the fee (for cross-chain transactions)
  • sequenceId string
    Unique wallet identifier for preventing double-spends
  • subType string enum
    Transfer subtype
    ofc_depositofc_withdrawalofc_book_transferofc_exchangeofc_bn_settlement_transferofc_bn_allocationofc_trading_orderofc_trading_settlementofc_margin_collateralofc_margin_positionofc_direct_tradeofc_routedofc_feeofc_otherofc_unstakeofc_financing_liquidationreceive_from_gastankreserved_amountutxo_message_signingpending_depositpending_deposit_activityinternal_transferpending_withdrawal_offerpending_deposit_offeroffer_acceptedoffer_rejectedconfirmed_depositconfirmed_withdrawaldeposit_offer_expiredwithdrawal_offer_expiredwithdrawal_offer_rejectedutxo_expiredoffer_cancelledcancel_withdrawal_offermint_requestmint_offermint_acceptmint_depositmint_rejectburn_requestburn_offerburn_acceptburn_withdrawburn_rejectpending_participant_onboarding_requestparticipant_onboarding_acceptedcash_dvp_settledrepo_dvp_open_leg_settledrepo_dvp_close_leg_settledstaking_eth_withdrawalstaking_eth_partial_withdrawalstaking_eth_full_withdrawalstaking_eth_mev_rewardstaking_eth_block_rewardstaking_bera_withdrawalstaking_bera_block_rewarddefi_deposit
  • txRequestId string
    Associated transaction request ID
  • goStakingRequestId string
    Associated GO staking request ID
  • height number
    The height of the block this Transfer was confirmed in (999999999 if unconfirmed)
  • heightId string
    The unique height id of the block
  • instant boolean
    Whether this is an instant transaction
  • instantId string
    The instant transaction ID if applicable
  • isFee boolean
    Whether this transfer represents a fee
  • isReward boolean
    Whether this transfer represents a staking reward
  • isUnlock boolean
    Whether this transfer represents an unlock operation
  • nSegwitInputs number
    DEPRECATED. Number of segwit inputs on the transfer.
  • outputs array of objects
    outputs object
    • address string
      The address of the UTXO
    • blockHeight number
      The block this Unspent was created in
    • chain number
      The chain of the UTXO
    • coinbase boolean
      True if this unspent came from the coinbase transaction
    • id string
      The ID of the UTXO
    • index number
      The index of the UTXO
    • redeemScript string
      The redeem script of the UTXO
    • value number
      The value of the UTXO
    • witnessScript string
      The witness script of the UTXO
  • payGoFee number
    The Transfer's BitGo fee (in base units)
  • payGoFeeString string
    The Transfer's BitGo fee (in base units) represented as a String
  • inputs array of objects
    inputs object
    • address string
      The address of the UTXO
    • blockHeight number
      The block this Unspent was created in
    • chain number
      The chain of the UTXO
    • coinbase boolean
      True if this unspent came from the coinbase transaction
    • id string
      The ID of the UTXO
    • index number
      The index of the UTXO
    • redeemScript string
      The redeem script of the UTXO
    • value number
      The value of the UTXO
    • witnessScript string
      The witness script of the UTXO
  • intendedValueString string
    A string representation (in base units) of the initial value for the transfer. This is present because when a transaction fails on chain, its value is mutated to be zero. This string is immutable and will always be the intended value of the initial transfer regardless of the final state of the transaction.
  • label string
    Address labels (if any) from entries concatenated.
  • metadata array of objects
    metadata object
    • key string required
    • value string required
  • sendAccounting array of objects
    sendAccounting object
    • amount number
    • amountString string required
    • id string
    • nOuts number required
    • type string required
  • tags array of strings
  • txidType string
    The type of the transaction id
  • usersNotified boolean
    Whether BitGo already sent notifications to the users of the transfer wallet
  • vSize number
    The size of the transaction
  • walletLabel string
    Label of the wallet associated with this transfer
  • enterpriseName string
    Name of the enterprise associated with this transfer
  • elliptic string
    Elliptic risk score information (trust transfers)
  • senderInformationVerified boolean
    Whether sender information has been verified (trust transfers)
  • buildParams map of objects
    Parameters used to build the transaction
    buildParams object
    • <key> object
  • createdTime string date-time
    The time this transfer was created
  • approvedTime string date-time
    The time this transfer was approved
  • rejectedTime string date-time
    The time this transfer was rejected
  • signedTime string date-time
    The time this transfer was signed
  • unconfirmedTime string date-time
    The time this transfer became unconfirmed
  • confirmedTime string date-time
    The time this transfer was confirmed
  • removedTime string date-time
    The time this transfer was removed
  • commentedTime string date-time
    The time this transfer was commented on
  • failedTime string date-time
    The time this transfer failed
  • regeneratedTime string date-time
    The time this transfer was regenerated
  • replacedTime string date-time
    The time this transfer was replaced
  • replacingTime string date-time
    The time this transfer started replacing another
  • abandonedTime string date-time
    The time this transfer was abandoned
  • signedDate string date-time
    The date this transfer was signed (legacy field)
  • customerApprovedTime string date-time
    The time this transfer was approved by the customer (trust transfers)
  • idVerificationTime string date-time
    The time identity verification was completed (trust transfers)
  • trustSignedTime string date-time
    The time this transfer was signed by trust (trust transfers)
  • trustFinalApprovalTime string date-time
    The time this transfer received final trust approval (trust transfers)
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