REST APIWallet & TransactTransaction request

GET

Get transaction requests by enterprise filtering by wallet permissions

Supports both lite and full transaction requests. Use the apiVersion query parameter to filter by version.

Path Params

  • enterpriseId string required

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

Query Params

  • apiVersion string enum
    If present, filters transaction requests by the specified API version (lite or full). If not provided, returns all transaction requests regardless of API version.
    litefull
  • walletTypes array of string enums
    If present, filters transaction requests by the specified wallet types
    backingcoldcustodialcustodialPairedhotadvancedtrading
  • excludeIntentTypes array of string enums
    If provided, transaction requests with the specified intent types will be excluded.
    paymentconsolidateconsolidateTokenfanoutvotecreateAccountupdateAccountaddTrustLineremoveTrustLinesignMessagesignTypedStructuredDataenableTokenaccelerationtransferTokenfillNoncewalletRecoverycontractCallcustomTxcloseAssociatedTokenAccountexportimportimporttoctransferAcknowledgetransferAccepttransferRejecttransferOfferWithdrawncosignDelegationProposalcosignDelegationAcceptallocationRequestallocationAllocatecantonCommandcantonEndInvestorOnboardingOffercantonEndInvestorOnboardingAcceptcantonEndInvestorOnboardingRejectcantonParticipantOnboardingRequeststakeunstakedelegateundelegateswitchValidatorclaimstakeClaimRewardspledgevoteDelegationauthorizedeactivatecreateBtcDelegationgoUnstakestakeWithCallDataunstakeWithCallDatavalidatorRegistrationincreaseStakedecreaseStakesignalExitwithdrawStakeswitchValidatorWithCallDataspotTransferdelegateResourceundelegateResource
  • states array of string enums

    If provided, only transaction requests of the specified state will be returned.

    • canceled: Canceled by a wallet spender before approval or sending.
    • delivered: Inserted into the send queue (or rejected by BitGo through circuit breakers). This state is only used with apiVersion "full".
    • failed : Catch-all state indicating an unrecoverable failure (such as a duplicate key error when creating a transfer).
    • initialized: First state when a transaction request is created (before any policy evaluation occurs).
    • pendingApproval: Triggered a policy that requires approval to proceed.
    • pendingDelivery: Requires further action to proceed (such as pending signature, or accepting/rejecting due to triggering a circuit breaker). This state is only used with apiVersion "full".
    • pendingUserCommitment: Ready to receive your user commitments. This state is only used with apiVersion "lite" and EdDSA assets with commitment signing states.
    • pendingUserGShare: Ready to receive your gShare.
    • pendingUserRShare: Ready to receive your rShare.
    • pendingUserSignature: Ready to receive your user signature (get the unsigned transaction from BitGo and sign it). This state is only used with apiVersion "lite" and EdDSA assets without commitment signing states.
    • readyToSend: Ready send (share combination is complete).
    • rejected: Rejected by an approver.
    • signed: All transactions in the transaction request were signed. All future updates will be in the transfer document.
    pendingApprovalcanceledrejectedinitializedpendingDeliverydeliveredpendingUserSignaturependingUserCommitmentpendingUserRSharependingUserGSharereadyToSendsignedfailed
  • walletPermissions array of string enums
    If present, filters transaction requests by wallet permissions. If not present will default to view permissions
    adminspend
  • limit string number
  • prevId string

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

  • sortBy string enum
    Optional field to sort by.
    idcreatedDate
  • sortDirection string enum
    Optional direction of sorting.
    ASCDESC
  • dateLt string date-time
    Optional get transaction requests less than date
  • dateGte string date-time
    Optional get transaction requests greater than or equal to date

Responses

200
OK

Response Body

