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

# Create a Transfer

> Initiate a transfer payout to a beneficiary.

**Validation Rules:**
- Minimum amount: 500 cents (5.00 in major currency units)
- Attachments array is optional, but if provided must contain at least one item


> [!NOTE]
>
> Any fiat transactions submitted between 9:30 AM and 5:30 PM ET on a weekday are processed the same day. Transactions submitted outside these hours or on weekends will be settled the next business day.

> [!NOTE]
>
> This endpoint can only be used with beneficiaries created with `auto_settlement` set to `false`.


## OpenAPI

````yaml POST /v1/transactions/transfer-payout
openapi: 3.1.0
info:
  title: EngageXPay API
  version: 1.0.0
  description: >-
    A simple API specification for EngageXPay, a financial services platform
    that provides a range of banking and payment solutions for businesses and
    individuals. This API allows developers to integrate EngageXPay's services
    into their applications, enabling functionalities such as customer
    management, transaction processing, and access to financial data.
servers:
  - url: https://sandbox.api.engagexpay.com
    description: Sandbox server
  - url: https://api.engagexpay.com
    description: Production server
security: []
tags:
  - name: Authentication
    description: A modified OAuth 2.0 Client Credential Flow
  - name: Customers
    description: Customer management and document upload operations
  - name: Balances
    description: Retrieve wallet balance information
  - name: Catalogue
    description: |
      A set of endpoints to retrieve contextual data to assemble requests
      to EngageXPay's API
  - name: Beneficiaries
    description: Manage beneficiary accounts for payments and transfers
  - name: Transactions
    description: Transaction history and management for beneficiaries
  - name: Virtual Accounts
    description: Create and manage virtual accounts for USD to USDC conversions
  - name: Fees & FX Rates
    description: Retrieve fees and foreign exchange rates
paths:
  /v1/transactions/transfer-payout:
    post:
      tags:
        - Transactions
      summary: Create a Transfer
      description: >
        Initiate a transfer payout to a beneficiary.


        **Validation Rules:**

        - Minimum amount: 500 cents (5.00 in major currency units)

        - Attachments array is optional, but if provided must contain at least
        one item
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - beneficiary_id
                - reference_id
                - amount
                - remarks
              properties:
                beneficiary_id:
                  type: string
                  format: uuid
                  example: d6ae4ea6-0482-47ab-a895-02e50ea6358b
                reference_id:
                  type: string
                  example: REF-12345-ABC
                amount:
                  type: integer
                  description: >-
                    Amount in cents (multiply by 100). Minimum 500 cents
                    required.
                  example: 10000
                  minimum: 500
                remarks:
                  type: string
                  example: Monthly payment for services
                attachments:
                  type: array
                  minItems: 1
                  items:
                    type: object
                    required:
                      - remark
                      - uri
                    properties:
                      remark:
                        type: string
                        example: Invoice PDF DOC
                      uri:
                        type: string
                        example: /XUOdWacK_Invoice.pdf
      responses:
        '200':
          description: Transfer created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      transfer_id:
                        type: string
                        format: uuid
                        example: c78dee10-7c46-4ad5-8ac8-070e39d87ff1
                      reference_id:
                        type: string
                        example: REF-12345-ABC
                      deposit_instruction:
                        type: object
                        properties:
                          liquidation_address:
                            type: string
                            example: '0x203061afd3f3dd5f5756cec992d1d247f7668384'
                          currency:
                            type: string
                            example: USDC
                          rail:
                            type: string
                            example: POLYGON
                      quotation:
                        type: object
                        properties:
                          currency:
                            type: string
                            example: EUR
                          to_amount:
                            type: integer
                            example: 108
                          developer_fee:
                            type: integer
                            example: 67
                      created_at:
                        type: string
                        format: date-time
                        example: '2026-01-01T07:35:53Z'
                      expire_at:
                        type: string
                        format: date-time
                        example: '2026-01-01T07:45:53Z'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '422':
          $ref: '#/components/responses/ValidationError'
      security:
        - bearerAuth: []
components:
  responses:
    AuthenticationError:
      description: Authentication failed due to invalid credentials
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Authentication failed
    ValidationError:
      description: Failed due to a formatting error.
      content:
        application/json:
          schema:
            type: object
            required:
              - message
            properties:
              message:
                type: string
              errors:
                type: array
                items:
                  type: object
                  additionalProperties:
                    type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Bearer token authentication. Obtain token from [Issue a
        Token](https://docs.engagexpay.com/api-reference/authentication/issue-a-token)
        endpoint

````

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