Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours
The English summary is being prepared. Showing the original description.
Token unlock and vesting tracker - quantify supply pressure via absorption ratio, classify cliff vs linear, and deliver one-line market reads
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Read memory/MEMORY.md for context on market positions and active narratives.
Read the last 7 days of memory/logs/ to dedup against any unlock already covered.
Read memory/state/unlock-monitor-seen.json if present — a list of ${ticker}:${unlock_date} keys already shipped. Skip exact matches; if file is absent, treat as empty.
The original skill ranked unlocks by % of circulating supply. That's a weak proxy. The right metric is Absorption Ratio = unlock_dollar_value / 7-day avg daily volume. Keyrock's analysis of 16k+ unlocks shows that ratios above ~2.4× consistently strain liquidity and produce measurable price drawdown. Below ~0.5× the market typically yawns. This skill ranks by absorption ratio first, supply % second, and folds in cliff-vs-linear structure plus pre-unlock price action to produce a per-event verdict.
Run these WebSearches in parallel:
"token unlock schedule" "${week_of}" site:tokenomist.ai OR site:defillama.com"token unlock" "this week" cliff vesting team investor ${current_year}"upcoming unlocks" cryptorank OR dropstab ${current_year}"FTX distribution" OR "Mt. Gox" OR "Celsius" OR "creditor payout" crypto ${current_year} (court-ordered supply shocks count)"$10M" OR "$50M" OR "$100M" token unlock ${week_of} (dollar-value angle catches what supply % misses)Also fetch (WebFetch fallback if any URL fails):
https://tokenomist.ai — primary, source-verified across 500+ tokens with cliff/linear labelinghttps://defillama.com/unlocks — DeFi protocols, with $ valueshttps://cryptorank.io/token-unlock — broad coverage, recipient-category labeledhttps://dropstab.com/vesting — alternative cross-source verificationhttps://www.coingecko.com/en/highlights/incoming-token-unlocks — Tokenomist-poweredRecord which sources returned data → emit a sources: line in the log (see step 7).
For each candidate unlock, fetch from CoinGecko search results or WebFetch on https://www.coingecko.com/en/coins/${slug}:
cliff (lump-sum unlock) vs linear (gradual) vs mixed — usually labeled by tokenomist / cryptorankteam, investor, ecosystem, community, creditorIf volume data is unavailable, mark the unlock vol=unknown and tier it conservatively — do not skip it, but flag the gap in the output.
For each unlock with known volume:
absorption_ratio = unlock_usd_value / avg_daily_volume_usd_7d
Tier the events:
| Tier | Absorption Ratio | Meaning |
|---|---|---|
| CRISIS | > 2.4× | Liquidity cannot absorb without significant slippage |
| STRAIN | 1.0× – 2.4× | Will require multiple sessions to digest |
| DIGESTIBLE | 0.3× – 1.0× | Notable but absorbable |
| TRIVIAL | < 0.3× | Background noise, skip unless recipient flag elevates it |
Recipient override: a team or investor unlock with absorption ratio one tier lower than CRISIS gets bumped up one tier (cost-basis-zero sellers act differently than airdrop recipients). A community or staking-reward unlock with ratio one tier higher gets bumped down one tier.
Court-ordered distributions (FTX, Mt. Gox, Celsius) bypass the tier system — always include, label forced, note the legal timeline.
For each event, set a one-line market_read based on 30d price change and vesting type:
priced in — token is down >20% over 30d AND ratio ≤ STRAIN. Selling has already happened; unlock day may mark a bottom.market asleep — token is flat or up over 30d AND tier is STRAIN or CRISIS. Asymmetric downside; the move hasn't started.fade pump — token is up >15% over 30d AND tier is CRISIS. Classic pre-cliff bid-then-dump pattern.forced sellers — court-ordered. Different beast — legal timeline, not market-driven.absorbable — TRIVIAL or DIGESTIBLE with no recipient flag. Nothing to see here.For cliff unlocks: weakness usually starts ~30 days before; vol peaks at unlock; recovery 10–14 days later. Note this pattern explicitly when relevant.
Sort by absorption ratio descending, then by recipient flag (team/investor first), then by dollar value. Take the top 8 (drop TRIVIAL unless a court-order or recipient flag elevates them).
Deduplicate against memory/state/unlock-monitor-seen.json and the last 7 days of logs.
If the resulting list is empty, that's a real signal — output UNLOCK_MONITOR_QUIET and a one-line note explaining why (e.g. "No unlocks above 0.3× absorption ratio this week — supply side is calm").
./notify (under 4000 chars)Lead with the headline — the single most-leveraged unlock — then tiered groups, then the read.
*Unlock Monitor — week of ${date}*
This week's most leveraged: **$TOKEN** unlocks Wed at $XM (Y× daily vol). [market read]
CRISIS (> 2.4× daily vol)
- **$TOKEN** — Mon Apr 22 — X tokens (Z% supply, $YM)
cliff · investor · 3.1× vol · 30d -8% → market asleep
Note: cliff pattern — expect weakness running into the date
STRAIN (1.0×–2.4×)
- **$TOKEN** — details · 1.6× vol · 30d -25% → priced in
DIGESTIBLE (0.3×–1.0×)
- **$TOKEN** — details · 0.6× vol · linear · ecosystem → absorbable
FORCED
- **$TOKEN** — Mon — court-ordered creditor batch, $XM, no schedule discretion
*Supply read:* 2-3 sentences. Where's the real pressure, where's the noise, where's the asymmetry. Reference any cliff timing patterns. If the week is quiet, say so plainly.
sources: tokenomist=ok, defillama=ok, cryptorank=ok, dropstab=fail, coingecko=ok
Append every shipped event's key (${ticker}:${unlock_date}) to memory/state/unlock-monitor-seen.json (create the file and memory/state/ directory if absent). Trim the file to the last 90 days of keys.
Log to memory/logs/${today}.md:
### unlock-monitor
- Week of: ${date}
- Shipped: N events (X CRISIS, Y STRAIN, Z DIGESTIBLE)
- Top leverage: $TOKEN at A.A× daily vol
- Verdict mix: K priced-in, L asleep, M fade-pump, N forced
- Sources: tokenomist=ok|fail, defillama=ok|fail, cryptorank=ok|fail, dropstab=ok|fail, coingecko=ok|fail
- Status: UNLOCK_MONITOR_OK | UNLOCK_MONITOR_QUIET | UNLOCK_MONITOR_DEGRADED (if 2+ sources failed) | UNLOCK_MONITOR_ERROR (if all failed)
UNLOCK_MONITOR_QUIET with one sentence, don't pad.curl works — there is no network sandbox. Use WebFetch as a fallback for a flaky public GET — all data sources here are public, no auth required. If WebFetch on a specific source also fails, mark it fail in the source-status line and proceed with whatever sources returned data. Only emit UNLOCK_MONITOR_ERROR if all sources failed.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours
The English summary is being prepared. Showing the original description.
First-touch review of newly opened PRs on [REPLACE: WATCHED_REPO] — verdict + welcoming comment + label
The English summary is being prepared. Showing the original description.
Summary of the [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] — top [REPLACE: TOP_N_THREADS] threads + open questions
The English summary is being prepared. Showing the original description.
Digest of the most interesting new posts on [REPLACE: TOPIC] from RSS feeds and the open web
The English summary is being prepared. Showing the original description.
Price and volume tracker for [REPLACE: TOKEN_SYMBOL] with anomaly alerts above [REPLACE: ALERT_THRESHOLD_PCT]% movement
The English summary is being prepared. Showing the original description.
Mention/keyword sweep on social platforms for [REPLACE: KEYWORDS] — trends, sentiment, top posts
The English summary is being prepared. Showing the original description.