Locking Liquidity

Comprehensive guide to locking your V2 LP tokens and V3 NFT positions with RealSafe.

Overview

This guide covers:

  • Preparing your liquidity for locking

  • Creating locks with different parameters

  • Understanding lock settings and options

  • Best practices for different use cases


Before You Lock

Check Your Assets

For V2 LP Tokens:

  • Verify you have LP tokens in your wallet

  • Know the token pair (e.g., ETH/USDC)

  • Check token balance and decimals

For V3 Positions:

  • Have an active V3 position (NFT)

  • Position must have liquidity > 0

  • Know your position's token ID

Have Enough Gas

  • Keep 0.001 ETH/MON for gas + creation fee

  • Monad Testnet: ~0.0001 MON creation fee

  • Monad Testnet: ~0.0001 MON creation fee


Locking V2 LP Tokens

Step-by-Step Process

1. Get Your LP Token Address

Your LP token address can be found:

  • Uniswap: Under "Your Liquidity" → Click on pool

  • Monad Explorer: Check your wallet transactions

  • Pool info page: Look for "LP Token" address

Find your LP token address in Uniswap

2. Navigate to V2 Locker

  1. Go to https://app.realsafe.io

  2. Connect wallet

  3. Select "V2 Locker" tab

3. Enter Lock Details

Empty V2 lock form

LP Token Address:

  • Paste or select from dropdown

  • Contract verifies it's a valid LP token

Amount:

  • Enter how many LP tokens to lock

  • Can lock partial or full balance

  • Min amount: 0 (but should be meaningful amount)

Unlock Date:

  • Choose date/time when you want to unlock

  • Or enter days from now

  • Max: 10 years from now

Choose your unlock date

Permanent Lock (Optional):

  • Check this for permanent locks

  • WARNING: Can NEVER be unlocked!

  • Only use for token burns or permanent commitments

Warning when enabling permanent lock

Condition (Advanced):

  • Leave as "None" for simple time-lock

  • Or select custom condition contract

  • See Conditional Unlocks

Advanced: Custom condition options

Completed V2 lock form with all details

4. Approve LP Tokens

  • Click "Approve" button

  • Transaction approval in wallet

  • Wait for confirmation

5. Lock Tokens

  • Click "Lock" button

  • Review summary carefully

  • Pay creation fee (0.0001 ETH/MON)

  • Confirm transaction

  • Wait for confirmation

6. Save Your Lock ID

  • Note the Lock ID shown after success

  • You'll need this to manage your lock

  • Also visible in "My Locks" page


Locking V3 Positions

Step-by-Step Process

1. Find Your Position

Your V3 positions show in:

  • Uniswap V3 interface

  • RealSafe app (auto-loads your NFTs)

  • Position Manager contract

2. Navigate to V3 Locker

  1. Go to https://app.realsafe.io

  2. Connect wallet

  3. Select "V3 Locker" tab

  4. Your positions load automatically

Your V3 positions displayed

3. Select Position to Lock

  • Click on the position card

  • Review position details:

    • Token pair

    • Liquidity amount

    • Fee tier

    • Price range (tick lower/upper)

Selected position with full details

4. Configure Lock

Unlock Date:

  • Choose when position can be unlocked

  • Max 10 years from now

Collect Address:

  • Where trading fees go when you claim them

  • Default: Your wallet address

  • Can change later via setCollectAddress()

Set where trading fees should go

Condition (Advanced):

  • Custom unlock logic (optional)

  • Leave as "None" for time-based only

5. Approve NFT

  • Click "Approve" button

  • Approves NFT transfer to locker

  • Confirm in wallet

6. Lock Position

  • Click "Lock Position" button

  • Review all details carefully

  • Pay creation fee (0.0001 ETH/MON)

  • Confirm transaction

7. Manage Your Lock

After locking, you can:

  • Claim trading fees anytime

  • Extend unlock date

  • Transfer ownership (2-step)

  • Change collect address

  • Cannot decrease liquidity

  • Cannot unlock early


