Quickstart
A swap, from cold start to confirmation, takes six clicks and one signature. This page walks through each step, the states you can expect, and what to do when one of them does not behave.
The short version
- Open
/swap. - Connect a wallet.
- Pick the chain.
- Enter an amount. Quote fetches in about 400 ms.
- If your input token is an ERC-20, approve it first. Then sign the swap.
- Transaction confirms in a few seconds. A toast shows the hash.
1. Connect a wallet
Routey uses RainbowKit on top of wagmi, so every EIP-1193 wallet that RainbowKit supports works — browser injected (MetaMask, Rabby, Phantom), WalletConnect, Coinbase Wallet, and the usual long tail.
Click Connect Wallet in the top-right of the app nav. The button turns green and shows your address (or ENS name) once a session is live. Nothing about the session leaves the browser — there is no server login and no cookie.
2. Enter and review
Pick the chain
The chain dropdown lives next to the Connect Wallet button. Changing it updates the token list and resets the amount. Routey does not switch your wallet’s active network automatically until you actually sign — so you can price a swap on Base while your wallet is on Ethereum, then switch at the last step.
Pick tokens
Use the token selectors on either side of the panel. Click the circular arrow between them to flip input and output. The “You pay” side accepts a free-form decimal; the “You get” side is computed from the winning quote.
Read the quote
Once you have entered an amount, two provider cards appear above the panel. Each shows the amount out, fee, and latency.
- The winner has a bold outline and a yellow BEST badge.
- The runner-up is dimmed and annotated with how much you would lose by taking it.
- A live route graph above the cards highlights the active path (Uniswap V3 or Relay).
The quote refreshes every thirty seconds and on every input change. A status bar below the cards shows the last-updated timestamp and a manual refresh button.
Slippage
Four presets: 0.1%, 0.5% (default), 1%, or AUTO. Auto scales with the pair’s depth and your trade size. Tighter slippage means fewer “price moved” failures at the cost of occasional reverts on volatile pairs.
0.1%. You keep more of the quote. Raise it for thin pairs, new tokens, or orders that nudge the pool.3. Approve & swap
If your input token is an ERC-20
The button below the panel reads Approve TOKEN until the router has spend allowance for at least the current amount. Approve once per token-per-chain; subsequent swaps of the same token reuse the allowance.
Approval is a standard ERC20.approvecall. Routey requests exactly the amount you are swapping — not unlimited — by default. If you prefer unlimited approvals to save gas over repeated swaps, do that from your wallet’s own settings.
If your input token is native ETH
No approval needed. The button reads Swap Now → as soon as a quote is loaded.
Signing
Click the swap button. Your wallet pops up with the transaction — review the To (the router contract), the input amount, and the gas estimate. Confirm.
Waiting for confirmation
Routey submits the transaction, the button shows Swapping…, and a toast with the transaction hash appears. The hash links to the chain’s block explorer (Etherscan, Basescan, Arbiscan, or Optimistic Etherscan).
Supported chains & tokens
Chains
| Chain | Slug | Chain ID | Explorer |
|---|---|---|---|
| Ethereum | ethereum | 1 | etherscan.io |
| Base | base | 8453 | basescan.org |
| Arbitrum One | arbitrum | 42161 | arbiscan.io |
| Optimism | optimism | 10 | optimistic.etherscan.io |
Tokens
Native ETH is supported on all four chains (gas token). USDC is supported on all four, with the canonical deployment per chain. USDT and WBTC are currently available on Ethereum mainnet. The full token list is in lib/tokens.ts — anything that registry exposes is selectable in the UI and queryable through the API.
Request a token by opening an issue or sending a PR that adds the address, decimals, and chainId to that list. Routey does not fetch remote token lists at runtime, so additions ship per release.
Troubleshooting
Connect button does nothing
Usually a browser extension wallet that is locked or on the wrong profile. Open the extension, unlock it, make sure the active account is the one you expect, and try again. For WalletConnect, the QR session is single-use — re-open the modal to regenerate.
Quote stays on “—”
Check the devtools Network tab. A failed /api/quote response usually means an upstream RPC or Relay endpoint is rate-limiting. Routey keeps the last good quote on screen and retries on the next 30-second tick. If you are self-hosting, check the RPC environment variables.
Swap button stays disabled
Two causes:
- the amount is zero or empty — fill in a positive decimal;
- a quote has not returned yet — the button reads
Getting quote…during flight.
Wallet says “insufficient balance”
You are short either the input token or the gas currency (native ETH on every supported chain). On L2s the gas cost is usually a few cents; make sure the wallet has enough native ETH to cover it.
Swap reverted
Almost always slippage. The pool moved between quote and broadcast. Raise slippage one notch and retry, or switch to AUTO. If it reverts repeatedly at high slippage, the pair is very thin; break the order into smaller chunks or try the other provider explicitly.
Transaction stuck pending
Your wallet’s gas tip is too low for the current mempool. Speed up or cancel from the wallet’s transaction history. Routey cannot retransmit on your behalf — the nonce belongs to your wallet.
Next
- Run Routey as an agent → — same pipeline, through MCP or REST.
- Open the app →