burneh
Crypto
ETH$3,200.00USDC$1.00WBTC$64,000.00DAI$1.00
indicative

Swap tokens, and watch the price move as the order grows.

Every quote here runs on a real constant-product curve, the same math a DEX uses. A bigger order moves the price, and the widget shows you exactly how much before you ever sign.

$48.2M
TVL
$9.4M
24h vol
Swapindicative
You pay
$32,000.00
You receive
31,568.28
$31,568.28
Rate1 ETH = 3,200 USDC
Price impact1.35%
Min received31,410.44 USDC
Slippage
the curve, x · y = k
1 ETH = 3,200 USDC
price impact
1.35%
spotyour orderETH in the pool →price (USDC/ETH)

Type a bigger number. The order marker slides down the curve and the shaded wedge, the price you give up, grows with it. That is the constant product doing its job, not a flat fee pretending nothing moved.

One trade, split across pools.

The best price is rarely in one pool. The router splits the order, takes the multi-hop when it wins, and lands you more out than any single pool would.

+0.42%
vs best single pool
58%27%15%10 ETHETH / USDC0.30% feeETH / DAI / USDCmulti-hopETH / USDC1.00% fee31,980 USDC

Signing shouldn't mean hoping.

Every swap goes out carrying its own guards. Here is the exact transaction, annotated, and beside it the floor doing its job. Move the market and watch it decide.

the transaction that gets signed
router.exactInput({
path: bestRoute(ETH, USDC),
amountIn: 10 ETH,
amountOutMinimum: 31_820,a floor. moves past it, the tx reverts
deadline: now + 60s,a stuck tx can't fill later at a stale price
approval: exact(10 ETH),this swap only, not an open allowance
})
your swap · 10 ETH → USDC
31,980 USDCfloor 31,820
Filled

At or above your floor, so the swap fills.

x · y = k

Everything on this page comes from that one identity. The quote is the curve, the impact is the slope, and the swap won't send without a floor and a deadline. It's all here to read, because a swap you can't inspect is a swap you shouldn't sign.

quote.ts
1// constant-product AMM: the pool holds x of tokenIn and y of
2// tokenOut, and x * y stays constant across the trade
3export function quote(amountIn, reserveIn, reserveOut, fee = 0.003) {
4 const inAfterFee = amountIn * (1 - fee);
5 const amountOut = (reserveOut * inAfterFee) / (reserveIn + inAfterFee);
6
7 const midPrice = reserveOut / reserveIn; // before the trade
8 const execPrice = amountOut / amountIn; // what you get
9 const priceImpact = 1 - execPrice / midPrice; // grows with size
10
11 return { amountOut, priceImpact };
12}

We build the exchange, not the promise.

Real routing, honest price impact, guards that actually revert, and wallet signing wired in. Tell us the pairs and the chain, and we come back with a scope.