Skip to content

Approvals

A buy needs no approval. It spends ETH, sent with the transaction.

A sale spends your coins, so the contract that takes them must be allowed to. POST /swap checks your wallet’s allowances and lists what is missing in requires, in order. Send each, wait for it to confirm, then send tx (or build again: the swap was simulated as if they were already in).

RouteSteps the first time
Uniswap poolapprove-permit2Lets Permit2 move this coin for you. Once per coin.
permit2-allow-routerLets Uniswap’s Universal Router take the coin through Permit2, for 30 days.
Pons or Flap curveapproveLets the curve (Pons) or the portal (Flap) take the coins you sell, for that amount.

Permit2 (0x000000000022d473030f116ddee9f6b43ac78ba3) is Uniswap’s shared approval contract: the same one Uniswap’s own app uses. Both approvals are ordinary transactions; nothing is signed off chain.