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

# Preview an AUD payout

> Calculates the effective payout fee, total AUD source debit, current eligibility, and any hold reason without creating an operation.

## What this endpoint does

Calculates the effective payout fee, total AUD source debit, current eligibility, and any hold reason without creating an operation.

## When to use it

Call it after the user enters the payout and before showing the final review screen. Submit the same intent to the create endpoint only after confirmation.

## Before you call

Use a secret API key with `treasury:write`. The saved beneficiary must be active. You may select an existing `evidenceId`; otherwise Wayex uses the beneficiary’s newest accepted, unexpired evidence when policy requires it.

## Money and balance effect

Previewing does not reserve, debit, or send AUD. The returned source debit and `canProceed` value are advisory until the create request atomically rechecks policy and reserves funds.

## States and completion

`canProceed` reports current static eligibility. A `holdReason` explains a current block or review path; the final create response remains authoritative under concurrent balance and provider changes.

## Safe retries

Send a unique `Idempotency-Key` for the logical action. If the response is lost, retry the same payload with the same key; never create a new key merely because the first response timed out.

Read [Beneficiaries and payouts](/treasury/beneficiaries-and-payouts) for the complete workflow.


## OpenAPI

````yaml /api-reference/openapi.json post /v1/treasury/payouts/preview
openapi: 3.0.0
info:
  title: Wayex API
  description: >-
    Wayex APIs for direct customer payment routes and isolated, prefunded
    Treasury accounts. Each API key is bound to one tenant account and its own
    wallet, settings, webhooks, and reporting.
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.sandbox.wayex.com
    description: Sandbox integration environment
security:
  - Bearer: []
  - ApiKey: []
tags:
  - name: Treasury
    description: >-
      Prefunded AUD and stablecoin wallets for one isolated tenant account.
      Fund, pay, convert, withdraw, track, and reconcile without selecting
      another account.
  - name: Customers
    description: >-
      Onboard end customers, run verification, and manage each customer's
      entitlements.
  - name: Payment routes
    description: >-
      Standing deposit instructions per customer. When a customer funds a route,
      Wayex auto-converts at the live rate and pays out/sends — no quote, no
      lock.
  - name: Transfers
    description: >-
      Read the conversion records produced when customers fund payment routes —
      the live activity feed and per-conversion lifecycle timeline.
  - name: Rates
    description: >-
      The live indicative AUD↔stablecoin rate right now — the all-in rate Wayex
      quotes. Indicative only; the binding price is struck when a route's funds
      land.
  - name: Revenue
    description: Your developer-fee revenue over time.
  - name: Invoices
    description: >-
      Your monthly invoices — Wayex platform fees due, net of your accrued
      developer-fee credit.
  - name: Webhooks
    description: Subscribe to HMAC-signed event webhooks and inspect deliveries.
  - name: API keys
    description: Create, list, and rotate API keys for programmatic access.
  - name: Fees
    description: >-
      Configure your developer fee — the markup withheld from each conversion
      and credited against your monthly invoice.
  - name: Invitations
    description: Accept a team invitation and activate your account.
paths:
  /v1/treasury/payouts/preview:
    post:
      tags:
        - Treasury
      summary: Preview an AUD payout
      description: >-
        Calculates the effective payout fee, total AUD source debit, current
        eligibility, and any hold reason without creating an operation. Call it
        after the user enters the payout and before showing the final review
        screen. Submit the same intent to the create endpoint only after
        confirmation.
      operationId: TreasuryController2_previewPayout_v1
      parameters:
        - name: Idempotency-Key
          in: header
          required: true
          description: >-
            A unique key for this logical action. Reuse the same key and
            identical payload when retrying after an unknown response.
          schema:
            type: string
            minLength: 8
            maxLength: 255
          example: 13bda8d7-87bd-4fa4-b7d5-e740725f9bd2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                beneficiaryId:
                  type: string
                  minLength: 1
                amount:
                  type: string
                  pattern: ^\d+(\.\d+)?$
                currency:
                  type: string
                  enum:
                    - AUD
                externalReference:
                  type: string
                  minLength: 1
                purpose:
                  type: string
                  minLength: 1
                  maxLength: 255
                walletProviderReference:
                  type: string
                  minLength: 1
                downstreamMerchantReference:
                  type: string
                  minLength: 1
                evidenceId:
                  type: string
                  minLength: 1
              required:
                - beneficiaryId
                - amount
                - currency
                - externalReference
                - purpose
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  principal:
                    type: object
                    properties:
                      amount:
                        type: string
                        pattern: ^\d+(\.\d+)?$
                      currency:
                        type: string
                        enum:
                          - AUD
                          - USDC
                          - USDT
                      network:
                        type: string
                        enum:
                          - ethereum
                          - base
                          - arbitrum
                          - optimism
                          - polygon
                          - bsc
                          - avalanche
                          - solana
                          - tron
                    required:
                      - amount
                      - currency
                  fee:
                    type: object
                    properties:
                      amount:
                        type: string
                        pattern: ^\d+(\.\d+)?$
                      currency:
                        type: string
                        enum:
                          - AUD
                          - USDC
                          - USDT
                      network:
                        type: string
                        enum:
                          - ethereum
                          - base
                          - arbitrum
                          - optimism
                          - polygon
                          - bsc
                          - avalanche
                          - solana
                          - tron
                    required:
                      - amount
                      - currency
                  sourceDebit:
                    type: object
                    properties:
                      amount:
                        type: string
                        pattern: ^\d+(\.\d+)?$
                      currency:
                        type: string
                        enum:
                          - AUD
                          - USDC
                          - USDT
                      network:
                        type: string
                        enum:
                          - ethereum
                          - base
                          - arbitrum
                          - optimism
                          - polygon
                          - bsc
                          - avalanche
                          - solana
                          - tron
                    required:
                      - amount
                      - currency
                  asset:
                    type: string
                    enum:
                      - AUD
                      - USDC
                      - USDT
                  network:
                    type: string
                    enum:
                      - ethereum
                      - base
                      - arbitrum
                      - optimism
                      - polygon
                      - bsc
                      - avalanche
                      - solana
                      - tron
                  configurationId:
                    type: string
                    minLength: 1
                  canProceed:
                    type: boolean
                  holdReason:
                    type: string
                    minLength: 1
                required:
                  - principal
                  - fee
                  - sourceDebit
                  - asset
                  - configurationId
                  - canProceed
      security:
        - Bearer: []
        - ApiKey: []
components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: Wayex API key
      description: 'Send the same Wayex API key as `Authorization: Bearer <key>`.'
    ApiKey:
      type: apiKey
      in: header
      name: X-Api-Key
      description: A Wayex API key. Use a secret key for write operations.

````