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

# Pay multiple requests in one transaction

> Pays multiple payment requests in one transaction by either creating new requests or using existing request IDs. All requests must be on the same network. Supports mixed ERC20, Native, and conversion requests.



## OpenAPI

````yaml /api-reference/openapi.v2.json post /v2/payouts/batch
openapi: 3.0.0
info:
  title: Request Network API
  description: API for easily creating and paying Requests with Request Network.
  version: 0.13.0
  contact: {}
servers:
  - url: https://api.request.network
    description: Production server
  - url: https://api.stage.request.network
    description: Staging server
  - url: http://127.0.0.1:8080
    description: Local development server
security: []
tags:
  - name: V2/Request
    description: Core payment request operations (V2)
  - name: V2/Payments
    description: Payment search and management operations (V2)
  - name: V2/Payouts
    description: Pay a request without creating one first (V2)
  - name: V2/Payer
    description: Crypto-to-fiat payer management operations (V2)
  - name: V2/Currencies
    description: Currency operations (V2)
  - name: V2/Client IDs
    description: Client ID management (V2)
  - name: V2/Payee Destination
    description: Payee destination management (V2)
externalDocs:
  description: Request Network Docs
  url: https://docs.request.network/request-network-api
paths:
  /v2/payouts/batch:
    post:
      tags:
        - Pay
        - V2/Payouts
      summary: Pay multiple requests in one transaction
      description: >-
        Pays multiple payment requests in one transaction by either creating new
        requests or using existing request IDs. All requests must be on the same
        network. Supports mixed ERC20, Native, and conversion requests.
      operationId: PayoutV2Controller_payBatchRequest_v2
      parameters:
        - name: x-api-key
          in: header
          description: API key for authentication (optional if using Client ID)
          required: false
          schema:
            type: string
        - name: x-client-id
          in: header
          description: Client ID for frontend authentication (optional if using API key)
          required: false
          schema:
            type: string
        - name: Origin
          in: header
          description: >-
            Origin header (required for Client ID auth, automatically set by
            browser)
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                requests:
                  type: array
                  items:
                    type: object
                    properties:
                      payee:
                        type: string
                        description: >-
                          The wallet address of the payee (Ethereum 0x... or
                          TRON T...)
                      amount:
                        type: string
                        description: >-
                          The payable amount of the invoice, in human readable
                          format
                      invoiceCurrency:
                        type: string
                        description: >-
                          Invoice Currency ID, from the [Request Network Token
                          List](https://docs.request.network/general/request-network-token-list)
                          e.g: USD
                      paymentCurrency:
                        type: string
                        description: >-
                          Payment currency ID, from the [Request Network Token
                          List](https://docs.request.network/general/request-network-token-list)
                          e.g: ETH-sepolia-sepolia
                    required:
                      - payee
                      - amount
                      - invoiceCurrency
                      - paymentCurrency
                  description: >-
                    A list of payment requests to be created andprocessed in
                    batch. All requests must be on the same network and contain
                    payment/invoice currency information. Either `requests` or
                    `requestIds` must be provided, but not both.
                requestIds:
                  type: array
                  items:
                    type: string
                  description: >-
                    The request IDs of the existing requests to be paid.
                    Requests must be on the same network. Either `requests` or
                    `requestIds` must be provided, but not both.
                payer:
                  type: string
                  description: >-
                    The wallet address of the payer, user to check if approval
                    is needed or not.
                feePercentage:
                  type: string
                  description: >-
                    Fee percentage to apply at payment time (e.g., '2.5' for
                    2.5%)
                feeAddress:
                  type: string
                  description: Address to receive the fee
              example:
                requests:
                  - payee: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                    amount: '2'
                    invoiceCurrency: FAU-sepolia
                    paymentCurrency: FAU-sepolia
                  - payee: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                    amount: '2'
                    invoiceCurrency: fUSDC-sepolia
                    paymentCurrency: fUSDC-sepolia
                  - payee: '0xb07D2398d2004378cad234DA0EF14f1c94A530e4'
                    amount: '10'
                    invoiceCurrency: USD
                    paymentCurrency: FAU-sepolia
                  - payee: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                    amount: '0.00001'
                    invoiceCurrency: ETH-sepolia-sepolia
                    paymentCurrency: ETH-sepolia-sepolia
                  - payee: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                    amount: '10'
                    invoiceCurrency: USD
                    paymentCurrency: ETH-sepolia-sepolia
                payer: '0x2e2E5C79F571ef1658d4C2d3684a1FE97DD30570'
      responses:
        '201':
          description: Batch payment calldata retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  ERC20ApprovalTransactions:
                    type: array
                    description: >-
                      Array of ERC20 approval transactions needed before the
                      batch payment. Only present when token approval is
                      required.
                    items:
                      type: object
                      properties:
                        data:
                          type: string
                          description: Transaction calldata for the ERC20 approval
                        to:
                          type: string
                          description: Target ERC20 token contract address for approval
                        value:
                          type: integer
                          description: Always 0 for ERC20 approvals
                      required:
                        - data
                        - to
                        - value
                  ERC20BatchPaymentTransaction:
                    type: object
                    description: >-
                      The batch payment transaction for ERC20 tokens. Only
                      present when the batch contains ERC20 payments.
                    properties:
                      data:
                        type: string
                        description: Transaction calldata for the ERC20 batch payment
                      to:
                        type: string
                        description: Target batch payment contract address
                      value:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BigNumber
                          hex:
                            type: string
                            description: >-
                              Payment amount in EVM-compatible format, encoded
                              in hex. Usually 0 for ERC20 payments
                        required:
                          - type
                          - hex
                    required:
                      - data
                      - to
                      - value
                  ETHBatchPaymentTransaction:
                    type: object
                    description: >-
                      The batch payment transaction for native ETH. Only present
                      when the batch contains ETH payments.
                    properties:
                      data:
                        type: string
                        description: Transaction calldata for the ETH batch payment
                      to:
                        type: string
                        description: Target batch payment contract address
                      value:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - BigNumber
                          hex:
                            type: string
                            description: >-
                              Payment amount in EVM-compatible format, encoded
                              in hex. Contains the ETH value to send
                        required:
                          - type
                          - hex
                    required:
                      - data
                      - to
                      - value
                additionalProperties: false
              examples:
                erc20_and_eth_with_approval:
                  summary: Batch payment with approval needed
                  value:
                    ERC20ApprovalTransactions:
                      - data: 0x095ea7b3...
                        to: '0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C'
                        value: 0
                    batchPaymentTransaction:
                      data: 0x92cddb91...
                      to: '0x67818703c92580c0e106e401F253E8A410A66f8B'
                      value:
                        type: BigNumber
                        hex: '0x0d83b3d1afc58b'
                erc20_and_eth_no_approval:
                  summary: Batch payment without approval needed
                  value:
                    ERC20ApprovalTransactions: []
                    batchPaymentTransaction:
                      data: 0x92cddb91...
                      to: '0x67818703c92580c0e106e401F253E8A410A66f8B'
                      value:
                        type: BigNumber
                        hex: '0x0d83b3d1afc58b'
        '400':
          description: Requests must be on the same network
          content:
            application/json:
              examples:
                requestsOnDifferentNetworks:
                  summary: Requests on different networks
                  value:
                    message: All requests must be on the same network
                    error: Bad Request
                    statusCode: 400
        '429':
          description: Too Many Requests

````