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

# Transfer NGN for free between customer wallets

> Free internal transfer between two FossaPay customers under the same business. Both accounts must be FossaPay NGN wallets.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/wallets/fiat/transfers/wallet-to-wallet
openapi: 3.1.0
info:
  title: FossaPay API
  description: >-
    FossaPay API for checkout wallets, master-wallet payouts, customer
    management, NGN wallets, crypto wallets, transfers, fees, banks, and
    webhooks.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api-production.fossapay.com
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /api/v1/wallets/fiat/transfers/wallet-to-wallet:
    post:
      tags:
        - NGN Transfers
      summary: Transfer NGN for free between customer wallets
      description: >-
        Free internal transfer between two FossaPay customers under the same
        business. Both accounts must be FossaPay NGN wallets.
      operationId: FiatWalletTransfersController_create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FiatWalletTransferRequest'
      responses:
        '200':
          description: Wallet transfer completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FiatWalletTransferResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: >-
            The source or destination wallet does not belong to the
            authenticated business
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: Transaction reference has already been used
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: Validation error, including a missing or blank narration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    FiatWalletTransferRequest:
      type: object
      required:
        - fromAccount
        - toAccount
        - amount
        - reference
        - narration
      properties:
        fromAccount:
          type: string
        toAccount:
          type: string
        amount:
          type: number
        reference:
          type: string
        narration:
          type: string
          minLength: 1
          maxLength: 255
          pattern: .*\S.*
      additionalProperties: false
    FiatWalletTransferResponse:
      type: object
      required:
        - status
        - statusCode
        - message
      properties:
        status:
          type: string
          const: success
        statusCode:
          type: integer
          const: 201
        message:
          type: string
      additionalProperties: true
    ApiError:
      type: object
      properties:
        status:
          oneOf:
            - type: string
            - type: boolean
        statusCode:
          type: integer
        message:
          type: string
        error:
          type: string
        code:
          type: string
        errors:
          type: object
          additionalProperties: true
      additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````