> ## 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.

# Payout Fiat

> Convert USDC wallet balance to NGN via a direct bank transfer or an anchor

<Note>
  **Auth method: Signed (HMAC)** — this endpoint requires the full set of signed
  headers: `x-access-id`, `x-request-id`, `x-timestamp`, and an HMAC-SHA256
  `authorization` signature. See [Authentication](/api-reference/authentication#signed-hmac-authentication).
</Note>


## OpenAPI

````yaml POST /v1/api/payout/fiat
openapi: 3.1.0
info:
  title: Tender API
  description: Tender Developer API for cryptocurrency payments and agent management
  version: 1.0.0
  contact:
    name: Tender Support
    url: https://tender.cash
servers:
  - url: https://secureapi.tender.cash
    description: Production Server
  - url: https://sandbox-api.tender.cash
    description: Sandbox Server
security:
  - SignedAuth: []
tags:
  - name: Agents
    description: Manage agents and sub-businesses
  - name: Transactions
    description: Payment and transaction operations
  - name: System
    description: System information and configuration
  - name: Webhooks
    description: Webhook management and logs
  - name: On-ramp
    description: Fiat-to-crypto on-ramp operations
  - name: Payouts
    description: Send crypto from merchant balance to a wallet address or payout account
  - name: Subwallets
    description: Provision and manage crypto wallet infrastructure for your end-users
paths:
  /v1/api/payout/fiat:
    post:
      tags:
        - Payouts
      summary: Payout Fiat
      description: >-
        Convert USDC wallet balance to NGN via a direct bank transfer (internal)
        or an anchor. Set the method field to select which flow to use.
      operationId: payoutFiat
      parameters:
        - name: authorization
          in: header
          required: true
          schema:
            type: string
        - name: x-timestamp
          in: header
          required: true
          schema:
            type: string
            format: date-time
          example: '2025-03-15T09:45:53.000Z'
        - name: x-request-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        - name: x-access-id
          in: header
          required: true
          schema:
            type: string
          example: your-access-id-here
        - name: Content-Type
          in: header
          required: true
          schema:
            type: string
          example: application/json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutFiatRequest'
            examples:
              internal:
                summary: Internal bank transfer
                value:
                  method: internal
                  asset: usdc
                  amount: '100'
                  bank_code: '090267'
                  account_number: '0123456789'
              moneygram:
                summary: MoneyGram
                value:
                  method: moneygram
                  asset: usdc
                  amount: '100'
                  first_name: John
                  last_name: Doe
                  dob: '1990-06-15'
                  mobile_number: '+2348012345678'
                  address: 12 Marina Street
                  city: Lagos
                  postal_code: '100001'
                  country: NG
      responses:
        '200':
          description: Payout initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutFiatResponse'
              examples:
                internal:
                  summary: Internal bank transfer
                  value:
                    status: success
                    message: Fiat payout initiated
                    data:
                      id: 6a4542f7eaf5920c5446cf9a
                      status: pending
                      amount: '20'
                      asset: usdc
                      usdValue: '20'
                      bankName: KUDA MICROFINANCE BANK
                      bankCode: '090267'
                      accountNumber: '0123456789'
                      createdAt: '2026-07-01T16:40:23.320Z'
                moneygram:
                  summary: MoneyGram
                  value:
                    status: success
                    message: Withdrawal initiated
                    data:
                      url: https://extstellar.moneygram.com/moneygram/...
                      transactionId: abc123
        '400':
          description: Validation error or insufficient balance
      security:
        - SignedAuth: []
components:
  schemas:
    PayoutFiatRequest:
      type: object
      required:
        - method
        - asset
        - amount
      properties:
        method:
          type: string
          enum:
            - internal
            - moneygram
          example: internal
        asset:
          type: string
          example: usdc
        amount:
          type: string
          example: '100'
        bank_code:
          type: string
          description: Required when method is internal
          example: '090267'
        account_number:
          type: string
          description: Required when method is internal
          example: '0123456789'
        first_name:
          type: string
          description: Required when method is moneygram
          example: John
        last_name:
          type: string
          description: Required when method is moneygram
          example: Doe
        dob:
          type: string
          description: 'Required when method is moneygram. Format: YYYY-MM-DD'
          example: '1990-06-15'
        mobile_number:
          type: string
          description: Required when method is moneygram
          example: '+2348012345678'
        address:
          type: string
          description: Required when method is moneygram
          example: 12 Marina Street
        city:
          type: string
          description: Required when method is moneygram
          example: Lagos
        postal_code:
          type: string
          description: Required when method is moneygram
          example: '100001'
        country:
          type: string
          description: Required when method is moneygram. ISO 3166-1 alpha-2
          example: NG
    PayoutFiatResponse:
      type: object
      properties:
        status:
          type: string
        message:
          type: string
        data:
          type: object
          properties:
            id:
              type: string
              description: Payout record ID (internal)
              example: 6a4542f7eaf5920c5446cf9a
            status:
              type: string
              description: Payout status (internal)
              example: pending
            amount:
              type: string
              example: '20'
            asset:
              type: string
              example: usdc
            usdValue:
              type: string
              description: Equivalent USD value (internal)
              example: '20'
            bankName:
              type: string
              description: Recipient bank name (internal)
              example: KUDA MICROFINANCE BANK
            bankCode:
              type: string
              description: Recipient bank code (internal)
              example: '090267'
            accountNumber:
              type: string
              description: Recipient account number (internal)
              example: '0123456789'
            createdAt:
              type: string
              format: date-time
              description: Timestamp (internal)
              example: '2026-07-01T16:40:23.320Z'
            url:
              type: string
              description: Anchor processing URL (moneygram)
              example: https://extstellar.moneygram.com/moneygram/...
            transactionId:
              type: string
              description: Anchor transaction ID (moneygram)
              example: abc123
  securitySchemes:
    SignedAuth:
      type: apiKey
      in: header
      name: authorization
      description: >-
        Signed (HMAC) authentication. Required headers: x-access-id,
        x-request-id (UUID v4), x-timestamp (ISO 8601), and authorization
        (Base64 HMAC-SHA256 signature of {timeStamp, requestId, accessId} using
        your access secret).

````