Retrieve a Pix Withdrawal

Get the status of a created withdrawal or an outbound reversal.

The payload returned by the create withdrawal call includes the variable wid, which stores the transaction's identifier. This ID can help you track your transaction by making the following HTTP call, which returns detailed information on a user's funds withdrawal:

GET https://api-stage.bitso.com/v3/withdrawals/{wid}

If you do not specify a withdrawal identifier, then it lists all your withdrawals. Visit Listing Withdrawals to learn other ways to filter your search using query parameters.

Another variable in the payload is status, which reports the withdrawal's state. Withdrawals can be in one of four possible states:

  • PENDING: Bitso is currently processing and validating the withdrawal request and has not sent the transaction to the financial institution. The system found enough balance to fund the payout from your wallet, so it has created the transaction and has set this initial status.
  • PROCESSING: Bitso sent the withdrawal to the financial institution and received a successful acknowledgment. This economic entity is processing the transaction and has not validated it yet.
  • COMPLETE: The financial institution validated the withdrawal; the funds are now in the target wallet or account.
  • FAILED: The system could not complete the withdrawal; the funds remain in the original wallet or account.

The following response object exemplifies the details retrieval for a specific withdrawal:

{
  "event": "withdrawal",
  "payload": {
    "wid": "91a72aed1b289f9314275c06c40ec317",
    "status": "complete",
    "created_at": "2024-07-09T21:19:23+00:00",
    "currency": "brl",
    "method": "pixstark",
    "method_name": "Pix",
    "amount": "3000",
    "asset": "brl",
    "network": "pix",
    "protocol": "pix_ind",
    "integration": "stark",
    "details": {
      "end_to_end_id": "D3513612020240709211800000005249",
      "payee": {
        "account_number": "Payee's account ID",
        "bank_code": "Code of the institution that holds the payee's account",
        "tax_id": "Payee's taxpayer ID number",
        "name": "Payee's name",
        "bank_name": "Payee's bank name"
      },
      "payer": {
        "account_number": "Payer's account ID",
        "tax_id": "Payer's taxpayer ID number",
        "name": "Payer's name",
        "bank_name": "Payer's bank name"
      },
      "is_reversal": false,
    }
  }
}
📘

The end_to_end_id parameter changes its value in reversals.

In outbound reversals, the value assigned to the end_to_end_id parameter at the moment of transaction creation (pending state) changes when the transaction finishes (complete state). Therefore, to match reversals, rely on the wid identifier until the service settles the transaction.

The details object contains the following parameters:

Parameter NameDescriptionType
end_to_end_idThe transaction's unique identifier.string
is_reversalA flag that indicates whether the transaction is an outbound reversal or a withdrawal.Boolean
original_end_to_end_idThis parameter is only part of the payload in outbound reversals. It specifies the end-to-end ID of the original reversed transaction (deposit).string
payeeThe payee's data.object
payerThe payer's data.object

Did this page help you?