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

# Accept a Treasury conversion quote

> Accepts an unexpired quote, creates the wallet conversion, and durably reserves its source debit.

## What this endpoint does

Accepts an unexpired quote, creates the wallet conversion, and durably reserves its source debit.

## When to use it

Submit the quote ID returned by quote creation only after the user reviews and confirms the exact terms. Console users never type or copy that ID.

## Before you call

Use a secret API key with `treasury:write`. The quote must belong to this tenant account, remain unexpired, and still pass balance, limit, and provider-capacity checks.

## Money and balance effect

Acceptance reserves the quoted source debit. Wayex credits the destination wallet only after the trade and physical post-trade fund movements complete.

## States and completion

`accepted` means reservation and execution work are durable. Follow trade and settlement progress; an unknown leg remains reserved and reconciling until its real outcome is known.

## 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 [Conversions and withdrawals](/treasury/conversions-and-withdrawals) for the complete workflow.


## OpenAPI

````yaml /api-reference/openapi.json post /v1/treasury/conversions
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/conversions:
    post:
      tags:
        - Treasury
      summary: Accept a Treasury conversion quote
      description: >-
        Accepts an unexpired quote, creates the wallet conversion, and durably
        reserves its source debit. Submit the quote ID returned by quote
        creation only after the user reviews and confirms the exact terms.
        Console users never type or copy that ID.
      operationId: TreasuryController2_acceptConversion_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:
                quoteId:
                  type: string
                  minLength: 1
                externalReference:
                  type: string
                  minLength: 1
              required:
                - quoteId
                - externalReference
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                  clientId:
                    type: string
                    minLength: 1
                  quoteId:
                    type: string
                    minLength: 1
                  source:
                    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
                  destination:
                    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
                  settlementNetwork:
                    type: string
                    enum:
                      - ethereum
                      - base
                      - arbitrum
                      - optimism
                      - polygon
                      - bsc
                      - avalanche
                      - solana
                      - tron
                  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
                  status:
                    enum:
                      - accepted
                      - held
                      - submitted
                      - settled
                      - failed
                      - returned
                    type: string
                  settlementStatus:
                    type: string
                    enum:
                      - source_settling
                      - trading
                      - destination_settling
                      - settled
                      - held
                  configurationId:
                    type: string
                    minLength: 1
                  externalReference:
                    type: string
                    minLength: 1
                  providerReference:
                    type: string
                    minLength: 1
                  statusReason:
                    type: string
                    minLength: 1
                  reservation:
                    type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - reserved
                          - captured
                          - released
                      amount:
                        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
                    required:
                      - status
                      - amount
                  nextAction:
                    type: string
                    enum:
                      - none
                      - wait_for_settlement
                      - contact_support
                      - retry_new_request
                      - review_balance
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                required:
                  - id
                  - clientId
                  - quoteId
                  - source
                  - destination
                  - settlementNetwork
                  - fee
                  - sourceDebit
                  - status
                  - settlementStatus
                  - configurationId
                  - externalReference
                  - reservation
                  - nextAction
                  - createdAt
                  - updatedAt
      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.

````