Skip to main content

Overview

Private swaps route through multiple CEX hops to provide maximum privacy. Like standard swaps, they use CEX tokens from the /tokens endpoint. Optionally uses Monero (XMR) for enhanced anonymity. This breaks transaction trails across exchanges, providing enhanced anonymity without requiring wallet connections.
Best For: Users who prioritize privacy and are willing to accept longer completion times (15-45 minutes) for enhanced anonymity.

Key Features

Multi-Hop Routing

Routes through 2 exchanges to break transaction trail

Optional XMR Privacy Layer

Can use Monero for untraceable intermediate transactions

No Wallet Connection

No browser wallet or approvals required

Maximum Anonymity

No direct on-chain link between source and destination

How It Works

Private swaps follow this multi-hop flow:
1

Get Supported Assets

Fetch available tokens from /tokens
2

Request Private Quote

Get a quote with anonymous: true to request private routing
3

Create Swap Order

Submit swap with destination address
4

Multi-Hop Routing

Funds route through multiple CEXs (optionally via Monero)
5

Privacy Delivery

Final output sent to destination with broken trail

Integration Guide

Step 1: Get Supported Assets

Before requesting a quote, fetch the available tokens. Learn more about CEX tokens.
Performance Note: The /tokens endpoint can take several seconds to minute to respond due to the large token list.
  • Save tokens in your backend database
  • Load tokens on server startup or via scheduled job
  • Serve token list from your database to frontend
  • Refresh cache periodically (e.g., every 24 hours)

Step 2: Request Private Quote

Request a quote with anonymous: true for maximum privacy. Use token symbols from the /tokens endpoint:

Quote Response

Key Private Route Fields:
  • type: "private" indicating multi-hop routing
  • path: Multi-hop CEX path (e.g., "cl:qx" = Changelly → Quickex)
  • xmrAmount: Amount routed through Monero privacy layer
  • inQuoteId / outQuoteId: Separate quotes for each hop
  • duration: Estimated time to complete the exchange, longer completion time (15-45 min) due to multi-hop

Step 3: Create Private Swap

Create the swap order using the /exchange endpoint:

Exchange Response

Critical: Send exactly inAmount of inSymbol to the senderAddress within the expiration time (typically 30 minutes).

Step 4: Monitor Swap Status

Poll the status endpoint to track the multi-hop progress:

Private Swap Status Progression

Private swaps have additional status stages for multi-hop routing:
Status Fields:
  • status: Overall swap status (0-8)
  • inStatus: First hop status
  • outStatus: Second hop status (private swaps only)
Polling: Check status every 30 seconds or more. Private swaps take 15-45 minutes due to multi-hop routing.

Complete Example

For a complete, runnable Node.js example:

Private Swap Example

Complete private swap script with multi-hop status tracking

Best Practices

Clearly communicate the 15-45 minute completion time for private swaps. Users should understand they’re trading speed for privacy.
Explain how multi-hop routing provides privacy benefits. Help users understand what they’re getting.
Implement proper loading states and progress indicators. Private swaps take longer due to multiple hops.

Common Issues

Cause: Multi-hop routing through 2 exchanges takes longerSolution: This is normal for private swaps. Monitor inStatus and outStatus to see which hop is processing.
Question: “How private is this really?”Answer: Private swaps break the transaction trail by routing through multiple exchanges. When XMR routing is used, it adds an untraceable intermediate step. However, this is not absolute anonymity - compliance checks still apply.

Next Steps

DEX Swaps

On-chain decentralized swaps

Order Lifecycle

Understand swap status progression

Routing Types

Learn about private vs standard routing