Route
Validate paths and quote before moving funds.
Swap, enter a pool from one token, or exit to the asset you choose. One focused contract keeps custody measured in blocks—not sessions.
Applied consistently to every quoted minimum.
Ready
Preview only — transactions disabled
The user → LiquidityPilot allowance remains reusable and can be revoked in the wallet. LiquidityPilot clears only its router-facing allowance after each operation.
Every flow is explicit about custody, acceptable output, and final recipient.
Validate paths and quote before moving funds.
Approve exact amounts and enforce deadlines.
Deliver LP or output directly; refund every remainder.
Removing liquidity only works when the contract actually owns the LP tokens it asks the router to spend. LiquidityPilot pulls the exact LP amount, grants a narrow approval, settles the underlying assets, and clears the allowance.
pair.safeTransferFrom(user, pilot, liquidity);pair.forceApprove(router, liquidity);router.removeLiquidity(...);pair.forceApprove(router, 0);Slippage, token approvals, smart-contract bugs, and volatile pools can cause loss. This educational project is not audited and is not financial advice.