Market reviewNo. M-009October 2026Market layer SEligible grade SData as of 19 October 2026Morpho, Ethereum
cbBTC/USDC: an oracle that sees bitcoin, a market that leans on one borrower, and thin onchain depth that sets the cap
Selling a $7.5m cap costs about 1.3% against a 14% buffer; at $12m the same sale reaches the 2.1% limit and the layer drops to A, which is what sets the cap. Two things the grid does not score shape the risk around it: the oracle prices cbBTC as bitcoin, so a failure of cbBTC itself would not trigger liquidations, and one unidentified borrower holds 56% of the market's collateral, all of which becomes liquidatable between a 45% and a 50% fall.
Eligibility
| Component | Review | Date | Red flags | Grade |
|---|
| Asset, cbBTC | A-009 | October 2026 | 0 | S |
| Market, this review | M-009 | October 2026 | 0 | S |
| Eligible grade | Lowest component grade S. No red flag across the components, so no cap applies. Eligible for investment grade vaults. | S |
The grade above is recomputed from the current component reviews every time the site is built. No governance-approved parameters recorded for this market yet.
What the market is
cbBTC posted as collateral against USDC on Morpho Blue (Ethereum), at an LLTV of 86%, for the Stake DAO USDC Core vault. The market was created on 4 September 2024 and is the main cbBTC/USDC market on Ethereum. On 19 October 2026 it held 8,398 cbBTC ($687.7m) of collateral against $310.2m of USDC borrowed, out of $344.2m supplied: 90.1% utilisation, $34.1m available, borrow rate 5.0%, read through the Morpho API.
| Item |
Value |
| Collateral |
cbBTC (Asset review A-009, S) |
| Loan asset |
USDC, not assessed as the vault's own asset |
| LLTV |
86%, so a 14% buffer between liquidation and bad debt |
| Liquidation incentive |
4.38% (Morpho: min(1.15, 1 / (0.3 × LLTV + 0.7))) |
| Oracle |
MorphoChainlinkOracleV2, one base feed: Chainlink BTC/USD. No cbBTC/BTC leg, no quote feed |
| Other allocators |
Gauntlet (USDC Prime, $84.9m and $7.5m), Steakhouse (Prime USDC $45.0m, Steakhouse USDC $35.3m, Confidential Prime $25.4m), Wintermute ($21.0m and $8.5m), Hakutora ($15.4m), Sky through the Spark Blue Chip vault ($15.1m), kpk ($14.4m), Yearn ($4.1m) |
| Proposed cap |
$7.5m |
No platform layer applies. cbBTC is a plain token held directly as collateral: it passes through no LP token, wrapper vault or strategy. Morpho is the venue of the market and of the vault, not part of the collateral's chain. The market grade is therefore the lower of the cbBTC asset review (S) and this market layer (S).
Sub-pillar results
| Sub-pillar |
Binding criterion |
Score |
Grade |
| Pool health |
Not a pool |
unscored (not applicable) |
unscored |
| Price feed |
Heartbeat vs volatility 5, the other three criteria at 6 |
6 |
S+ |
| Liquidation ability |
Price fluctuation 4 × Underlying liquidity 5 |
5 |
S |
| Layer |
Worst sub-pillar |
5 |
S |
Inside liquidation ability, at a cap of $7.5m:
| Input |
Criterion |
Value |
Score |
| Underlying liquidity |
Cap / cbBTC supply on Ethereum |
$7.5m / $3,972m = 0.19% |
6 |
| Underlying liquidity |
Cap / liquidity in front |
$7.5m / about $30,000m |
6 |
| Underlying liquidity |
Cap / liquidity excluding liquidatable collateral |
about $27,800m |
6 |
| Underlying liquidity |
Cap / liquidity excluding all collateral |
about $27,480m |
6 |
| Underlying liquidity |
Slippage at 10% of cap / (1 - LLTV) |
0.18% / 0.14 = 0.013 |
4 |
| Underlying liquidity |
Slippage at 100% of cap / (1 - LLTV) |
1.33% / 0.14 = 0.095 |
5 |
| Underlying liquidity |
ROUND(MIN(average of cap ratios 6, average of slippages 4.5)) |
|
5 |
| Price fluctuation |
Monthly volatility / (1 - LLTV) |
9.1% / 14% = 0.65 |
6 |
| Price fluctuation |
Two-year worst 7-day drawdown / (1 - LLTV) |
29.5% / 14% = 2.11 |
3 |
| Price fluctuation |
rounded-down average |
|
4 |
The liquidation-ability matrix returns 5 for liquidity 5 and fluctuation 4. With liquidity at 4 it would return 4, and the market would be A. Everything below is about keeping liquidity at 5.
Why onchain depth sets the cap
What stands in front of a forced seller. "Liquidity in front of" cbBTC counts the counter-asset in pools against cbBTC, never the cbBTC side, and excludes bitcoin-correlated assets (WBTC, tBTC, LBTC and the like), which do not help when bitcoin itself falls. Read onchain on 19 October 2026:
| Venue |
Counter-asset |
Value |
| Curve, two Yield Basis cbBTC pools |
crvUSD |
$45.1m |
| Curve TricryptoGHO |
GHO, WETH |
$0.5m |
| Uniswap v3 cbBTC/USDC 0.3% |
USDC |
$0.18m |
| Uniswap v3 cbBTC/WETH 0.3% |
WETH |
75 ETH |
| Measured total |
|
about $46m |
Uniswap v4, whose pool manager holds 258 cbBTC across all its pools, is left out because it cannot be attributed pool by pool without an indexer. So are Fluid's DEX and the request-for-quote market makers that the aggregators route through. The total is a floor, and a low one: Ethereum is not where cbBTC trades most. Half the supply now sits on Base (48,024 cbBTC against 43,815 on Ethereum, Coinbase's proof-of-reserves page, 19 October 2026).
Off-chain depth. A liquidator holding seized cbBTC can deposit it to a Coinbase account, where it converts one for one into bitcoin, and sell on the bitcoin market. We count about $30bn of long bitcoin open interest on that basis, the same convention as for WBTC. For cbBTC the route is more direct than WBTC's (no merchant and custodian workflow), but it depends on Coinbase operating normally and on the liquidator being an eligible Coinbase customer. It is not available in the one scenario where cbBTC itself is in trouble.
cbBTC already deposited in lending, read onchain: 30,801 cbBTC, 70% of the Ethereum supply ($2.52bn): Aave v3 Core 17,193, Morpho Blue 9,832, Spark 3,070, Compound v3 578, Fluid 128. In a bitcoin crash, liquidations on Aave, Spark and Morpho all reach for the same onchain liquidity at the same time.
Selling the cap. KyberSwap and Paraswap public quote APIs, cbBTC sold for USDC, against a 1 cbBTC quote, 19 October 2026 between 16:18 and 16:19 UTC:
| Size |
KyberSwap |
Paraswap |
Ratio to the buffer (Kyber) |
Score |
| $0.5m |
0.13% |
|
0.9% |
5 (if 10% of cap) |
| $0.75m (10% of $7.5m) |
0.18% |
|
1.3% |
4 |
| $1m |
0.25% |
0.27% |
1.8% |
4 |
| $2.5m |
0.53% |
0.55% |
3.8% |
6 (if full cap) |
| $5m |
0.94% |
1.06% |
6.7% |
5 |
| $7.5m (the cap) |
1.32% to 1.33% |
1.53% |
9.5% |
5 |
| $10m |
1.69% to 1.70% |
2.05% |
12.1% |
5 |
| $11m |
1.85% |
|
13.2% |
5 |
| $12m |
2.07% |
|
14.8% |
5, on the limit |
| $12.5m |
2.15% |
2.55% |
15.3% |
4 |
| $15m |
2.55% |
3.08% |
18.2% |
4 |
| $20m |
3.28% |
4.15% |
23.4% |
4 |
| $25m |
4.02% |
5.05% |
28.7% |
3 |
The best aggregator is retained, since a liquidator routes to it. Routes rely heavily on request-for-quote market makers and on Fluid, whose quotes can thin out in stress.
Depth has been falling. The same $10m sale cost 1.34% on 30 September and 1.69% on 19 October. Over the same three weeks the Ethereum supply of cbBTC fell from 46,007 to 43,815 while Base grew. For comparison, a $25m WBTC sale cost 2.95% on 28 September and a $25m WETH sale 1.42%: onchain, cbBTC on Ethereum is now the thinnest of the vault's three volatile collaterals.
The cap: which sizes keep the layer at S
| Cap |
10% of cap |
Full cap |
Liquidity |
Liquidation ability |
Layer |
| About $3.5m |
5 |
6, on the limit |
6 |
6 |
S+ |
| $5m |
5 (0.13%) |
5 (0.94%) |
5 |
5 |
S |
| $7.5m |
4 (0.18%) |
5 (1.33%) |
5 |
5 |
S |
| $10m |
4 (0.25%) |
5 (1.69%) |
5 |
5 |
S |
| $12m |
4 |
5 (2.07%), on the limit |
5 |
5 |
S |
| $12.5m |
4 |
4 (2.15%) |
4 |
4 |
A |
The full-cap slippage must stay at or below 2.10% (15% of the buffer). On 19 October that limit sits at about $12m. At $7.5m the sale costs 1.33%: depth can fall by about a third before the layer drops. At $10m the margin is about a fifth, and the last three weeks consumed more than that. We propose $7.5m. $10m, the cap of the WBTC market in the same vault, holds on today's measurement but would not survive a repeat of the October thinning.
The oracle: bitcoin's price, not cbBTC's
The oracle (0xA6D6950c…) reads a single feed, Chainlink BTC/USD (0xF4030086…), and divides by nothing. Chainlink's reference directory lists it in the low risk category, heartbeat 3,600 s, deviation threshold 0.5%. Its current aggregator returned answers over the whole year measured.
One year of answers, rebuilt from 12,200 onchain answers between 14 October 2025 and 19 October 2026:
| Metric |
Value |
| Longest interval between answers |
3,744 s (heartbeat 3,600 s) |
| Median interval |
3,612 s |
| Largest move between consecutive answers |
2.33% (19 August 2026) |
| 99th and 99.9th percentile move between answers |
0.79% and 1.29% |
| 99th percentile hourly absolute return |
1.76% |
| Worst 24-hour fall |
-17.9% (into 6 February 2026) |
| Price range |
$57,783 (1 July 2026) to $116,305 (27 October 2025) |
| Criterion |
Input |
Score |
| Total hops |
1 |
6 |
| Feed path quality |
Chainlink, low risk category |
6 |
| Longest heartbeat |
3,600 s |
6 |
| Heartbeat vs volatility / (1 - LLTV) |
1.76% × √1 h / 14% = 0.125; 0.036 if bounded by the 0.5% deviation |
5 |
| Price feed |
rounded average |
6 |
What the grid does not see: the oracle assumes one cbBTC is one bitcoin. If cbBTC lost its backing (an unbacked mint, a custody failure, a freeze of redemptions), its market price would fall but the oracle would not move. No position would become liquidatable. Lenders would hold claims on collateral worth less than the oracle says, and the loss would surface only when borrowers walked away from their positions. This is the standard design of the main cbBTC markets on Morpho, the one Gauntlet, Steakhouse, Sky and kpk all allocate to: it avoids liquidation cascades caused by a thin cbBTC price feed, at the cost of turning every cbBTC-specific failure into bad debt.
Two Chainlink feeds exist that this oracle does not use: a cbBTC/USD price feed (24-hour heartbeat, 2% deviation) and a cbBTC proof-of-reserve feed, which reported 94,764 BTC of reserves on 19 October 2026 against 94,793 cbBTC on Coinbase's page refreshed thirteen hours later. Both are useful monitoring tools for the curator; neither protects the market.
How far the market could absorb a depeg: the average loan-to-value is 45% ($310m against $688m). On average, the collateral covers the debt until cbBTC trades about 55% below bitcoin. The most levered positions go underwater as soon as the gap exceeds their own margin, from about 14% for a position sitting at the LLTV.
No USDC/USD leg. As on the WETH market, the oracle assumes USDC is worth $1. A USDC discount would liquidate borrowers early: the error falls on borrowers, not lenders.
Volatility and drawdown
Volatility. The standard deviation of the last 30 daily returns, scaled to one month, is 9.1% for cbBTC (CoinGecko daily closes), 0.65 of the 14% buffer: score 6. The one-year median of the same measure is 11.6% (0.83, score 5); either reading gives the same fluctuation score.
Drawdown. The worst seven-day fall over two years is -29.5%, into 5 February 2026: a daily close of $62,905 against $89,191 on 28 January. That is 2.11 times the buffer, just above the 2.0 limit, scored 3. The same episode reads -23.7% on DefiLlama's daily snapshots and -25.4% in the WBTC sheet: the score depends on the hour of the daily close.
Averaged and rounded down, fluctuation is 4.
How a liquidation on this market plays out
The window. A position becomes liquidatable when its debt exceeds 86% of its collateral. With a 4.38% incentive, liquidation stays fully profitable until the loan-to-value reaches 95.8%, roughly the first 10% of price decline after the threshold is crossed.
What becomes liquidatable. Morpho API collateral-at-risk curve for this market, 19 October 2026:
| Price fall |
Collateral liquidatable |
| -10% |
$0.46m |
| -15% |
$3.5m |
| -20% |
$15.7m |
| -25% |
$36.3m |
| -30% |
$39.4m |
| -35% |
$46.7m |
| -40% |
$68.7m |
| -45% |
$85.8m |
| -50% |
$491.6m |
| -55% |
$644.0m |
One borrower shapes the tail. The largest position, an unidentified externally owned account (0xbCd16D36…), held $382.8m of cbBTC (56% of the market's collateral) against $173.4m of debt, a loan-to-value of 45%. It becomes liquidatable after a fall of about 47% from today's price, and it is the step between -45% and -50% on the curve. The next two positions hold $81.0m and $58.9m at 40% LTV; the top three hold 76% of the collateral. On 30 September the same curve showed $108.6m at -50%: the position's margin has narrowed since.
Selling $380m of cbBTC onchain is not possible at any reasonable cost: $25m already costs 4%. A liquidation of that size could only clear through Coinbase redemption, over-the-counter desks or the bitcoin market, and in pieces. Morpho lets liquidators take any fraction of a position, and the 10-point profitable window gives them room; a bitcoin fall of 47% without a pause would test it. If it failed, the bad debt would be realised immediately against the market's suppliers, pro rata. At a $7.5m cap, the USDC Core vault would hold about 2% of the market's supply.
This concentration is not a criterion of the grid, and does not move the grade. It is the main reason the market sits in the monitoring list below.
Across Morpho, 13 cbBTC markets hold $805m of cbBTC, of which $544m is liquidatable after a 50% fall. Aave v3 Core and Spark (20,263 cbBTC between them) were not scanned.
Where the grade depends on judgement
| Call |
As scored |
Alternative |
Effect of the alternative alone |
| Off-chain liquidity |
Bitcoin open interest counted through Coinbase redemption |
Onchain only, about $46m |
Cap ratios average about 3; liquidity 3; liquidation ability 3; layer B |
| Fluctuation aggregation |
rounded-down average |
worst of volatility and drawdown |
Fluctuation 3; liquidation ability 4; layer A |
| Liquidity rounding |
ROUND, 4.5 to 5 |
ROUNDDOWN, 4.5 to 4 |
Liquidation ability 4; layer A |
| Slippage source |
best aggregator (KyberSwap) |
Paraswap: 1.53% at the cap |
None at $7.5m; at $10m, 2.05%, at the limit |
| Volatility window |
latest 30 days, 0.65 |
one-year median, 0.83 |
None |
| Drawdown source |
CoinGecko, -29.5% |
DefiLlama, -23.7% (ratio 1.69, score 4) |
None at this cap |
The layer sits at S on three conventions applied across the vault: off-chain depth counted, fluctuation averaged, liquidity rounded. Each, taken alone the other way, gives A or, for the first, B. WBTC and WETH are scored under the same conventions.
Could not verify
- Who the largest borrower is. An externally owned account with no public label, funded in mid-2025 from another unlabelled address. Its strategy (hedged, treasury, leveraged) is unknown.
- Liquidations on Aave v3 and Spark after a 50% fall. No aggregator page remains; an onchain rebuild was not run.
- Uniswap v4 and Fluid liquidity against cbBTC, not attributable without an indexer. Left out.
- Bitcoin open interest of about $30bn long is carried from the WBTC review (press figures); not re-read from exchanges.
- The cap actually configured on the USDC Core vault, and whether the vault already allocates to this market.
Parameters and re-assessment triggers
Parameters proposed, not yet approved by governance: cap $7.5m, LLTV 86%. This is the main cbBTC/USDC market on Morpho Ethereum and the one the reference curators use. A lower-LLTV market would improve the fluctuation score but has no borrowing demand. At $7.5m the vault would supply about 2% of the market; borrowing demand, not the cap, sets how fast it fills, given the $34m already available.
A new Market review is triggered by:
- A full-cap sale above 1.80% on the best aggregator, measured on two days: the margin to the 2.10% limit would be below 15%.
- Monthly volatility above 13.3% (ratio 0.95): volatility falls to 4, fluctuation to 3, and the layer to A.
- A seven-day fall beyond -42% (ratio 3): drawdown falls to 2.
- The largest position above 60% of the market's collateral, or its liquidation price within 30% of the current price.
- cbBTC trading more than 1% below bitcoin for more than a day, read on Chainlink's cbBTC/USD feed against BTC/USD, or the Chainlink proof-of-reserve feed below total supply by more than 0.5%.
- Any change to the oracle's feed, the Chainlink BTC/USD aggregator or its risk category.
- USDC trading below $0.99, since the oracle assumes $1.
- A change of grade of the cbBTC asset review (A-009), including any admin role change outside an orderly rotation.
Time-based. The February 2026 episode leaves the two-year drawdown window in February 2028. Without a seven-day fall beyond -28% in the meantime, the drawdown score rises from 3 to 4, fluctuation to 5, and the cap compatible with S rises with it.
Grades are point-in-time assessments and are not credit ratings.
Onchain reference
Market reviewNo. M-008September 2026Market layer S+Eligible grade S+Data as of 28 to 29 September 2026Morpho, Ethereum
WETH/USDC: the token is not the risk, ETH's occasional volatility is
Selling the whole $12.5m cap costs about 0.7% against a 14% buffer, and the oracle sees a new price within a minute. The weak input is ether itself: a 39% fall in seven days in February 2026. The market layer scores at the top, with two inputs sitting on a boundary.
Eligibility
| Component | Review | Date | Red flags | Grade |
|---|
| Asset, WETH | A-008 | September 2026 | 0 | S+ |
| Market, this review | M-008 | September 2026 | 0 | S+ |
| Eligible grade | Lowest component grade S+. No red flag across the components, so no cap applies. Eligible for investment grade vaults. | S+ |
The grade above is recomputed from the current component reviews every time the site is built. No governance-approved parameters recorded for this market yet.
What the market is
WETH posted as collateral against USDC on Morpho Blue (Ethereum), at an LLTV of 86%, for the Stake DAO USDC Core vault. The market was created on 2 February 2026 and replaced an older WETH/USDC 86% market that has since been all but emptied. On 28 September 2026 it held $16.9m of WETH collateral against $7.9m of USDC borrowed, at 90% utilisation, read onchain through the Morpho API.
| Item |
Value |
| Collateral |
WETH (Asset review A-008, S+) |
| Loan asset |
USDC, not assessed as the vault's own asset |
| LLTV |
86%, so a 14% buffer between liquidation and bad debt |
| Liquidation incentive |
4.38% (Morpho: min(1.15, 1 / (0.3 × LLTV + 0.7))) |
| Oracle |
MorphoChainlinkOracleV2, one base feed: Chainlink ETH/USD shared SVR, secondary proxy. No quote feed |
| Other allocators |
Gauntlet (USDC Prime, both vault generations), Steakhouse (four vaults), kpk (USDC Prime), plus smaller vaults |
| Proposed cap |
$12.5m |
No platform layer applies. WETH is a plain token held directly as collateral: it passes through no LP token, wrapper vault or strategy. Morpho is the venue of the market and of the vault, not part of the collateral's chain, so it is not scored here. The market grade is therefore the lower of the WETH asset review (S+) and this market layer (S+).
Sub-pillar results
| Sub-pillar |
Binding criterion |
Score |
Grade |
| Pool health |
Not a pool |
unscored (not applicable) |
unscored |
| Price feed |
Heartbeat vs volatility 4, the other three criteria at 6 |
6 |
S+ |
| Liquidation ability |
Price fluctuation 4 × Underlying liquidity 6 |
6 |
S+ |
| Layer |
Worst sub-pillar |
6 |
S+ |
Inside liquidation ability:
| Input |
Criterion |
Value |
Score |
| Underlying liquidity |
Cap / WETH supply |
$12.5m / $5,546m = 0.23% |
6 |
| Underlying liquidity |
Cap / liquidity in front |
$12.5m / $8,750m |
6 |
| Underlying liquidity |
Cap / liquidity excluding liquidatable collateral |
about $8,700m |
6 |
| Underlying liquidity |
Cap / liquidity excluding all collateral |
about $1,300m |
6 |
| Underlying liquidity |
Slippage at 10% of cap / (1 - LLTV) |
0.06% / 0.14 = 0.004 |
5 |
| Underlying liquidity |
Slippage at 100% of cap / (1 - LLTV) |
0.70% / 0.14 = 0.050 |
6 |
| Underlying liquidity |
ROUND(MIN(average of cap ratios 6, average of slippages 5.5)) |
|
6 |
| Price fluctuation |
Monthly volatility / (1 - LLTV) |
12.9% / 14% = 0.92 |
5 |
| Price fluctuation |
Two-year worst 7-day drawdown / (1 - LLTV) |
39.4% / 14% = 2.82 |
3 |
| Price fluctuation |
rounded-down average |
|
4 |
Why ether's price path is the input that matters
The token carries no admin risk (see A-008). What this market has to absorb is the speed and depth of ether's own moves.
Volatility. The criterion takes the standard deviation of the last 30 daily returns, scaled to one month: 12.9% for ether, about 45% annualised, or 0.92 of the 14% buffer. A one-standard-deviation month consumes most of the buffer but not all of it. The top score requires 0.80 or less.
Drawdown. The worst seven-day fall over two years was -39.4%, into 5 February 2026: a daily close of $1,824 against $3,012 on 28 January, CoinGecko daily data. That is 2.82 times the buffer, scored 3. The next largest episodes were -25.5% (10 March 2025), -22.7% (8 April 2025), -22.4% (6 June 2026) and about -20% in February, October and November 2025. On a one-day horizon the worst move on the feed itself over a year was -15.3%.
The two scores are averaged and rounded down, which gives 4. Depth then compensates: the liquidation-ability grid returns 6 when liquidity scores 6 and fluctuation 4.
Why depth compensates: what stands in front of a forced seller
"Liquidity in front of" WETH counts the counter-asset in pools against WETH, never the WETH side, and excludes ether-correlated assets such as liquid staking tokens. Read onchain on 28 September 2026:
| Venue |
Counter-asset |
Value |
| Uniswap v3 USDC/WETH 0.05% |
USDC |
$75.0m |
| Uniswap v3 WETH/USDT 0.3% |
USDT |
$56.0m |
| Uniswap v3 WBTC/WETH 0.05% and 0.3% |
WBTC |
$27.6m |
| Uniswap v3 USDC/WETH 0.3% |
USDC |
$19.2m |
| Uniswap v3 DAI and USDT pools, other tiers |
stables |
$8.3m |
| Uniswap v2 and Sushi |
stables |
$22.9m |
| Curve (Yield Basis WETH, tricrypto, TriCRV, CVX/ETH) |
crvUSD, stables, WBTC, others |
about $55m |
| Measured total |
|
about $265m |
Uniswap v4, whose pool manager holds $64m of USDC and $80m of USDT across all pools, is left out because it cannot be attributed pool by pool without an indexer. So are Fluid, Balancer and private market makers. The total is a floor.
Off-chain depth. Unwrapping WETH into ether is one call that nobody can refuse, so a liquidator holding seized WETH has the whole ether market one transaction away. Ether futures open interest was $16.97bn on 23 September 2026, a Santiment figure reported in the press. About $8.5bn on the long side is counted, for $8.75bn in front of WETH. The same convention was applied to WBTC, where it is weaker because the path to bitcoin runs through a custodian's redemption gateway. For WETH there is no gateway.
WETH already deposited in lending, read onchain: about $7.5bn (Aave v3 core $5.58bn, Spark $1.59bn, Compound v3 USDC and USDT markets $0.26bn, Aave v3 Prime $0.05bn, Morpho $17.6m). Most WETH on Aave and Spark is supplied to be borrowed by liquid-staking loops, not pledged against stablecoins, and deposits are not additive with supply. Subtracting every deposit from the liquidity in front still leaves about $1.3bn, a hundred times the cap.
Selling the cap. Paraswap and KyberSwap public quote APIs, WETH sold for USDC, on 28 and 29 September 2026:
| Size |
Paraswap |
KyberSwap |
| $1.25m (10% of cap) |
0.11% to 0.18% |
0.15% to 0.18% |
| $10m |
0.59% to 0.64% |
0.60% to 0.67% |
| $12.5m (the cap) |
0.70% to 0.85% |
0.66% to 0.80% |
| $25m |
1.42% |
1.48% |
| $50m |
2.86% |
2.84% |
The same tools priced a $25m WBTC sale at 2.95%: onchain, WETH is about twice as deep as WBTC. A purely onchain floor, Uniswap v3 alone through its quoter and split optimally across pools, gives about 2% for $25m.
The oracle: an SVR feed read through its secondary proxy
The oracle uses one feed. It describes itself as "ETH / USD", but it is not the canonical Chainlink proxy: its aggregator reports DualAggregator 1.0.0, the contract behind Chainlink's Smart Value Recapture feeds. Chainlink's reference directory lists the address the oracle reads as the secondary proxy of the "ETH / USD shared SVR" feed: risk category low, heartbeat 3,600 s, deviation threshold 0.5%.
What SVR changes. Each new report first goes through a private auction (Flashbots MEV-Share), so the searcher who liquidates behind the update pays for the privilege and part of that value returns to the protocol. We read the aggregator code: the secondary proxy returns the latest report delivered on the public path, or, if that is older than cutoffTime, the latest private report older than cutoffTime. The cutoff was set once, to 60 seconds, on 1 August 2025, read from the CutoffTimeSet event since there is no getter.
Measured lag. Over the 60 days to 28 September 2026, 1,984 rounds reached the secondary path, onchain: median 12 seconds, 99th percentile 48 seconds, maximum 72 seconds.
One year of answers, rebuilt from 15,618 onchain answers between 26 September 2025 and 28 September 2026:
| Metric |
Value |
| Longest interval between answers |
3,708 s (heartbeat 3,600 s) |
| Median interval |
1,908 s |
| Largest move between consecutive answers |
3.96% (10 October 2025, 84 s apart) |
| 99th and 99.9th percentile move between answers |
1.03% and 2.05% |
| 99th percentile hourly absolute return |
2.44% |
| Price range |
$1,515 (6 June 2026) to $4,744 (7 October 2025) |
| Criterion |
Input |
Score |
| Total hops |
1 |
6 |
| Feed path quality |
Chainlink, low risk category |
6 |
| Longest heartbeat |
3,600 s |
6 |
| Heartbeat vs volatility / (1 - LLTV) |
2.44% × √1 h / 14% = 0.174; 0.036 if bounded by the 0.5% deviation |
4 |
| Price feed |
rounded average |
6 |
No USDC/USD leg. The oracle assumes USDC is worth $1. If USDC traded below a dollar, WETH would be valued below its true USDC value and positions would be liquidated early: the error falls on borrowers, not on lenders. The WBTC market of the same vault divides by USDC/USD.
How a liquidation on this market plays out
The window. A position becomes liquidatable when its debt exceeds 86% of its collateral. With a 4.38% incentive, liquidation stays fully profitable until the loan-to-value reaches 1/1.0438 = 95.8%, roughly the first 10% of price decline after the threshold is crossed.
| Friction |
Typical |
Stress |
| Oracle delay (SVR secondary path) |
12 s |
72 s measured; a 3.96% move in 84 s occurred once in a year |
| Feed deviation threshold |
0.5% |
0.5% |
| Slippage to sell seized WETH |
under 0.2% for a $1m position |
0.7% to 0.85% for the full $12.5m at once |
In ordinary conditions the frictions consume well under 1% of that 10% window. In the worst minute observed in a year, about half of it.
What becomes liquidatable. Morpho API collateral-at-risk curve for this market:
| Price fall |
Collateral liquidatable |
| -20% |
$0.14m |
| -25% |
$2.49m |
| -30% |
$2.52m |
| -35% |
$7.98m |
| -45% |
$8.18m |
| -50% |
$9.43m |
| -60% |
$12.3m |
The three largest positions held about two thirds of the collateral, so the curve moves in steps. A 35% fall makes about $8m liquidatable, which sells for well under 1%. The February 2026 episode is not itself a liquidation risk, since liquidations clear in minutes; it shows how fast positions can be pushed through the threshold. The constraint would be the speed of a crash relative to the oracle, not the depth of the market.
Who bears a loss. If a position goes underwater, Morpho Blue realises the bad debt immediately against the market's suppliers, pro rata. In the USDC Core vault, that means its depositors, in proportion to the vault's share of the market.
Where the grade depends on judgement
Every call below is defensible, and every one could be scored the other way. They are listed so a reader can recompute the layer.
| Call |
As scored |
Alternative |
Effect of the alternative alone |
| Fluctuation aggregation |
rounded-down average |
worst of volatility and drawdown |
Fluctuation 3, layer S |
| Volatility window |
latest 30 days, ratio 0.92 |
one-year median, ratio about 1.16 |
Volatility 4, fluctuation 3, layer S |
| Slippage at the cap |
0.70%, score 6 |
0.72% to 0.85%, score 5 |
Liquidity 5, layer S |
| Slippage at 10% of cap |
0.06%, score 5 |
above 0.14%, score 4 |
With the cap alternative: liquidity 4 or 5 |
| Liquidity rounding |
ROUND, 5.5 to 6 |
ROUNDDOWN, 5.5 to 5 |
Layer S |
| Off-chain liquidity |
$8.5bn of long open interest counted |
onchain only, $265m |
Cap ratios 4 and below |
Any one of the first, second, third or fifth calls taken alone moves the layer from S+ to S. A fluctuation alternative combined with the slippage alternative gives A.
Our reading. We agree with counting off-chain depth for WETH. On aggregation and on the volatility window the arguments balance: volatility describes normal conditions and drawdown a historical tail, but the drawdown speaks most directly to whether the buffer survives. On slippage, the honest description is that S+ sits on the boundary at $12.5m and clears it comfortably at $10m.
Rules revised during this review. WETH served as a calibration case, and four market-layer rules changed while it was assessed, for every market of the vault: the volatility formula was corrected (it understated volatility about 5.5 times) and moved to a monthly scale with thresholds 0.80, 0.95, 1.2, 1.5 and 2.0; price fluctuation moved from worst-of to a rounded-down average; both slippage criteria are now divided by the buffer; and the liquidity sub-pillar is rounded rather than rounded down. The volatility correction cut against WETH (6 before, 5 after). Under the rules as they stood on 28 September 2026, a strict reading of this market gave B.
Could not verify
- Liquidations on Aave v3 and Spark after a 50% fall. DefiLlama's liquidation page, which aggregated them, now returns a 404, and an onchain rebuild of aEthWETH positions has not been run. The liquidity scores do not depend on it.
- Uniswap v4 liquidity against native ether. $144m of stablecoins sit in the pool manager but cannot be attributed to ether pools without an indexer. Left out.
- Ether open interest ($16.97bn) is a Santiment figure reported in the press, not read from exchanges.
- The cap actually configured on the USDC Core vault, which was not funded at the time of measurement.
Parameters and re-assessment triggers
Parameters proposed, not yet approved by governance: cap $12.5m, LLTV 86%. This is the only liquid WETH/USDC market on Morpho Ethereum and the one chosen by Gauntlet, Steakhouse and kpk. A 77% market would lift the drawdown score from 3 to 4 but has no borrowing demand. A $10m cap, the one proposed for WBTC in the same vault, would clear the slippage boundary in every measurement we made. Either cap exceeds the market's current supply of $8.8m, so borrowing demand, not risk, binds in the first months.
A new Market review is triggered by:
- A full-cap sale above 0.70% on the best aggregator, measured repeatedly: liquidity falls to 5 and the layer to S.
- Monthly volatility above 13.3% (ratio 0.95): volatility falls to 4 and the layer to S.
- A seven-day fall beyond -42% (ratio 3): drawdown falls to 2.
- Any change to the SVR configuration of the ETH/USD feed (
CutoffTimeSet, aggregator change on the secondary proxy) or to its Chainlink risk category.
- USDC trading below $0.99, since the oracle assumes $1.
- A change in collateral concentration on the market.
Time-based. The February 2026 episode leaves the two-year drawdown window in February 2028. Without a seven-day fall beyond -28% in the meantime, the drawdown score rises from 3 to 4.
Grades are point-in-time assessments and are not credit ratings.
Onchain reference
Asset reviewNo. A-010October 2026Layer grade SData as of 19 to 20 October 2026
wstETH: every unbounded power behind a nine-day governed path that stETH holders can veto
wstETH itself is an immutable wrapper; every power that matters sits in Lido's upgradeable core. None of it can be used in less than nine days: an Aragon vote of five days, then a timelock of four, during which stETH holders can freeze the proposal and leave. The core was upgraded in July 2026, which sets Lindy at its lowest passing score on the publication date.
TL;DR
- Grade S, no red flag at the review date. Issuer S+, Asset and token S, Operational S. The layer is set by three criteria at 5: reserves, bridge risk and asset class (liquid staking).
- The admin powers are unbounded but slow. Lido's governance can upgrade the stETH contract, every proxy around it and the external mint cap. The shortest path is an Aragon vote (5 days) followed by the Dual Governance timelock (3 days, then 1 day): at least nine days, with no faster route found onchain. Admin score 6.
- stETH holders hold a veto. Since June 2025 Dual Governance lets holders of 1% of stETH delay any DAO proposal (5 to 45 days) and holders of 10% exit before it executes. Among the assets we have reviewed, wstETH is the only one whose holders have an onchain say over the issuer's changes.
- The core was upgraded on 24 July 2026 (Staking Router v3), which changed how Lido accounts for validator balances, the input of the wstETH exchange rate. Lindy is 2 on the review date and would have been 1, a red flag, before 24 October 2026.
- The audit record is the deepest we have seen. Three audits of the July 2026 code (Certora, Statemind, MixBytes), four of Lido V3, four reviews of Dual Governance including OpenZeppelin. Audits 6.
- Things a reader should not miss. LDO turnout is low (45 to 67 million LDO per vote, against a 50 million quorum). A large node operator, MetaMask Staking, disclosed an infrastructure compromise on 30 September 2026 and exited its Lido validators; no slashing and no negative rebase had been observed onchain as of 19 October.
What the asset is
wstETH is the non-rebasing wrapper of stETH, the token Lido issues against ether staked on the beacon chain. stETH balances grow every day with staking rewards; wstETH holds a fixed number of stETH shares, so its value in stETH grows instead (1.2467 stETH per wstETH on 19 October 2026). Anyone can wrap and unwrap at any time, and redeem stETH for ether through Lido's withdrawal queue, normally in one to five days. About 3.69 million wstETH circulate on Ethereum, wrapping 4.61 million stETH out of 9.67 million (about $11.0bn and $23.2bn).
Assessment data as of 19 to 20 October 2026; onchain reads dated where they appear. This review grades the asset alone. It does not opine on any market, oracle, cap or LLTV.
Pillar results
| Pillar |
Binding input |
Score |
Grade |
| Issuer |
Decentralisation 6 (Social 5) |
6 |
S+ |
| Asset and token |
Reserves 5, bridge risk 5, asset class 5 |
5 |
S |
| Operational |
Rounded average of six criteria; Lindy 2 |
5 |
S |
| Layer |
Worst pillar |
5 |
S |
Criterion by criterion
| Pillar |
Criterion |
Input |
Score |
| Issuer |
Social |
Lido DAO, live since December 2020; doxxed founding contributors; institutional investors; two Cayman Islands foundations serving the DAO since 2025; not a regulated or listed issuer |
5 |
| Issuer |
Decentralisation |
Onchain token governance plus Dual Governance, which gives stETH holders an onchain veto and exit |
6 |
| Asset and token |
Admin score |
Admin capabilities 5 (unbounded powers, executable only after an onchain vote of 5 days and a timelock of 4) crossed with key custody 6 (decentralised onchain governance) |
6 |
| Asset and token |
Reserves |
Visible onchain, not instantly redeemable (withdrawal queue) |
5 |
| Asset and token |
Bridge risk |
Canonical lock-and-release escrows only; no bridge can mint Ethereum wstETH or stETH |
5 |
| Asset and token |
Asset class |
Liquid staking derivative |
5 |
| Operational |
Lindy |
Last material change 24 July 2026 (Staking Router v3): 3 months at the review date |
2 |
| Operational |
TVL |
$11,040m of wstETH (3,694,730 at $2,988, 19 October 2026); $23.2bn of stETH |
6 |
| Operational |
Audits |
Current core: Certora (tier 1), Statemind, MixBytes, July 2026 |
6 |
| Operational |
Bug bounty |
Immunefi, critical findings up to $2m |
6 |
| Operational |
External ratings |
CertiK Skynet: wstETH 83.46 (A), stETH 91.36 (AA), Lido DAO 91.03 (AA); Credora: wstETH A+ |
6 |
| Operational |
Peer reviews |
Eight reference curators: Steakhouse, Gauntlet, kpk, Sky and Yearn on Morpho; Aave, Curve mint markets and Inverse in their own protocols |
6 |
How the pillars combine, as set in the scoring sheet: Issuer takes the better of Social and Decentralisation; Asset and token takes the worst of its criteria; Operational is the average of its six criteria, rounded to the nearest (here 5.33, rounded to 5). The layer takes the worst pillar. The two Issuer criteria are left out of the red-flag count. Lindy enters an average, so even at 1 it would not have set the pillar to 1; it would have acted through the red-flag count, capping any market using wstETH at A.
Two contracts, one of them upgradeable
wstETH (0x7f39C581…2Ca0) was deployed on 19 February 2021 and has no proxy, no owner and no privileged function: wrap, unwrap, and a direct ether deposit that stakes and wraps in one step. Its value is entirely what the stETH contract reports for its shares. Everything this review grades therefore sits in stETH and around it.
stETH (0xae7ab965…fE84) is an Aragon application behind an AppProxyUpgradeable. Its implementation is replaced through the Aragon Kernel's setApp, which requires APP_MANAGER_ROLE. Replaying every SetPermission event of the Aragon ACL shows that nobody holds that role at rest: the Agent, which manages it, grants it to itself inside an upgrade transaction and revokes it in the same transaction. The Kernel's SetApp history gives the implementation changes:
| Date |
Change |
Executed through |
| December 2020 |
Launch |
Aragon |
| October 2021, May 2022 |
Early upgrades |
Aragon vote |
| 15 May 2023 |
Lido V2 (withdrawals, Shapella) |
Aragon vote |
| 24 December 2025 |
Lido V3 (stVaults, external shares) |
Dual Governance timelock |
| 24 July 2026 |
Staking Router v3 (new validator accounting, deposit reserve) |
Dual Governance timelock |
The other contracts that shape stETH's supply and accounting (VaultHub, Accounting, the accounting oracle, the withdrawal queue, the staking router, the burner) are OssifiableProxy contracts whose admin is the Agent. Their DEFAULT_ADMIN_ROLE is held by the Agent alone, read by replaying every RoleGranted and RoleRevoked event on 19 October 2026.
Who can do what: a nine-day path, and a veto
Every unbounded power (upgrading stETH or a proxy around it, raising the share of stETH that stVaults may mint, changing the oracle committee or the staking modules) belongs to the Agent. Since 30 June 2025 the only address allowed to make the Agent act is the Dual Governance Admin Executor; Aragon Voting itself no longer holds EXECUTE_ROLE or RUN_SCRIPT_ROLE.
The path, read onchain:
- An Aragon vote of 5 days, the last 2 of which only allow objections; quorum 5% of LDO (50 million), majority 50%.
- Submission to Dual Governance, then to its Emergency Protected Timelock: 3 days after submission, then 1 more day after scheduling.
- During that window, holders of 1% of stETH locked in the veto escrow start veto signalling, which suspends execution for 5 to 45 days depending on support; at 10%, rage quit lets them withdraw their ether before anything executes (60 to 180 days withdrawal delay inside the escrow).
The governance state was "Normal" on 19 October 2026.
No faster route was found. The emergency committees cannot execute new actions: the activation committee (Safe, 4 of 7) can freeze execution, and the execution committee (Safe, 5 of 7) can execute already scheduled proposals or reset governance to an emergency mode whose proposer is the same Aragon vote, through the same timelock, without the stETH veto. This protection expires on 20 June 2027. The CircuitBreaker and the Reseal committee can pause the withdrawal queue, VaultHub and other contracts for a bounded time (21 days for the CircuitBreaker), which is reversible; the stETH token itself is not on the CircuitBreaker's list. Easy Track motions run bounded operational changes (deposit reserve target, stVault tiers and fees) with an LDO objection window.
What one party can do on its own: nothing, and nothing quickly. The largest single LDO voter seen in 2025 and 2026 held 31.1 million LDO, below the quorum, and any majority must still survive four days in which stETH holders can freeze it.
How it was scored. Admin capabilities: unbounded powers under an onchain vote of five days, 5. Key custody: decentralised onchain governance, 6, because the LDO vote cannot act alone and the stETH holders form a second, independent constituency with a veto. Crossed: 6.
The weak point: LDO turnout
Dual Governance is a strong mitigant; the LDO vote underneath it is thin. Over votes 184 to 206 (March 2025 to October 2026), turnout ranged from 45 to 67 million LDO, 5% to 7% of supply, against a 50 million quorum. The ten largest voters seen hold about 45 million LDO between them (31.1, 10.0, 7.2, then several holders at exactly 5.0 million), and most are not publicly identified. Read alone, that is "onchain governance with low decentralisation, unidentified signers can execute", which scores 3 for custody and 5 for the admin score. It would not change the pillar, which is set at 5 by three other criteria.
How stETH is backed, and what can change it
stETH is backed by the balances of Lido's validators on the beacon chain, the ether buffered in the protocol (533 ETH on 19 October 2026) and, since Lido V3, by ether held in stVaults that mint stETH as "external shares" (4,540 ETH, 0.05% of pooled ether, under a cap of 30% set by the DAO).
Beacon-chain balances are not readable by an Ethereum contract directly. They are reported once a day by an oracle committee of nine members, five of which must agree. The report is bounded by an onchain sanity checker: an annual balance increase limit of 10% and a maximum positive rebase of 0.075% per report, so a colluding committee could inflate the exchange rate by no more than that per day, visibly. The 63 daily rebases from mid-August to 19 October 2026 were all positive, between 2.17% and 2.34% annualised.
Redemption runs through the withdrawal queue: not paused, no bunker mode, 8,248 stETH waiting on 19 October 2026. Reserves visible onchain, not instantly redeemable: 5.
The July 2026 upgrade and Lindy
The Staking Router v3 upgrade (Aragon vote 203, executed through the timelock on 24 July 2026) replaced the Lido implementation. According to the design proposal (LIP-35), Lido stopped storing a single consensus-layer balance and validator count and now tracks active validator balances and pending deposits, protects a governance-set deposit reserve, and lets the staking router pull ether from Lido. These inputs determine totalPooledEther, which is exactly what the wstETH exchange rate divides. We treat it as a material change to the asset's economic system.
The day after, the oracle under-reported one rebase by a single 32 ETH deposit in flight (2.04% annualised instead of 2.15%), corrected in the next report, with no funds affected, according to Lido. A full post-mortem was announced.
| Candidate reference date |
Months at 24 October 2026 |
Score |
| 24 July 2026, Staking Router v3, retained |
3 |
2 |
| 24 December 2025, Lido V3, external shares |
10 |
3 |
| 19 February 2021, wstETH deployment (immutable) |
68 |
6 |
Lindy reaches 3 on 24 January 2027 and 4 on 24 July 2027, unless the core is upgraded again.
Bridges
The scope is Ethereum wstETH and anything that could create it or dilute its backing. wstETH reaches other networks through canonical lock-and-release bridges: 87,533 wstETH (2.4% of supply) sat in Ethereum escrows on 19 October 2026, chiefly Arbitrum (45,507), Base (24,853) and Optimism (15,652), with Linea, Unichain, zkSync, Scroll, Mantle and Soneium below 700 each. The escrows' proxy admin is the Agent. An exploit of a bridge would release wstETH already in circulation; none of them can mint Ethereum wstETH or stETH. Scored 5, the same treatment as WBTC (A-007) and cbBTC (A-009).
Audits
Lido publishes its reports in a public repository. For the code deployed today:
| Scope |
Reviews |
| Staking Router v3, the current core (July 2026) |
Certora, Statemind, MixBytes; MixBytes also on the related Easy Track factories |
| Lido V3 (November and December 2025) |
Consensys Diligence, Certora (audit and formal verification), MixBytes; fix reviews by Certora and MixBytes in March 2026 |
| Dual Governance (2024 and 2025) |
OpenZeppelin (audit and re-audit), Certora, Statemind; formal verification by Runtime Verification |
| wstETH (2021) |
MixBytes |
| CircuitBreaker (April 2026) |
Cyfrin, MixBytes |
Three audits of the current core, one of them by a tier 1 firm: 6. Certora and Consensys Diligence were added to our tier 1 list, and Statemind and MixBytes to tier 2, in October 2026. Under the previous list the same record would have read as three tier 2 audits, 5, with no effect on the pillar.
Other operational signals
Bug bounty. Immunefi programme, critical findings paid 10% of funds directly affected, up to $2m, last updated 29 June 2026; its scope covers Lido's core repository and its deployed contracts. Scored 6.
External ratings. CertiK Skynet rates wstETH 83.46 (A), stETH 91.36 (AA) and the Lido DAO 91.03 (AA). Credora rates wstETH A+. Two ratings above 80% on the asset and its underlying: 6.
Peers. On the Morpho wstETH/USDC market, read through each vault's adapter on 19 October 2026: Steakhouse, Gauntlet, kpk, Sky (Spark) and Yearn. wstETH is also collateral on Aave, on Curve's mint markets and on Inverse's FiRM. Eight reference curators: 6.
Operational events in 2026, not scored
- KelpDAO stress, April 2026. After the rsETH exploit on 18 April, stETH traded down to about 0.993 ETH and recovered by late May, according to Lido; the lowest Chainlink stETH/ETH answer over the year was 0.9925.
- MetaMask Staking, September 2026. MetaMask Staking (formerly Consensys Staking), one of Lido's node operators, disclosed an infrastructure compromise on 30 September and exited its Lido validators by 7 October. A third-party estimate puts the validators concerned at about 523,000 ETH; neither company has confirmed it. A small diversion of block rewards was reported. No slashing was reported and no negative rebase appeared onchain up to 19 October 2026. A correlated slashing of that size would cost in the order of 0.2% of pooled ether under standard penalty rules and a network stake of about 35 million ETH, an assumption.
Where the grade depends on judgement
| Call |
As scored |
Alternative |
Effect of the alternative alone |
| Key custody infrastructure |
6, decentralised onchain governance with Dual Governance |
3, low LDO turnout and unidentified large voters |
Admin score 5: no change to the pillar or the layer |
| Bridge risk |
5, stock-only escrows that cannot reach Ethereum supply, as for WBTC and cbBTC |
3, the grid's literal row "several native bridges with correct owners" |
Asset and token 3, layer B |
| Lindy reference |
Staking Router v3, 24 July 2026: 2 |
Lido V3, December 2025: 3 |
Operational average 5.5, rounded to 6: no change to the layer |
| Audit tiers |
Certora tier 1 |
Previous list, Certora not tiered |
Audits 5, Operational average 5.17, rounded to 5: no change |
Could not verify
- Who the largest LDO voters are. Most addresses voting more than a few million LDO are not publicly identified.
- The MetaMask Staking incident: its cause, the exact size of the validators exited, and whether any key that could sign for Lido validators remains exposed. Only MetaMask and Lido can say; the post-mortem had not been published on 20 October 2026.
- The beacon-chain balances behind stETH, which this review did not reconcile independently of the oracle reports.
- The signatories and audited commits of the July 2026 reports, which were not checked against the deployed code for this review.
What would change the grade
- Any new upgrade of the Lido implementation or of a core proxy resets Lindy: 1 for three months, a red flag.
- A change to the Dual Governance thresholds or timelock delays, or the end of emergency protection on 20 June 2027, calls for a re-read of the admin score.
- An increase of the external-share cap above 30%, or a large share of stETH minted by stVaults, changes the reserve picture.
- A slashing of Lido validators or a negative rebase from the MetaMask Staking incident, or a delayed or failed oracle report, calls for a re-read of reserves and operational criteria.
- Publication of the identities behind the largest LDO voters would settle the custody alternative in either direction.
Grades are point-in-time assessments and are not credit ratings.
Onchain reference
Asset reviewNo. A-009October 2026Layer grade SData as of 30 September to 19 October 2026
cbBTC: USDC's token code under Coinbase's keys, with no timelock and no second party
cbBTC runs Circle's USDC token code, unchanged since August 2024, and every power over it (upgrade, unlimited mint, freeze) sits with Coinbase alone, in plain addresses, with no delay. The grade rests on what those addresses are: Coinbase's institutional key management. That cannot be proven onchain, but everything onchain is consistent with it, including an orderly rotation of every Coinbase wrapped-asset key between August and October 2026.
TL;DR
- Grade S, no red flag. Issuer S+, Asset and token S, Operational S+. The grade is set by one criterion, the admin score.
- One company holds every power. Coinbase can upgrade the token, mint without limit and freeze any address, instantly. There is no timelock, no multisig, no second organisation anywhere in the stack. Admin capabilities score 2, the lowest level for a token that is not malicious by design.
- The keys are plain addresses, which Coinbase says are institutional keys. Coinbase states that these roles require approval from several people, that no individual controls a key, and that its custody runs on multi-party computation with key shares spread across separate locations. None of this is visible onchain: an MPC key and a single key look identical. We scored the custody 6 under the grid's "institutional MPC wallet / key sharding" row; under the plain "EOA" row the asset would be A.
- What onchain behaviour shows supports that reading. The upgrade key was not used once in 25 months. Between 13 August and 2 October 2026 Coinbase replaced every privileged key except the compliance one on cbETH, cbDOGE, cbXRP and cbBTC, on three chains at the same minutes, with gas paid from its own infrastructure, without minting, upgrading or pausing anything. No announcement was made; the reason is not public.
- The token code is USDC's. The implementation is source-identical to the FiatTokenV2_1 that held USDC on Ethereum from 2021 to 2023. No audit of cbBTC itself is public; the code was reviewed on the USDC deployment (Callisto Network, 2023) and the minting contracts by OpenZeppelin (2022). Audits score 3.
- Reserves are published, redemption is gated. 95,805.67 BTC reported against 95,794.92 cbBTC across all chains on 29 September 2026. Redemption runs through a Coinbase account, not onchain.
- Things a reader should not miss. The same key controls a role on Ethereum, Base and Arbitrum at once. The blacklister has frozen over a thousand addresses since launch. Half the supply is issued natively on other chains from the same reserve.
What the asset is
cbBTC is Coinbase's wrapped bitcoin, launched on Ethereum and Base in September 2024 and since issued on Solana and Arbitrum, with further chains reached through Chainlink CCIP. Each cbBTC is backed by one bitcoin held in custody by Coinbase. A Coinbase customer mints by withdrawing bitcoin from their account to a supported network as cbBTC, and redeems by depositing cbBTC back to their account, where it is converted one for one. About 46,000 cbBTC circulate on Ethereum, out of about 95,800 on all chains.
Assessment data as of 30 September to 19 October 2026; onchain reads dated where they appear. This review grades the asset alone. It does not opine on any market, oracle, cap or LLTV.
Pillar results
| Pillar |
Binding input |
Score |
Grade |
| Issuer |
Social 6 (Decentralisation 1) |
6 |
S+ |
| Asset and token |
Admin score 5, reserves 5, bridge 5 |
5 |
S |
| Operational |
Rounded average of six criteria; audits 3 |
6 |
S+ |
| Layer |
Worst pillar |
5 |
S |
Criterion by criterion
| Pillar |
Criterion |
Input |
Score |
| Issuer |
Social |
Coinbase, Inc., subsidiary of Coinbase Global (NASDAQ: COIN, S&P 500), 14 years of operation, regulated custody activity, doxxed management |
6 |
| Issuer |
Decentralisation |
A single company holds every role; no governance |
1 |
| Asset and token |
Admin score |
Admin capabilities 2 (upgrade, unbounded mint, blacklist, re-pointing of every role, all instant) crossed with key custody 6 (institutional MPC / key sharding, regulated and listed issuer) |
5 |
| Asset and token |
Reserves |
Visible onchain, not instantly redeemable |
5 |
| Asset and token |
Bridge risk |
No bridge can mint Ethereum cbBTC; one unified bridge (CCIP) for the other chains |
5 |
| Asset and token |
Asset class |
BTC wrapper |
6 |
| Operational |
Lindy |
Proxy and implementation unchanged since 20 August 2024: 26 months at the assessment date |
6 |
| Operational |
TVL |
$3,972m on Ethereum (45,995.50 cbBTC at $86,367, 2 October 2026); about $8bn on all chains |
6 |
| Operational |
Audits |
One audit of the full scope: OpenZeppelin on the minting contracts (2022), Callisto Network on the identical USDC token implementation (2023) |
3 |
| Operational |
Bug bounty |
Coinbase onchain programme on Cantina, cbBTC in Tier 0, critical findings up to $5m |
6 |
| Operational |
External ratings |
CertiK Skynet: Coinbase 81.97 (A), at issuer level; Credora rates the collateral by construction |
6 |
| Operational |
Peer reviews |
Seven reference curators: Steakhouse, Gauntlet, Sky, kpk, RockawayX and Yearn on Morpho, and Aave in its own protocol |
6 |
How the pillars combine, as set in the scoring sheet: Issuer takes the better of Social and Decentralisation; Asset and token takes the worst of its criteria; Operational is the average of its six criteria, rounded to the nearest. The layer takes the worst pillar. Since October 2026 the two Issuer criteria are left out of the red-flag count: because the pillar takes the better of the two, a 1 on one of them is offset by design, and a 1 on both would set the pillar, and the layer, to 1 anyway. Under the previous count, Decentralisation at 1 would have been a red flag and capped any market using cbBTC at A.
The token: USDC's code, Coinbase's roles
The cbBTC address is a FiatTokenProxy pointing to a FiatTokenV2_1 implementation, deployed on 20 August 2024 and never upgraded: the proxy has emitted no Upgraded event, read on 19 October 2026. This is Circle's stablecoin contract, the one behind USDC.
We compared the verified source of the cbBTC implementation with two references. It matches Circle's public repository at tag v2.1.0 file by file, and all nineteen of its source files appear verbatim in the verified source of the USDC implementation on Ethereum (0xa2327a93…bcdf), once comments and whitespace are removed. Only a compiler setting differs. The token logic that secures cbBTC is the logic that secured USDC on Ethereum from 2021 to late 2023.
The contract carries six roles, each held by one address:
| Role |
Power |
Holder |
| Proxy admin |
Replace the implementation, i.e. rewrite the token |
EOA |
| Owner |
Appoint and replace the master minter, pauser, blacklister and rescuer |
EOA |
| Master minter |
Appoint any address as minter with any allowance |
EOA |
| Minter |
Mint and burn within its allowance |
MintForwarder contract, the only active minter |
| Pauser |
Stop all transfers, mints and burns |
EOA; used once, for about fifteen minutes before launch on 4 September 2024 |
| Blacklister |
Freeze any address |
EOA; 1,011 Blacklisted and 94 UnBlacklisted events since launch |
Daily minting goes through the MintForwarder, a Coinbase contract that caps its single caller at 3,500 cbBTC per rolling 24 hours. That cap limits what a compromised operational key could mint. It does not limit the master minter, the owner or the proxy admin, which can bypass the forwarder in one transaction each.
Who can do what: the single-actor analysis
The question that organised the WBTC review was what one party can do on its own. For cbBTC the answer is short: Coinbase can do everything, and nobody else can do anything.
- Mint without backing: the master minter appoints a new minter with an unlimited allowance; the owner can appoint a new master minter; the proxy admin can replace the code. Each is one transaction, executed immediately.
- Freeze: the blacklister can freeze any address, including a lending protocol's contract. None has been frozen; the function is used for sanctions screening.
- Move the reserve: the bitcoin sits in Coinbase custody.
There is no second organisation to collude with, no separation of duties on chain, no delay, no guardian. Every safeguard is inside Coinbase. This is why admin capabilities score 2, and why the grade turns entirely on how Coinbase holds its keys.
An unbacked mint would not need to be sold to be extracted: posted as collateral in a lending market, it can be borrowed against in the same transaction. The amount at risk is bounded by borrowable liquidity, not by how visible the mint is.
Who holds the keys: institutional key management, as far as can be seen
Every role holder is an externally owned account: a single onchain address that signs with one ECDSA key. On a block explorer it looks the same whether the key sits on one laptop or is split by multi-party computation across several data centres and requires several approvers. The onchain record can neither confirm nor refute how the key is held.
What Coinbase says.
| Source |
Statement |
About these keys? |
| cbBTC whitepaper |
The six roles are "protected by Coinbase's key management systems and usage requires approval from a number of people"; no single individual controls the keys; key material is stored in secured facilities in the United States and Europe, never in plaintext |
Yes |
| Coinbase, "The Standard in Crypto Custody", February 2025 |
Multi-party computation, so keys are never assembled in one place; key shares spread across geographically distributed secure environments; air-gapped cold storage; segregation of duties; controls covered by SOC 1 and SOC 2 reports |
Coinbase custody in general |
| Coinbase blog on cold storage, December 2018 |
Cold storage requires geographically separated people to take physical actions to approve a transaction; precedent of a planned migration of all cold storage over four working days |
Coinbase custody in general |
What third parties wrote. LlamaRisk, in the Aave onboarding of cbBTC in September 2024, noted that the contract "is owned by a simple address", that "Coinbase reports using MPC wallets, but this is not possible to verify through block explorers", and concluded that "few better entities could hold these roles". Steakhouse Financial's "Wrap Battle" relays that each action under these roles requires approval from security, engineering and finance teams.
How it was scored. The key custody grid gained a row in October 2026 for "institutional MPC wallet / key sharding", at the level of a multisig with more than four signers. Crossed with a regulated, listed key holder it gives 6. We applied it to cbBTC on two conditions: a public statement by the issuer that explicitly covers the admin keys, which exists, and onchain behaviour consistent with institutional cold keys, which the next section describes. Read under the "EOA" row instead, custody scores 5, the admin score 4 and the layer A.
The 2026 key rotation, read onchain
Between 29 September and 2 October 2026, every cbBTC role except the blacklister moved to new addresses. A rotation of an admin key is a moment worth checking: it is also what a compromise would look like. We read it on Ethereum, Base and Arbitrum, and on Coinbase's other wrapped assets.
| Role |
First step |
Final address |
Ethereum |
Base |
Arbitrum |
| Master minter |
0x8fde957c… |
0x2b5b99d0… |
29 Sep, 20:18 then 22:18 UTC |
same minutes |
same minutes |
| Pauser |
0xfd0a1c28… |
0x73991680… |
29 Sep, 20:18 then 22:20 |
same minutes |
not read |
| MintForwarder owner |
0x56e92ce7… |
0x5b7f2bbf… |
29 Sep then 1 Oct, 23:05 |
not applicable |
not applicable |
| Owner |
direct |
0xbbc9b600… |
1 Oct, 23:41 |
1 Oct, 23:39 |
1 Oct, 23:39 |
| Proxy admin |
direct |
0x42d90b3f… |
2 Oct, 00:11 |
2 Oct, 00:09 |
2 Oct, 00:09 |
It was not a cbBTC event. The same pattern appears on cbETH on Ethereum (owner, proxy admin, master minter and pauser, 13 and 14 August 2026, their first change since 2022) and on cbDOGE and cbXRP on Base (master minter, owner and proxy admin, 28 and 29 September). In every case the blacklister stayed in place.
The gas came from Coinbase. Each old key received 0.009 ETH a few minutes before its one rotation transaction. The cbETH and cbBTC rotations were funded by the same distribution address, which is itself funded by a Safe whose first deposit came from the address Etherscan tags as "Coinbase 10", the exchange wallet that also receives most cbBTC mints.
Nothing else happened. No new minter, no allowance change, no upgrade, no pause, before, during or after. As of 19 October 2026 none of the new owner, proxy admin, master minter or pauser addresses has sent a transaction. The old proxy admin's only transaction in 25 months was handing over its role.
What we read into it. A compromise would be followed by a mint, not by a methodical rotation across five tokens and three chains over seven weeks, paid from Coinbase's own wallets. The pattern is that of planned key hygiene, or of a migration to a new key infrastructure, which Coinbase has done before. Coinbase has not said which. It also shows two design choices: one key per role per asset (cbDOGE and cbXRP have their own), and the same key for that role on every chain, so a single compromised key reaches every deployment at once.
Reserves and redemption
Coinbase publishes a proof-of-reserves page listing twenty bitcoin addresses. On 29 September 2026 it showed 95,805.67 BTC against 95,794.92 cbBTC in circulation: 46,775.34 on Base, 45,968.53 on Ethereum, 2,961.30 on Solana and 89.75 on Arbitrum. The Ethereum totalSupply() read onchain the next day was within the day's mints of that figure. We could not query the bitcoin balances ourselves: the explorers available to this review were blocked.
Redemption is not onchain. A holder deposits cbBTC to a Coinbase account, where it is converted to bitcoin one for one, subject to account eligibility (Coinbase customers in good standing in the United States excluding New York, the United Kingdom, the EEA, Singapore, Australia and Brazil). Reserves visible onchain, not instantly redeemable: 5.
Bridges and other chains
The scope is Ethereum cbBTC and anything that could create it or dilute its backing.
- No bridge can mint Ethereum cbBTC. The only minter ever active on Ethereum is the
MintForwarder; the full MinterConfigured and MinterRemoved history shows nothing else since September 2024. Ethereum is not a CCIP lane.
- Chainlink CCIP, Coinbase's exclusive bridge for wrapped assets since December 2025, uses a lock-and-release pool on Base as its hub and burn-and-mint pools on Aptos, Katana, Monad, Robinhood Chain and Tempo. On Monad the token roles sit behind a Chainlink timelock of three hours run by Chainlink's signer set, with no Coinbase EOA, according to Aave Labs' June 2026 assessment. These chains are backed by the Base pool and cannot reach Ethereum.
- Native issuance by Coinbase on Base, Solana and Arbitrum draws on the same bitcoin reserve, about 52% of the supply. A compromised mint key on one of those chains could create cbBTC redeemable against the common reserve. It is the same issuer and the same key system as on Ethereum, already scored in the admin score.
One unified bridge with correct owners and no path into Ethereum: 5.
Audits: the same code as USDC
No audit of cbBTC itself has been published. Coinbase's cbBTC whitepaper refers to "heavily audited and battle tested smart contracts (like USDC and cbETH)". We looked for every review of the exact code.
| Review |
Scope |
Link to the deployed code |
Counted |
| OpenZeppelin, "Coinbase Liquid Staking Token Audit", August 2022 |
MintForwarder, RateLimit, MintUtil, the minting contracts cbBTC uses, plus cbETH-specific files. The FiatToken contracts were explicitly out of scope |
MintUtil deployed is logically identical to Coinbase's public repository; RateLimit deployed is an earlier variant of the repository version (removing a caller does not clear its stored allowance), consistent with the pre-fix audited code and without security consequence |
Yes, minting half of the scope |
| Callisto Network, USDC token audit, April 2023 |
The USDC proxy and its FiatTokenV2_1 implementation on Ethereum. No high or medium finding, one low |
Source-identical to the cbBTC implementation, verified by diff |
Yes, token half of the scope. Callisto is outside our tier list and the report does not say who commissioned it, so it carries little weight on its own |
| Circle's own audits of USDC contracts |
Circle's MiCA white paper says every USDC contract is audited before launch or upgrade, naming ChainSecurity and OtterSec. The reports are not public. ChainSecurity's public list for Circle contains no FiatToken report; Halborn audited only the v2.2 changes in 2023 |
Not verifiable |
No |
Together the first two cover the full scope once: under the audit grid, which counts half the scope plus the other half as one audit, that is 3. A tier 1 report on FiatToken v2.1 would give 4.
Other operational signals
Bug bounty. Coinbase runs an onchain programme on Cantina since July 2025, covering every contract it deploys for a product, with cbBTC named in Tier 0 and critical findings paid up to $5m. Its scope is smart contracts; key management is off-chain and outside it. Scored 6.
External assessments. CertiK Skynet rates Coinbase as an exchange at 81.97 (A); the token has no page of its own. Credora rates the collateral by construction of its Morpho methodology; its values sit behind its application. Scored 6.
Peers. On the Morpho cbBTC/USDC market, read onchain on 30 September 2026 through each vault's adapter: Steakhouse, Gauntlet, Sky (Spark), kpk, RockawayX and Yearn. cbBTC is also collateral on Aave v3. Seven reference curators: 6.
Lindy. Reference date 20 August 2024, the deployment, since the implementation has never changed. Two other candidates were considered and not retained: the adoption of CCIP in December 2025, which added no minter on Ethereum, and the key rotation of September and October 2026, which changed no code and no economic rule.
Where the grade depends on judgement
| Call |
As scored |
Alternative |
Effect of the alternative alone |
| Key custody infrastructure |
6, institutional MPC / key sharding |
5, plain EOA row |
Admin score 4, layer A |
| Audits |
3, OpenZeppelin plus Callisto on identical code |
2, Callisto not counted |
Operational average 5.33, rounded to 5: no change to the layer |
| Red-flag count |
Issuer criteria excluded |
Decentralisation at 1 counted |
Layer unchanged at S; one red flag, which caps any market using cbBTC at A |
| Lindy reference |
Deployment, 20 August 2024 |
CCIP adoption, December 2025: about ten months, score 3 |
Operational average 5.0, rounded to 5: no change to the layer |
Could not verify
- How each admin address is held. The quorum, the number of approvers and the storage behind the six EOAs are stated by Coinbase in general terms and cannot be read onchain.
- Why the keys were rotated between August and October 2026. No Coinbase communication was found; only Coinbase can say.
- An audit report on FiatToken v2.1 commissioned by Circle or Coinbase. Circle states its USDC contracts are audited before each launch or upgrade; those reports are not public.
- The bitcoin balances of the twenty reserve addresses, which no explorer available to this review could read. The figures above are Coinbase's.
- The owner of the CCIP pool on Base and the governance of cbBTC on Solana.
- Credora's values for cbBTC.
What would change the grade
- A timelock on the owner, master minter and proxy admin. Three days moves admin capabilities from 2 to 4 and the admin score to 5 under either custody reading; seven days gives 6.
- A written description from Coinbase of the approval quorum behind the role addresses, or of the reason for the 2026 rotation, would settle the custody reading that this grade depends on.
- Any role change outside an orderly, multi-asset rotation, or any new minter, allowance increase or upgrade on Ethereum, calls for a re-read of the admin score.
- Publication of a tier 1 audit covering FiatToken v2.1 moves audits to 4.
- A use of the blacklister against a lending protocol's contract would freeze every position in it. It has not happened.
Grades are point-in-time assessments and are not credit ratings.
Used in
Onchain reference
| Contract | Address |
|---|
| cbBTC token (proxy, same address on Ethereum, Base, Arbitrum) | 0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf |
| Implementation FiatTokenV2_1 | 0x7458bfdc30034eb860b265e6068121d18fa5aa72 |
| Proxy admin (EOA, since 2 Oct 2026) | 0x42d90b3faf2287475cdc863706bd7cc3e938c2af |
| Owner (EOA, since 1 Oct 2026) | 0xbbc9b6001cf0a4fccffab7bdda1ab16cafb9db4f |
| Master minter (EOA, since 29 Sep 2026) | 0x2b5b99d0096a1ae5641f5041f780a33d004fc1d3 |
| Pauser (EOA, since 29 Sep 2026) | 0x7399168043b684b57f198c42fc31558467cf2d6a |
| Blacklister (EOA) | 0x5130bf38bf5342aa06cc79b8cc198cce832b01af |
| MintForwarder (sole minter, rate-limited) | 0x000000000cbdc84a73055389d392710263bb31e7 |
| MintForwarder owner (EOA, since 1 Oct 2026) | 0x5b7f2bbf1bf23841328b397b412514a01011947a |
| MintForwarder caller (hot key, 3,500 cbBTC per day) | 0x598da72e5f690776248c8250a3f7d18ae5416a26 |
Asset reviewNo. A-008September 2026Layer grade S+Data as of 28 September 2026
WETH: sixty immutable lines that nobody controls
About sixty lines of immutable code with no owner, no administrator and no way to create a token other than depositing one ether. Every pillar scores at the top; the only judgement call that could move the grade is how to treat a bug bounty for code that cannot be fixed.
What the asset is
WETH9 is the canonical contract that wraps ether into an ERC-20. It holds ether and issues one WETH per ether deposited; it burns WETH and returns ether on withdrawal. It has no issuer, no governance and no administrator. Stake DAO's own grading guide uses it as the example of the top grade, which made it a useful calibration case.
This review grades the asset alone. It does not opine on any market, oracle, cap or LLTV.
Pillar results
| Pillar |
Binding input |
Score |
Grade |
| Issuer |
Decentralisation 6 (Social not applicable) |
6 |
S+ |
| Asset and token |
Admin score, reserves, bridge and asset class all at 6 |
6 |
S+ |
| Operational |
Rounded average of five scored criteria, audits at 5 |
6 |
S+ |
| Layer |
Worst pillar |
6 |
S+ |
Criterion by criterion
| Pillar |
Criterion |
Input |
Score |
| Issuer |
Social |
No issuer |
not applicable |
| Issuer |
Decentralisation |
No governance, nothing to govern |
6 |
| Asset and token |
Admin score |
Immutable, no privileged function, no key |
6 |
| Asset and token |
Reserves |
Onchain, instantly redeemable |
6 |
| Asset and token |
Bridge risk |
No bridge can mint mainnet WETH |
6 |
| Asset and token |
Asset class |
Immutable chain token or wrapper |
6 |
| Operational |
Lindy |
12 December 2017, 105 months |
6 |
| Operational |
TVL |
$5,546m |
6 |
| Operational |
Audits |
Trail of Bits (tier 1) and Bok Consulting |
5 |
| Operational |
Bug bounty |
None covers WETH9 |
not applicable |
| Operational |
External ratings |
CertiK Skynet: Ethereum 97.23 (AAA), at project level; Credora rates the collateral by construction |
6 |
| Operational |
Peer reviews |
Five reference curators across venues |
6 |
How the pillars combine, as set in the scoring sheet since its September 2026 revision: Issuer takes the better of Social and Decentralisation; Asset and token takes the worst of its criteria; Operational is the average of its scored criteria, rounded to the nearest. A criterion recorded as not applicable is left out of the average and is not a red flag. The layer takes the worst pillar.
The token: sixty lines that nobody controls
WETH9 (0xC02aaA39…) was deployed on 12 December 2017 by a DappHub address and compiled with Solidity 0.4.19. We read the contract creation record and the Etherscan verified source.
| Function |
Behaviour |
fallback and deposit() |
Credits the sender with exactly the ether sent |
withdraw(wad) |
Debits the sender and sends wad ether back with transfer |
totalSupply() |
Returns the ether balance of the contract |
approve, transfer, transferFrom |
Standard ERC-20 accounting |
What is absent matters more. There is no owner, no restricted function, no pause, no blacklist, no mint path other than deposit(), and no proxy (Etherscan reports Proxy = 0). Nobody can change anything in the contract, including its authors. No single actor and no coalition can mint unbacked WETH, freeze a holder or move the reserve. There is no key to steal and no multisig to identify.
Reserves by construction. Because totalSupply() is the ether balance, there is nothing to report: on 28 September 2026 both read 2,061,169.294, onchain, about $5.5bn. They can diverge in one direction only. Ether forced into the contract without calling deposit() raises the balance without minting tokens, so WETH can be over-backed, never under-backed. Zellic's formal verification proved exactly this property. Any holder can redeem one for one, at any time, in one transaction.
Two behaviours integrators should know, neither of which affects the asset's value:
withdraw() uses transfer, which forwards 2,300 gas. A recipient contract that needs more gas to receive ether cannot unwrap directly; its WETH is not lost and can be unwrapped from another address.
transferFrom skips the allowance check when the caller is the source. Trail of Bits noted it as a deviation from common ERC-20 behaviour in 2017.
What WETH inherits from Ethereum. Execution rules change through hard forks: Pectra (7 May 2025), Fusaka (3 December 2025), and Glamsterdam, targeted for the fourth quarter of 2026 according to press reports. A fork changing the gas semantics withdraw() relies on would be the one relevant scenario; it would affect a very large number of contracts and would be debated long before activation. A consensus failure would hit WETH and every other asset on the chain alike. The framework does not score the chain.
Bridges. Mainnet WETH can only be created by depositing ether into WETH9. Rollup and sidechain bridges escrow ether or WETH on mainnet and issue their own representations elsewhere. An exploit there would release or strand stock, a price event, never a solvency event for mainnet WETH. This is the opposite of custodial wrappers such as WBTC, whose native deployments on other chains share the same reserve.
Three reviews of the same sixty lines
WETH9 predates the audit culture of 2018 onwards. We looked for every independent review of this exact code, then checked who signed each one, its scope, and whether it can be tied to the deployed bytecode.
| Review |
Signed by |
Scope and link to the deployed code |
Weight |
| Trail of Bits, "DappHub Smart Contract Libraries", 13 Nov to 8 Dec 2017 |
Josselin Feist (lead author of Slither, co-author of Echidna) and Evan Sultanik; eight person-weeks |
ds-weth in scope at low priority, "reviewed for common Solidity flaws", no commit hash. We cloned dapphub/ds-weth: at the end of the engagement (commit 88d8f7e, 7 Dec 2017) src/weth9.sol is identical to the deployed contract except for its name. The report's observations match WETH9's behaviour. WETH9 was deployed four days after the report |
Tier 1. The link to the deployed code is our inference, a strong one, not a statement of the report |
| Bok Consulting, "MakerDAO Sai Contract Audit", 21 June 2018 |
Bok Khoo ("BokkyPooBah"), independent auditor, more than thirty audits in 2016 to 2018 |
Commissioned by MakerDAO. Explicitly the deployed contract at 0xC02aaA39…, source matched against the repository, annotated line by line. No potential vulnerability identified |
Reputable individual auditor; treated as tier 2 |
| Zellic, "Formally Verifying the World's Most Popular Smart Contract", 18 Nov 2022 |
Luna Tong, co-founder and CEO of Zellic |
Self-published research with the Z3 solver: solvency proven; strict supply = balance disproven and relaxed to supply at most balance. The model does not capture every aspect of the contract |
Not counted as an audit |
A false friend: Trail of Bits' separate Sai assessment (September to October 2017) does not cover WETH, although Sai used it as collateral. Under the audit grid as revised in September 2026, two audits including one tier 1 grade 5. Counting Zellic as a third would give 6. Nine years in production, no loss attributed to the contract.
Bug bounty. The Ethereum Foundation's programme (up to $1m) covers clients, specifications, the Solidity and Vyper compilers and the deposit contract, not token contracts. Nothing covers WETH9. The criterion is published as not applicable: a bounty pays for disclosure so code can be fixed, and WETH9 cannot be fixed. The standing incentive to find a flaw in it is the $5.5bn it holds.
Peers. Gauntlet, Steakhouse and kpk supply the Morpho WETH/USDC market, read onchain through the Morpho API on 28 September 2026. Stake DAO also counts Aave, Curve's crvUSD mint markets and K3 Capital, which accept WETH in their own venues.
Where the grade depends on judgement
| Call |
As scored |
Alternative |
Effect of the alternative alone |
| Bug bounty |
not applicable |
1, no bounty exists |
Operational average 5, layer S, plus one red flag |
| Audits |
5, Zellic not counted |
6 with Zellic; 4 if the Trail of Bits link is not accepted; 3 if neither review counts as a tiered audit |
6 and 4 leave the Operational pillar at 6; 3 gives an average of 5.4 and an S |
| Peers |
5 curators across venues |
3 on the exact market, score 5 |
None, Operational stays 6 |
On the bug bounty: scored 1, it lowers the Operational average to 5 and the layer to S, and it adds a red flag that, through the cap by count, would hold any market using WETH at A or below. That is why the treatment matters more here than the score suggests. We agree with publishing it as not applicable.
Could not verify
- The Trail of Bits link to the deployed code is our inference from the repository history and the report's findings. The report itself names no commit.
- K3 Capital's and Curve's acceptance of WETH is counted on Stake DAO's statement; we verified onchain only the three curators allocating to the Morpho market.
- Credora's values for WETH sit behind its application and were not read.
- Glamsterdam's final EIP list, for any change to the gas semantics
withdraw() relies on.
What would change the grade
- Very little at the token level: the contract cannot change, Lindy and TVL are at their maximum.
- A hard fork altering the gas semantics of
transfer would call for a re-read of the reserves criterion.
- A change in the treatment of bug bounties for immutable contracts, or in how reviews predating 2018 are counted, would move the Operational pillar as set out above.
Grades are point-in-time assessments and are not credit ratings.
Used in
Onchain reference
Asset reviewNo. A-007September 2026Layer grade S
WBTC: an immutable token whose risk lives in three multisigs
WBTC's risk is not in the code. It sits in three multisigs, two on Ethereum and one on Bitcoin, in who holds their keys, and in a custody arrangement renegotiated in August 2024 and announced for renegotiation again in March 2026. Grade S on the reading of the admin score recorded in the sheet; B on the strict worst-path reading.
What the asset is
WBTC is the oldest and largest wrapped bitcoin on Ethereum: about 116,000 WBTC on mainnet, an ERC-20 minted 1:1 against bitcoin held by a custodian. Minting runs through a permissioned workflow between three roles. A merchant (a KYC'd institution; 48 are registered) requests a mint after sending bitcoin; the custodian (one registered address, a BitGo wallet) confirms once the bitcoin has arrived; the Factory contract then mints to the merchant. Burns run the same way in reverse. A registry contract holds the custodian address and the merchant list.
Assessment data as of 16 to 30 September 2026; onchain reads dated where they appear. This review grades the asset alone. It does not opine on any market, oracle, cap or LLTV.
Pillar results
| Pillar |
Binding input |
Score |
Grade |
| Issuer |
Social 5, Decentralisation 5 |
5 |
S |
| Asset and token |
Admin score 5, reserves 5, bridge 5 |
5 |
S |
| Operational |
Rounded average of six criteria; audits 3, bug bounty 2 |
5 |
S |
| Layer |
Worst pillar |
5 |
S |
Criterion by criterion
| Pillar |
Criterion |
Input |
Score |
| Issuer |
Social |
No single issuer: a consortium, with BitGo (US) as the regulated operator and BiT Global (Hong Kong) as co-custodian since 2024 |
5 |
| Issuer |
Decentralisation |
No token governance; a closed consortium acting through a 6-of-10 and a 5-of-9 multisig, with only part of their signers identified |
5 |
| Asset and token |
Admin score |
Admin capabilities 2 (unbounded and instant) crossed with key custody 6 (regulated custodian, institutional key infrastructure), on the bitcoin wallet |
5 |
| Asset and token |
Reserves |
Visible onchain, not instantly redeemable |
5 |
| Asset and token |
Bridge risk |
No bridge can mint mainnet WBTC; residual exposure through small native deployments |
5 |
| Asset and token |
Asset class |
BTC wrapper |
6 |
| Operational |
Lindy |
Token contract unchanged since 24 November 2018 |
6 |
| Operational |
TVL |
$9.66bn |
6 |
| Operational |
Audits |
One audit of the full scope: ChainSecurity, October 2018 |
3 |
| Operational |
Bug bounty |
No programme covers the WBTC contracts; indirect coverage of BitGo's wallet code |
2 |
| Operational |
External ratings |
CertiK Skynet 90% (A); Credora by construction |
6 |
| Operational |
Peer reviews |
Fifteen reference curators on Morpho alone; collateral on Aave and SparkLend |
6 |
How the pillars combine, as set in the scoring sheet since its September 2026 revision: Issuer takes the better of Social and Decentralisation; Asset and token takes the worst of its criteria; Operational is the average of its six criteria, rounded to the nearest. The layer takes the worst pillar.
What a reader should know before accepting the S
- Two Ethereum multisigs can each mint WBTC on their own, without any bitcoin moving. A 6-of-10 owns the token controller and can re-point the minter; a 5-of-9 owns the merchant and custodian registry and can appoint itself to both roles. Six of the ten and two of the nine signers are not publicly identified, and the six unidentified ones alone reach the first multisig's threshold.
- The 6-of-10 was installed on 28 March 2025 without a pull request, an announcement or any press coverage. The WBTC GitHub still lists the previous 8-of-13.
- The bitcoin reserve sits in a 2-of-3 multisig that the best public evidence puts at two keys for BitGo and one for BiT Global. A post on WBTC's own Medium account on 2 March 2026 announced the reverse, effective 1 May 2026. Nothing confirms it happened, nothing denies it.
- The admin score was taken from the bitcoin wallet, not from the weakest path. Scoring every path and taking the worst gives 3, which would move the asset layer to B. Both readings are set out below.
What is solid: the token contract is immutable and has nothing in it that can be upgraded; reserves exceed supply and the Ethereum figure matches the contract exactly; no bridge can mint mainnet WBTC.
The token: immutable, and not where the risk is
The WBTC contract is a Solidity 0.4.24 contract deployed on 24 November 2018, verified, not a proxy. It combines the OpenZeppelin mintable, burnable and pausable patterns. There is no blacklist. finishMinting() is hard-coded to return false, so minting can never be locked off; renounceOwnership() reverts, so the privileged role can never be given up. Its owner is the Controller contract, which exposes mint and burn (callable only by the Factory) and pause, setFactory and setMembers (callable only by the Controller's owner). All of this is read from the verified source.
Reserves. The wbtc.network transparency dashboard listed every custody address with a Blockstream link and showed, on 3 September 2026, 116,512.0029 BTC in reserve against 116,499.2018 WBTC in circulation across all chains, of which 116,132.1827 on Ethereum. The Ethereum figure matches totalSupply() on the token exactly. Reserves exceed supply by about 12.8 BTC. Redemption is not atomic (merchant plus custodian confirmation), which is why the criterion scores 5 rather than 6.
Who can mint: the single-actor analysis
The question that organised this review was not "how many signers" but "what can one party do on its own". Every path to an unbounded mint was traced through the verified source.
The 5-of-9 registry owner, alone. setCustodian() and addMerchant() carry no check preventing the same address from holding both roles. addMintRequest() accepts any amount and any string as the bitcoin transaction id; the only check is that a deposit-address string matches one the custodian itself registered. confirmMintRequest() then calls controller.mint(). Nothing on Ethereum verifies that bitcoin moved. The 5-of-9 can appoint itself custodian and merchant and mint without limit.
The 6-of-10 controller owner, alone. setFactory() is owner-only; pointing it at a contract that calls controller.mint() gives unlimited minting. setMembers() replaces the registry outright, overriding the 5-of-9.
The custodian plus any one merchant. A merchant requests an arbitrary amount, the custodian confirms. Two organisations, one of which can be any of the 48 merchants. HTX, Justin Sun's exchange, was added as a merchant in November 2024.
The bitcoin multisig. Whoever holds two of the three keys can move the entire reserve.
The merchant and custodian separation is real at the operational level and worth nothing against the body that assigns both roles. An unbacked mint does not need to be sold on the spot market to be extracted: posted as collateral in a lending market, it can be borrowed against in the same transaction, so the amount at risk is bounded by borrowable liquidity rather than by how visible the mint is.
Who holds the keys
The 6-of-10 (0x972eEd35…, a Gnosis MultiSigWallet from 2017, not a Safe; threshold and owners read onchain on 16 September 2026). Four signers identified against the WBTC DAO's GitHub member list and their 2022 verification tweets: Balancer (an address resolving to solarcurve.eth, a contributor's personal wallet rather than an institutional one), BitGo, Chainlink and Tom Bean of B.Protocol. Six unidentified: one Safe and five externally owned accounts. Those six reach the threshold of six without any identified signer.
The 5-of-9 (0x4dbbbFb0…, same contract type, owner of the registry since June 2019). Three identified from the GitHub merchant and custodian lists: Kyber, the BitGo custodian address, Aave. Four attributed by Protos in February 2026, a third-party attribution: Maker, Tom Bean, and two BitGo wallets (both WalletSimple contracts, consistent with what we read onchain). Two unattributed, one of which also sits on the 6-of-10. Protos identified the five signatures that approved HTX as a merchant as Kyber, Tom Bean and three BitGo addresses: BitGo plus any two others can add a merchant.
The migration nobody announced. The OwnershipTransferred log on the Controller reads: 22 December 2018 to an 11-of-18; 10 January 2023 to the 8-of-13 (0xB33f8879…), with a GitHub pull request, a tweet from every new member and press coverage; 28 March 2025 to the current 6-of-10, with nothing. Six months after the BiT Global joint venture, nine of the thirteen members (Kyber, Compound, Loopring, RiskDAO, Krystal, Badger, Gopax, and the defunct Multichain and Ren) were replaced by six addresses that were never named. The transfer was executed by the 8-of-13 itself, so it was a legitimate DAO action. The DAO's own audit guide tells members to verify the controller owner against the GitHub; that check has failed against their own documentation for eighteen months.
The bitcoin custody. Five independent sources from August 2024 to March 2025 (Blockworks, AmbCrypto, Protos, NYDIG, Steakhouse Financial's "Wrap Battle") converge on the arrangement adopted after the community backlash of August 2024: BitGo holds two keys (BitGo Inc. in the US, BitGo Singapore Pte Ltd), BiT Global holds one in Hong Kong. This is the reverse of the initial proposal that would have given BiT Global two keys, which is what caused MakerDAO to remove WBTC as collateral that autumn. Then, on 2 March 2026, WBTC's Medium account published a post datelined Hong Kong and framed as a BiT Global announcement: a "next phase" transition, targeted for 1 May 2026, under which BiT Global would hold both the user key and the backup key and BitGo one. An exact-phrase search returns only that post: no BitGo statement, nothing on wbtc.network, no coverage. For a change of key control over roughly $9bn, after an episode in 2024 that generated dozens of articles and a Sky exit, that silence is itself a fact.
A Bitcoin multisig proves a threshold over a set of raw public keys and nothing more. Who holds which key is always an off-chain disclosure by the parties. The 2024 arrangement is corroborated; the 2026 one is a single announcement without a trace.
The admin score: what was scored, and what the worst path gives
The September 2026 grid scores admin capabilities as impact crossed with execution delay, then crosses that with the custody infrastructure of the keys. Applied to each path separately:
| Path |
Admin capabilities |
Custody infrastructure |
Admin score |
| Bitcoin reserve, 2-of-3, BitGo majority |
2 (unbounded, instant) |
6 (x of y with x of at least 2; regulated, NYSE-listed custodian, institutional key infrastructure) |
5 |
| 6-of-10 via setFactory or setMembers |
2 |
3 (more than four signers, but unidentified signers can reach the threshold) |
3 |
| 5-of-9 via the registry |
2 |
4 (more than four signers; identified external signers present, none needed to reach the threshold once BitGo's three seats are counted) |
3 |
Stake DAO scored the criterion 5, on the bitcoin wallet. The reasoning recorded in the sheet: the two Ethereum multisigs contain a good share of identified external signers, so a fraudulent mint requires a knowingly wrongful signature; the size of the asset makes a large extraction visible; the 6-of-10 can push a rapid pause; and a $100m unbacked mint would dilute backing by about 1.1%. On that reading only the bitcoin custody, the deepest and best-defended key set, is scored.
The other reading: worst-of is the framework's own rule; the 6-of-10 is itself one of the attack paths and would not pause an action it took; and extraction through a lending market is atomic, not slow. On that reading the criterion is 3, the Asset and token pillar is 3 and the asset layer is B. The two readings converge the day the WBTC DAO publishes its signers: with ten identified organisations the 6-of-10 moves to 4 or 5 on custody infrastructure and the worst path scores 4.
BitGo's standing is a fact in both readings: it listed on the New York Stock Exchange on 22 January 2026 under BTGO and holds a national trust bank charter from the OCC. BiT Global is a Hong Kong TCSP licensee associated with Justin Sun.
Bridges
The bitcoin-to-Ethereum wrap is WBTC's business and is scored above. Downstream of mainnet, three families, measured on 23 September 2026:
- Lock-and-mint escrows. Arbitrum gateway 7,367 WBTC, Wormhole 2,546, Polygon PoS 1,940, Optimism 703, Linea, Scroll and Movement under 42 combined: about 12,600 WBTC, 10.8% of the Ethereum supply. None of these addresses is in the 48-entry merchant list. They hold stock; an exploit releases it onto the market, a price event, and cannot mint mainnet WBTC or touch the reserve.
- LayerZero OFT. The Ethereum leg is
WBTCOFTAdapter, a lockbox holding 949.79 WBTC. Its owner and LayerZero delegate are one BitGo wallet. Sends to BSC and Avalanche require three of three DVNs (LayerZero Labs, Nethermind, BitGo) with 15 confirmations, read from EndpointV2.getConfig. The destination OFT contracts have no merchant or custodian functions, so OFT WBTC cannot be redeemed for bitcoin without first unlocking mainnet WBTC: exposure is capped by the lockbox.
- Native deployments. About 367 WBTC circulate outside Ethereum as custodian-minted tokens sharing the reserve, around 100 of them on a dormant Tron contract. This is the only channel that could dilute mainnet backing, bounded by its size and by the custodian's off-chain reconciliation.
Scored 5. Mainnet WBTC is structurally insulated; the residual is the small native legs.
Operational signals
Audits. One audit covers the full Ethereum stack: ChainSecurity, October 2018, before launch, two findings resolved before deployment. Nothing since on the core contracts. One full-scope audit scores 3 under the grid revised on 29 September 2026.
Bug bounty. None covers the WBTC contracts: nothing on Immunefi or HackenProof, no security policy in either WBTC repository. BitGo runs a Cantina programme since March 2026, up to $75,000 for a critical finding, scoped to its own wallet repositories, with "trust assumptions involving BitGo-operated multisignature ownership" explicitly excluded. Because the registered custodian, the OFT adapter owner and two signer seats are WalletSimple instances, the wallet code holding those keys is in scope; the contracts that mint, burn, pause or re-point WBTC are not. Scored 2 on that indirect coverage.
External assessments. CertiK Skynet 90% (A). Credora rates the asset by construction of its Morpho methodology; its values sit behind its application. Scored 6.
Peers. Fifteen reference curators on the Morpho WBTC/USDC market by Stake DAO's count. Beyond Morpho, WBTC is collateral on Aave and was reactivated on SparkLend in March 2026 after an 18-month review that followed the 2024 custody episode. Scored 6.
Where the grade depends on judgement
| Call |
As scored |
Alternative |
Effect of the alternative alone |
| Admin score |
5, on the bitcoin wallet |
3, worst path through the Ethereum multisigs |
Layer B |
| Lindy reference |
Token deployment, 24 November 2018 |
The announced key transition of 1 May 2026, if it took place, as the last security-relevant change: about four and a half months, score 2 |
Operational average 4.17, rounded to 4: layer A |
| Lindy reference |
as above |
The undocumented controller migration of 28 March 2025: about seventeen and a half months, score 4 |
Operational average 4.5, rounded to 5: none |
The scoring sheet's issuer comment records the May 2026 key split as effective. This review does not: it is a single announcement that no other source confirms.
Could not verifyThe distribution of the three bitcoin keys after 1 May 2026. The 2024 arrangement (BitGo two, BiT Global one) is corroborated by five sources; the March 2026 announcement of the reverse is a single post on WBTC's Medium with no confirmation and no coverage. Only BitGo or the WBTC DAO can close this.
The identity of six signers of the 6-of-10 and two signers of the 5-of-9. The GitHub the DAO tells its members to verify against lists a multisig that stopped owning the controller in March 2025.
The governance of the Tron native deployment, about 100 WBTC, which no tool available to this review could read.
The Credora values for WBTC, which sit behind a key-gated API.
What would change the grade
- Publication by the WBTC DAO of the ten and nine signers, with an updated GitHub, lifts the weakest Ethereum path from 3 to 4 or 5 and removes the gap between the two admin readings.
- A statement from BitGo on the bitcoin key distribution, and whether the March 2026 announcement was executed, settles the question this page cannot. If BiT Global now holds two of three keys, the custody-infrastructure column changes, the admin score should be re-read, and so should the Lindy reference date.
- A bug bounty scoped to the WBTC issuance contracts, or a second audit of the registry and Factory in light of the same-address custodian-and-merchant path, would move the Operational pillar.
Grades are point-in-time assessments and are not credit ratings.
Onchain reference
Asset reviewNo. A-004July 2026Layer grade B
crvUSD: an immutable token inside a system that keeps changing
The token contract cannot be changed and its minter has been locked since May 2023. The grade is set by everything around it: a bridge footprint across three families, a minting perimeter that has changed a dozen times in a year, and no reference curator taking the asset as collateral.
What the asset is
crvUSD is Curve's CDP stablecoin, live since May 2023, with a circulating supply around 209m at the assessment date. It is minted against collateral in soft-liquidation markets (LLAMMA), by peg keepers, and since September 2025 through a credit line to Yield Basis. The token contract is a plain Vyper contract with no proxy, no pause, no freeze and no blacklist.
This review grades the asset alone. It does not opine on any pool, market, cap or LLTV.
Pillar results
| Pillar |
Binding input |
Score |
Grade |
| Issuer |
Social 5, Decentralisation 3 |
5 |
S |
| Asset and token |
Bridge risk 3 |
3 |
B |
| Operational |
Rounded-down average of six criteria, peer reviews at 2 |
3 |
B |
| Layer |
Worst pillar |
3 |
B |
Criterion by criterion
| Pillar |
Criterion |
Input |
Score |
| Issuer |
Social |
Curve DAO, no legal entity; main contributor Swiss Stake (Switzerland); doxxed team with long experience; no venture investors |
5 |
| Issuer |
Decentralisation |
Onchain governance, very active, but delegation lets a few holders (Convex, Stake DAO, Yearn, the founder at about 12%) reach a majority |
3 |
| Asset and token |
Admin capabilities |
Token immutable; minter locked to the ControllerFactory; supply changes need a full DAO vote (seven days, 30% quorum, 51%); the Emergency DAO can only reduce risk |
3 |
| Asset and token |
Governance security |
Decentralised; the emergency multisig has a limited scope |
6 |
| Asset and token |
Reserves |
Visible onchain, not instantly redeemable |
5 |
| Asset and token |
Bridge risk |
Several native bridges with correct owners; about 1.1% of supply bridged |
3 |
| Asset and token |
Asset class |
High liquidity CDP, above $100m |
5 |
| Operational |
Lindy |
Credit line to Yield Basis extended to 1B crvUSD on 12 December 2025, about seven months at assessment |
3 |
| Operational |
TVL |
$209m |
5 |
| Operational |
Audits |
One audit covering the whole current stack: ChainSecurity, cumulative assessment, February 2025 |
3 |
| Operational |
Bug bounty |
Self-hosted, capped at $250,000 |
4 |
| Operational |
External ratings |
DeFiSafety 93% (Curve as a whole), CertiK Skynet 90.03% (crvUSD), Pharos B (71%) |
6 |
| Operational |
Peer reviews |
No reference curator takes crvUSD directly as collateral |
2 |
How the pillars combine, as set in the scoring sheet: Issuer takes the better of Social and Decentralisation; Asset and token takes the worst of its criteria, with admin capabilities and governance security first averaged and rounded down; Operational is the average of its six criteria, rounded down. The layer takes the worst pillar.
The token is not where the risk is
Read from the verified source and the complete event history:
- The token contract is immutable. No pause, no freeze, no blacklist and no upgrade path anywhere in the source.
- The minter role has been locked to the ControllerFactory since 14 May 2023: only two
SetMinter events exist, and the factory contains no call path back to set_minter.
- Supply changes exist only at system level, through
set_debt_ceiling, and require a seven day public vote with a 30% quorum, which needs several independent large holders to reach. There is no timelock contract; the vote is the delay.
- Since 11 November 2025 the factory admin is a DualAdmin contract. The Emergency DAO, a 5-of-9 Safe, acts instantly but is restricted onchain to risk-reducing supply actions: it can lower ceilings, not raise them, and cannot mint, freeze or add markets. It can, however, swap the monetary policy and change fees at once, which affects borrowers rather than holders.
Bridges: small, but in three families
crvUSD is mintable only on Ethereum. About 2.37M crvUSD, roughly 1.1% of supply, sat in Ethereum escrows on 16 July 2026, about 99% of it behind canonical rollup bridges. Curve also operates LayerZero-based bridges and a FastBridge overlay, whose Ethereum-side owner is a DAO-controlled proxy with a kill-only emergency admin. No externally owned account was found in control of any Curve-operated bridge contract checked, and Curve halted its LayerZero infrastructure preventively in April 2026 after an unrelated exploit, then resumed. Bridge risk to mainnet holders is small; the score of 3 reflects the number of families and owners, not the amount.
A minting perimeter that keeps moving
Lindy is anchored on the extension of the Yield Basis credit line to 1B crvUSD in December 2025, the most material standing change to how the asset can be issued. It is one of about a dozen perimeter changes between March 2025 and April 2026: new peg keepers, a tripled peg-keeper capacity, the Emergency DAO extension, a new monetary policy, a larger flash-loan cap and a change to the aggregated price oracle. The code is immutable; what it is wired to is not.
Could not verify, and disclosedThe current onchain debt ceiling of the Yield Basis credit line was not re-read. The Curve-side wiring of that credit line, and anything deployed on the stablecoin side after 15 February 2025, sit outside published audit scope. No published audit was found for the Yield Basis V3 rework announced in May 2026. The identities of the Emergency DAO signers are not published in an authoritative current list. The DeFiSafety figure rates Curve as a protocol, not crvUSD specifically.
What would change the grade
- Lindy crosses twelve months on 12 December 2026 and would then score 4, provided the minting perimeter does not change again first. The Operational average would reach 4, but the Asset and token pillar would hold the layer at B.
- The Asset and token pillar is bound by bridge risk at 3: a consolidation of the bridge families, or ownership arrangements the grid scores higher, would be needed to lift it.
- A reference curator accepting crvUSD directly as collateral would lift Peer reviews.
- Any governance change adding an uncollateralised minting pathway would call for an immediate re-assessment.
Scored under the grids in force at the assessment date. Not yet re-run under the September 2026 revision.
Onchain reference
Asset reviewNo. A-003June 2026Layer grade B
sDOLA: sound governance, held at B by a young peg module and a single audit
Governance is onchain, dispersed and guarded. The grade is set by the operational record: a peg stability module redeployed five months before the assessment, one formal audit of a narrow scope, and a middling external rating.
What the asset is
sDOLA is the yield-bearing wrapper over the DOLA Savings Account, which streams rewards to staked DOLA and compounds them. DOLA is Inverse Finance's CDP stablecoin, live since 2021 and governed onchain by INV holders. The sDOLA contract is not a proxy (read onchain).
This review grades the asset alone. It does not opine on any pool, market, cap or LLTV.
Pillar results
| Pillar |
Binding input |
Score |
Grade |
| Issuer |
Social 4, Decentralisation 5 |
5 |
S |
| Asset and token |
Admin capabilities 2 averaged with governance security 6; reserves 4; asset class 4 |
4 |
A |
| Operational |
Rounded-down average of six criteria, Lindy and audits at 2 |
3 |
B |
| Layer |
Worst pillar |
3 |
B |
Criterion by criterion
| Pillar |
Criterion |
Input |
Score |
| Issuer |
Social |
DOLA is controlled by an onchain DAO; a Cayman entity carries the offchain business and is funded by a DAO grant; its director is doxxed; live since 2021, including a bad-debt episode handled in good faith; no investors |
4 |
| Issuer |
Decentralisation |
Onchain governance. Founder 13.85% and team 11.4% of voting power, the rest community. Activity concentrated around the founder; about 50k INV available to accumulate; a guardian can cancel proposals |
5 |
| Asset and token |
Admin capabilities |
Governance can mint DOLA |
2 |
| Asset and token |
Governance security |
Decentralised governance with onchain execution |
6 |
| Asset and token |
Reserves |
Visible onchain, not redeemable |
4 |
| Asset and token |
Asset class |
Medium liquidity CDP, above $50m |
4 |
| Operational |
Lindy |
Peg stability module redeployed on 20 December 2025, about five and a half months at assessment |
2 |
| Operational |
TVL |
$59m |
4 |
| Operational |
Audits |
One audit, by yAudit |
2 |
| Operational |
Bug bounty |
Sherlock, up to $100k; $1m Safe Harbour |
6 |
| Operational |
External ratings |
CertiK Skynet 78.18 |
3 |
| Operational |
Peer reviews |
Two reference curators |
4 |
How the pillars combine, as set in the scoring sheet: Issuer takes the better of Social and Decentralisation; Asset and token takes the worst of its criteria, with admin capabilities and governance security first averaged and rounded down; Operational is the average of its six criteria, rounded down. The layer takes the worst pillar. Bridge risk is not a criterion in the template version used for this assessment.
Why Lindy and audits weigh most
Lindy. The reference date is the December 2025 redeployment of the peg stability module, which carries DOLA minting rights. Verified onchain at the assessment date: the module had minted zero DOLA, operates on a non-permissionless mechanism, and is capped by governance vote at 10M DOLA. The criterion is time based and was always going to improve.
Audits. Formal audit coverage is limited to three files, audited by yAudit in January 2024. The December 2025 module redeployment has no formal external audit, only internal review layers, which do not substitute for one.
Governance
Governance is fully onchain, with voting power split roughly 75% community, 13.85% to the named founder and 11.4% to the rest of the team. A dual-stage guardian requires the founder to authorise a cancellation and a team multisig to confirm it. That raises the bar on executing an unauthorised proposal without removing governance risk: unbacked minting through a governance attack remains the structural risk of the asset, mitigated by dispersed voting power and the guardian.
Could not verifyThe guardian multisig address is recorded only in truncated form in the source, so it is not published here. An audit finding warned against using sDOLA where atomic donations can manipulate a price read from the vault; whether that applies is a question for each market that uses it, and our earlier conclusion on Morpho rested in part on the issuer's own analysis, which we have not independently audited.
What would change the grade
- Lindy crossed six months around 20 June 2026 and now scores 3. The Operational average reaches 3.67, which still rounds down to 3: the grade does not move on Lindy alone.
- A formal external audit of the redeployed peg stability module would lift Audits. At 4, with Lindy at 3, the Operational average reaches 4 and the layer A.
- A material change in the distribution of voting power, or in the guardian's composition, would call for a re-read of Decentralisation and governance security.
Scored under the grids in force at the assessment date. Not yet re-run under the September 2026 revision.
Onchain reference
Asset reviewNo. A-002May 2026Layer grade B
sUSDS: the grade is set by who can upgrade the contract, not by its size
The largest asset in the series, with the strongest operational record. The grade is set by the token's technical design: an upgradeable proxy whose admin is governance behind a delay of sixteen to thirty hours, in a vote where one delegate held about 45% of the power.
What the asset is
sUSDS is the savings token of the Sky protocol (formerly MakerDAO): holders deposit USDS and receive a share that accrues the Sky Savings Rate. About 5.93bn sUSDS were outstanding at the assessment date, redeemable for roughly 6.5bn USDS. The token is an ERC-1967 proxy (read onchain) upgradeable under the UUPS pattern by the protocol's governance pause proxy.
This review grades the asset alone. It does not opine on any pool, market, cap or LLTV.
Pillar results
| Pillar |
Binding input |
Score |
Grade |
| Issuer |
Social 6, Decentralisation 5 |
6 |
S+ |
| Asset and token |
Technical: admin capabilities 2 and governance security 5, averaged and rounded down |
3 |
B |
| Operational |
Rounded-down average of six criteria |
5 |
S |
| Layer |
Worst pillar |
3 |
B |
Criterion by criterion
| Pillar |
Criterion |
Input |
Score |
| Issuer |
Social |
Sky DAO; doxxed team; more than ten years of track record without a loss incident; S&P issuer credit rating B- |
6 |
| Issuer |
Decentralisation |
Onchain SKY governance through executive votes and spells, very active. Largest delegate about 45% of effective voting power, two delegates about 80% |
5 |
| Asset and token |
Admin capabilities |
UUPS proxy upgradeable by the governance pause proxy, read as mint, burn and freeze behind a timelock |
2 |
| Asset and token |
Governance security |
Onchain DAO governance; governance security module delay of 16 to 30 hours |
5 |
| Asset and token |
Reserves |
Visible onchain, not instantly redeemable |
5 |
| Asset and token |
Asset class |
High liquidity CDP, above $100m |
5 |
| Operational |
Lindy |
Last change recorded in the scoring sheet: 4 September 2025, about eight months at assessment |
3 |
| Operational |
TVL |
$6.5bn |
6 |
| Operational |
Audits |
Two audits: ChainSecurity, and Spearbit through Cantina |
5 |
| Operational |
Bug bounty |
Immunefi, up to $10m |
6 |
| Operational |
External ratings |
CertiK Skynet 90.09; S&P B- |
6 |
| Operational |
Peer reviews |
Four reference curators: Steakhouse, Sentora, Gauntlet, Hyperithm |
5 |
How the pillars combine, as set in the scoring sheet: Issuer takes the better of Social and Decentralisation; Asset and token takes the worst of its criteria, with admin capabilities and governance security first averaged and rounded down; Operational is the average of its six criteria, rounded down. The layer takes the worst pillar. Bridge risk is not a criterion in the template version used for this assessment.
What sets the grade
Two structural elements, both about control rather than about the asset's economics.
An upgradeable token behind a short delay. sUSDS is an upgradeable proxy whose admin is the protocol's governance pause proxy. Any executive vote that passes can replace the implementation after a delay of sixteen to thirty hours. Upgradeability and pause behind a delayed admin is ordinary practice in production DeFi, and under this grid it still scores admin capabilities at 2, which caps the technical sub-pillar at 3 and the layer at B.
Concentrated voting power. Governance is onchain and active, but the largest delegate held about 45% of effective voting power and two delegates together about 80%. That holds Decentralisation at 5 rather than 6. It does not move the grade, because the Issuer pillar takes the better of its two halves, but it is the dominant qualitative risk to watch: the delay is only as protective as the diversity of the voters behind it.
The tail scenario, quantified
A risk-capital tranche (stUSDS) funds a collateralised borrowing module whose largest positions are concentrated. Sky's documentation states that the tranche absorbs bad debt first and is isolated from savings-token holders, while also acknowledging that slashing it could still affect other parts of the system. Worked through at the assessment date: a borrowed portion of about 138m, 70m absorbed by the surplus buffer, an unabsorbed residual near 68m, or 0.58% of the 11.7bn stablecoin supply, which protocol revenue would replenish in two to three months. It is reflected through the Decentralisation and Lindy criteria and through monitoring, not through a separate downgrade.
Disclosed, not verifiedAbout 3.925bn of USDC backing the protocol's swap module sat at the assessment date on an externally owned account under multi-party computation custody. Key material was publicly stated to have been destroyed at setup. Given how MPC custody works, that cannot be checked onchain, and we did not verify it. The arrangement had been public for over eighteen months without incident. We neither escalate nor discount it, and it changed no score.
The event behind the 4 September 2025 Lindy date is recorded in the scoring sheet without a description; we did not reconstruct it.
What would change the grade
- Only a change in the technical design moves the layer: a non-upgradeable token, or a materially longer delay with a wider set of independent voters, would lift the technical sub-pillar.
- A further concentration of voting power in one or two delegates would lower Decentralisation, and through it the case for the current reading of governance security.
- Lindy crossed twelve months on 4 September 2026 and now scores 4; the Operational pillar stays at 5.
- Any loss absorbed by stUSDS large enough to reach savings-token holders would call for an immediate re-assessment.
Scored under the grids in force at the assessment date. Not yet re-run under the September 2026 revision.
Onchain reference
Asset reviewNo. A-001May 2026Layer grade B
scrvUSD: governance-run savings vault, held at B by its operational record
A sound issuer and a token that governance, not a multisig, controls. The grade is set by the operational record: one audit covering the vault code actually deployed, no curator yet using it as collateral, and a connected system that changed four months before the assessment.
What the asset is
scrvUSD is the savings vault of crvUSD, Curve's CDP stablecoin. Holders deposit crvUSD and receive a share whose value rises as the vault receives part of the stablecoin's fees. The vault is a Yearn V3 vault (release 3.0.3) whose admin is Curve's onchain governance. Redemption into crvUSD is permissionless; the reserves are visible onchain but are not instantly redeemable into dollars.
This review grades the asset alone. It does not opine on any pool, market, cap or LLTV.
Pillar results
| Pillar |
Binding input |
Score |
Grade |
| Issuer |
Social 6 and Decentralisation 6 |
6 |
S+ |
| Asset and token |
Admin capabilities 2, averaged with governance security 6; asset class 4 |
4 |
A |
| Operational |
Rounded-down average of six criteria, three of them at 2 |
3 |
B |
| Layer |
Worst pillar |
3 |
B |
Criterion by criterion
| Pillar |
Criterion |
Input |
Score |
| Issuer |
Social |
Curve DAO, no legal entity; main contributor Swiss Stake (Switzerland); doxxed team with long experience; no venture investors |
6 |
| Issuer |
Decentralisation |
Onchain governance, very active. Delegation lets a few holders (Convex, Stake DAO, Yearn, the founder at about 12%) reach a majority |
6 |
| Asset and token |
Admin capabilities |
Yearn vault administered by Curve's onchain governance: mint, burn and parameter changes behind the seven day vote |
2 |
| Asset and token |
Governance security |
Decentralised. The Emergency DAO multisig has a limited scope with no direct security impact on scrvUSD |
6 |
| Asset and token |
Reserves |
Visible onchain, not instantly redeemable |
5 |
| Asset and token |
Asset class |
High liquidity CDP, above $100m |
4 |
| Operational |
Lindy |
About four months since the most recent impactful change to the connected system (see below) |
2 |
| Operational |
TVL |
$23.2m |
4 |
| Operational |
Audits |
One audit with a scope specific to scrvUSD (ChainSecurity, December 2024) |
2 |
| Operational |
Bug bounty |
Self-hosted, capped at $250,000 |
4 |
| Operational |
External ratings |
DeFiSafety 93% (Curve as a whole), CertiK Skynet 92.07% (crvUSD) |
6 |
| Operational |
Peer reviews |
No reference curator using the asset as collateral |
2 |
How the pillars combine, as set in the scoring sheet: Issuer takes the better of Social and Decentralisation; Asset and token takes the worst of its criteria, with admin capabilities and governance security first averaged; Operational is the average of its six criteria, rounded down. The layer takes the worst pillar. Bridge risk is not a criterion in the template version used for this assessment.
Why the operational pillar sets the grade
- Audits score 2. The Yearn V3 release actually deployed, 3.0.3, includes the self-reporting mechanism that makes this asset what it is, and it is not covered by the audits of the earlier releases (3.0.0 and 3.0.1). Counting those audits by adoption would give a better score and a less accurate one. Two low-severity GitHub security advisories are open on 3.0.3.
- Peer reviews score 2. No other reference curator took scrvUSD as collateral at the assessment date.
- Lindy scores 2. It was read on three levels: the scrvUSD contract (immutable, about 17 months), the crvUSD contract (immutable since May 2023), and the connected economic system, which changed most recently. The reference date is January 2026, when WETH was added to Yield Basis, which is funded through the crvUSD credit line.
- The external-ratings score of 6 is generous on one point: the DeFiSafety figure rates Curve as a protocol, not scrvUSD specifically.
Admin capabilities
The vault's admin is Curve's onchain governance, so any change to the vault goes through a seven day public vote. That is a strong form of control, and the grid still scores admin capabilities at 2, because mint, burn and parameter powers exist behind it. The Curve Emergency DAO, a 5-of-9 multisig, has no direct role on scrvUSD today; its powers were extended in November 2025 over crvUSD economic parameters, which affects the yield rather than solvency.
Could not verify, and a correctionThe Curve contributors behind the Emergency DAO signer set are not published in a current, authoritative list. The scoring sheet displays Audits at 1 because of a lookup error in its formula: its own grid places one audit at 2, which is the score published here, and the reason this review carries no red flag.
What would change the grade
- Lindy is time based. Measured from January 2026 it crossed six months in July 2026 and now scores 3. With no other change the Operational average reaches 3.5, which still rounds down to 3: the grade does not move on Lindy alone.
- A dedicated audit of Yearn V3 3.0.3, or of scrvUSD on that release, would lift Audits and with it the Operational pillar.
- A reference curator accepting scrvUSD as collateral would lift Peer reviews.
- Any governance vote giving the Emergency DAO a direct emergency role on the scrvUSD contract would lower Admin capabilities from 2 to 1, a red flag.
Scored under the grids in force at the assessment date. Not yet re-run under the September 2026 revision.
Onchain reference
Asset ratingAugust 2026Open itemsNo grade published
sfrxUSD: the price per share is an admin-set number
An asset rating we have not closed. We publish the finding that matters for anyone pricing this collateral, and we do not publish a grade while the open items stand.
The headline finding
On Ethereum, sfrxUSD does not behave as a vault. The implementation stores a price per share and a per-second rate and computes the price by continuous compounding. ERC-4626 deposit and redeem are disabled, and supply moves only through whitelisted minters. The setters for those pricing parameters are gated by a role named timelock which is, onchain, a 3-of-6 multisig with no delay and no drift or rate cap. It has been used in production.
The consequence for a lending market is direct: any oracle reading the price per share takes its input from a value that multisig can set arbitrarily, up or down, in a single transaction. Collateral pricing integrity for such a market reduces to trust in that multisig. That is why we are not publishing a grade from a questionnaire reading alone.
Two things we checked, one each way
- An earlier concern that an externally-owned account retained admin over the bridge lockbox is cleared. The deployer held admin only within the deployment block; it resolves to a proxy admin owned by a 24 hour timelock under a 4-of-7 multisig
- The rate limiter announced after the April 2026 bridge incident is verified negative on this lane. The lockbox implementation contains no rate limit and no pause, and the contract has not been upgraded since October 2025. Containment would rely on the owner changing configuration reactively
Open itemsCurrent external rating for the assessed token, the live allocation mix of the yield strategy, the owner of the redeemer contract on the second chain, and the per-lane bridge validator configuration. Also noted: the asset's own strategy deposits into the same vault that would accept it as collateral, which is a circularity to disclose rather than score.
Onchain reference
Vault frameworkOctober 2026Curator: CrossWorldsLoan asset: frxUSDMaterial risk of loss
Frax Ecosystem Accelerator: a capped vault that lends frxUSD against partner collateral reviewed in a day
A Morpho vault that lends frxUSD against collateral from projects building frxUSD liquidity. Collateral is admitted after a one-day review rather than a full assessment, so what protects depositors is sizing: hard caps, conservative LLTVs and caps that can be cut in minutes.
Read this firstDepositors in this vault bear a material risk of default and of partial or total loss. The vault exists to help newer frxUSD markets reach depth, and its collateral is admitted on a lighter review than our graded vaults. A fast-track listing is not a grade: none of the markets below carries a CrossWorlds grade from this review, and where we have published an Asset review for the same asset, that review and its grade stand on their own.
What the vault is
The Frax Ecosystem Accelerator is a Morpho vault curated by CrossWorlds and sponsored by Frax. It lends frxUSD to borrowers who post LP tokens of Curve pools paired with frxUSD, held through Stake DAO vaults. Its purpose is narrow: give partner projects of the Frax ecosystem a lending market against their frxUSD liquidity early, when a full assessment would come too late or would not pass yet.
The trade-off is explicit. A full assessment tries to measure how likely a loss is. This review asks two questions only:
- Is there an unbounded risk of total loss? The eliminatory filters answer it.
- If things go wrong, is the loss survivable at the size we allow? Caps and LLTVs answer it.
Volatility, drawdown and oracle heartbeat are not modelled. Protection comes from size, monitoring and fast cap cuts. A market that needs a cap above its tier goes through a full assessment first, which is also the route towards our graded vaults.
How collateral is admitted
Thirteen filters. A single failure keeps the collateral out. Filters marked with an asterisk can be waived for a newly launched project, under the conditions set out further down.
| # |
Filter |
Fails if |
| A1 |
Verified contracts |
Source code or proxy implementation not verified on the block explorer |
| A2 |
Admin control |
Unlimited powers (upgrade, mint, re-pointing the minter) held by an externally owned account, by a multisig with fewer than 2 signers, or by a multisig with no timelock and no identified signer |
| A3 |
Audit |
No audit covering the deployed code |
| A4 |
Backing |
Algorithmic or reflexive stablecoin, or reserves neither verifiable onchain nor externally attested |
| A5 |
Oracle |
Manipulable AMM spot price, or an ERC-4626 exchange rate not correctly normalised |
| A6 |
Morpho compatibility |
Rebasing, fee-on-transfer or unsupported decimals |
| A7* |
Track record |
Unresolved exploit or unrepaid backing loss in the last 12 months |
| A8 |
Team |
Anonymous team with no verifiable reputation or institutional backing |
| A9 |
Platforms |
Any intermediate platform unrated or graded D |
| A10 |
Exit liquidity |
No onchain liquidity against frxUSD or a major stablecoin |
| A11 |
Frax link |
The asset does not contribute to frxUSD liquidity, integration or backing |
| A12* |
Minimum liquidity |
Less than $500k of counterparty liquidity against the asset, all onchain pools combined (frxUSD, USDC, USDT or another established stablecoin); for LP collateral, also a pool below $500k |
| A13 |
Incentive plan |
No plan to fund incentives for the pool or the vault |
A few conventions apply to every review. "Identified signer" includes signers whose identity is known to CrossWorlds under a confidentiality agreement; the listing then says so, without naming them. When an asset can be redeemed atomically into another, as sGHO into GHO, the liquidity of the underlying counts towards A12. A13 is settled with each project after the market is accepted in principle.
How a market is sized
Three yes or no tests set the ceiling. They are aligned on the lower scores of our full grids, so that a market can later move to a full assessment without starting over.
| Test |
Passes if |
| B1 Admin |
Powers are reversible only, or the contract is immutable; or unlimited powers sit behind a timelock of at least 12 hours and a multisig of at least 3 signatures with at least one identified signer |
| B2 Audit |
At least one tier 1 audit, or at least two audits, covering the code deployed today |
| B3 Maturity |
At least 3 months since the last upgrade, and at least $10M of supply |
| Outcome |
Tier |
Ceiling |
| All three pass |
High |
$2M |
| At least one fails |
Low |
$500k |
| New project derogation |
New project |
$200k |
The cap of each market is then the lowest of: the tier ceiling; 20% of the vault's total assets; and 30% of the collateral pool's TVL, measured onchain as it stands, loops included. Looped liquidity is not independent exit liquidity, since it unwinds when the collateral falls, which is why the share is held at 30%. LLTV is set by collateral type rather than modelled: 86% for stablecoin LPs, 77% under the derogation.
First-loss deposit. A partner, or Frax, can post 10% of a market's cap in a multisig co-controlled with CrossWorlds. The position is supplied to the market and is junior by agreement: if the market takes bad debt, it compensates the other depositors first, up to its full amount. In exchange it unlocks either one LLTV step (91.5%) or a low-tier ceiling of $1M. Juniority is contractual, not enforced onchain.
New projects. A project launched less than three months ago can be listed at a fixed $200k cap, LLTV 77%, with a mandatory first-loss deposit of $20k, if Frax introduces it and every other filter passes. Liquidity ratios do not apply during that period. At three months the market moves to the standard rules, and its cap follows them.
How risk is managed after listing
| Trigger |
Checked |
Action |
| Collateral stablecoin trades 5% or more below peg |
Every 5 minutes |
Cap set to 0, funds moved out of the market |
| Below peg by more than 1.5% for most of the last 12 hours |
Every 5 minutes |
Cap set to 0, funds moved out of the market |
| Liquidity limit exceeded |
Daily |
Allocation reduced to the limit, cap unchanged |
| Change of admin signers, implementation or minter |
Continuous |
Cap set to 0 pending review |
Peg readings are sized quotes, the sale of 10% of the market's cap, not quoted prices. A cap at 0 stops new lending but cannot withdraw funds already borrowed; only unborrowed liquidity can be moved. Every market is reviewed at 90 days, or 30 days under the derogation.
First markets
Five markets passed the filters on 20 October 2026. Figures are read from the Curve and Fluid APIs and from onchain calls on that date; caps move with pool depth.
| Collateral (Stake DAO LP) |
Pool TVL |
Counterparty liquidity |
Tier |
LLTV |
Cap |
| frxUSD/sfrxUSD |
$11.91M |
$6.00M frxUSD |
High |
86% |
$2M |
| frxUSD/USD3 |
$2.39M |
$2.12M frxUSD |
Low |
86% |
$500k |
| frxUSD/trUSD |
$1.06M |
$1.76M ($0.63M frxUSD on Curve, $1.13M USDC on Fluid) |
High |
86% |
$319k |
| frxUSD/sUSDe |
$0.72M |
Several million through sDAI, scrvUSD and crvUSD pools |
High |
86% |
$216k |
| frxUSD/sGHO |
$0.54M |
Several million through GHO, which sGHO redeems into atomically |
High |
86% |
$162k |
The five caps add up to $3.2M. Until the vault holds $10M, the 20% limit binds before the sfrxUSD ceiling.
frxUSD/sfrxUSD
sfrxUSD is Frax's own savings token. It is placed in the high tier by decision, because Frax sponsors the vault; on the grid alone B1 would fail, since upgrades, minting and the price per share are all set by multisigs without a timelock. On Ethereum the price per share is a number that a 3-of-6 multisig can set, which our open note on this asset describes. The listing is conditional on the signers of that multisig being identified to CrossWorlds. The audit coverage of the January 2026 implementation is still to be confirmed (B2).
frxUSD/USD3
USD3 is the senior tranche of 3Jane's unsecured USDC credit lines. All three B tests fail: no signer identified, no tier 1 audit, and an upgrade on 25 September 2026. Two points are accepted with conditions. Backing is visible onchain as loan positions, but borrower creditworthiness is not, and the loan book is not attested. The price per share falls only when a loss is reported, so the market's oracle has to account for a pending loss.
frxUSD/trUSD
trUSD passes every test, with its signers known to CrossWorlds under a confidentiality agreement. Its Curve pool fell from $3.06M on 6 October to $1.06M on 20 October, which cut the cap from $918k to $319k. Fluid now carries most of the counterparty liquidity. Reserves are held offchain and attested by a third party. Two points are open with the issuer: a timelock contract deployed in September whose code differs from the audited one, and an unidentified administrative call in the same month.
frxUSD/sUSDe
sUSDe passes every test. The token cannot be upgraded, and minting USDe requires a one-day timelock that only defensive actions bypass. The issuer's documentation states a 7-signature multisig and a 7-day delay, where onchain we read a 5-of-10 multisig and one day: we have asked for the difference to be clarified.
frxUSD/sGHO
sGHO passes every test. Its upgrades go through Aave governance plus a one-day delay, and it has no cooldown, so it can be exchanged for GHO at once. The pool itself holds only $119k of frxUSD; a large liquidation would route through GHO.
Reviewed and not listed
Four other frxUSD pools were reviewed on the same dates and are not listed. Two missed the $500k pool minimum, one of them together with an admin key held without a timelock or identified signer. One is pending a call with its team on how its supply is backed. One review was postponed. We publish their findings once the projects have had the chance to respond.
Could not verifyThe signers of the sfrxUSD pricing multisig; the audit coverage of the current sfrxUSD and USD3 implementations; the purpose of a September administrative call on the trUSD minting contract; the reason for the gap between Ethena's documentation and its onchain timelock. Liquidity on venues other than Curve and Fluid was not counted.
What would change a listing
- A filter failing later, including a pool falling below $500k, moves the cap to 0 and stops new lending.
- trUSD and sUSDe caps are set by pool depth: they rise or fall with it, checked daily.
- The sfrxUSD listing lapses if its pricing signers are not identified.
- A project asking for more than its tier allows goes through a full assessment.
Onchain reference
Methodology note2026
Admin keys: what a role can do, how fast, and who holds the key
Most collateral failures are not code bugs. They are someone with a key doing something the holders did not expect. The admin score reads three things together: the power, the delay, and the custody of the key.
Why one score and not two
Until September 2026 the framework averaged two criteria, admin capabilities and governance security. An average let a strong multisig hide a dangerous power, and a harmless power drag down a well-run issuer. The two now go through a matrix: an unbounded power is acceptable only behind a long delay or a strong key, and a strong key does not make an instant upgrade harmless.
The score covers the whole stack that can change what the token is worth: the token contract, its proxy and upgrade path, the minter and every registry that can re-point it. Not the token contract alone.
Grid 1: what the role can do, and how fast
| Impact of the admin functions |
Timelock of 7 days or more, or onchain vote of 5 days |
3 days or more |
12 hours or more |
Instant |
| Immutable, no privileged function |
6 |
6 |
6 |
6 |
| Reversible only: pause, parameters within fixed bounds |
5 |
5 |
5 |
5 |
| Unbounded: upgrade, mint without limit, blacklist, re-pointing who can mint |
5 |
4 |
3 |
2 |
A delay counts only if it is enforced onchain and cannot be bypassed. A multisig confirmation window is not a delay. An emergency path that can execute unbounded actions cancels the timelock; an emergency path that can only pause does not. A pause behind a timelock is a pause that arrives too late, which is why "reversible only" scores 5 whatever the delay. Forty-eight hours is roughly the time a curator needs to set a cap to zero and reallocate away from a market.
Grid 2: who holds the key
| Signer requirements |
Regulated or listed companies, or at least one identified external signer needed, or other blue chip custody solution |
At least one doxxed signer needed |
Identified external signers present |
Doxxed signers present |
Unidentified signers can execute |
| Fully immutable, or decentralised onchain governance |
6 |
6 |
6 |
6 |
6 |
| Multisig x of y with y below 2x and x above 4, or onchain governance with low decentralisation, or institutional MPC wallet / key sharding |
6 |
5 |
4 |
4 |
3 |
| Multisig x of y with y below 2x and x above 2 |
6 |
4 |
3 |
3 |
2 |
| Multisig with x of 2 or more |
6 |
3 |
2 |
2 |
1 |
| EOA, contract with a single admin, or fewer than 2 of N |
5 |
4 |
4 |
3 |
1 |
"Needed" is read strictly: the threshold cannot be reached without that signer. The guiding question is not how many signatures, but what one party can do on its own. Wallets of one company, its employees and affiliates count as one party. Unidentified keys that can reach the threshold together count as one party. A separation of duties (minting and custody, minting and allocation) counts only if the roles sit with independent organisations and no single body can reassign both.
Grid 3: the admin score
| Capabilities \ Custody |
6 |
5 |
4 |
3 |
2 |
1 |
| 6 |
6 |
6 |
6 |
6 |
6 |
6 |
| 5 |
6 |
6 |
5 |
5 |
4 |
3 |
| 4 |
6 |
5 |
5 |
4 |
4 |
3 |
| 3 |
6 |
4 |
4 |
4 |
3 |
2 |
| 2 |
5 |
4 |
3 |
3 |
2 |
1 |
The admin score enters the Asset and token pillar, which takes the worst of its criteria. When several bodies hold unbounded powers, each path is scored; the worst path is the default reading, and any other reading is written down with the worst-of result next to it.
Institutional key management behind a plain address
In October 2026 the custody grid gained a category for institutional MPC wallets and key sharding, at the level of a multisig with more than four signers.
The reason: some issuers hold their admin roles in plain externally owned accounts whose single key is in fact never assembled in one place. Multi-party computation splits it into shares held in separate environments, and a signature requires several approvers. Treating such an address like a key on one laptop would score a regulated custodian below a five-person multisig of anonymous signers.
The difficulty is that this cannot be seen onchain. An MPC address and a single-key address produce the same signature. So the category is applied on two conditions, both of which must hold:
- A public statement by the issuer that explicitly covers the admin keys, not only its custody business in general: that the roles require approval from several people, that no individual controls a key, and how the key material is stored.
- Onchain behaviour consistent with it: privileged keys used rarely and for their stated purpose, gas paid from the issuer's identifiable infrastructure, rotations carried out in an orderly way across products and chains, no economic action (mint, upgrade, pause) around a key change.
If either is missing, the address is scored on the EOA row. In every case the review states what could not be verified, starting with the approval quorum, which no outside reader can see. The first asset scored under this category is cbBTC, whose roles are Coinbase addresses; read on the EOA row it would have been one grade lower.
What we read onchain for every privileged role
- The current holder, through the role's getter or the proxy storage slots, re-read on the day of publication.
- The full history of role changes (
OwnershipTransferred, AdminChanged, Upgraded, minter and registry events), not the issuer's documentation, which can lag by months.
- The contract type of each holder: a Safe or older multisig (threshold and owners), a timelock (its delay and its own admin), or an externally owned account (nonce, last use, and who funds its gas).
- Every path from a role to an unbounded mint, traced through the verified source, including registries that can appoint themselves to two roles meant to be separate.
- How an unbacked mint would be extracted. It does not need to be sold: posted as collateral in a lending market, it can be borrowed against in the same transaction. The amount at risk is bounded by borrowable liquidity, not by how visible the mint is.
Methodology note2026
How we size caps: from observable liquidity to liquidation ability
A cap is a claim about how much collateral can be sold, in a stressed market, before the position goes underwater. Here is how that becomes a number.
Start from the margin, not from the pool
The LLTV fixes the budget. At 91.5% there are 8.5 points between the liquidation price and insolvency, and every cost of unwinding has to fit inside them: the slippage of the sale, the liquidator's incentive, and whatever the price moves while the transaction is in flight. A cap is defensible when a sale of its full size, measured and not assumed, consumes a small fraction of that margin.
Then ask who else is selling
This is the step that distinguishes a usable cap from an arithmetically correct one. Depth is not reserved. If a third of an asset's supply is pledged elsewhere at high LLTV, those liquidators exit through the same venue, at the same moment, for the same reason. So the figure that matters is not total liquidity but liquidity net of the collateral that would be sold in the same event. In one assessment in this series that reduced a comfortable number to nothing the method could count, which is what produced the grade.
And keep the cap honest against the pool
For LP collateral, a cap that is a large share of the pool it sits in creates its own reflexivity: the collateral's value depends on depth that the cap itself is consuming. We hold caps well under a third of pool TVL and treat crossing that as a reason to re-examine pool health rather than a threshold to argue past.
- Measured slippage at 10% and at 100% of the cap, against the liquidation margin
- Exit liquidity outside the collateral pool, as a multiple of the cap
- That same liquidity net of collateral pledged elsewhere at high LLTV
- Cap as a share of pool TVL, and of the assessed asset's total supply
- Provider concentration, because depth held by few hands can leave
Where a measurement cannot be made, it is published as unmade. An unscored criterion is a better disclosure than a scored guess.
Methodology note2026
Why a single criterion can override three healthy layers
The framework takes worst-of at almost every level, then caps the result by the number of red flags. Averaging would be kinder and would describe the wrong risk.
Worst-of, almost everywhere
A layer takes the worst grade among its pillars, and most pillars take the worst grade among their criteria. The reason is that these are not dimensions of quality that trade off against each other. A deep, well-audited, long-lived asset whose contract can be re-pointed by three signatures is not a good asset with one flaw. It is an asset whose other qualities you hold at someone's discretion.
Three exceptions are written into the scoring sheet, each for a stated reason:
- Issuer takes the better of its two criteria, Social and Decentralisation. An asset needs either an accountable, reputable issuer or a product decentralised enough not to need one. It does not need both.
- Operational is the average of its six criteria, rounded to the nearest. Lindy, TVL, audits, bug bounty, external ratings and peer reviews are signals that corroborate each other; no single one of them describes how the asset can fail.
- Admin capabilities are crossed with key custody in a matrix rather than taken separately: what a privileged role can do, how fast, and who holds the key are read together. Our note on admin keys sets out the grids.
Every review states how its pillars combine, under its criteria table.
One review per layer
Each layer is published as its own review. An Asset review grades one asset, independently of any market it sits in. A Platform review grades one venue in the dependency chain: the AMM, the wrapper, the lending protocol. A Market review grades one Morpho market: its pool, its oracle, and whether the collateral can be sold at the size of the cap before a position goes underwater.
A market's grade is the worst of every review it depends on: each asset in the collateral, each platform, and the market itself. The Market review lists those components with their dates, and the grade is recomputed from them each time the site is published. When an Asset review changes, every market that relies on it changes with it.
Then red flags, which are separate
Any criterion scored D is a red flag, with one exception set out below. Red flags are added up across all the reviews a market depends on, and the total caps the market's grade.
| Red flags across the components |
Highest possible grade |
| 0 |
No cap |
| 1 |
A |
| 2 |
B |
| 3 |
C |
| 4 or more |
D |
This is what took one assessment in this series to D: its layers bottomed out at C, and four criteria at 1 capped it one step lower. The flags are listed by name in every review and in the market's eligibility table, because a grade compresses and a list does not.
Because flags are added up, a red flag in a Platform review reaches every market that runs on that platform. That is intended: a market is only as safe as everything it runs on.
The one exception: the two Issuer criteria
Social and Decentralisation are not counted as red flags, since October 2026.
The Issuer pillar takes the better of the two, by design. A regulated, listed company that runs everything itself scores at the top on Social and at the bottom on Decentralisation; an ownerless protocol does the reverse. Neither is a warning sign: each is one of the two acceptable ways to answer the question the pillar asks. Counting the low criterion as a red flag would cap every asset issued by a single accountable company at A, whatever the rest of the review found, which is not what the pillar is meant to say.
Nothing is lost by the exception. If both criteria score 1, the pillar itself scores 1, and the Asset layer falls to D through the worst-of rule, which is stronger than any cap.
The change was made while reviewing cbBTC, whose Decentralisation scores 1 and Social 6. No review published before it had either Issuer criterion at 1, so no other grade moved.
A criterion that does not apply
A criterion that does not apply to an asset is published as not applicable, with the reason. It is left out of the pillar's calculation and is not a red flag. The case so far is the bug bounty of an immutable, ownerless contract: a bounty pays for a flaw to be disclosed so it can be fixed, and that code cannot be fixed. An unscored criterion is never published as a scored guess.
What this framework deliberately does not do
- It does not let a strong issuer offset a weak contract. Those are different failure modes, scored in different pillars, and the layer takes the worse of the two
- It does not score an unverified claim as though it were verified. It scores what was evidenced and records the rest as open
- It does not quietly re-score an inconvenient criterion. Where we think a criterion misreads a specific market, the adjustment goes to governance as an explicit vote, with the raw measurement left in the sheet
- It does not treat a grade as permanent. Several criteria are time based and improve on their own, which is why caps and re-assessment triggers carry the weight that a grade alone cannot