---
title: "Withdraw fiat"
method: POST
path: "/withdraw"
tags: ["Withdraw"]
---

# Withdraw fiat

`POST /withdraw`

Withdraw funds to a bank account. The amount is specified in the lowest denomination of the currency (e.g., Kobo for NGN). You must first verify the bank account using the Name Enquiry endpoint before initiating a withdrawal.

## Request body

- object
  - `amount` string, required — The amount to withdraw in the lowest denomination (e.g., Kobo for NGN). For example, 100000 = 1,000.00 NGN
  - `currency` 'NGN', required — The currency to withdraw
  - `beneficiary` object, required — The beneficiary bank account details. Use the exact values returned from the Name Enquiry endpoint.
    - `bankAccountNumber` string, required — The recipient's bank account number
    - `bankAccountName` string, required — The account holder's name as returned by the Name Enquiry endpoint. Must match exactly.
    - `bankCode` string, required — The NIP bank code (nipBankCode) from the bank list
    - `bankName` string, required — The bank name as returned from the bank list

## Response `200`

Withdraw response

- object
  - `status` string, string
  - `data` Transaction
    - `id` string, uuid — The unique identifier for the transaction
    - `walletId` string, uuid — The unique identifier for the wallet
    - `ref` string, string — The reference for the transaction
    - `hash` string, string — The payment hash for the lightning invoice attached to the quote related to the transaction
    - `amount` number — The amount of the transaction in its lowest denomination
    - `fees` number — The fees for the transaction in its lowest denomination
    - `currency` 'NGN' | 'KES' | 'BTC' | 'ZAR' | 'GHS' | 'USDT', string — The currency of the transaction
    - `type` 'WITHDRAWAL' | 'DEPOSIT', string — The type of the transaction
    - `status` 'SUCCESS' | 'PENDING' | 'FAILED', string — The status of the transaction
    - `autopayout` boolean — Whether the transaction is an instant payout
    - `createdAt` string, date-time — The date and time the transaction was created
    - `updatedAt` string, date-time — The date and time the transaction was last updated
    - `metadata` TransactionMetadata
      - `id` string, uuid
      - `orderId` string, string
      - `bankCode` string, string
      - `bankAccountName` string, string
      - `bankAccountNumber` string, string
      - `customerInternalFee` number
      - `createdAt` string, date-time
      - `updatedAt` string, date-time

## Other responses

- `400` — Unexpected error

---

[API](https://skmtc.net/stealthmoney/apis/mavapay-api.md) · [All operations](https://skmtc.net/stealthmoney/apis/mavapay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stealthmoney/mavapay-api/revisions/842376cab855/schema)
