MintLp
A decentralised AMM
The problem MintLp solves
Traditional AMMs treat liquidity providers (LPs) like anonymous numbers by giving them fungible LP tokens.
This causes multiple issues:
LP positions are not unique, even though every LP has different deposit time, risk, range and fees.
No clear visibility of fees earned, PnL, impermanent loss, maturity, etc.
Transfers are confusing (LP shares don’t describe what you're actually holding).
New users find liquidity providing hard to understand and risky.
What MintLP solves
MintLP converts every liquidity position into a Data-Rich NFT.
So instead of receiving a basic LP token, users mint an NFT that represents their exact LP position.
How people can use it
MintLP makes liquidity providing more transparent, safer, and user-friendly:
Provide liquidity easily using a simple UI
Mint an LP Position NFT that contains:
Principal value
Accumulated fees
Impermanent loss stats
Age & maturity of position
Range/concentrated liquidity info
View LP holdings in a portfolio gallery
Trade/transfer LP positions as NFTs (future scope)
Challenges I ran into
Challenge 1: Wallet dependency / Demo usability
A major hurdle was that many judges/users don’t have an Aptos wallet installed (like Petra).
That would cause a poor first impression: project doesn’t run = rejected fast.
How I solved it I implemented a Hybrid Architecture:
Smart Contract Mode (real wallet + onchain)
Mock Mode / Demo Wallet (no wallet needed)
So if wallet isn’t available, the app automatically switches to simulation and still demonstrates:
swap logic
liquidity minting
NFT metadata generation
This made the project judge-friendly and fully demoable.
Challenge 2: AMM math + stable/volatile behavior
Implementing two AMM engines created complexity:
Constant product: x*y=k (volatile pairs)
Stable swap: simplified stable behavior for stable pairs
Issue faced:
incorrect pool outputs due to wrong reserves update order
precision issues in simulation mode
How I solved it
standardized reserve update logic
added guard checks for invalid swap amounts
ensured consistent rounding/precision rules inside the simulation engine
Challenge 3: NFT metadata design
Creating metadata that is:
meaningful to user
clean UI friendly
still “data-rich”
Solution I designed structured metadata fields and displayed them visually in a Portfolio NFT Gallery, instead of dumping text.
Tracks Applied (1)
Base Track
Technologies used