CrossWorlds Get in touch
Independent onchain research and advisory

Discipline where worlds cross.

Navigate the complexity of decentralised finance with independent research on risk and liquidity.

2curated vaults
8assets reviewed and graded
3,596incentive campaigns run on infrastructure our team built
0bad debt across 22 liquidations, including a collateral depeg
What we do

Three mandates, one underwriting standard.

Advisory, research and curation are the same discipline applied at different distances from the risk.

Trusted by
Hover a name to see the engagement

Bridging onchain and traditional finance requires rigorous risk assessment and deep technical expertise.

Neither side of that bridge is served by enthusiasm. A treasury desk, a fund or a first-time depositor should all be able to see what stands behind a yield before they trust it.

Why we publish everything

Work with us

Advisory & curation

Liquidity programmes, incentive design, market parameterisation, curation mandates.

contact@crossworlds.fi
Submit an asset

Token issuers: download our asset rating questionnaire, fill it in, and send it to submissions@crossworlds.fi.

Download the questionnaire

Read our research

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

ComponentReviewDateRed flagsGrade
Asset, cbBTCA-009October 20260S
Market, this reviewM-009October 20260S
Eligible gradeLowest 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

ContractAddress
Morpho market cbBTC/USDC 86%0x64d65c9a2d91c36d56fbc42d69e979335320169b3df63bf92789e2c8883fcc64
cbBTC0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf
USDC0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Oracle (MorphoChainlinkOracleV2)0xA6D6950c9F177F1De7f7757FB33539e3Ec60182a
Chainlink BTC/USD proxy (read by the oracle)0xF4030086522a5bEEa4988F8cA5B36dBC97BeE88c
Chainlink BTC/USD aggregator0x4a3411ac2948b33c69666b35cc6d055b27ea84f1
Chainlink cbBTC/USD proxy (not used)0x2665701293fCbEB223D11A08D826563EDcCE423A
Chainlink cbBTC Reserves proof of reserve (not used)0xcBe87Dc0Cf9d807848a3E703B01A90B28eCFb2a7
Interest rate model (AdaptiveCurveIRM)0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC
Largest borrower (EOA, unidentified)0xbCd16D361adf5E7e0dc0010756B49666b4f38eE0
Stake DAO USDC Core vault0x4b7D98a652C4ca87B3EAE4A64F7FF852de2Ef9B7

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

ComponentReviewDateRed flagsGrade
Asset, WETHA-008September 20260S+
Market, this reviewM-008September 20260S+
Eligible gradeLowest 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

ContractAddress
Morpho market WETH/USDC 86%0x94b823e6bd8ea533b4e33fbc307faea0b307301bc48763acc4d4aa4def7636cd
WETH90xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
USDC0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Oracle (MorphoChainlinkOracleV2)0x0F948CBa8231Db7898ef36A4212581Ad7b1B4580
Chainlink ETH/USD shared SVR, secondary proxy (read by the oracle)0xc0053f3FBcCD593758258334Dfce24C2A9A673aD
Chainlink ETH/USD shared SVR, primary proxy0xd82562bb17557231Cd871e1B2525F3AB8d63D409
DualAggregator0xad88fc1a810379ef4efbf2d97ede57e306178e5a
Canonical Chainlink ETH/USD proxy (not used)0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419
Interest rate model (AdaptiveCurveIRM)0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC
Previous WETH/USDC 86% market (emptied)0x7dde86a1e94561d9690ec678db673c1a6396365f7d1d65e129c5fff0990ff758
Stake DAO USDC Core vault0x4b7D98a652C4ca87B3EAE4A64F7FF852de2Ef9B7

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:

  1. An Aragon vote of 5 days, the last 2 of which only allow objections; quorum 5% of LDO (50 million), majority 50%.
  2. Submission to Dual Governance, then to its Emergency Protected Timelock: 3 days after submission, then 1 more day after scheduling.
  3. 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

