> ## Documentation Index
> Fetch the complete documentation index at: https://requestnetwork-docs-openapi-secure-payments.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a secure payment for an outgoing payout

> Creates a single-payment secure-payment link for an outgoing payout. The caller provides the raw recipient details (wallet, network, currency, amount); the API resolves or creates the wallet/network/currency destination tuple and links the payout to that tuple. Returns the same response shape as POST /v2/secure-payments/ so the resulting link loads on the secure payment page without a separate code path.



## OpenAPI

````yaml /api-reference/openapi.v2.json post /v2/secure-payments/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/Secure Payment
    description: Secure payment operations with token-based access (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/secure-payments/payouts:
    post:
      tags:
        - V2/Secure Payment
      summary: Create a secure payment for an outgoing payout
      description: >-
        Creates a single-payment secure-payment link for an outgoing payout. The
        caller provides the raw recipient details (wallet, network, currency,
        amount); the API resolves or creates the wallet/network/currency
        destination tuple and links the payout to that tuple. Returns the same
        response shape as POST /v2/secure-payments/ so the resulting link loads
        on the secure payment page without a separate code path.
      operationId: SecurePaymentController_createPayoutSecurePayment_v2
      parameters:
        - name: x-api-key
          in: header
          description: >-
            API key for authentication (optional if using Client ID, session, or
            orchestrator key)
          required: false
          schema:
            type: string
        - name: x-client-id
          in: header
          description: >-
            Client ID for frontend authentication (required when paired with
            orchestrator key)
          required: false
          schema:
            type: string
        - name: x-orchestrator-key
          in: header
          description: Orchestrator key for authentication (must be paired with Client ID)
          required: false
          schema:
            type: string
        - name: Authorization
          in: header
          description: >-
            Bearer token for session authentication (or use the session_token
            cookie). Only consulted when no x-orchestrator-key, x-api-key, or
            x-client-id header is present.
          required: false
          schema:
            type: string
        - name: Origin
          in: header
          description: >-
            Origin header (required for Client ID / orchestrator auth,
            automatically set by browser)
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                recipient:
                  type: string
                  description: Recipient wallet address (EVM 0x... or TRON T...)
                creatorWalletAddress:
                  type: string
                  description: >-
                    Wallet address that created the payout link. This is not
                    necessarily the wallet that will execute the payment.
                network:
                  type: string
                  minLength: 1
                  description: >-
                    Blockchain network the payout targets (e.g., 'mainnet',
                    'sepolia', 'tron')
                currency:
                  type: string
                  minLength: 1
                  description: >-
                    Currency ID in the '<symbol>-<network>' format (e.g.,
                    'USDC-mainnet', 'FAU-sepolia')
                amount:
                  type: string
                  description: The payout amount, in human readable format
                reference:
                  type: string
                  minLength: 1
                  maxLength: 255
                  description: Merchant reference for receipt tracking and identification
                recipientIdentifier:
                  type: string
                  minLength: 1
                  maxLength: 255
                  description: Recipient identifier for tracking outgoing payout recipients
                feePercentage:
                  type: string
                  description: >-
                    DEPRECATED. Legacy fee percentage; ignored. Fees are now
                    resolved server-side from the fee plan snapshot.
                feeAddress:
                  type: string
                  description: >-
                    DEPRECATED. Legacy fee recipient; ignored. Fees are now
                    resolved server-side from the fee plan snapshot.
                redirectUrl:
                  type: string
                  description: URL the payer is redirected to after a successful payment
                redirectLabel:
                  type: string
                  minLength: 1
                  maxLength: 255
                  pattern: ^[^<>&"'`]*$
                  description: Optional label describing the redirect destination
                accessPolicy:
                  type: object
                  properties:
                    mode:
                      type: string
                      enum:
                        - inherit
                        - 'off'
                        - kyt_all_wallets
                    screeningProvider:
                      type: string
                      enum:
                        - hypernative
                        - merklescience
                      nullable: true
                    hideUntilApproved:
                      type: boolean
                    hidePayeeAddress:
                      type: boolean
                    allowedPayerAddresses:
                      type: array
                      items:
                        type: string
                  description: Optional per-payment access policy override.
              required:
                - recipient
                - creatorWalletAddress
                - network
                - currency
                - amount
            examples:
              payout:
                summary: Payout example
                value:
                  recipient: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                  network: sepolia
                  currency: FAU-sepolia
                  amount: '10'
                  recipientIdentifier: recipient-acme
              payoutWithFees:
                summary: Payout with fees example
                value:
                  recipient: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                  network: sepolia
                  currency: FAU-sepolia
                  amount: '10'
                  feePercentage: '2.5'
                  feeAddress: '0x6923831ACf5c327260D7ac7C9DfF5b1c3cB3C7D7'
                  reference: PAYOUT-2025-001
      responses:
        '201':
          description: Payout secure payment created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  requestIds:
                    type: array
                    items:
                      type: string
                    description: Array of request IDs created for this secure payment
                  securePaymentUrl:
                    type: string
                    format: uri
                    description: URL to the secure payment page
                  token:
                    type: string
                    description: Secure payment token
                  feePlan:
                    type: object
                    properties:
                      version:
                        type: number
                        enum:
                          - 1
                      flow:
                        type: string
                        enum:
                          - get_paid
                          - pay
                      defaultFeeBearer:
                        type: string
                        enum:
                          - payer
                          - payee
                      grossAmountUsd:
                        type: string
                      netRecipientAmountUsd:
                        type: string
                      payerTotalAmountUsd:
                        type: string
                      totalFeesUsd:
                        type: string
                      payeeBorneFeesUsd:
                        type: string
                      payerBorneFeesUsd:
                        type: string
                      fees:
                        type: array
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                            label:
                              type: string
                            feeBearer:
                              type: string
                              enum:
                                - payer
                                - payee
                            feeBearerSource:
                              type: string
                              enum:
                                - fee_config
                                - payment_default_override
                                - flow_default
                                - forced_fee_policy
                            percentageBps:
                              type: number
                            capUsd:
                              type: string
                              nullable: true
                            fixedAmountUsd:
                              type: string
                              nullable: true
                            calculatedAmountUsd:
                              type: string
                            destinationResolver:
                              type: string
                            destinationRef:
                              type: object
                              properties:
                                evmAddress:
                                  type: string
                                tronAddress:
                                  type: string
                            configSource:
                              type: string
                          required:
                            - type
                            - label
                            - feeBearer
                            - feeBearerSource
                            - percentageBps
                            - capUsd
                            - calculatedAmountUsd
                            - destinationResolver
                            - destinationRef
                            - configSource
                    required:
                      - version
                      - flow
                      - defaultFeeBearer
                      - grossAmountUsd
                      - netRecipientAmountUsd
                      - payerTotalAmountUsd
                      - totalFeesUsd
                      - payeeBorneFeesUsd
                      - payerBorneFeesUsd
                      - fees
                    description: >-
                      Resolved fee plan snapshot. Null when fees don't apply —
                      e.g. non-stablecoin currency, or a batch that spans
                      multiple currencies (not yet supported).
                    nullable: true
                required:
                  - requestIds
                  - securePaymentUrl
                  - token
                  - feePlan
        '400':
          description: Invalid payout request (e.g., unsupported network or currency)
        '401':
          description: Unauthorized
        '403':
          description: Platform is not allowed to create payouts
        '429':
          description: Too Many Requests

````