aeon-unlock-monitor · git:20260512.574b491 · 2026-05-12 · sha256 711e9e89ce045fbd

aeon-unlock-monitor git:20260512.574b491A

Immutable. This exact content is served forever at /api/v1/blob/711e9e89ce045fbd.

---
name: aeon-unlock-monitor
description: |
  Weekly token unlock and vesting tracker — quantifies supply pressure via Absorption Ratio
  (unlock_usd / 7d avg daily volume), classifies cliff vs linear, delivers a one-line market read
  per event (priced in / market asleep / fade pump / forced sellers / absorbable). Use ahead of
  supply events to position around them or as input to token-pick.
  Triggers: "scan upcoming unlocks", "which tokens unlock this week", "supply pressure check",
  "are unlocks priced in", "track FTX/Mt Gox distributions".
---

# aeon-unlock-monitor

Token unlocks ranked by **Absorption Ratio** instead of the weak "% of circulating supply" proxy. Empirically (Keyrock's analysis of 16k+ historical unlocks), ratios above ~2.4× consistently strain liquidity and produce measurable drawdown; below ~0.5× the market typically yawns.

Each event also carries a cliff-vs-linear classification, a 30-day pre-unlock price-action read, and an explicit verdict the operator can act on.

## Tiers

```
Absorption Ratio = unlock_usd_value / avg_daily_volume_usd_7d
```

| Tier | Ratio | Meaning |
|---|---|---|
| **CRISIS** | > 2.4× | Liquidity cannot absorb without significant slippage. |
| **STRAIN** | 1.0× – 2.4× | Multiple sessions to digest. |
| **DIGESTIBLE** | 0.3× – 1.0× | Notable but absorbable. |
| **TRIVIAL** | < 0.3× | Background noise. |

**Recipient overrides:**
- `team` / `investor` with cost-basis-zero gets bumped up one tier (different selling behavior than airdrop recipients).
- `community` / `staking-reward` gets bumped down one tier.

**Court-ordered distributions** (FTX, Mt. Gox, Celsius) bypass the tier system entirely — always included, labeled `forced`, with the legal timeline.

## Market read

Per event:

| Read | Condition |
|---|---|
| **`priced in`** | Token down > 20% over 30d AND tier ≤ STRAIN. Selling has happened; unlock may mark a bottom. |
| **`market asleep`** | Flat or up over 30d AND tier ≥ STRAIN. Asymmetric downside; move hasn't started. |
| **`fade pump`** | Up > 15% over 30d AND tier = CRISIS. Classic pre-cliff bid-and-dump. |
| **`forced sellers`** | Court-ordered. Different beast — legal timeline, not market-driven. |
| **`absorbable`** | TRIVIAL/DIGESTIBLE, no recipient flag. |

## Data sources

| Source | Used for |
|---|---|
| **tokenomist.ai** | Primary, source-verified across 500+ tokens, cliff/linear labeled. |
| **defillama.com/unlocks** | DeFi protocols with $ values. |
| **cryptorank.io/token-unlock** | Broad coverage, recipient-category labeled. |
| **dropstab.com/vesting** | Cross-source verification. |
| **coingecko.com** | Volume, price, 30d change for the denominator. |

Source status (`ok` / `fail` per provider) is emitted in the output. `UNLOCK_MONITOR_DEGRADED` if 2+ sources fail; `UNLOCK_MONITOR_ERROR` only if all fail.

## WebSearch queries (parallel)

```
"token unlock schedule" "${week_of}" site:tokenomist.ai OR site:defillama.com
"token unlock" "this week" cliff vesting team investor ${year}
"upcoming unlocks" cryptorank OR dropstab ${year}
"FTX distribution" OR "Mt. Gox" OR "Celsius" creditor crypto ${year}
"$10M" OR "$50M" OR "$100M" token unlock ${week_of}
```

## Enrichment per candidate

Fetch from CoinGecko / WebFetch on `https://www.coingecko.com/en/coins/${slug}`:

- 7-day average daily volume (USD) — denominator.
- Spot price.
- 30-day price change %.
- Vesting structure: `cliff` / `linear` / `mixed`.
- Recipient category: `team` / `investor` / `ecosystem` / `community` / `creditor`.

If volume is unavailable, mark `vol=unknown`, tier conservatively, flag the gap.

## Dedup

A local state file (e.g. `state/unlock-monitor-seen.json`) holds `${ticker}:${unlock_date}` keys on a 90-day rolling window. Skip exact matches against the file and against the last 7 days of prior outputs.

## Output

Lead with the headline — the single most-leveraged unlock with its market read — then tiered groups (CRISIS → STRAIN → DIGESTIBLE → FORCED).

```
*Unlock Monitor — week of 2026-05-12*

This week's most leveraged: $XYZ unlocks Wed at $42M (3.1× daily vol). market asleep.

CRISIS (> 2.4× daily vol)
- $XYZ — Wed May 14 — 25M tokens (2.1% supply, $42M)
  cliff · investor · 3.1× vol · 30d -8% → market asleep
  Note: cliff pattern — expect weakness running into the date

STRAIN (1.0×–2.4×)
- $ABC — Mon — 1.6× vol · linear investor · 30d -25% → priced in
- $DEF — Thu — 1.2× vol · cliff team · 30d +5% → market asleep

DIGESTIBLE (0.3×–1.0×)
- $GHI — Tue — 0.6× vol · linear · ecosystem → absorbable

FORCED
- $JKL — Mon — court-ordered creditor batch, $XM, no schedule discretion

Supply read: pressure concentrated mid-week from one cliff. Linear flows quiet.
$XYZ is the asymmetric setup — fade ripps into Wed, watch for capitulation Thu/Fri.

sources: tokenomist=ok, defillama=ok, cryptorank=ok, dropstab=fail, coingecko=ok
```

Quiet week: ship `UNLOCK_MONITOR_QUIET` with one sentence. Don't pad.

## Guidelines

- Absorption Ratio is the headline. % of circulating supply is secondary context.
- Team and investor unlocks at low cost basis are the strongest sell signals — bias the recipient override toward overstating impact.
- Linear unlocks rarely produce single-day shocks. Say so when one lands high in the list.
- Cliff pattern: weakness ~30d prior, vol peak on the date, recovery 10–14 days later.
- Court-ordered distributions are forced liquidation under legal timelines — tier separately.
- Cross-reference active narratives — unlocks during fading narratives hit harder.
- Be direct. "this one's priced in", "market's asleep on this", "fade the pump". No hedging.
- A quiet week on supply is a signal too.

## Required keys

None — uses WebSearch + WebFetch only.

## Pairs with

- `aeon-token-pick` — feeds in supply-side context per pick.
- `aeon-narrative-tracker` — unlocks during fading narratives are weighted differently.