Skip to main content

Overview

Payouts let you initiate payments without a separate request creation step. The API creates the request and returns executable transaction calldata in a single call. Payout modes:
  • Single — Pay one recipient
  • Batch — Pay multiple recipients in one transaction (same network, EVM)
  • Recurring — Automated payment schedules with ERC20 permit signatures
  • Multicall — Combine multiple existing payout links into one bundle, including across chains and on Tron

Single Payout

Create a payment request and get transaction calldata in one call. Single payouts work on all 8 supported networks (EVM and Tron).
curl -X POST "https://api.request.network/v2/payouts" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "100",
    "invoiceCurrency": "USD",
    "paymentCurrency": "USDC-base",
    "payee": "0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7",
    "reference": "PAYOUT-001"
  }'
Required fields:
  • amount — Human-readable amount
  • invoiceCurrency — Invoice currency (e.g., "USD")
  • paymentCurrency — Payment currency ID (e.g., "USDC-base", "USDT-tron")
  • payee — Recipient wallet address (EVM 0x... or Tron T...)
Optional fields:
  • reference — Merchant reference for reconciliation
  • feePercentage and feeAddress — Platform fee configuration
  • customerInfo — optional structured metadata to attach to the request
  • payer — Payer wallet address (required for recurring)
The response includes requestId and a transactions array with executable calldata.

Batch Payout

Pay multiple recipients in a single blockchain transaction. All payments must be on the same network.
This endpoint is EVM-only. POST /v2/payouts/batch settles a single same-network EVM transaction and rejects Tron with Batch payments are not supported for TRON networks. Please submit individual payment requests. To batch Tron payouts, use multicall payouts with the tron_batch execution kind instead; single Tron payouts via POST /v2/payouts also remain available.
curl -X POST "https://api.request.network/v2/payouts/batch" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "requests": [
      {
        "amount": "50",
        "invoiceCurrency": "USD",
        "paymentCurrency": "USDC-base",
        "payee": "0xb07d2398d2004378cad234da0ef14f1c94a530e4"
      },
      {
        "amount": "25",
        "invoiceCurrency": "USD",
        "paymentCurrency": "USDC-base",
        "payee": "0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7"
      }
    ],
    "payer": "0x1234567890123456789012345678901234567890"
  }'
The response includes approval transactions and a batch payment transaction to execute.

Multicall payouts

Multicall payouts combine multiple existing outgoing payout links into a single hosted link the payer settles as one bundle. Unlike batch payouts — which are same-network and EVM-only — multicall supports cross-chain routing and Tron. Create a multicall link from previously created secure-payout tokens:
curl -X POST "https://api.request.network/v2/secure-payments/multicall-payouts" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "childTokens": ["01JZ4PC7EXAMPLECHILD000001", "01JZ4PC7EXAMPLECHILD000002"]
  }'
The response returns a parent token and securePaymentUrl. Share the URL with whoever signs payouts; they review every recipient and settle the whole bundle in one flow. Execution kinds:
  • evm_same_chain — all recipients on one network and currency, settled as a single batch transaction.
  • evm_cross_chain — recipients span chains/currencies (or the payer pays from a different source); each leg is routed via Li.Fi.
  • tron_batch — all recipients on Tron, settled via the Tron batch contract.
When you omit requestedExecutionKind, it is derived from the payer’s source selection at payment time. The default cap is 150 children (20 for cross-chain). See Multicall payouts in the Secure Payments reference for the full request/response schema, eligibility rules, and validation errors.

Recurring Payouts

Create automated payment schedules where the payer authorizes a series of payments with a single EIP-712 signature. See Recurring Payments for the full lifecycle (create, authorize, monitor, manage). Endpoints:
  • POST /v2/payouts with recurrence object — Create a recurring schedule
  • POST /v2/payouts/recurring/:id — Submit the payer’s permit signature to activate
  • GET /v2/payouts/recurring/:id — Check status and next payment date
  • PATCH /v2/payouts/recurring/:id — Cancel or unpause

Error Handling

StatusMeaning
400Invalid request body — check required fields and currency IDs
401Authentication failed — verify your x-client-id header
404Request or recurring payment not found
429Rate limited — back off and retry
500Server error — safe to retry with exponential backoff
For batch payouts, a 400 may indicate that payments span multiple networks (all must be on the same chain).

Endpoint Reference

POST /v2/payouts

Create a single or recurring payout.

POST /v2/payouts/batch

Create a batch payout with multiple recipients.