Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.privataswap.com/llms.txt

Use this file to discover all available pages before exploring further.

States

StatusMeaningTerminal
waiting_depositOrder created, deposit address shown, awaiting user funds.no
confirmingDeposit detected on-chain, awaiting block confirmations.no
exchangingProvider received funds and is converting.no
sendingProvider broadcasts the payout transaction.no
completedPayout confirmed. amount_to_actual and tx_out_hash are set.yes
failedPermanent failure. Inspect failed_reason_code.yes
expiredUser never sent funds before expires_at.yes
refund_requiredManual intervention needed (overpayment / underpayment / KYT / rate change).no
refundedRefund executed back to refund_address or converted to stable.yes
manual_reviewProvider needs human review or refund without consent surface.no

Allowed transitions

waiting_deposit ──→ confirming ──→ exchanging ──→ sending ──→ completed
       │                │              │                       
       ↓                ↓              ↓                       
   expired           refund_required ←──── (any non-terminal)  

                          ├──→ refunded                        
                          └──→ manual_review                   
States never go backward. failed is reachable from any non-terminal state.

failed_reason_code enum

CodeWhat it meansSuggested UX
kyt_blockReceive or refund address hit a sanctions/KYT list.”Address rejected by compliance check. Try another address.”
amount_out_of_rangeProvider’s min/max changed after quote.”Amount no longer supported. Get a new quote.”
rate_changedRate moved beyond slippage tolerance.”Rate moved. Confirm a new quote.”
provider_timeoutUpstream provider unresponsive.”Provider didn’t respond. Picking another.”
provider_internalProvider returned 5xx during execution.Same.
underpaymentUser sent less than expected.Triggers refund_required instead in most cases.
overpaymentUser sent more than expected.Same.
network_congestionBlockchain fees spiked and order can’t proceed.”Network congestion, please retry later.”
unknownAnything else.Show failed_reason_message.

Event timing expectations

Pair classconfirmingcompleted p95
EVM → EVM (same chain)~3 min
BTC → anything~25 min
anything → XMR~12 min
Lightning → anything~1 min
These are aggregate provider numbers. Surface them as ETA hints — never as guarantees.