Skip to main content
POST
Accept a Treasury conversion quote

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 for the complete workflow.

Authorizations

Authorization
string
header
required

Send the same Wayex API key as Authorization: Bearer <key>.

Headers

Idempotency-Key
string
required

A unique key for this logical action. Reuse the same key and identical payload when retrying after an unknown response.

Required string length: 8 - 255

Body

application/json
quoteId
string
required
Minimum string length: 1
externalReference
string
required
Minimum string length: 1

Response

201 - application/json
id
string
required
Minimum string length: 1
clientId
string
required
Minimum string length: 1
quoteId
string
required
Minimum string length: 1
source
object
required
destination
object
required
settlementNetwork
enum<string>
required
Available options:
ethereum,
base,
arbitrum,
optimism,
polygon,
bsc,
avalanche,
solana,
tron
fee
object
required
sourceDebit
object
required
status
enum<string>
required
Available options:
accepted,
held,
submitted,
settled,
failed,
returned
settlementStatus
enum<string>
required
Available options:
source_settling,
trading,
destination_settling,
settled,
held
configurationId
string
required
Minimum string length: 1
externalReference
string
required
Minimum string length: 1
reservation
object
required
nextAction
enum<string>
required
Available options:
none,
wait_for_settlement,
contact_support,
retry_new_request,
review_balance
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
providerReference
string
Minimum string length: 1
statusReason
string
Minimum string length: 1