Skip to main content
Deprecation of the REST v1 swap endpoints begins on September 30, 2026. Please migrate to the Partner API v2. Dashboard and authentication endpoints remain on v1 GraphQL and are not affected. Read the migration guide

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 Swap

On-chain decentralized swaps

Order Lifecycle

Understand swap status progression

Routing Types

Learn about private vs standard routing