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

# Execute Batch Transfer

> Execute multiple transfer payouts in a single batch operation.

<Note>
  This endpoint can only be used with beneficiaries created with `auto_settlement` set to `true`.
</Note>

**Amount Specification:**

* Each transaction must include exactly one of `source_amount` or `destination_amount` (not both)
* `source_amount`: Minimum 500 cents (e.g. 500 = \$5.00)
* Only `PREFUNDED_BALANCE` transactions are eligible for refunds if they fail


## OpenAPI

````yaml POST /v1/batch/transactions/commit
openapi: 3.1.0
info:
  title: Fin.com API
  version: 1.0.0
  description: A simple API specification
servers:
  - url: https://sandbox.api.fin.com
    description: Sandbox server
  - url: https://api.fin.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 fin.com'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/batch/transactions/commit:
    post:
      tags:
        - Transactions
      summary: Execute Batch Transfer
      description: Execute multiple transfer payouts in a single batch operation.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                required:
                  - beneficiary_id
                  - source_currency
                  - deduct_from
                properties:
                  beneficiary_id:
                    type: string
                    format: uuid
                    example: d6ae4ea6-0482-47ab-a895-02e50ea6358b
                  source_amount:
                    type: number
                    minimum: 500
                    description: Amount in cents (e.g. 530 = $5.30). Minimum 500 cents.
                    example: 530
                  destination_amount:
                    type: number
                    example: 62000
                  source_currency:
                    type: string
                    example: USD
                  deduct_from:
                    type: string
                    enum:
                      - PREFUNDED_BALANCE
                      - LIQUIDATION_ADDRESS
                  remarks:
                    type: string
                    example: Monthly salary payment
            examples:
              With source amount:
                value:
                  - beneficiary_id: d6ae4ea6-0482-47ab-a895-02e50ea6358b
                    source_amount: 530
                    source_currency: USD
                    deduct_from: PREFUNDED_BALANCE
                    remarks: Monthly salary payment
              With destination amount:
                value:
                  - beneficiary_id: d6ae4ea6-0482-47ab-a895-02e50ea6358b
                    destination_amount: 62000
                    source_currency: USD
                    deduct_from: PREFUNDED_BALANCE
                    remarks: Monthly salary payment
      responses:
        '201':
          description: Batch created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        example: 3b1d73c0-0000-0000-0000-51aa2461f1
              examples:
                With source amount:
                  value:
                    data:
                      id: 3b1d73c0-0000-0000-0000-51aa2461f1
                With destination amount:
                  value:
                    data:
                      id: 3b1d73c0-0000-0000-0000-51aa2461f1
        '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://developer.fin.com/api-reference/authentication/issue-a-token)
        endpoint

````