Bottom line

The position is USDC deposited into a 3F (“Grunt”) Facility intent that builds a leveraged Janus Henderson Anemoy JAAA position: the protocol subscribes to the JAAA fund, wraps the shares 1:1 into a transfer-restricted wJAAA, posts them as collateral on a dedicated Morpho Blue market (98% LLTV), borrows USDC and loops to a target LTV. Two live products exist — “JAAA - 3F - 8x” (87.7% LTV) and “JAAA - 3F - 10x” (90.2% LTV) — whose ERC-20 shares are what the depositor ends up holding. Net return convention: leveraged spread between JAAA NAV accrual (5.36% annualized, trailing 30d on-chain) and the Morpho USDC borrow rate (3.84% on 2026-09-02), minus a 10% performance fee on gains and a negotiated, on-chain-uncapped bridge-financing spread at entry and exit. At the live 8x that is roughly 16% gross / ~14.5% after the performance fee; the app’s headline “21.84% max APY” is gross of fees at 10x. Closest investable benchmarks: unlevered JAAA (~5.4%, our existing memo) and sUSDS.

Immediately available exit: none. Exit is a reverse intent that only 3F’s FACILITATOR_ROLE keeper can execute, routed through the JAAA fund’s async redemption. The fund itself fulfills fast — measured over the six months to 2026-09-03: median 0.27d, max 3.22d, all 43 redemption requests fulfilled — so the latency and the blocking risk sit in 3F’s own layer (keeper action, intent windows — the app quotes a weekly cycle the fund does not have — and pausable claims), with no on-chain forcing function anywhere. Every token in the chain — PM shares, wJAAA, JAAA — is transfer-restricted, so there is no secondary market and no permissionless fallback.

Dominant risk: a leveraged position whose liquidation engine is keyed to an attested NAV (Chronicle VAO, 2-of-25 validator quorum, no staleness check in the Morpho oracle path) rather than a market price, with a permissioned liquidator set — the 10x product enters pre-liquidation at a ~3% NAV markdown, inside the 3–5% markdown a Mar-2020-style CLO stress would print. The venue is a private beta at ~$4.4M total collateral and ~$518K aggregate equity, live since April 2026.

Unresolved before any capital decision: the Request (PT/YT bridge) implementation and live bridge spreads, the guardian quorum on production intents, multisig signer attribution, and NOCA’s onboarding path.

Mechanism and true exposure

One unit of USDC travels: Facility intent → bridge capital → JAAA subscription → wJAAA wrap → Morpho collateral → looped USDC borrow → PM shares.

Oracle path (the load-bearing feed): Morpho reads a standard MorphoChainlinkOracleV2 (0x2E4e…D886) → single feed ChronicleVAO_Centrifuge_JAAA_ChainlinkAdapter_1 (0x5A4B…ed04) → UScribeRouter (0x5D44…89C8) → UScribe VAO::Centrifuge_JAAA (0x02cf…8eC0) with 25 validators and quorum (bar) = 2 for both Schnorr and ECDSA. Pokes land roughly every 6–10h; the published value (1.047726) sits ~2bps above the fund vault’s pricePerShare() (1.047512), consistent with daily accrual interpolation between official NAV prints (mechanism UNVERIFIED). No layer of this path checks staleness — the adapter hardcodes roundId = 1 and MorphoChainlinkOracleV2 ignores updatedAt — and reads are toll-permissioned: de-tolling the Morpho oracle would make every price read revert and brick the market. The NAV root remains Anemoy’s single pool-manager EOA (re-verified sole manager of pool 281474976710663 at block 25,888,786; no UpdateManager events for this pool since the 2026-07-21 review).

Label-versus-exposure gap: “leveraged JAAA” is really AAA-CLO credit at ~8–10x through four wrap layers (JAAA → wJAAA → Morpho collateral → PM share), where exit liveness depends on a 3F keeper and the Anemoy redemption EOA, and solvency-relevant pricing depends on Chronicle’s attestation of a NAV that Anemoy alone produces. Leverage layers between root and position: the CLO waterfall (inherent to the asset) plus one on-chain borrow loop. The PM socializes losses across all holders of the same share class, and claim has no minimum-out protection.

Net economics, benchmark and capacity

Return legs (all measured this session unless noted):

