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

# Initiate a payment

> Initiate a payment without having to create a request first. Supports both one-time and recurring payments. For recurring payments, specify the recurrence object with start date, frequency, total executions, and payer address. The system will create a recurring payment schedule and return the necessary transactions for allowance approval and signature submission. Optionally includes customer information (firstName, lastName, email, address) and a merchant reference field for checkout widget implementations and receipt tracking.



## OpenAPI

````yaml /api-reference/openapi.v2.json post /v2/payouts
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:
    post:
      tags:
        - Pay
        - V2/Payouts
      summary: Initiate a payment
      description: >-
        Initiate a payment without having to create a request first. Supports
        both one-time and recurring payments. For recurring payments, specify
        the recurrence object with start date, frequency, total executions, and
        payer address. The system will create a recurring payment schedule and
        return the necessary transactions for allowance approval and signature
        submission. Optionally includes customer information (firstName,
        lastName, email, address) and a merchant reference field for checkout
        widget implementations and receipt tracking.
      operationId: PayoutV2Controller_payRequest_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:
                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
                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 (Ethereum 0x... or TRON T...)
                recurrence:
                  type: object
                  properties:
                    startDate:
                      type: string
                      description: The start date of the payment, cannot be in the past
                    frequency:
                      type: string
                      enum:
                        - DAILY
                        - WEEKLY
                        - MONTHLY
                        - YEARLY
                      description: The frequency of the payment
                    totalPayments:
                      type: number
                      minimum: 2
                      maximum: 256
                      description: >-
                        The total number of times the payment will be executed
                        (max 256).
                    payer:
                      type: string
                      description: >-
                        The wallet address of the payer. Cannot be the same as
                        the payee address.
                  required:
                    - startDate
                    - frequency
                    - totalPayments
                    - payer
                  description: Configuration details for recurring payments
                payerWallet:
                  type: string
                  description: >-
                    The wallet address of the payer, use to check if payer
                    approval exists
                payerAddress:
                  type: string
                  description: The wallet address of the payer (alias for payerWallet)
                customerInfo:
                  type: object
                  properties:
                    firstName:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: Customer's first name
                    lastName:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: Customer's last name
                    email:
                      type: string
                      maxLength: 255
                      format: email
                      description: Customer's email address
                    address:
                      type: object
                      properties:
                        street:
                          type: string
                          maxLength: 255
                          description: Street address
                        city:
                          type: string
                          maxLength: 100
                          description: City
                        state:
                          type: string
                          maxLength: 100
                          description: State or province
                        postalCode:
                          type: string
                          maxLength: 20
                          description: Postal or ZIP code
                        country:
                          type: string
                          minLength: 2
                          maxLength: 2
                          description: Country code (ISO 3166-1 alpha-2)
                      description: Customer's address
                  description: Optional customer information for merchant receipt tracking
                reference:
                  type: string
                  minLength: 1
                  maxLength: 255
                  description: Merchant reference for receipt tracking and identification
              required:
                - payee
                - amount
                - invoiceCurrency
                - paymentCurrency
            examples:
              oneTimePayment:
                summary: One-time payment example
                value:
                  payee: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                  amount: '10'
                  invoiceCurrency: USD
                  paymentCurrency: ETH-sepolia-sepolia
                  feePercentage: '0.02'
                  feeAddress: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
              tronUsdtPayment:
                summary: TRON USDT payment example
                value:
                  payee: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW
                  amount: '10'
                  invoiceCurrency: USDT-tron
                  paymentCurrency: USDT-tron
              recurringPayment:
                summary: Recurring payment example
                value:
                  payee: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                  amount: '10'
                  invoiceCurrency: USD
                  paymentCurrency: ETH-sepolia-sepolia
                  feePercentage: '0.02'
                  feeAddress: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                  recurrence:
                    startDate: '2030-01-01'
                    frequency: DAILY
                    totalPayments: 30
                    payer: '0x2e2E5C79F571ef1658d4C2d3684a1FE97DD30570'
              erc20Payment:
                summary: ERC20 token payment example
                value:
                  payee: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                  amount: '100'
                  invoiceCurrency: FAU-sepolia
                  paymentCurrency: FAU-sepolia
                  feePercentage: '0.01'
                  feeAddress: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
              checkoutWidgetPayment:
                summary: Checkout widget payment with customer info and reference
                value:
                  payee: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                  amount: '25.50'
                  invoiceCurrency: USD
                  paymentCurrency: USDC-sepolia
                  feePercentage: '2.5'
                  feeAddress: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                  customerInfo:
                    firstName: John
                    lastName: Doe
                    email: john.doe@example.com
                    address:
                      street: 123 Main Street
                      city: New York
                      state: NY
                      postalCode: '10001'
                      country: US
                  reference: ORDER-2024-001234
      responses:
        '201':
          description: Request created and payment initiated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  requestId:
                    type: string
                required:
                  - requestId
              examples:
                nativeCurrency:
                  summary: Native currency payment (e.g., ETH)
                  value:
                    requestId: >-
                      01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
                    paymentReference: '0xb3581f0b0f74cc61'
                    transactions:
                      - data: 0xb868980b...00
                        to: '0x11BF2fDA23bF0A98365e1A4e04A87C9339e8687'
                        value:
                          type: BigNumber
                          hex: '0x038d7ea4c68000'
                    metadata:
                      stepsRequired: 1
                      needsApproval: false
                      approvalTransactionIndex: null
                      hasEnoughBalance: true
                      hasEnoughGas: true
                erc20Token:
                  summary: ERC20 token payment (requires approval)
                  value:
                    requestId: >-
                      01e273ecc29d4b526df3a0f1f05ffc59372af8752c2b678096e49ac270416a7cdb
                    paymentReference: '0xb3581f0b0f74cc61'
                    transactions:
                      - data: 0x095ea7b3...ff
                        to: '0x370DE27fdb7D1Ff1e1BaA7D11c5820a324cf623C'
                        value: 0
                      - data: 0xc219a14d...00
                        to: '0x399F5EE127ce7432E4921a61b8CF52b0af52cbfE'
                        value: 0
                    metadata:
                      stepsRequired: 2
                      needsApproval: true
                      approvalTransactionIndex: 0
                      hasEnoughBalance: true
                      hasEnoughGas: true
                recurringPayment:
                  summary: Recurring payment response (requires signature)
                  value:
                    id: 01JXYJKCAHGFTDR15F2D072ESG
                    transactions:
                      - to: '0xA0b86a33E6441b8c4C8C8C8C8C8C8C8C8C8C8C8'
                        data: >-
                          0x095ea7b30000000000000000000000000363dD3ccD4f187d7033c57354CA81f998451D590000000000000000000000000000000000000000000000000000000000000000
                        value: '0x0'
                    recurringPaymentPermit:
                      domain:
                        name: ERC20RecurringPaymentProxy
                        version: '1'
                        chainId: 11155111
                        verifyingContract: '0x0363dD3ccD4f187d7033c57354CA81f998451D59'
                      types:
                        SchedulePermit:
                          - name: subscriber
                            type: address
                          - name: token
                            type: address
                          - name: recipient
                            type: address
                          - name: feeAddress
                            type: address
                          - name: amount
                            type: uint128
                          - name: feeAmount
                            type: uint128
                          - name: gasFee
                            type: uint128
                          - name: periodSeconds
                            type: uint32
                          - name: firstExec
                            type: uint32
                          - name: totalExecutions
                            type: uint8
                          - name: nonce
                            type: uint256
                          - name: deadline
                            type: uint256
                      values:
                        subscriber: '0x2e2E5C79F571ef1658d4C2d3684a1FE97DD30570'
                        token: '0xA0b86a33E6441b8c4C8C8C8C8C8C8C8C8C8C8C8'
                        recipient: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                        feeAddress: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                        amount: '10000000000000000000'
                        feeAmount: '0'
                        gasFee: '0'
                        periodSeconds: 86400
                        firstExec: 1735732800
                        totalExecutions: 30
                        nonce: >-
                          0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
                        deadline: 1738404800
                    metadata:
                      stepsRequired: 2
                      totalNeededAllowance: '300000000000000000000'
                      currentAllowance: '0'
                      additionalAllowanceNeeded: '300000000000000000000'
                      existingPaymentsAmount: '0'
        '404':
          description: Wallet not found
        '429':
          description: Too Many Requests

````