ENGINE ONLINE TOKENS 12 EVENTS —
Drift-d

When attention moves before money, Drift-d notices.

Two signals, each ranked against its own history, subtracted. When the gap is wide enough the agent explains it — then checks, later, whether it was worth knowing.

SOCIAL ONCHAIN
—
01The insight

Attention and money move at different speeds.

A token can get loud before real volume shows up — an early signal, or a paid pump. It can also move serious volume while almost nobody is talking, which is what quiet accumulation looks like from outside.

Neither number means much alone. A social score is a popularity contest; a volume chart is a crowd you cannot see the face of. The information is in the disagreement, and that gap is the only thing this agent reports.

02How a reading is produced
01

Social momentum

Interactions per hour, aggregated across X, Reddit, YouTube and TikTok.

LunarCrush time-series
02

Onchain momentum

Hourly volume for the token's own Base pool — pool-specific, not aggregate cross-venue volume that would blur where the trading happened.

GeckoTerminal OHLCV
03

Rank, then subtract

Each side is replaced by its percentile within its own history, so the two are comparable before they are compared. Deterministic — no model involved.

Local engine
04

Onchain verification

When a gap crosses the threshold, one direct call reads the pool contract's live reserves and checks them against the aggregator.

Base RPC · getReserves()
05

Narration

Claude reads the score and every input behind it, then explains which kind of gap it is. It never computes the number.

Claude
03The engine

Three corrections, each found by measuring

Momentum is a log ratio

Percent change is unbounded as the previous value nears zero. On a thin pool, one quiet hour followed by an active one produced scores in the six figures — division by almost nothing, not momentum. And thin pools are what this agent is built to watch.

before  max |z| 178,497
↓ log ratio
after   max |z| 6.2 Bounded — but not cured.

A floor, relative to each pool

A ratio between two tiny numbers is still noise wearing a plausible score, and 62% of the first events had an hour under $1,000. The floor scales to each pool's own median, because a flat cut would have deleted 68% of the thinnest token's hours and 3% of the deepest.

The two axes were not comparable

Subtracting two z-scores assumes they mean the same thing. Social chatter is a dense count that moves smoothly; pool volume is spiky and often near zero, so its own spikes inflate the yardstick it is measured against.

raw p99  social 6.46  onchain 2.92
↓ percentile rank
now p99  social 0.995  onchain 0.978 Each side is now its own percentile, uniform by construction, so the two match at every quantile rather than at the one a scale was tuned to.

Visible in the labels: the social-to-onchain split moved from 3.78:1 to 0.96:1. The lopsidedness was a property of the metric, not of Base tokens.

04The scorecard

Did the signal actually work?

28%events followed
39%any hour
-11.0lift (points)

Flagged events performed worse than hours picked at random.

t+3h 31%
t+6h 28%
t+12h 31%

“Followed” means the lagging series averaged at least 25% above its own pre-event baseline afterwards. 131 events, threshold 1.7, 12 tokens. Regenerate with npm run scorecard.

The agent used to publish readings and never check them. Every explanation ended with "watch the next few intervals" and nobody watched. The hourly series was already on disk, so the test cost nothing — it had simply never been run.

The claim tested is the narrow one this agent implies: after the two series come apart, the lagging one moves. Measured on levels rather than scores, because a rank falls after a spike by construction and comparing scores would report a fade for almost any event.

Read it plainly: flagged hours do worse than hours picked at random, and the gap does not close at any threshold tested. On this month of data, the score does not identify hours where money is more likely to follow attention.

The engine still measures what it says it measures. What is not established is that the measurement leads anywhere — and publishing that is the point. A claim that cannot fail is not a claim.

The likeliest defect is on the input side: attention is measured globally while volume is measured in one Base pool, so the two describe different markets. Scoping both to the same one is the next thing to try.

05Verification

Every figure traces to a real call

Market data arrives through an aggregator — fast and reliable, but still somebody's summary of the chain. So when an event fires, the agent goes to the source: one direct getReserves() call reads the pool's live reserves and compares them against the reported liquidity.

That check is deliberately the same move as the product itself — catching two sources disagreeing — applied one layer deeper. Pools that expose it get it; concentrated-liquidity and Uniswap V4 pools do not, and the agent reports that rather than pretending otherwise.