MeasureCurrent (8x live)At additional capital
Net return≈16.2% gross; ≈14.5% after 10% perf. fee; bridge spread unquantifiedBorrow leg rises with utilization (adaptive IRM); spread compresses toward zero as borrow demand outgrows the two lender vaults
BenchmarkUnlevered JAAA ≈5.4%; sUSDSUnchanged
Immediate exitNone (keeper + 3F batching; the fund itself fulfills T+0–T+3)Worse: exit runs through the same keeper-gated pipe regardless of size

Arithmetic: at leverage L = 1/(1−LTV), equity carry ≈ base×L − borrow×(L−1). 8x book (L≈8.16): 5.36×8.16 − 3.84×7.16 ≈ 16.2% gross. 10x book (L≈10.2): ≈19.3% gross. Each 10bp of spread compression costs ~70–90bp of equity return; at the Aug-20 borrow print the 8x gross carry was ≈5.7% — below unlevered JAAA with none of its simplicity.

Capacity: total market borrow is $3.85M against $4.28M supplied by two curator vaults holding $21.7M combined — nominal headroom exists only if the curators raise allocations. Marginal capital immediately moves the IRM (90% target utilization leaves $427K idle). This is a ~$0.5M-equity private beta; NOCA-scale capital would be the market.

Exit, cost and latency

Primary (only) path: deposit PM shares into an exit intent → keeper pulls bridge USDC → repays Morpho debt, withdraws wJAAA, burns to JAAA → requestRedeem at the Centrifuge vault → Anemoy pool-manager EOA approves and USDC settles (measured fund fulfillment, 2026-03→2026-08: median 0.27d, max 3.22d across all 43 redemption requests, including Grove’s $318.5M in 1.92d — the app’s “weekly cycle” is 3F’s own batching, not a fund property; verified on-chain 2026-09-03) → USDC repays the bridge → intent resolves → user claims pro rata. The latency floor is therefore days and is set by 3F — keeper responsiveness plus intent windows — not by Anemoy; there is no deadline, penalty, or permissionless fallback at any step.

What can strand the position (verified in source by this session’s review):

Concurrent-exit / stress behavior: a NAV markdown of d multiplies into equity as ≈ L×d and moves LTV to LTV/(1−d). Pre-liquidation (93%) triggers at d ≈ 5.7% for the 8x book and d ≈ 3.0% for the 10x book; native Morpho liquidation (98%, 2% bonus) at d ≈ 10.5% / 8.0%. A Mar-2020-style AAA-CLO markdown (3–5% at the next NAV print, per the base memo’s uncited-but-plausible figures) therefore puts the 10x book into pre-liquidation deleveraging — selling collateral at a marked-down attested NAV through a permissioned liquidator set, realizing roughly L×d of equity (≈30–50% at 10x) before any recovery prints. Accounting liquidity (NAV redemption at par) and executable liquidity (who can actually clear the collateral, at what discount, through an operator-gated redemption pipe whose stress behavior has never been observed) diverge exactly when it matters.

Lender-side run: the two vaults can withdraw only the idle $427K instantly; beyond that they push utilization above target and the IRM ratchets the borrow rate until borrowers repay — a forced-deleverage channel that needs no liquidation event (the Aug-20 spike is the small-scale rehearsal).

Risks

Verified on-chain this session (2026-09-02, block 25,888,786): market params/state, oracle chain and quorum, wJAAA backing and role table, PM parameters and fees, LTV thresholds, governance graph (Safes, Timelock, factory admin), transfer-gate simulations, NAV series, borrow-rate history (Morpho API), underlying JAAA manager/registry state. Source review of Facility/PositionManager/WrappedAsset from verified sources; Request (PT/YT) and CentrifugeFund implementations, TransferGuard, and live intent quorums NOT reviewed. Rows import the base JAAA memo where noted.

