Rules v3-transfer-evidence

HOW THE ROAST IS WRITTEN

Twelve rules, one formula, no opinions. A line only appears on a ticket if its rule fired, and a rule only fires on a number read from the chain. If a source is unavailable the rule is skipped — it is never estimated. Opposite transfers alone do not prove a swap or realised profit.

The twelve

CodeNameWeightFires when
R01Top of the menu (disabled)18Disabled: required trade or valuation evidence is not available.
R02Thin liquidity16Still holding at least one token whose deepest pool is under $5,000 of liquidity.
R03Round trip (disabled)14Disabled: required trade or valuation evidence is not available.
R04Paper hands (disabled)12Disabled: required trade or valuation evidence is not available.
R05Serial degen10Touched 8 or more different tokens in the last 7 days.
R06Second helping (disabled)14Disabled: required trade or valuation evidence is not available.
R07Gas martyr (disabled)8Disabled: required trade or valuation evidence is not available.
R08Night shift660% or more of transfers land between 00:00 and 05:00 UTC (at least 10 transfers).
R09One token church880% or more of transfers involve a single token (at least 10 transfers).
R10Stock tourist (disabled)6Disabled: required trade or valuation evidence is not available.
R11Ghost6Newest observed token transfer is at least 14 days old, with current token holdings.
R12Clean plate0No rule fired. Printed anyway, because everyone gets a ticket.

The formula

doneness = round(100 × Σ weight of every rule that fired ÷ 46)

The divisor is the total weight of the rules that are enabled right now (46). Scoring against it rather than against a raw sum is what keeps all four bands reachable while the trade-accounting rules are off, and keeps the scale meaning the same thing on the day one of them is switched back on.

Worked example. A wallet still holding a token whose pool is under $5K (R02, 16) that has touched nine tokens this week (R05, 10) scores 26 of 46, which is 57 on the scale: WELL DONE. Add a wallet that is 85% one token (R09, 8) and it reaches 74.

A partial read stops at 74 and says so on the ticket. That happens when Blockscout refuses the transfer endpoint for an address, which it does for wallets with very large histories; the ticket is then built from balances and counters alone, and it would be dishonest to let a half-read wallet reach BURNT.

The scale

  • RARE 019Barely touched. Either careful or new.
  • MEDIUM 2044A couple of stories. Normal for this chain.
  • WELL DONE 4574The ticket runs long. You know what you did.
  • BURNT 75100We printed it twice to be sure.
  • 019 · RARE
  • 2044 · MEDIUM
  • 4574 · WELL DONE
  • 75100 · BURNT

Where each number comes from

SourceGives usRefreshed
Blockscout /addresses/{a}/counterstransaction count, transfer count, gas units burned5 min
Blockscout /addresses/{a}/tokenscurrent holdings and their listed price5 min
Blockscout /addresses/{a}/token-transfersup to 150 recent transfers, newest first2 min
GeckoTerminal /tokensprice now and deepest indexed pool liquidity1 h, shared
Robinhood assets registrywhich contracts are Stock Tokens6 h

What we never do

  • — No guessing. A rule with a missing input is dropped, not approximated.
  • — No data from outside the chain. No names, no handles, no clustering of addresses.
  • — No full addresses on the wall, ever. Shortened only.
  • — No judgement of people. Every line is about a transaction.

Changing a rule or a weight bumps the version. Tickets keep the version they were printed with; the API returns it with every response.