ContractAddress
wstETH (immutable wrapper)0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0
stETH / Lido (Aragon app proxy)0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84
Lido implementation (since 24 Jul 2026)0x028271E30a695c0527A0C50cA30603feD004cDb0
Aragon Kernel0xb8FFC3Cd6e7Cf5a098A1c92F48009765B24088Dc
Aragon ACL0x9895F0F17cc1d1891b6f18ee0b483B6f221b37Bb
Lido Agent (admin of every proxy)0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c
Aragon Voting0x2e59A20f205bB85a89C53f1936454680651E618e
LDO token0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32
Dual Governance0xC1db28B3301331277e307FDCfF8DE28242A4486E
Emergency Protected Timelock0xCE0425301C85c5Ea2A0873A2dEe44d78E02D2316
DG Admin Executor (sole executor on the Agent)0x23E0B465633FF5178808F4A75186E2F2F9537021
Veto signalling escrow0x165813A31446a98c84E20Dda8C101BB3C8228e1c
Emergency governance (TimelockedGovernance)0x553337946F2FAb8911774b20025fa776B76a7CcE
Emergency activation committee (Safe 4 of 7)0x8B7854488Fde088d686Ea672B6ba1A5242515f45
Emergency execution committee (Safe 5 of 7)0xC7792b3F2B399bB0EdF53fECDceCeB97FBEB18AF
Tiebreaker core committee0xf65614d73952Be91ce0aE7Dd9cFf25Ba15bEE2f5
Reseal committee (Safe 5 of 6)0xFFe21561251c49AdccFad065C94Fb4931dF49081
CircuitBreaker0x6019CB557978296BA3C08a7B73225C0975DFB2F7
CircuitBreaker pauser of the withdrawal queue (Safe 3 of 6)0x8772E3a2D86B9347A2688f9bc1808A6d8917760C
Accounting oracle0x852deD011285fe67063a08005c71a85690503Cee
Oracle HashConsensus (5 of 9)0xD624B08C83bAECF0807Dd2c6880C3154a5F0B288
Oracle report sanity checker0x147f8d3cf3004FAf9Bf94E88B54b6C06De507be9
VaultHub (Lido V3 external mint)0x1d201BE093d847f6446530Efb0E8Fb426d176709
Withdrawal queue0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1
Easy Track EVMScriptExecutor0xFE5986E06210aC1eCC1aDCafc0cc7f8D63B3F977
Lido Locator0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb
L1 escrow, Arbitrum0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a
L1 escrow, Base0x9de443AdC5A411E83F1878Ef24C3F52C61571e72
L1 escrow, Optimism0x76943C0D61395d8F2edF9060e1533529cAe05dE6

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

ContractAddress
cbBTC token (proxy, same address on Ethereum, Base, Arbitrum)0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf
Implementation FiatTokenV2_10x7458bfdc30034eb860b265e6068121d18fa5aa72
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

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

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

  1. 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.
  2. 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.
  3. 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.
  4. 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 verify

The 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

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 disclosed

The 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

ContractAddress
crvUSD0xf939E0A03FB07f59A73314E73794Be0E57ac1b4E
ControllerFactory (sole minter since May 2023)0xC9332fdCB1C491Dcc683bAe86Fe3cb70360738BC
DualAdmin (factory admin since November 2025)0xB7400d2EA0f6Dc1d7b153aA430b9e572f28aFB79
Curve DAO ownership agent0x40907540d8a6C65c637785e8f8B742ae6b0b9968
Curve Emergency DAO Safe (5 of 9)0x467947EE34aF926cF1DCac093870f613C96B1E0c

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 verify

The 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

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 verified

About 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

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 correction

The 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

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 items

Current 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

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 first

Depositors 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:

  1. Is there an unbounded risk of total loss? The eliminatory filters answer it.
  2. 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 verify

The 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

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:

  1. 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.
  2. 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.

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.

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
Curation

We set the parameters, and we answer for them.

Curating a lending vault means deciding what may be borrowed against, how much, and at what liquidation threshold. Those decisions are ours, they are public, and they are reversible through governance.

The framework

A two-phase framework, published in full.

Nothing is scored on intuition. Each criterion has a calibrated grid, each pillar combines its criteria by a fixed rule, each layer takes its worst pillar, and each layer is published as its own review. A market's grade is the worst of its asset, platform and market reviews, capped by their red flags.

Phase I: Screening

A hard filter applied before any analytical work begins. Assets that fail pre-assessment screening never reach the scoring stage.

Layer 1: Asset

What is it worth

Each underlying asset assessed on its own, once, in an Asset review that every market using it then relies on. For LP collateral, every pool token is graded separately; the loan asset is excluded.

IssuerAsset & tokenOperational
Layer 2: Platform

Who holds it

Every venue in the collateral's dependency chain carries its own grade, set in a Platform review and re-rated on its own schedule rather than per market.

Curve: SStake DAO: SMorpho: S
Layer 3: Market

Can you sell it

