---
title: "Get a crypto withdrawal"
method: GET
path: "/v3/withdrawals/crypto/{id}"
tags: ["Crypto Withdrawal"]
---

# Get a crypto withdrawal

`GET /v3/withdrawals/crypto/{id}`

## Request

- Base URL: `https://confirmo.net/api`
- URL: `https://confirmo.net/api/v3/withdrawals/crypto/{id}`
- Auth: HTTP bearer

Returns a single crypto withdrawal owned by the authenticated merchant, by its id.

## Path parameters

- `id` string, required

## Response `200`

Crypto withdrawal returned successfully

- CryptoWithdrawal
  - `address` string
  - `balanceAssetId` string
  - `createdAt` integer
  - `debitedBalanceQuantity` number: In `net` mode this is the entered amount plus the total fee; in `gross` mode it equals the entered amount. The amount delivered on-chain is this value minus `totalFeeQuantity`. In the balance asset.
  - `enteredBalanceQuantity` number
  - `expiresAt` integer
  - `feePaymentMode` 'net' | 'gross'
  - `id` string
  - `networkFeeQuantity` number: The on-chain gas is paid in the network's native token (e.g. SOL on Solana); this is that fee recalculated into the balance asset at the current rate — i.e. what the merchant is charged for it.
  - `networkId` string
  - `notifyUrl` string, url
  - `reference` string
  - `status` 'prepared' | 'confirmed' | 'sending' | 'done' | 'canceled' | 'expired'
  - `substatus` string: Set on a `canceled` withdrawal: `rejected` — it could not be processed and will not be retried, and the blocked funds have been released — or `manually_canceled` when a person ended it. Not every cancellation has a reason to report, so its absence is not itself information — please ask us rather than reading one into it. Treat this as an open set: new values are added as they are announced, and your integration must tolerate ones it does not recognise.
  - `totalFeeQuantity` number: The sum of the processing fee and the network fee (the latter recalculated from the native gas token into the balance asset). Currently equal to the network fee (processing fee is 0 at launch). The amount delivered on-chain equals `debitedBalanceQuantity` minus this value.
  - `transaction` CryptoWithdrawalTransaction
    - `hash` string: Absent until the transaction reaches the network, so a transaction that is still being prepared or screened has none. Together with the withdrawal's `networkId` it locates the transaction on a block explorer.

## Other responses

- `400`: The Crypto Withdrawals feature is disabled
- `403`: No authenticated merchant, or missing withdrawal permission
- `404`: No crypto withdrawal with the given id exists
- `409`: Conflict

---

[API](https://skmtc.dev/confirmo/apis/confirmo-api.md) - [All operations](https://skmtc.dev/confirmo/apis/confirmo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/confirmo/apis/confirmo-api/revisions/09bef7db3dd1?raw)
