Unlock Sell Pressure Analysis System Development
Unlock schedule — one of main sources of price pressure on token. Each time large allocation exits vesting, market either digests quietly or gets 20-40% dump. Difference — in how well team and investors understand upcoming pressure structure in advance.
Unlock sell pressure analysis system solves specific task: N days before event give quantitative estimate of what portion of unlocked volume likely exits market, in which time windows, and how it relates to current liquidity.
Data Sources
On-chain Vesting Contracts
First source — vesting contracts themselves. If token uses standard schemes (TokenVesting from OpenZeppelin or custom VestingWallet), data fully on-chain: beneficiary address, totalAmount, cliff, duration, claimed.
// Example reading vesting schedule via ethers.js
const vestingContract = new ethers.Contract(VESTING_ADDRESS, VESTING_ABI, provider);
async function getSchedule(beneficiary: string) {
const schedule = await vestingContract.vestingSchedule(beneficiary);
return {
totalAmount: schedule.amountTotal,
cliff: schedule.cliff.toNumber(),
duration: schedule.duration.toNumber(),
released: schedule.released,
start: schedule.start.toNumber(),
};
}
Problem: many projects don't publish vesting contract addresses explicitly. Need search via emitted events or analysis of transactions from token deployment.
Token Holder Snapshots
Second source — snapshots of large holders from Etherscan API, Covalent or The Graph. Addresses with large balances locked since TGE — potential sellers at unlock moment.
Historical Patterns
Third source — on-chain transaction history of beneficiaries. How did given address behave in previous unlock events: sold within 24 hours, held, transferred to CEX (almost always means sale).
Address Classification by Sale Probability
Not all unlocked tokens equally risky. Need segmentation:
| Category | Signs | Sale Probability |
|---|---|---|
| Seed/Private investors | Early entry, high multiplier (10x+) | 60-85% |
| Strategic investors | Medium multiplier (3-7x) | 30-55% |
| Team | Long-term interest, public figures | 10-25% |
| Advisors | Often small vesting, high exit motivation | 40-70% |
| Ecosystem/Community | Distributed addresses, small amounts | 15-30% |
These not exact numbers — calibrated for specific project based on historical data. If team passed through unlocks (e.g., partial releases), history gives real calibration.
Liquidity Context
Sell pressure sum itself uninformative without market liquidity comparison. Key metrics:
Sell pressure ratio — unlockable volume (in USD) divided by average daily trading volume last 30 days. If SPR > 0.3 (30%), expect turbulence.
DEX depth analysis — real liquidity in AMM pools. Via Uniswap v3 subgraph can get liquidity distribution by price ranges and calculate price impact for different sell volumes.
// Query Uniswap v3 subgraph for pool depth analysis
const POOL_QUERY = `
query GetPool($poolId: String!) {
pool(id: $poolId) {
liquidity
token0Price
ticks(first: 100, orderBy: tickIdx) {
tickIdx
liquidityNet
liquidityGross
}
}
}
`;
// Price impact on selling X tokens calculated
// via swap simulation using Uniswap v3 formula
function estimatePriceImpact(sellAmount: bigint, poolData: PoolData): number {
// simulation via liquidity ticks
// ...
}
CEX order book depth — if token trades on Binance/OKX, must analyze bid-stack depth. Less automatable, but critical for tokens with main volume on CEX.
System Architecture
System consists of several components:
Scheduler — reads all vesting contracts, builds unlocks timeline for next 12 months. Updated daily.
Classifier — assigns beneficiary address category and sale probability. Uses on-chain history + metadata (public investor, fund with known policy, etc.).
Pressure Calculator — for each unlock event calculates expected sell pressure in USD with confidence interval.
Liquidity Monitor — aggregates DEX and CEX liquidity data, updated every 15 minutes.
Alert Engine — 7 days and 24 hours before unlock generates report: expected pressure volume, current liquidity, recommendations (e.g.: "consider buyback program" or "prepare MM for stack support").
Pressure Mitigation
System not only analyzes — helps make decisions. Mitigation tools:
OTC agreements with large investors — off-market sale without price pressure. Feasible for addresses > $500K.
Buyback program — if project has treasury, reserve portion for absorbing sell pressure. System calculates necessary buyback volume for holding price in target range.
Unlock smoothing — if vesting contract allows, can negotiate with beneficiaries on voluntary lockup extension for additional reward. Some projects do this via governance vote.
Communication preparation — advance public disclosure of unlock info reduces panic. System generates data for investor update preparation.
Development Stack
Backend: Node.js + TypeScript, PostgreSQL for historical data storage, Redis for on-chain data cache. Blockchain indexing: either own indexer based on ethers.js, or integration with Covalent/Alchemy/The Graph.
Frontend (dashboard): React + recharts for timeline visualization, tables with address detail, CSV export for reporting.
Development takes 4-8 weeks depending on number of supported networks and analysis depth. Priority — data accuracy and alert reliability over interface beauty.







