Skip to main content

Swap Experience

This page explains how swap execution works from the user point of view.

Routing Model

The app requests routes from backend APIs
  • Best route is selected by output amount
  • Quote refresh runs periodically while inputs stay valid
  • Error states are surfaced inline (No route found, generic failure, etc.)

Execution Paths

EVM Source

Possible execution patterns:
  • Native token swap: direct tx to swap executor path
  • ERC-20 with allowance already set: single swap tx
  • ERC-20 without allowance: approval tx, then swap tx
  • Permit-capable token route: signature permit path may run first

Non-EVM Source

Uses chain-specific signing/submit logic:
  • SVM: Solana versioned tx signing and send
  • UTXO: Bitcoin PSBT signing and broadcast
  • MVM: Sui transaction signing and execution

User Feedback During Swap

Toast-style status prompts are shown for:
  • network switching
  • approval waiting
  • wallet signature request
  • transaction confirmation

Success Modal

After confirmation, a modal summarizes:
  • asset flow
  • chain IDs
  • receiver short address
  • route short ID
  • tx hash (with copy action)
The modal styling follows the same dark visual language as the rest of the website.

Route Safety Guardrails

  • Allowed target checks on configured router paths
  • Allowance checks before token transfer routes
  • Address validation before executing cross-chain destination legs

Reality Notes

  • ETA and unit prices are estimates
  • Bridge timing can vary by chain congestion and relayer speed
  • Requotes can happen in volatile markets
If this sounds chaotic, that is because cross-chain is usually chaotic. The app just tries to make chaos readable.