Rating-agency note · fidex/1.4.0
Methodology
Risk is part of investing. It should be informed and calculated — before the deposit, not after the exploit.
This document is public and versioned. Every published grade carries the methodology version it was produced under, so a letter can always be traced back to the rules that produced it.
The composite is multiplicative, not an average
A naive weighted average is the failure mode of most ratings products: deep liquidity cancels a missing audit, and a large-TVL protocol with one partial audit scores respectably. That is precisely the combination that loses money.
We compute a weighted mean over the eight compounding axes, then multiply it by a link factor derived from the weakest single axis:
composite = weightedMean × (0.5 + 0.5 √(weakest / 100))
The link factor ranges from 0.50 to 1.00 on a concave curve, so mid-range weakness bites hard while near-zero weakness is already catastrophic. The practical consequence: liquidity cannot hide a missing audit.
A corollary worth stating plainly — under this model an A requires no compounding axis below 85. There is no averaging your way to the top band.
Nine axes
Eight compound into the score. The ninth, Arc fit, is displayed separately and deliberately excluded from the composite, because a bad protocol on a good chain is still a bad protocol and we do not want chain convenience to flatter a weak book.
Security
Open critical findings, exploit history, whether a live bounty exists, and whether the code holding funds today is the code that was audited.
weight 18%
Liquidity
TVL level and 30/90-day trend, real exit-pool depth rather than headline deposits, withdrawal friction, and how much of the float is USDC.
weight 14%
Decentralization
Admin keys, timelock length, guardian powers, and whether pausing and fund movement are separated between parties.
weight 13%
Audits
Count and quality of firms, recency against the last upgrade, and critically: whether the Arc deployment was in scope rather than only the Ethereum origin.
weight 12%
Token concentration
Top-10 holder share, team and investor unlocks, and how much insider float is already liquid.
weight 11%
Protocol history
Time in production, pauses, incidents, and time since the last material upgrade on the chain we actually grade.
weight 10%
Governance
Voter concentration, quorum, and the substance of the last five risk-moving votes rather than their headlines.
weight 10%
Yield sustainability
Real fees against emissions, how long the yield has held, and the source of the return. This axis is where most high-APY products fail.
weight 12%
Arc fit
How natively the protocol serves Arc: contracts deployed to the chain versus liquidity that merely arrives through a bridge, whether the Arc deployment was a considered one or a copy, and whether the team maintains an Arc-specific integration. Displayed separately and given zero composite weight, because a well-built protocol on the wrong chain is still the wrong chain for this mandate.
display only
Letter bands
Scores are rounded from the composite, then banded. The letter is never hand-assigned: it is a pure function of the published axis scores, so it cannot drift from the model.
Update cadence and staleness
Grades are refreshed as material facts change, and reviewed every seven days regardless. A grade older than 7 days without a refresh is displayed with an amber stale chip, and its stale flag is set to true in the agent API. A stale grade is not withdrawn; it is marked, because silence would be worse.
Every published grade stores its slug, letter, score, methodology version, a content hash, the update timestamp, and the analyst identifier. Those six fields are what make a grade citable.
Conflicts, and what money cannot buy
Protocols cannot buy a letter. The only purchasable things are a listing slot and a faster review queue. Neither affects any axis score, and an issuer that pays for a listing receives the same published grade as one that does not.
Ambiguity is resolved by a human analyst, and raw inputs are cited on every paid axis — audit PDFs, explorer addresses, governance proposals, on-chain data. Where we cannot verify something, the axis says so rather than defaulting to a neutral middle.
An analyst bond with a slashing mechanism is a planned later addition. We would rather ship without it than simulate a slashing regime we do not operate.
A worked example
Two names from the current book, computed in public so you can check the arithmetic against your own spreadsheet.
Aave V4 → A (85)
weighted mean 89.0 × link factor 0.958 (weakest axis 84) = 85
EmberYield Farm → F (14)
weighted mean 22.2 × link factor 0.641 (weakest axis 8) = 14