Audited by Pashov Audit Group.

A time-boxed security review of every PARE contract, 7 to 10 September 2026, by eight researchers from Pashov Audit Group. Every finding was answered, fixed where a fix was warranted, and re-reviewed by the auditors before this report was issued. The full report is below, unedited.

Read the full report (PDF)See the accountants live

01Summary

Critical
0
none found
High
0
none found
Medium
6
6 fixed
Low
11
11 fixed
Informational
24
18 fixed · 6 acknowledged

41 findings in total. Every medium and low severity finding was fixed and the fix was reviewed by Pashov. Six informational findings were acknowledged with a written reason, reproduced in the report and summarised in section 04 below. No finding was disputed.

02Scope

AuditorPashov Audit Group
Review window7 – 10 September 2026
In scopeevery contract under src/: StripVault, MultiplierAccountant, PareMorphoOracle, principal and yield tokens, deployment factory
Reviewed commit2e780ae78beba72b8342ee9ef590ce420cb4356f
Fixes reviewed at3dfa4a421d5d9d1fc2849f1847619e3b7dbf2ddb
Researchers0x37, 0xApple, 0xbrivan, Auditor-Nate, farismaulana, LoopGhost, Playboi, Valves Security

The review repository is a private mirror shared with the auditors, so the commit links inside the PDF are not public. The source of every deployed contract is verified on Blockscout, and the audited build is identified by the commit hash above.

03What happens next

NOW

The contracts live on mainnet today are the reviewed build. Four series have run on them since launch. Merge is permissionless and always open on every vault, before and after maturity.

NEXT

The fixed build goes live. New vaults, accountants and oracle at the fixes commit, verified on chain. Addresses are swapped in on every page of this site and published on the oracle page, and existing positions can merge out of the old vaults at any time.

THEN

Lending opens and the series cap comes off. The Morpho market is treasury-only until the fixed oracle is deployed. Deeper pools and new series follow.

04Acknowledged findings

Six informational findings were acknowledged rather than changed. The auditors' reasoning and ours are in the report; the short version of each is here.

I-04 · I-06 · I-12 — feed freshness during trading hours

The Morpho oracle accepts a Chainlink stock price up to four days old so that weekends and market holidays do not freeze the market. That single window is wider than the feed's heartbeat during trading hours, so a feed that halts mid-session would not be caught by the age check alone. There is no second stock price feed or market-status feed on Robinhood Chain to corroborate against today. Mitigated by the 62.5% LLTV buffer and documented as an operational risk. A liveness check is planned for a follow-up review once a corroborating feed exists on the chain.

I-09 — split ratio tolerance

A residual inside the split tolerance (one millionth of the ratio) is attributed to the split, not to yield. The smallest real dividend on a covered stock is about a thousand times larger than the tolerance, so a genuine split combined with a real dividend cannot pass the clean-ratio check and goes to guardian decomposition instead. Kept as designed and documented.

I-15 · I-20 — rounding at the eighteenth decimal

Both redemption legs round down independently, which can strand one raw unit (10⁻¹⁸ of a stock token) per matched redemption, and each dividend classification floors once, drifting the index by a few units at the same scale over a series' life. Both round in the vault's favour so it can never owe more than it holds. Kept; the alternatives add arithmetic to the core index for an attowei-level gain.

05All 41 findings

IDFindingSeverityStatus
M-01Two `unsynced` multiplier applies are recorded as one non-collapsed composite stamped at the LAST action's `effectiveAt`, same YT wipe, a distinct root causeMEDIUMFIXED
M-02USD-denominated feed is used as loan-token value without a loan-token/USD conversionMEDIUMFIXED
M-03Guardian resolution commitment can be reused after pending endpoints cycleMEDIUMFIXED
M-04Collapsed multiplier changes reuse the first update timestamp for all decomposed actionsMEDIUMFIXED
M-05Manipulable Uniswap V3 TWAP can force premature PT liquidationsMEDIUMFIXED
M-06Settled PT oracle lacks a redemption-value floorMEDIUMFIXED
L-01Holiday holds cross the immutable 4-day staleness gate because the feed stops printing hours before every close, freezing every Morpho market this oracle prices through the reopenLOWFIXED
L-02Magnitude-only dividend classification force-tags value-neutral in-band multiplier changes, permanently shifting PT principal to YT holdersLOWFIXED
L-03Oracle accepts a feed during the L2 sequencer recovery windowLOWFIXED
L-04Oracle resumes PT valuation before the post-dividend TWAP reflects the PT repricingLOWFIXED
L-05Oracle scaling is incorrect when stock and PT base-unit decimals differLOWFIXED
L-06Pending guardian resolution becomes stale when sync collapses a later multiplier updateLOWFIXED
L-07Pending multiplier endpoint equality hides intermediate updatesLOWFIXED
L-08Per-call fee truncation permits fee-free micro-splits and YT redemptionsLOWFIXED
L-09Per-call split-fee rounding permits fee-free fragmented depositsLOWFIXED
L-10Per-call YT fee rounding allows yield-fee avoidance through fragmented redemptionsLOWFIXED
L-11YT redemption fee can be bypassed through fragmented redemptionsLOWFIXED
I-01Multiplier processing can become unavailable because deployment accepts a zero administratorINFOFIXED
I-02Fees remain trapped and the deposit cap can be exceeded because the vault accepts itself as treasuryINFOFIXED
I-03Guardian recovery can be delayed because malformed proposals overwrite valid resolutionsINFOFIXED
I-04Timestamp freshness accepts economically stale feed answersINFOACKNOWLEDGED
I-05Immutable feed-decimal snapshot becomes stale after same-address feed migrationINFOFIXED
I-06Chainlink feed can remain stale while the onchain stock market remains activeINFOACKNOWLEDGED
I-07Accountant sync can clear while the Robinhood price feed remains deliberately pausedINFOFIXED
I-08The oracle can bypass the PT vault's synchronization gate because its accountant is independently configuredINFOFIXED
I-09Split tolerance can absorb a real dividend without crediting YTINFOACKNOWLEDGED
I-10Shape-only split classification routes value-additive clean-ratio events entirely into splitFactor, zeroing the YT drip at settlementINFOFIXED
I-11Immediate Multiplier Updates Can Be Missed at the Maturity BoundaryINFOFIXED
I-12Four-Day Feed Freshness Window Accepts Stale Prices During Active TradingINFOACKNOWLEDGED
I-13accruedDripFactor exposes unsynchronized live index instead of a settlement-compatible valueINFOFIXED
I-14Disabled feed-age validation accepts unfinished Chainlink roundsINFOFIXED
I-15Independent PT and YT redemption rounding strands matched-position dustINFOACKNOWLEDGED
I-16No recovery path for residual stock after all PT and YT liabilities are extinguishedINFOFIXED
I-17Oracle Constructor Does Not Validate That the Pool Contains the Accountant's Stock TokenINFOFIXED
I-18Oracle does not unconditionally reject incomplete Chainlink roundsINFOFIXED
I-19Post-maturity accountant changes can block settlement of an otherwise mature vaultINFOFIXED
I-20Repeated dividend classification introduces cumulative downward index rounding driftINFOACKNOWLEDGED
I-21Split classification stores the rounded observed ratio instead of the validated clean ratioINFOFIXED
I-22Unsettled accruedDripFactor includes dividends occurring after maturityINFOFIXED
I-23Untracked token donations can permanently exhaust StripVault deposit capacityINFOFIXED
I-24Zero guardian delay removes the configured resolution reaction windowINFOFIXED

Titles as written by the auditors. Each finding in the PDF carries a summary, impact, exploit path where applicable, the recommendation and our resolution.