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

# Fiat Payouts

> Convert USDC from your merchant balance to a supported fiat currency via a direct bank transfer or an anchor

A fiat payout debits USDC from your Tender merchant balance and delivers supported fiat currencies to a recipient. There are two methods:

**Internal** — sends funds directly to a Nigerian bank account using the recipient's bank code and account number.

**Anchor** — routes funds through a third-party anchor integrated with Tender. You pass the anchor's name as the `method` value. Tender currently supports **MoneyGram** as an anchor, with more to be added over time.

Both methods use the same endpoint: `POST /v1/api/payout/fiat`.

***

## Prerequisites

<Card title="Authentication guide" icon="lock" href="/api-reference/authentication">
  These endpoints use Signed (HMAC) authentication — an HMAC-SHA256 signature is required on every request. See the authentication guide for code examples.
</Card>

***

## Internal bank transfer

<Steps>
  <Step title="Submit the payout">
    Call `POST /payout/fiat` with `method: "internal"`, the asset, amount, and the recipient's bank details.
  </Step>

  <Step title="Confirm initiation">
    A successful response returns the payout record with `status: "pending"`.
  </Step>

  <Step title="Poll for completion">
    Call `GET /payout/{id}` until `status` is `completed` or `failed`.
  </Step>
</Steps>

<Card title="Payout Fiat API reference" icon="code" href="/api-reference/endpoint/payouts/fiat">
  Full parameter list and interactive playground for both internal and anchor methods.
</Card>

***

## Anchor payout

Anchor payouts route funds through a Tender-integrated third-party provider. To initiate one, set `method` to the name of the anchor you want to use. The recipient's required details vary by anchor.

<Note>
  MoneyGram is the only anchor currently available. Additional anchors will be listed here as they are integrated.
</Note>

### Available anchors

| Anchor    | `method` value | Recipient details required                  |
| --------- | -------------- | ------------------------------------------- |
| MoneyGram | `"moneygram"`  | Name, date of birth, mobile number, address |

<Steps>
  <Step title="Submit the payout">
    Call `POST /payout/fiat` with `method` set to the anchor name and the recipient's required details.
  </Step>

  <Step title="Redirect the recipient">
    The response includes a `url`. Direct your recipient to this URL to complete collection via the anchor.
  </Step>
</Steps>

<Card title="Payout Fiat (Anchors) API reference" icon="code" href="/api-reference/endpoint/payouts/fiat-anchor">
  Full parameter list and interactive playground for anchor-based payouts.
</Card>

***

## Payout status values

| Status       | Meaning                                               |
| ------------ | ----------------------------------------------------- |
| `pending`    | Queued, not yet processed                             |
| `processing` | Being handled by the payment network                  |
| `completed`  | Successfully delivered                                |
| `failed`     | Rejected — check `failureReason` on the payout record |

***

## Error handling

| Scenario               | Action                                                                   |
| ---------------------- | ------------------------------------------------------------------------ |
| Insufficient balance   | Ensure your USDC wallet balance covers the amount before submitting      |
| Invalid bank code      | Verify the bank code against your local bank list                        |
| Missing required field | All fields for the chosen `method` are required — see the API reference  |
| `status: "failed"`     | Read `failureReason` on the payout record returned by `GET /payout/{id}` |