Output is committed to a public file on every run, so the record is timestamped and append-only. You can check what the agent said and when.

06Coverage

What it watches

Twelve Base tokens, each screened on both axes: hourly social coverage with interactions that actually vary, and a pool with dense history. Screening a market-cap list first returned 25 failures out of 32 — being listed on Base is not the same as trading on Base.

AERO
739 hours recorded
events8
rpc checksupported
VIRTUAL
580 hours recorded
events0
rpc checksupported
KEYCAT
705 hours recorded
events3
rpc checksupported
MORPHO
739 hours recorded
events17
rpc checknot available
BNKR
736 hours recorded
events0
rpc checknot available
VVV
739 hours recorded
events24
rpc checksupported
VELVET
739 hours recorded
events24
rpc checknot available
TIBBIR
738 hours recorded
events10
rpc checksupported
DOGINME
486 hours recorded
events2
rpc checksupported
AVNT
739 hours recorded
events22
rpc checknot available
SURPLUS
711 hours recorded
events12
rpc checknot available
POD
558 hours recorded
events3
rpc checknot available

KEYCAT and DOGINME are in the set on purpose — the thinnest pools, where the volume floor earns its place.

07Recorded events

What the agent has found

Every reading below is the agent's own output: a deterministic score, and an explanation written from that score and the inputs behind it. Nothing here was written by hand. Click any event to read the full explanation.

125 events across 10 tokens. Showing the 12 most recent.

VVV's attention climbed sharply this hour (social momentum +0.58 log-ratio, roughly a 78% jump) while onchain volume collapsed (-1.85 log-ratio, about an 84% drop), putting social in the top 12% and onchain in the bottom 14% of each series' own history. That combination pushes the divergence score to 1.74, a wide gap driven by rising attention outpacing sharply falling onchain activity. Worth watching over the next few hours whether the interval volume rebounds toward what the social spike would imply, or whether the social reading cools back down and the two series realign.

social 0.88 onchain -0.86 replay

VELVET's onchain volume jumped sharply (log ratio +0.87, roughly a doubling) while social attention fell by a similar magnitude (-0.84), a divergence of -1.82 that's near the extreme end of the range. This onchain move sits in the top ~7% of the token's own volume history, even as social activity ranks in the bottom ~11% of its own history — so the gap is driven by unusually strong onchain flow against a quiet social backdrop, per the onchain-rising direction. Worth watching over the next few hours whether social volume and sentiment pick back up to catch up with the onchain move, or whether the volume surge fades back toward baseline.

social -0.89 onchain 0.93 replay

VELVET's onchain volume fell sharply hour-over-hour (log ratio -1.03, roughly a two-thirds drop), landing in the bottom of its own history at the 96th percentile of downside moves for this series. Social activity moved the opposite way, up 0.79 in log terms and in the top ~12% of its own upside moves, which is what's producing the 1.84 divergence score. Worth watching over the next few hours whether onchain volume stabilizes or extends its decline, and whether the elevated social attention (sentiment 84, galaxy score 70.4) persists or fades alongside it.

social 0.88 onchain -0.96 replay

VVV's social attention dropped sharply this hour—a log ratio of -0.81, roughly halving—landing in the bottom 4.6% of the token's own history for that series. Onchain volume moved the opposite way, up a log ratio of 1.91 (a near-tripling) and in the top 87.6% of its own range, so the -1.83 divergence score reflects attention falling while activity climbed. Worth watching over the next few hours whether social volume and sentiment stabilize or continue to slide, and whether the onchain volume surge holds or was a single-interval spike.

social -0.95 onchain 0.88 replay

MORPHO's attention dropped sharply this hour (social momentum log ratio -1.31, roughly a 73% pullback) while onchain volume surged (log ratio +2.67, near a fourfold jump), a combination that's near-extreme for both series individually — social sits in the bottom 4-5% of its own history and onchain in the top 8%. The divergence score of -1.88 reflects that split: attention falling faster than volume is rising. Worth watching over the next few hours whether social volume and sentiment stabilize or continue falling, and whether the onchain surge holds or was a single-interval spike.

social -0.96 onchain 0.92 replay

