Skip to content

Fairness grade

How the Rulebook scores a token's rules from A to F.

Grades

Every token starts at 100 points and loses points on four checks. The grade comes from what's left. The Rulebook contract computes it from the sealed rules, so it can't be edited or faked, and anyone can recompute it.

A90 to 100
B75 to 89
C60 to 74
D45 to 59
Fbelow 45

The four checks

How high fees stay after Shield

The highest buy or sell fee once the Shield window ends. A sell fee that follows Hold Streak counts at its highest value at any streak.

Points lost for how high fees stay after shield
ValuePoints
0%0
up to 1%−5
up to 3%−10
up to 5%−15
above 5%−30

How fast fees ease

How long until both the buy and sell fee stay at 2% or less. For a Hold Streak sell fee, the streak needed.

Points lost for how fast fees ease
ValuePoints
within 1 day0
within 7 days−5
within 30 days−10
later or never−20

How much can reach the creator

The largest share of any one fee that could be paid to the creator. Bot Tax is counted on its own.

Points lost for how much can reach the creator
ValuePoints
none0
up to 20%−5
up to 40%−10
up to 60%−20
more−25

Whether the creator's tokens are locked

Creators can keep up to 10% of the supply. How long it stays locked matters.

Points lost for whether the creator's tokens are locked
ValuePoints
kept none0
locked 180 days or more−5
locked 30 days or more−15
locked less−25

How the templates score

TemplateGradeWhy
Anti-BotA (100)Bot Tax only, gone within the hour. No fees after Shield.
Steady ClimbB (80)Sell fee of 5% after Shield (−15) that eases below 2% within 7 days (−5).
Diamond HandsB (80)Sell fee up to 4% at a short streak (−15), 2% or less from 7 days (−5).
Fair LaunchA (100)No fees at all, just a 10-minute wallet cap.

Check it on-chain

gradeOf(token) on the Rulebook recomputes any launched token's grade from its sealed rules. The Launcher also records the grade in its Launched event, and the token stores it as grade().

grade.ts
// With the client and CAST addresses from "Reading token state"
const rulebookAbi = parseAbi(["function gradeOf(address token) view returns (uint8 grade, uint256 score)"]);
const [grade, score] = await client.readContract({
  address: CAST.rulebook,
  abi: rulebookAbi,
  functionName: "gradeOf",
  args: [token],
});
// grade: 0 = A, 1 = B, 2 = C, 3 = D, 4 = F

What a grade doesn't tell you

A grade is about rules, not value
An A means the rules are fair to buyers: low fees, easing quickly, little to the creator. It says nothing about whether the token will go up, whether the project is real, or whether the creator will sell the tokens they kept once their lock ends.
Popular
  • QuickstartGet started · Set up a wallet, get free test funds and buy your first CAST token.
  • Launch a tokenGet started · Pick a pair and a template, check the grade and seal your rules in one transaction.
  • Fees and Bot TaxConcepts · The three fees a trade can pay, who receives them, and a worked example.
  • Network and contractsDevelopers · Chain settings, contract addresses, pairs and protocol constants.
  • RisksTrust and safety · What sealed rules protect you from, and what they don't.

Connect wallet

New to wallets? Start here.
By connecting, you agree to the Terms and Privacy Policy.