object

  • nextBatchPrevId string
  • txRequests array of objects required
    txRequests object
    • transactions array of objects
      transactions object
      • state string enum required
        If supplied, only transaction request transaction state changes from the provided list will trigger notifications. If not provided, all transaction request transaction state changes will trigger notifications.
        initializedpendingSignatureeddsaPendingCommitmenteddsaPendingRShareeddsaPendingGShareecdsaMPCv2Round1ecdsaMPCv2Round2ecdsaMPCv2Round3eddsaMPCv2Round1eddsaMPCv2Round2eddsaMPCv2Round3readyToCombineSharessignedhelddeliveredinvalidSignaturerejected
      • unsignedTx object required
        unsignedTx object
        • parsedTx object required
          parsedTx object
          • inputs array of objects required
            inputs object
            • valueString string required
            • _id string
            • address string
            • chain number
            • derivationIndex number
            • index number
            • value number
          • minerFee string or number required
          • outputs array of objects required
            outputs object
            • valueString string required
            • address string
            • change boolean
            • coinName string
            • data string
            • isPayGo boolean
            • value number
            • wallet string
            • walletV1 string
            • baseAddress string
            • enterprise string
          • spendAmount string or number required
          • gasPrice number
          • hasUnvalidatedData boolean
          • payGoFee string or number
          • spendAmounts array of objects
            spendAmounts object
            • <key> object
          • type string
        • serializedTxHex string required
          The unsigned transaction as a hex string.
        • signableHex string required
          The portion of a transaction used to generate a signature (may or may not be the same as serializedTxHex) as a hex string.
        • derivationPath string
          A bip32 path.
        • coinSpecific object
          Coin specific information.
          coinSpecific object
          • nonceAddress string
          • stakingAddress string
          • signature string
          • <key> object
        • feeInfo object
          feeInfo object
          • fee string or number required
          • feeString string required
      • signatureShares array of objects
        signatureShares object
        • privateShareProof string
          The private share proof
        • publicShare string
          The public share
        • vssProof string
          The VSS proof of the signature share
        • from string enum required
          The source of the signature share.
          userbackupbitgo
        • to string enum required
          The recipient of the signature share.
          userbackupbitgo
        • share string required
          The signature share
      • commitmentShares array of objects
        commitmentShares object
        • type string enum required
          The type of the commitment share
          commitment
        • from string enum required
          The source of the commitment share
          userbackupbitgo
        • to string enum required
          The recipient of the commitment share.
          userbackupbitgo
        • share string required
          The commitment share.
      • txHash string
      • updatedDate string date-time
      • createdDate string date-time
    • messages array of objects
      messages object
      • state string enum required
        The current state of the message
        initializedpendingSignatureeddsaPendingCommitmenteddsaPendingRShareeddsaPendingGShareecdsaMPCv2Round1ecdsaMPCv2Round2ecdsaMPCv2Round3eddsaMPCv2Round1eddsaMPCv2Round2eddsaMPCv2Round3readyToCombineSharessignedhelddeliveredinvalidSignaturerejected
      • signatureShares array of objects
        signatureShares object
        • privateShareProof string
          The private share proof
        • publicShare string
          The public share
        • vssProof string
          The VSS proof of the signature share
        • from string enum required
          The source of the signature share.
          userbackupbitgo
        • to string enum required
          The recipient of the signature share.
          userbackupbitgo
        • share string required
          The signature share
      • privateSignatureShares array of objects
        privateSignatureShares object
        • privateShareProof string
          The private share proof
        • publicShare string
          The public share
        • vssProof string
          The VSS proof of the signature share
        • from string enum required
          The source of the signature share.
          userbackupbitgo
        • to string enum required
          The recipient of the signature share.
          userbackupbitgo
        • share string required
          The signature share
      • commitmentShares array of objects
        commitmentShares object
        • type string enum required
          The type of the commitment share
          commitment
        • from string enum required
          The source of the commitment share
          userbackupbitgo
        • to string enum required
          The recipient of the commitment share.
          userbackupbitgo
        • share string required
          The commitment share.
      • encryptedShares array of objects
        encryptedShares object
        • type string enum required
          encryptedSignerShareencryptedRShare
        • from string enum required
          The source of the commitment share
          userbackupbitgo
        • to string enum required
          The recipient of the commitment share.
          userbackupbitgo
        • share string required
          The commitment share.
      • txHash string
        Transaction hash
      • updatedDate string date-time
        Date when the message was last updated
      • createdDate string date-time
        Date when the message was created
      • messageRaw string required
        The raw message to be signed
      • messageEncoded string
        The encoded message
      • messageBroadcastable string
        The broadcastable message
      • messageStandardType string
        The encoded message
      • derivationPath string
        Derivation path for the message
      • combineSigShare string
        Combined signature share
      • coin string
        Coin type for the message
      • bitgoPaillierChallenge object
        BitGo's Paillier challenge for ECDSA
      • encryptedChallenge string
        BitGo's encrypted challenge for ECDSA with Range Proofs
    • apiVersion string enum
      The API version of the transaction request
      litefull
    • txRequestId string uuid required
      A unique ID for the TxRequest document across all wallets. The combination of the txRequestId and version will always be unique.
    • idempotencyKey string
      The idempotency key of the transaction request
    • walletId string required
      The id of the Wallet the TxRequest is for.
    • walletType string enum
      The type describes who owns the keys to the wallet associated to the TxRequest.
      backingcoldcustodialcustodialPairedhotadvancedtrading
    • version number required
      The version of the transaction request
    • enterpriseId string
      If the wallet that owns the TxRequest is owned by an enterprise then this is the Id of said enterprise.

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

    • state string enum required
      pendingApprovalcanceledrejectedinitializedpendingDeliverydeliveredpendingUserSignaturependingUserCommitmentpendingUserRSharependingUserGSharereadyToSendsignedfailed
    • date string date-time required
      The date and time this version of the TxRequest document was created.
    • createdDate string date-time required
      The date and time the version 1 TxRequest document was created.
    • userId string required
      The Id of the User that produced this version of the TxRequest document. Could have created a new document or updated an existing document.
    • initiatedBy string required
      The Id of the User that originally created the TxRequest document (initiated the TxRequest).
    • updatedBy string required
      The Id of the User that last updated the TxRequest document. This is an alias for the userId field.
    • intent object
      The intent of the transaction request
    • intents array of objects required
    • pendingApprovalId string
      The id of the Pending Approval that was created for the TxRequest if one was required.
    • policiesChecked boolean
    • latest boolean required
      Indicates if this is the latest transaction request
    • isCanceled boolean
      True, if the transaction request is canceled.
    • initiatedByDAppClient boolean
      True when the txRequest was initiated by a dApp OAuth client (e.g. Narval).
    • txChannel object
      Immutable DeFi / marketplace channel classification (DEFI-300).
      txChannel object
      • clientId string
        OAuth dApp client id (Narval).
      • connector string enum
        External entry connector (narval, walletconnect). Omitted for internal BitGo flows.
        narvalwalletconnect
      • defiAction string enum
        approvedepositwithdraw
      • protocol string enum
        DeFi protocol (morpho, aave, concrete).
        morphoaaveconcrete
      • source string enum required
        internalexternal
      • type string enum required
        defi
      • vaultId string
      • walletConnectRequestId string
        defi-service walletconnect_requests.id when supplied on the intent.
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
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