Built for Arbitrum · V2 compatible

Liquidity,
on course.

Swap, enter a pool from one token, or exit to the asset you choose. One focused contract keeps custody measured in blocks—not sessions.

01 Exact approvals02 Dust refunds03 User-owned LP
Transaction console

Plot your position

Demo mode
No LiquidityPilot deployment is configured. Sample estimates are labelled; transaction submission is disabled.
You receive998.7 DAI

Applied consistently to every quoted minimum.

  1. 1Quote
  2. 2Approve
  3. 3Simulate
  4. 4Execute
  5. 5Confirmed

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.

How it works

A short route. Clear controls.

Every flow is explicit about custody, acceptable output, and final recipient.

01

Route

Validate paths and quote before moving funds.

02

Execute

Approve exact amounts and enforce deadlines.

03

Settle

Deliver LP or output directly; refund every remainder.

WalletExact input
LiquidityPilotValidate + route
V2 routerSwap + liquidity
WalletOutput + refund
What I learned

The LP token is part of the flow—not an afterthought.

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.

// removal lifecyclepair.safeTransferFrom(user, pilot, liquidity);pair.forceApprove(router, liquidity);router.removeLiquidity(...);pair.forceApprove(router, 0);
Navigate with the instruments on.

Slippage, token approvals, smart-contract bugs, and volatile pools can cause loss. This educational project is not audited and is not financial advice.