IDRiskMechanism and evidence
R1Exit liveness monopoly: one keeper role, pausable claims, no timeoutAll intent progression after lock — including resolve — is FACILITATOR_ROLE-only (Facility source, verified impl 0xaf89…e7e); 4 keeper contracts hold the role. COMPLIANCE/owner pauseFor blocks even claim and can be permanent; owner can redirect pre-resolution deposits (revertDeposit). Guardian quorum protecting setFund/setRequest/swap can be 0 per intent — quorum-0 intents let the keeper bind arbitrary fund/request contracts and swap value between intents at self-chosen rates; live intent quorums UNVERIFIED. Trigger: keeper inaction >48h on a pending exit, any pauseFor, any updateTarget/setRequest on an intent we hold.
R2Leveraged liquidation keyed to an attested NAV, with a permissioned liquidator setLLTV 98%, pre-liquidation from 93% (safeLtv/liquidationLtv verified on both borrow positions). 10x book pre-liquidates at ~3% NAV markdown, 8x at ~5.7% — inside a Mar-2020-shaped CLO markdown. Unwrapping seized wJAAA requires Anemoy KYC (transfer simulation verified), so clearing capacity under stress is a handful of allowlisted actors redeeming through the same operator-gated fund path — fast in calm markets (median fulfillment 0.27d) but unobserved under stress. Loss ≈ L×d realized at the marked-down NAV, socialized across PM shareholders; claim has no min-out. Trigger: PM LTV above safeLtv; Chronicle value −1.5% in 24h.
R3Oracle chain: 2-of-25 Chronicle quorum, no staleness enforcement, toll-gated reads, NAV root = one EOAUScribe VAO::Centrifuge_JAAA bar = 2 (verified); two Chronicle governance contracts can lift/drop validators and re-point the router (setUScribe). Adapter hardcodes round fields; MorphoChainlinkOracleV2 never checks age; a stale or false NAV prices both liquidations and PM share mints/burns. De-tolling the oracle bricks the market (reads revert). Underlying NAV publisher is still the single Anemoy EOA (re-verified), whose vault prints now lag up to 94h (sampled Aug-2026) even as redemption fulfillment stays fast (median 0.27d) — the staleness is a pricing risk, not a settlement bottleneck. Trigger: Chronicle poke age >36h; router setUScribe; bar or validator-set change;
R4Governance: 24h timelock to upgrade everything, controlled by a 2-of-3 with one bare-EOA signerwJAAA proxy (ERC1967Factory adminOf), Facility proxy, and the CentrifugeFund + PositionManager beacons all upgrade via one Solady Timelock (0xC1ab…6fA5, minDelay 86,400s) whose ADMIN/PROPOSER/CANCELLER is a 2-of-3 Safe (0xA9F5…bA24) with signers: bare EOA 0xe9DB…eCe2, smart-account proxy 0xe8B5…C14e, 4-of-7 Safe 0xC820…5d60. PM owner (a sibling 2-of-3) sets fees (caps 2%/50%), target LTV, rebalancer budget (1% loss per 30-min cooldown, cap 10%), and the TransferGuard. Signer-org attribution (3F vs Steakhouse) UNVERIFIED. Trigger: any Timelock proposal; any setFeeData/setLtv/setRebalanceConfig/role change; threshold/owner change on the three Safes.
R5Borrow-side fragility: two curator vaults are the entire lender base; the carry can invertSupply $4.28M from “3F x Steakhouse USDC” ($18.7M AUM) and “Presto USDC Forte” ($3.0M); utilization pinned at 90%; idle $427K. Borrow APY spiked to 5.31% (week of 2026-08-20), compressing the spread to ≈0 — at scale or under lender withdrawal the levered carry goes negative while exit still takes days of keeper-gated unwinding. Curator attribution and vault mandates UNVERIFIED. Trigger: utilization >95% for 6h; borrow APY > trailing-30d JAAA carry; either vault cutting its allocation cap.
R6Underlying JAAA risk imports wholesaleSingle-EOA NAV/redemption/KYC gate, custody opacity (no PoR, annual audit), CLO mark-to-market, and anchor-holder concentration — see ../janus-henderson-anemoy-jaaa/memo.md R1–R5. This strategy adds leverage and two more operator layers on top of that unchanged base. JAAA ETH-leg supply grew 357.7M → 379.0M since July (~$22M net inflow, of which 4.18M shares now sit in wJAAA).

Trust and control

Evidence boundary