VELVET's onchain volume dropped sharply hour-over-hour (log ratio -1.15, roughly a two-thirds decline), landing in the bottom ~3% of this token's own history of moves. Social attention moved the opposite way, up 0.51 log-ratio and in the top ~21% of its own range, so the divergence score of 1.76 is being driven by onchain activity falling out from under still-rising social interest. Worth checking over the next few hours whether the interval volume stabilizes or keeps decaying while social volume and sentiment hold — that's the gap to watch, not a signal either way.

social 0.79 onchain -0.97 replay

POD's social attention spiked hard: the hourly log-ratio of +3.97 (call it a ~53x jump in mentions) sits in the top 0.2% of this token's own social moves, while onchain volume over the same window fell sharply (log-ratio -4.15), landing in the bottom ~8% of its own history. That split — attention climbing near a record while onchain activity drops off — is what's driving the 1.83 divergence score, per the social-rising direction. Worth watching over the next few hours whether intervalVolumeUsd (currently just ~$79) picks back up alongside the social surge or stays flat, which would tell you whether the two series reconverge or keep pulling apart.

social 1.00 onchain -0.83 replay

VELVET's onchain volume jumped sharply (log-ratio +1.77, a top-1% move for this token's own history) while social activity pulled back (-0.45 log-ratio, in the bottom quartile of its typical swings) — a wide onchain-rising divergence with a score of -1.75. The gap is driven almost entirely by the volume spike outrunning attention, not the other way around. Worth watching over the next few hours: whether social metrics (galaxy score, volume, sentiment) start catching up to the onchain surge, or whether the onchain volume cools back toward baseline, either of which would close the gap.

social -0.75 onchain 0.99 replay

VELVET's onchain volume dropped sharply hour-over-hour (log ratio -0.82, roughly halving), a move in the bottom ~92% of this token's own history for onchain swings, while social attention rose (+0.85 log ratio, top ~89% of its own social history) — the divergence score of 1.81 reflects onchain falling faster than social, not the reverse. Galaxy score and sentiment remain elevated (76.8, 88), so chatter hasn't followed volume down yet. Worth watching over the next few hours whether intervalVolumeUsd stabilizes or continues to fall, and whether social metrics hold or start easing back toward the onchain move.

social 0.89 onchain -0.92 replay

TIBBIR's social activity jumped sharply this hour (log ratio +1.15, roughly a 3x move) while onchain volume fell hard (-2.84 log ratio) over the same window — a divergence score of 1.80, near the top of the possible range. The social move sits in the top 1% of this token's own history, while the onchain drop ranks in the bottom ~19%, so attention climbed while trading activity thinned out. Worth watching over the next few hours whether intervalVolumeUsd picks back up to meet the attention spike or whether social interest cools off instead.

social 0.99 onchain -0.81 replay

DOGINME's gap is driven by social attention dropping sharply: the hourly social signal fell to about 41% of its prior level (log ratio -0.89), a move in the bottom ~14% of this token's own history for social swings. Onchain activity moved the opposite way, up hard on the hour-over-hour measure (log ratio +4.55, a top-~92nd-percentile move for this series), which is why the divergence score sits near the extreme end at -1.7. Worth watching over the next few hours whether social volume stabilizes or keeps sliding, and whether the onchain surge shows up as sustained interval volume rather than a one-hour spike.

social -0.86 onchain 0.84 replay

VELVET's social attention spiked hard, roughly a 6.9x jump in hourly mentions (log ratio +1.93), landing in the top 1% of this token's own social moves. Onchain activity moved the opposite way, down roughly 60% on the hour (log ratio -0.92), itself an extreme low for this series at a -0.94 percentile. That combination — near-record attention surge against a near-record volume drop — produces the 1.94 divergence score, with social clearly the driver per the direction field. Worth watching over the next few hours whether intervalVolumeUsd picks back up to meet the social spike or whether the attention reading cools off on its own.

social 0.99 onchain -0.94 replay
08Operation

Running continuously

A scheduled job polls every hour, rebuilding its baseline from the provider APIs rather than trusting cached state — a stale cache could only ever feed the engine an older picture than the source. A delayed or missed run costs nothing and repairs itself on the next pass.

Readings are keyed to the hourly bucket they describe, not the clock time they were taken, so repeated runs cannot double-count an hour. Narration is deduplicated the same way.