Audit Score Reference
This page answers exactly how the Security Score is calculated: the weights, what happens when an input is missing and why the technical subscore is a different number.
The Scale
The Security Score is an integer from 0 to 100. There are no letter grades.
Weights
Two weight tables exist. Which one applies depends on whether the project has a token registered against it.
| Dimension | Weight, project with a token | Weight, project without a token |
|---|---|---|
| Code | 35 | 55 |
| Distribution | 10 | not applicable |
| Tokenomics | 10 | not applicable |
| Liquidity | 10 | not applicable |
| Sentiment | 10 | 25 |
| Velocity | 5 | not applicable |
| Holder Growth | 5 | not applicable |
| Realized PnL | 5 | not applicable |
| Net Flow | 5 | not applicable |
| Whale Dump Risk | 5 | 20 |
Each column sums to 100 when every row in it is present. In practice a given audit measures the rows it has data for, and the table above is the ceiling rather than a promise about any individual report.
Renormalization: a Missing Input Is Skipped, Not Zeroed
A dimension with no value is dropped from the calculation, and the weights of the dimensions that remain are divided by their own sum. The missing dimension contributes nothing. It does not contribute a zero.
This means a missing dimension raises the effective weight of everything else. It never applies a penalty.
Worked Example
A project with a token where only Code (72) and Sentiment (60) could be measured:
present weights: Code 35, Sentiment 10 -> sum 45
effective weight: Code 35/45 = 77.8%, Sentiment 10/45 = 22.2%
score = (72 x 35 + 60 x 10) / 45 = 69.33 -> 69Had the missing dimensions been zero-filled instead, the same project would score (72 x 35 + 60 x 10) / 100 = 31. That is the misreading this rule exists to prevent.
When no dimension at all can be measured, no Security Score is published. The field is left empty rather than defaulted to a number.
Which Dimensions Can Be Absent, and Why
| Dimension | Common reason for absence |
|---|---|
| Code | The code analysis did not positively complete. See the suppression rule below |
| Distribution | No usable holder data. For multi-token projects, also when two or more tokens share the weight and none of them can be sized by market cap |
| Tokenomics | The on-chain worker returned no numeric score |
| Liquidity | The on-chain worker returned no numeric score |
| Sentiment | No community signal yet |
| Velocity | Fewer than two weeks of aggregate data, or no market cap to normalize against |
| Holder Growth | Fewer than two weeks of active-address data |
| Realized PnL | No price history matching holder entry dates |
| Net Flow | No exchange flow observed in the 30-day window |
| Whale Dump Risk | No holder rows at all |
The Code Suppression Rule
The code dimension is forced absent whenever the audit recorded any of these states, even if an older numeric code score is still stored on the record:
ai_unavailable, unverified_source, source_fetch_unavailable, partial_coverage, reanalyzing
This fails closed. A code analysis that did not complete is excluded from the Security Score, and it is never defaulted to a passing 100. Plain-language explanations of each state are in Reading Your Report.
Multi-Token Aggregation
| Dimension | How multiple tokens are combined |
|---|---|
| Distribution | Market-cap weighted blend of the per-token scores. Tokens rejected as invalid addresses do not vote. A token that cannot be sized is left out and the tokens that can be sized carry the full weight. If two or more tokens share the weight and none can be sized, the dimension publishes no score |
| Liquidity | Market-cap weighted |
| Tokenomics | Arithmetic average across tokens |
A single voting token carries the full weight by definition and still publishes, with or without a market cap.
Security Score Versus Technical Subscore
These are two different numbers computed by two different functions. Do not read one as the other.
| Security Score | Technical subscore | |
|---|---|---|
| What it is | The headline number | A display-only breakdown value |
| Feeds the headline? | It is the headline | No. It is not an input to the Security Score |
| Weights, with a token | The table at the top of this page | Code 45, Distribution 15, Tokenomics 15, Liquidity 15 |
| Weights, without a token | The no-token column above | It is simply the code score, clamped to 0 to 100. No reweighting, no sentiment term |
| Missing inputs | Skipped and renormalized | Skipped and renormalized |
The 45 / 15 / 15 / 15 weights belong to the technical subscore only. They are not the headline weights, and quoting them as such misstates how the Security Score is built.
A Note on the Sentiment Value
The sentiment value that feeds the Security Score is currently identical to the community score. They are the same number today by design, so a report showing both is not showing you two independent measurements.
A high score does not guarantee safety. Results come from AI security analysis with community review, and the product is in beta. Always do your own research.