Assay · measured priors for Nansen Smart Money

What Nansen's smart-money flows were worth, measured.

Nansen tells you what a labelled cohort did. Assay measured what that was worth: 12,781 Nansen API calls, 20 tokens, 18 months, six cohorts, three horizons, every claim paired with a drift-matched control, and the whole plan sealed before the first call. None of the eighteen cleared the bar. The same instrument finds a planted edge when there is one; the other page shows it doing so.

real Nansen data

Every figure below is the engine's own output over Nansen's historical token flow summary: 10,798 token-days of daily calls for the eighteen verdicts, and the weekly, monthly and whole-range calls for the window audit, made on 2026-09-19 against a plan sealed on 2026-09-16, scored once per cost and rendered verbatim. The responses stay private under Nansen's redistribution terms; ledger/study/receipts.jsonl carries each ledger row's request id and a SHA-256 of its body, so the run can be audited without republishing the data. Powered by Nansen API.

verdict · at 60 bps round trip
— tradeable.

Tradeable —of 18 Signal cleared a Bonferroni-adjusted bar, and the net edge clears cost.
Real, priced out —of 18 Signal is real; cost eats it. The set a cheaper venue converts.
No signal pinned —of 18 Did not survive its drift-matched control. Nothing to rescue at any cost.
The same flow, two ways of saying it
What an analytics product tells you

“Smart money is accumulating SOL.”

not right, not wrong

A true statement with no number in it. An agent handed this cannot size a position on it, so it does the only thing left: it treats confidence as edge. Five sources light up, it reads five confirmations, and it takes its largest position on its least independent information.

What Assay says about the same flow

—

The instrument · cost and break-even
round-trip cost 60bps

drag, or pick a regime
cost
break-even, per signal-bearing pairbar ends where the engine stops calling it tradeable

Six cohorts × three horizons · eighteen hypotheses
tradeable real, priced out no signal beyond drift · click a cell to read it
What it is worth to an agent · $100,000 book

The selected pair

What this verdict does not license

Measurement
Is the conviction score worth what it claims?
What an agent receives · assay_prior over MCP

The object assay_prior hands an agent for the selected pair, assembled from the same verdict record the server reads. It drops into a Kelly or Bayesian sizer with no unit surgery, and carries the two numbers that keep the sizer honest.


      
The window audit · one weekly call is not seven daily calls

segmentweekly windowsinclusive sum within 5%rank correlationclosest rebuild

Run it · serve it · why

Read it yourself, no API key

git clone https://github.com/gryps-finance/assay, then node src/cli.mjs leaderboard prints these eighteen rows from ledger/study, and node src/cli.mjs audit prints the window audit. Zero dependencies, Node 18+.

Put it in front of an agent

node src/cli.mjs now joins yesterday's Nansen flows to these priors and says trade, hold, skip or refuse for each. node src/mcp-server.mjs serves the same to Claude or any MCP client, with live Hyperliquid positioning beside it.

Why a null is worth shipping

An agent handed a flow signal treats confidence as edge. On these flows, an agent that trades every signal expects to lose money at every cost from 0 to 200 bps; one that checks the prior first declines them all and loses nothing.