Token Rating
Every token NightWatch tracks carries a stack of grades, not just one. This chapter explains each layer: what it measures, where the number comes from, and what you should actually do when you see it. That way you can read a token page or an API response and know how much weight to put on each part.
There are four things layered on top of each other:
- NW Grade: is this market liquid enough to trade in right now?
- Coverage Grade: how well does NightWatch actually see this asset?
- BTI (Bot-Tradability Index): is this specific strategy viable on this token today?
- Warnings and the lifecycle ticker: what changed, and should you be worried?
1. NW Grade: the liquidity letter grade
NW Grade is NightWatch's single proprietary liquidity grade, scored A (best) through F (worst). It is computed from a token's spread, order book depth, and 24-hour volume, and it is the same grade shown on the Crisis Bulletin, on token pages, and used internally to trigger "grade dropped" warnings. There is deliberately only one grade calculation in the whole system; nothing recomputes or second-guesses it on read.
Since 2026-09-18, Hyperliquid perpetuals — the main dex and trade.xyz — are graded by that same one calculator too, with open interest added as a sixth term through their own grade profile. A perp never triggers a "grade dropped" warning: the warnings pipeline's spot-only universe excludes it by exchange name. It appears on the Crisis Bulletin as its own Perps group instead (chapter 11), not mixed into the spot grid.
Because a token can trade on many exchanges at once, NightWatch also aggregates per base asset (e.g. all of BTC's markets, not just BTC on one exchange):
| Field | What it means |
|---|---|
grade | The best grade across all venues that list this base, the headline badge. A token only needs one genuinely good market to be usable. |
grade_worst | The worst grade across venues, kept as risk context, so you know how bad the weakest market is even if the badge looks good. |
by_venue | The grade broken out per exchange, so you can see exactly where the good liquidity actually is. |
venues_graded | How many venues had enough data to be graded at all. |
provisional_by_venue | True for a venue whose grade has under 7 days of scan history — an instant read, not yet a 7-day track record. Beside by_venue, one entry per venue. |
This per-base view, including by_venue, comes from a separate endpoint (GET /token/grade?base=...) from the one that returns warnings, coverage, and BTI for a single exchange (described below).
What to do with it: treat NW Grade as a go/no-go filter before sizing a position, not as a full risk assessment. A single A doesn't mean every venue is safe; check by_venue if you plan to actually trade on a specific exchange, since the badge grade might be coming from a completely different one. A provisional grade (provisional_by_venue) is the instant read, not a 7-day track record — hold it to tighter order caps regardless of the letter it shows.
2. Coverage Grade: how well NightWatch actually sees this token
Coverage Grade answers a different question: not "is this token good," but "how much do we actually know about it." It's an honesty check on NightWatch's own data, scored A through D from a 0-100 point score built out of eight independent observation layers. A missing layer honestly lowers the score. Nothing is faked to look more complete than it is.
| Layer | What it checks | Weight |
|---|---|---|
| L1 | The warning/keeper feed has an answer for this token (even "zero warnings" counts, since it proves the feed is watching) | 20 |
| L2 | At least one deposit/withdraw route has a known open-or-blocked state | 20 |
| L3 | Cross-exchange spread history has actually recorded data points (last 24h) | 15 |
| L4 | A liquidity grade exists, and the token's underlying scan record was updated within the last 7 days (freshness is checked on the scan record, not on the grade value itself) | 20 |
| L5 | Recent on-chain activity is on record (within 30 days) | 5 |
| L_IDENTITY | Sourced facts confirming the token's contract address and official website/Twitter/Telegram (fractional; partial credit for partial coverage) | 10 |
| L8 | A persisted history of past prediction outcomes exists for this token | 10 |
| L7 | Recently mentioned in a Haru daily brief (tracked, but not counted toward the score in this version) | 0 |
Score bands: 80+ = A, 55+ = B, 30+ = C, below 30 = D.
What to do with it: Coverage Grade is a confidence multiplier on everything else on the page. A high NW Grade sitting next to a low Coverage Grade means "the liquidity looks fine in the little data we have, but we don't have much data." That's worth more skepticism than the same NW Grade paired with a Coverage Grade of A.
3. BTI: Bot-Tradability Index
BTI answers a more specific, more actionable question: for this particular trading strategy, is this token tradable right now on this specific exchange? It checks four strategy types independently, each with its own threshold, and never guesses when data is missing. A missing input always resolves to unknown, never a false "yes" or "no."
One important scope note: the letter thresholds below (B-, B, B+) are not the plain A-through-F NW Grade badge from Section 1. BTI reads the specific exchange venue's own detailed grade, a finer scale with roughly 15 steps running from A+ down to F, for the exact (exchange, symbol) pair you asked about, not the per-base "best venue" badge. A token whose NW Grade badge shows A overall (because one venue is excellent) can still come back no on BTI when you check a specific, weaker exchange.
| Strategy | Requires | Verdict states |
|---|---|---|
| Arbitrage | Detailed venue grade B- or better, plus at least one open deposit+withdraw route | ok (grade B- or above with an open route), limited (C-tier, size-capped to the depth available), no, or unknown |
| Momentum swing | Detailed venue grade B or better, no active severe warning, and a microstructure quality score of 60+ | ok / no / unknown |
| Market making | Detailed venue grade B+ or better and a quality score of 75+ | ok / no / unknown |
| Lending short | Confirmed borrowable on bithumb (currently the only lending venue tracked) with a live repayment path open, refreshed within 48 hours. The API's own reason string names bithumb directly, for example "bithumb borrowable + repay path (deposit) open" | ok, limited (borrowable but the repay path is closed), no, or unknown |
An overall T-grade (A-D) is also given, based only on how many strategies came back ok. An unknown never counts for or against it, since an absence of data is not evidence of anything.
What to do with it: BTI is meant to be checked before you decide what to do with a token, not after. If your strategy's verdict is unknown, that's a signal to go look at the underlying data yourself (or wait). It is explicitly not the same as no.
4. Warnings and the lifecycle ticker
Behind every grade sits NightWatch's warning system: a live feed of early-warning signals (unusual spread behavior, exchange notices, suspicious volume, and more) that fires independently of the grade calculation.
| Field | Meaning |
|---|---|
| Severity | 1 (mild) to 5 (severe) |
| Convergence score | A 0-to-1 score set when two or more independent detection layers flag the same token on the same day. It already reaches 1.0 once two layers agree, so use severity (4 for two layers, 5 for three or more) rather than this number to tell two-layer and three-plus-layer agreement apart |
| Outcome | pending (not yet resolved), confirmed (the warned-about event actually happened), or false_alarm. Two other values, missed and expired, are recognized by some read filters in the system but are not currently written by anything today |
| Hit rate | Of NightWatch's resolved warnings for this token, what fraction were confirmed correct. This is the token's individual predictive track record, separate from the site-wide "We Called It" number |
On top of individual token warnings, the Crisis Bulletin runs a lifecycle ticker, a scrolling feed of "what changed" events across the whole universe, not just one token. It currently tracks five kinds of events; one of them, Promoted, has two subkinds, so the table below has six rows:
| Kind | What triggers it |
|---|---|
| Delist | A token has a scheduled future delisting date on an exchange (shows as "D-3", "D-DAY", etc.) |
| Listing | A base asset's very first appearance anywhere in NightWatch's universe |
| Promoted, spread | An already-listed token gains a new exchange venue |
| Promoted, board | A token that's been tracked for 30+ days moves from the "emerging" tier to the main board |
| Assessment | An exchange has tagged the token with a monitoring/review notice |
| Suspension | Deposits or withdrawals have been paused on an exchange for this token |
What to do with warnings and the ticker: a single pending warning at severity 1-2 is informational; treat severity 4-5 or a rising convergence score as a reason to check the token page before acting. On the lifecycle ticker, a suspension event is always flagged "high" severity, since it directly affects whether you can move funds. A delist event is only flagged "high" once it's within 3 days of the actual delisting date; further out, it shows as "medium" severity even though it's still worth tracking, since a delisting date can mean a shrinking window to withdraw.
Putting it together: a quick reading order
A token page is typically two endpoints layered together: /token/{exchange}/{symbol}/intel (this specific venue's rating, warnings, coverage, and BTI) and, separately, GET /token/grade?base=... (the per-base NW Grade badge with its by_venue breakdown across every exchange that lists the asset). Read them in this order:
- Coverage Grade (from
/intel) first, to decide how much to trust everything else on the page. - NW Grade's
by_venuebreakdown (from/token/grade?base=...) to see which exchange actually has the good liquidity, then compare that against/intel's ownrating(this venue) andmulti_exchange(peer venues) to see where the venue you care about stands. - Warnings (from
/intel): is anything currently flagged, and how severe or converged is it? - BTI (from
/intel): for your specific strategy, is this a green light, a capped light, or a "we don't know," on this specific venue? - Lifecycle ticker (from the Crisis Bulletin, a separate feed): has anything changed recently (new listing, new venue, suspension, scheduled delist) that the other grades haven't caught up to yet?
What you can do now
- Check NW Grade's
by_venuebreakdown (via/token/grade?base=...) before trading on a specific exchange. The headline badge is the best venue, which might not be the one you're using. - Treat a low Coverage Grade as a caution flag on its own. It means NightWatch doesn't have much data on this token yet, independent of what the data that does exist says.
- Use BTI's per-strategy verdicts instead of eyeballing the raw grade yourself. The thresholds (B- for arbitrage, B for momentum, B+ for market making) are already baked in and calibrated per strategy, applied to the specific exchange venue you're checking, not the per-base NW Grade badge.
- Never treat
unknownasno. An unknown BTI verdict or a missing Coverage layer means "we don't have data," not "this is unsafe." - Watch the lifecycle ticker's Delist and Suspension chips. These affect whether you can withdraw funds, not just whether you should trade. Suspension always shows as high severity; Delist only escalates to high once it's within 3 days of the actual date.
- Read a token's own hit-rate history before trusting its warnings heavily. Some tokens have a longer track record than others, and the number is per-token, not just site-wide.