> ## Documentation Index
> Fetch the complete documentation index at: https://getequity.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Withdraw from member wallet

> Debit a member's currency wallet to a bank account

Debits a member's currency wallet (the member is identified by `id` in the path). The request is created as `Pending` and the tokens are moved into escrow; it still needs to be approved before funds are disbursed.

The balance and escrow are the member's, and `owner_model` is `user` (versus `organisation` for the [organisation withdrawal](https://getequity.io/docs/api-reference/endpoint/Wallet/withdraw.md)). The `withdrawal.created` webhook still fires to your organisation.

`disburse_amount` = `amount` − `fee`, where `fee` is the withdrawal fee from your `*_WITHDRAWAL_FEE` config.

**id** `string` *required*

The member's user ID.

```json theme={null}
{
    "amount": 5000,
    "bank_name": "Access Bank",
    "account_name": "John Doe",
    "account_number": "0690000004",
    "currency": "NGN"
}
```

**amount** `number` *required*

The amount to withdraw. Must be ≥ 1, ≤ the member's currency wallet balance, and ≥ `MINIMUM_WITHDRAWAL_<CUR>`.

**bank\_name** `string` *required*

Matched against Flutterwave's bank list to resolve the code — pass the full name (e.g. `Guaranty Trust Bank`, not `GTBank`).

**account\_name** `string` *required*

The account holder's name. For NGN it is replaced with Flutterwave's resolved name when available.

**account\_number** `string` *required*

The destination account number.

**currency** `string` *required*

The withdrawal currency. One of `NGN`, `KES`, `GHS`, `ZAR`, `UGX`, `TZS`.

```json theme={null}
{
    "status": "success",
    "message": "Withdrawal request created successfully.",
    "data": {
        "withdrawalRequest": {
            "_id": "665f0c2e9a1b2c0012ab77ef",
            "owner": "651bd2a49a1b2c0012cc55dd",
            "owner_model": "user",
            "reference": "GETXN_PAYOUT_K92JD0PLM",
            "amount": 5000,
            "disburse_amount": 4975,
            "fee": 25,
            "currency": "NGN",
            "bank": "665f0c2e9a1b2c0012ab7700",
            "status": "Pending",
            "actioned_on": null,
            "createdAt": "2026-07-04T10:18:10.442Z",
            "updatedAt": "2026-07-04T10:18:10.442Z"
        },
        "bank": {
            "_id": "665f0c2e9a1b2c0012ab7700",
            "name": "Access Bank",
            "code": "044",
            "account_number": "0690000004",
            "account_name": "JOHN DOE",
            "currency": "NGN"
        }
    }
}
```

```json Insufficient balance — 400 theme={null}
{
    "status": "failed",
    "message": "Insufficient NGN balance. Available: 1200, requested: 5000."
}
```

## Errors

| HTTP | Message (example) | When |
| - | - | - |
| 400 | `Insufficient NGN balance. Available: 1200, requested: 5000.` | Wallet balance \< amount (checked before anything else). |
| 400 | `Cannot withdraw less than 1000 NGN` | Below `MINIMUM_WITHDRAWAL_<CUR>`. |
| 400 | `child "Currency" fails because ["Currency" must be one of [NGN, KES, GHS, ZAR, UGX, TZS]]` | Unsupported/invalid currency. |
| 400 | `Withdrawals with automatic bank resolution are not supported for USD. Supported currencies: NGN, GHS, KES, ZAR, UGX, TZS.` | Currency has no Flutterwave bank list. |
| 404 | `Could not find a bank matching "Acess Bank" for NGN. Please check the bank name and try again.` | `bank_name` didn't match Flutterwave's list. |
| 404 | `User not found` | Invalid `id`. |
| 502 | `Could not fetch the bank list from our payment provider. Please try again later.` | Flutterwave banks call failed. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.