The lending market itself, in a Market review: liquidation ability under stress, oracle design, and for LP collateral the health of the pool behind it.

Pool healthPrice feedLiquidityPrice fluctuation
Red flags

Any criterion scored D is a red flag. Red flags are added up across the asset, platform and market reviews that make up a market, and their total caps its grade: one red flag caps it at A, two at B, three at C, four or more at D. A collateral can be structurally sound and still be rejected on a handful of unacceptable dimensions.

The scale

Six grades, and what each one is allowed to back.

GradeScoreMeaningVault eligibility
S+6Most blue-chip assets: deep liquidity, immutable, long standing life.Investment grade vaults
S5Blue-chip assets with deep liquidity and a high level of trust.Investment grade vaults
A4Less common asset with a solid security set-up, deep liquidity and track record.High yield vaults
B3More niche assets, lower liquidity, slightly higher risk profile, solid security set-up.High yield vaults
C2Too risky for standard vaults, but can fit a special partner mandate.Partner vaults
D1Assessed as too risky to be added to any vault we curate.None
Live mandates

The vaults we curate, and the parameters behind them.

The vaults we curate on Morpho today, under mandate. Each collateral market inside them was graded before listing, and its cap and LLTV were approved by governance through a Lending Market Adjustment Proposal.

VaultChainLoan assetTVLNet APY
Stake DAO frxUSD v2EthereumfrxUSD$648k2.98%Deposit
Stake DAO USDC v2EthereumUSDC$359k5.40%Deposit

Total value and net APY read live from the Morpho API. Net APY is the trailing average, the same measure the vault pages show. Deposits are made on Morpho, not with CrossWorlds, and are subject to the risks set out below.

After listing

Curation does not stop at the listing.

01

Monitor

Pool depth, peg behaviour, LP concentration and oracle health tracked continuously against the levels the grade assumed.

02

Re-assess

A material change in any binding criterion triggers a fresh assessment rather than a judgement call.

03

Downgrade

A downgrade to C restricts the asset to partner mandates. A downgrade to D suspends new deposits pending governance review.

04

Propose

Every cap, LLTV or listing change goes to governance as a Lending Market Adjustment Proposal with the assessment attached.

Brand assets

The mark, the colours, and how to use them.

Everything here is free to use when referring to CrossWorlds: in a governance forum post, a protocol dashboard, a conference programme, a list of curators. No permission needed, no attribution required.

One mark, five discs.

The mark is a crossword intersection: two words crossing, the shared square picked out in amber. It is the same shape in every file. Only the disc behind it changes, so that the logo sits correctly whatever it is placed on.

CrossWorlds, ink disc
crossworlds

The default. Legible down to 20 pixels. Use this one unless you have a reason not to.

CrossWorlds, amber disc
crossworlds-warm

For a row of token avatars where the neighbours are dark. The amber disc separates cleanly instead of merging into the stack.

CrossWorlds, white disc
crossworlds-light

For dark interfaces, where an ink disc would disappear into the background.

CrossWorlds, five cells on ink
crossworlds-cells

The five-cell version, closer to the grid in our wordmark. Above 28 pixels only: below that the gaps close and the shape turns to mush.

CrossWorlds, five cells on amber
crossworlds-cells-warm

The five-cell version on amber. Above 32 pixels.

everything

All five marks, in SVG and in PNG at 32, 64, 256 and 512 pixels, in one archive.

The palette.

Three colours in the mark, plus the ground the pages sit on. Click a swatch to copy its value.

Amber is #D79640 on a dark ground. A darker #B8761F is used for amber text on a light ground, where the lighter tone fails contrast. Do not use the text value inside the mark: it goes muddy against ink.

The name.

CrossWorlds Consulting on first mention, CrossWorlds after that. One word, capital C and capital W, no space and no hyphen.

Please do
  • Use the mark to credit us as the author of an assessment, or as curator of a market
  • Scale it freely. It is vector, and it was drawn to survive being small
  • Place it on any background, choosing the disc that keeps the edge visible
  • Crop it to a circle. The artwork already is one, edge to edge
Please do not
  • Recolour the mark, stretch it, rotate it, or add effects to it
  • Rebuild it from the five-cell version below 28 pixels, where it stops being readable
  • Use it to suggest that we endorse, recommend or have reviewed something we have not
  • Present a grade as a credit rating, or as current without its assessment date

Anything else, including a format we have not published here, write to contact@crossworlds.fi.