Pinned and reproducible: Ethereum block 25,888,786 (2026-09-02, ts 1788342191) via cast + $ETH_RPC_URL; reads and derivations in snapshot.json beside this memo (market params/state, oracle chain, role tables, PM/fee/LTV decode, NAV series at blocks 24,599,986 / 25,244,386 / 25,673,986, transfer simulations, governance graph). Contract sources from Blockscout verified listings (WrappedAsset, Facility, PositionManager, MorphoChainlinkOracleV2, Chronicle adapter/router, Solady Timelock, ERC1967Factory).

External inputs: Morpho Blue API (market history, vault names, positions; 2026-09-02); app.3f.xyz asset page (base/borrow/max APY, 93%→98% LTV band, weekly cycle, T+1 — private-beta UI, same-day; the weekly-cycle claim was subsequently refuted as a fund property by the 2026-09-03 latency measurement, see Unresolved 5); docs.3f.xyz (mechanism, bridge facilitators, pre-liquidation); audits in 3FLabs/grunt — ChainSecurity ×2 (2026-04) + Cantina + Cantina fee review (2026-05); The Block on the $4M raise and backers (Morpho, Steakhouse, F-Prime, Maven 11, et al.).

Unresolved (falsifiable, before any capital decision):

  1. Request/PT-YT implementation and the realized bridge spread on live intents (entry/exit cost leg is unquantified).
  2. Guardian quorum values on production intents (quorum-0 collapses the keeper-abuse protections).
  3. Attribution of the three governance Safes and the four keeper contracts to named organizations; whether the bare-EOA Timelock signer is MPC-custodied.
  4. Chronicle VAO validator identities and the accrual methodology behind the ~2bp NAV premium.
  5. Closed 2026-09-03 (was: the weekly-cycle and T+1 claims): measured fund fulfillment is T+0–T+3 — median 0.27d, all 43 redemption requests over six months fulfilled, including Grove’s $318.5M in 1.92d — so “weekly” is 3F’s own batching, not a fund property. Open remainder: why 3F’s UI adds up to a week over a same-day fund (window configuration? bridge economics?), and stress-regime behavior, which no data covers. The vault’s NAV-publication lags (94h observed) are a separate, still-open issue that also breaks the base memo’s 48h staleness trigger.
  6. NOCA onboarding: private beta, PM-share TransferGuard semantics, and whether the GnosisDAO wallet can hold PM shares at all.

Supporting evidence

Live positions (block 25,888,786): JAAA-8X — collateral 3,252,558 wJAAA ($3.408M at oracle 1.047726), debt $2,980,131, LTV 87.4%, equity $427,651, pending fee shares ≈9,055 of 414,061 supply. JAAA-10X — collateral 856,155 wJAAA, debt $806,860, LTV 90.0%, equity $90,153. Together: 98.3% of market collateral; five smaller positions hold the rest.

Borrow-rate history (Morpho API, weekly): 2.45% (Apr-23) → 3.7% plateau (May–Aug) → 5.31% (Aug-20) → 3.84% (Sep-02); borrow peaked at $6.7M in June, $3.85M now; utilization 89–91% throughout.

JAAA NAV (pricePerShare()): 1.026155 (block 24,599,986) → 1.036579 (25,244,386) → 1.042924 (25,673,986) → 1.047512 (25,888,786); vault priceLastUpdated lags sampled over the last three weeks: 22–94h (five samples >48h). Chronicle VAO pokes: ~6–10h cadence, 2,016 events over ~26 days.

wJAAA role table (from full RolesUpdated history): ISSUER = 10 CentrifugeFund beacon proxies; SENDER ≈ 25 addresses (Morpho Blue, 2 PMs, borrow positions, MorphoRebalancer 0x882f…e096, owner Safe); RECEIVER = Facility. Facility roles: FACILITATOR ×4, GUARDIAN ×2, COMPLIANCE ×2 (incl. the 4-of-7 Safe).

Fund redemption latency (measured 2026-09-03, vault event history blocks 24,606,331→25,896,331): every RedeemRequest matched to the next RedeemClaimable per controller — n = 43/43 fulfilled, median 0.27d, max 3.22d; deposits n = 83, median 0.61d, max 4.18d. 3F’s own CentrifugeFund wrappers appear throughout at 0.05–1.0d. The largest single redemption in the window, Grove’s 318.5M JAAA (~$318.5M) on 2026-03-09, was claimable in 1.92d.