Verifying Locks

Learn how to verify locked liquidity on-chain and display proof to your community.

Overview

This guide covers:

  • Checking if liquidity is locked

  • Verifying lock details on-chain

  • Using block explorers

  • Displaying locks on your website


Why Verify Locks?

For Projects

  • Build Trust: Show community you're committed

  • Marketing: Display locked liquidity prominently

  • Transparency: Prove anti-rug measures

  • Competitive Advantage: Stand out from scams

For Users/Investors

  • Due Diligence: Check before investing

  • Safety Score: Higher locked liquidity = safer

  • Verify Claims: Don't trust, verify

  • Exit Scam Protection: Confirm liquidity can't be rugged


Method 1: Using RealSafe Web App

Step 1: Get Lock Info

If you know the lock owner address:

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

  2. Click "Search" or "Verify" in navigation

  3. Enter wallet address or Lock ID

  4. Click "Search"

Search for locks by address or Lock ID

Step 2: View Lock Details

You'll see:

  • Lock ID: Unique identifier

  • Owner: Who owns the lock

  • Token Pair: Which tokens are locked (V3) or LP token (V2)

  • Amount: How much liquidity is locked

  • Unlock Date: When it can be unlocked

  • Status: Active/Unlocked

  • Condition: Any custom unlock conditions

Search results showing multiple locks

Detailed view of a specific lock

Step 3: Verify On-Chain

Click "View on Explorer" to see:

  • Transaction that created lock

  • Smart contract interactions

  • All details verified on-chain


Method 2: Using Block Explorers

Monad Mainnet

Locker Contracts:

  • V3 Locker: 0x5F5362bB3A97CaE836776D56C6A6A685AC71b979

  • V2 Locker: 0x0aD3fC98972B5dE022bc34EbCA7d61b84b6d7320

Steps:

  1. Go to https://monadscan.com

  2. Search for locker contract address

  3. Click "Read Contract" tab

  4. Use view functions:

    • getOwnerLockIds(address) - Get all locks for address

    • getLock(uint256) - Get specific lock details

    • canUnlock(uint256) - Check if unlockable

Locker contract on Monad Explorer

Read Contract functions

Results from calling getLock function


Method 3: Using Smart Contract Calls

Reading Lock Data

Get all locks for an address:

Get specific lock details:

Check if can unlock:

Using cast (Command Line)

Get owner's locks:

Get lock details:


Interpreting Lock Data

Lock Structure (V3)

Key Fields to Check

isActive:

  • true: Lock is active, liquidity still locked

  • false: Lock has been unlocked

unlockDate:

  • Unix timestamp

  • Convert to date: https://www.unixtimestamp.com/

  • Must be >= current time to be locked

liquidity:

  • Amount of liquidity locked

  • V3: liquidity units

  • V2: number of LP tokens

condition:

  • 0x0000...: No condition, time-based only

  • Other address: Custom condition set

Visual guide to understanding lock struct data


Displaying Locks on Your Website

Option 1: Embed Widget (Coming Soon)

Example embedded widget on a website

Option 2: Query Via API

GraphQL endpoint:

Example query:

GraphQL query in action

Full API docs →arrow-up-right

Option 3: Custom Integration

Using ethers.js:


Verification Checklist

When verifying a project's locked liquidity:

Visual verification checklist

Basic Checks

Advanced Checks

Red Flags


Sharing Proof of Lock

  1. Go to lock details page

  2. Click "Share" button

  3. Copy link: https://app.realsafe.io/lock/LOCK_ID

  4. Share on social media

Share your lock proof easily

Generate Proof Image

  1. Lock details page

  2. Click "Generate Proof"

  3. Download image with lock details

  4. Share image on Xarrow-up-right

Example proof badge for social sharing

Create Badge for Website

Badge displayed on project website


Common Verification Questions

"How do I know it's real?"

  • Check on block explorer (Monad Explorer)

  • Verify contract is official RealSafe contract

  • Check transaction history

  • All data is on-chain, cannot be faked

"Can the team unlock early?"

  • No, if unlock date hasn't passed

  • Smart contract enforces unlock time

  • No admin backdoor exists

  • Even contract owner cannot unlock early

"What if lock shows 'inactive'?"

  • Lock was already unlocked

  • Liquidity no longer locked

  • Check unlock date and current date

  • May have been unlocked legitimately

"Multiple locks vs single lock?"

Both are fine:

  • Single large lock: Simple, clear

  • Multiple staggered locks: Vesting schedule, progressive unlocks

  • Check total locked amount across all locks


Next Steps


Questions? Reach out on Xarrow-up-right

Last updated