Lock Settings Explained

Unlock Date

What it is:

  • Unix timestamp when lock can be unlocked

  • Must be future date

  • Max 10 years from now

Choosing wisely:

  • 90 days: Good for initial trust building

  • 180 days: Standard for project liquidity

  • 1 year+: Long-term commitment signal

  • Consider: Project roadmap, vesting schedules

Can extend:

  • Yes, anytime before unlocking

  • Can extend multiple times

  • Cannot shorten once set

Collect Address (V3 Only)

What it is:

  • Address that receives claimed trading fees

  • Not the same as lock owner

Common setups:

  • Personal wallet: Keep fees for yourself

  • Team treasury: Pool fees for team

  • Revenue share: Send to revenue contract

  • Can change: Via setCollectAddress()

Conditions (Advanced)

What they are:

  • Smart contracts with custom unlock logic

  • Alternative to time-based unlocks

  • Must implement ILockCondition interface

Built-in options:

  • TimeBasedCondition: Admin-controlled timestamps

  • Custom: Deploy your own

Learn more:

  • Conditional Unlocks Guide


Use Cases & Examples

Project Launch: Initial Liquidity Lock

Scenario: New project launching, wants to lock 100% of initial liquidity.

Recommendation:

Lock Type: V2 or V3 (based on DEX version)
Amount: 100% of liquidity
Unlock Date: 90-180 days
Permanent: NO
Condition: None

Why:

  • 90-180 days shows serious commitment

  • Not permanent allows relocking later

  • Builds initial trust with community

Team Vesting: Staggered Unlocks

Scenario: Team allocation needs to vest over 2 years.

Recommendation:

Create 4 separate locks:
- Lock 1: 25%, unlock in 6 months
- Lock 2: 25%, unlock in 12 months
- Lock 3: 25%, unlock in 18 months
- Lock 4: 25%, unlock in 24 months

Implementation:

  • Use V2 locker (can add to locks)

  • Or create 4 separate V3 positions

  • Progressive unlocking shows alignment

Yield Farming: Long-term LP

Scenario: LP wants to commit long-term and collect fees.

Recommendation:

Lock Type: V3 (to claim fees)
Unlock Date: 1 year
Collect Address: Your wallet
Condition: None

Why:

  • V3 allows fee claiming while locked

  • Long duration (1 year) for farming rewards

  • Can extend if yields remain good

Partnership: Conditional Release

Scenario: Partnership liquidity released after milestones.

Recommendation:

Lock Type: V3
Unlock Date: 2 years (safety fallback)
Condition: MilestoneCondition contract

Implementation:

  • Custom condition tracks milestones

  • Can unlock early if milestones met

  • Time-based fallback ensures eventual unlock


Best Practices

Do's

  • Test first: Lock small amount on testnet

  • Verify dates: Double-check unlock dates

  • Save Lock IDs: Keep record of all locks

  • Communicate: Announce locks to community

  • Extend proactively: Show continued commitment

  • Claim regularly: Don't let V3 fees accumulate too long

Don'ts

  • Don't lock permanently: Unless burning forever

  • Don't rush: Review all details before confirming

  • Don't lose keys: Backup private keys securely

  • Don't forget gas: Keep ETH/MON for future transactions

  • Don't ignore warnings: Pay attention to error messages


Adding to Existing Locks (V2 Only)

V2 Locker allows adding more LP tokens to existing locks.

How to Add

  1. Go to "My Locks"

  2. Find lock to add to

  3. Click "Add to Lock" button

  4. Enter additional amount

  5. Approve tokens

  6. Confirm add transaction

Add more LP tokens to existing lock

Enter additional amount to add

Benefits

  • Cheaper: Lower gas than creating new lock

  • Simpler: One lock ID to manage

  • Same unlock: All tokens unlock together

Limitations

  • Only available for V2 locks

  • Cannot add to V3 locks

  • Must be same LP token

  • Cannot extend while adding (two separate actions)


Next Steps


Need help? Reach out on X

Last updated