Swaps

Hush swaps are powered by Jupiter aggregator. Swaps take longer than typical DEX trades because they involve privacy pool withdrawals and ZK proof generation. The process runs in the background — keep your browser open until it completes. Track progress in your transaction history.

Hush swap interface

Swap Types

Shielded SOL → SPL Token

When swapping from your shielded balance, Hush withdraws SOL from the privacy pool to your oldest private shard wallet, which then executes the swap. If that shard already has SOL, Hush uses it first to minimize the withdrawal amount.

Minimum: 0.0075 SOL (covers withdrawal fees: 0.006 SOL + 0.35%). The shard wallet pays all swap transaction fees directly from the withdrawn amount.

Public SPL → Any Token

Tokens in public shards are consolidated to a randomly selected shard (from your oldest 3) before swapping. The Hush relayer pays all transaction fees upfront and is automatically reimbursed from your shielded balance through a Privacy Cash withdrawal (0.006 SOL + 0.35%).

Private SPL → Any Token

Private token swaps use your oldest private shard. The Hush relayer pays transaction fees upfront and is automatically reimbursed from your shielded balance through a Privacy Cash withdrawal (0.006 SOL + 0.35%).

Any Token → SPL Token

Output tokens stay in the shard wallet that executed the swap. For public swaps, they remain in your public shard. For private swaps, they stay in your private shard.

Any Token → SOL

When swapping to SOL, the output is automatically shielded to your privacy pool. Hush reserves 0.003 SOL from the output for shielding transaction fees and ZK proof generation (10-30 seconds). Minimum output after reserve: 0.015 SOL.

Fees

  • Swap transaction fee: ~0.0001 SOL (includes priority fees)
  • Consolidation fees: ~0.00001 SOL per source shard when tokens are spread across multiple shards
  • Token account creation (ATA): ~0.002 SOL if the swap wallet doesn't have a token account for the output mint
  • Relayer reimbursement: 0.006 SOL + 0.35% (Privacy Cash withdrawal for reimbursing the relayer for transaction fees)
  • Shielding reserve: 0.003 SOL deducted from output (swaps to SOL only)

Edge Cases

  • Same token: Cannot swap a token for itself.
  • One flow at a time: You cannot start a new swap while another flow (send, swap, or consolidation) is active.
  • Insufficient shielded balance: If you lack shielded SOL for fees or withdrawals, the swap fails with an error showing how much more to deposit.
  • Quote refresh: Quotes auto-refresh every second with 0.5% default slippage.

Failure & Recovery

Swaps can fail at various stages. Hush automatically retries recoverable errors (up to 20 attempts). Gas/SOL errors require manual intervention — you'll need to ensure sufficient shielded balance before retrying.

Shielded SOL swaps: The relayer reimbursement is calculated based on actual fees paid, minimizing costs.

Track status in transaction history:

  • Preparing Transaction — Building transaction with relayer
  • Initializing — Validating quote and fees
  • Consolidating — Moving tokens to swap wallet (or withdrawing shielded SOL)
  • Swapping — Executing Jupiter swap
  • Shielding — ZK proof generation (SOL output only)
  • Complete — Swap finished successfully
  • Failed — Error occurred (can retry)