> For the complete documentation index, see [llms.txt](https://docs.strata.markets/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.strata.markets/technical-documentation/contracts-details.md).

# Contracts Details

### **Strata v1**

Github: <https://github.com/Strata-Markets/contracts>

### **Contracts Addresses**

<details>

<summary><strong>Ethena USDe Market</strong></summary>

<table><thead><tr><th width="247.10546875">Contract</th><th width="383.09765625">Address</th></tr></thead><tbody><tr><td>srUSDe</td><td><code>0x3d7d6fdf07EE548B939A80edbc9B2256d0cdc003</code></td></tr><tr><td>jrUSDe</td><td><code>0xC58D044404d8B14e953C115E67823784dEA53d8F</code></td></tr><tr><td>StrataCDO</td><td><code>0x908B3921aaE4fC17191D382BB61020f2Ee6C0e20</code></td></tr><tr><td>Accounting</td><td><code>0xa436c5Dd1Ba62c55D112C10cd10E988bb3355102</code></td></tr><tr><td>TwoStepConfigManager</td><td><code>0x0f93bAC77c3dDD1341d3Ecc388c5F8A180818994</code></td></tr><tr><td>sUSDeStrategy</td><td><code>0xdbf4FB6C310C1C85D0b41B5DbCA06096F2E7099F</code></td></tr><tr><td>ERC20Cooldown</td><td><code>0xd6dAD17d025cDdDEd27305aEbAB8b277996A6fAF</code></td></tr><tr><td>UnstakeCooldown</td><td><code>0x735edDF50Ca2371aa48466469C742e684c610F74</code></td></tr><tr><td>SUSDeCooldownRequestImpl</td><td><code>0x00A96056c30A22b684fF7a09F4A0AfEaE426dde2</code></td></tr><tr><td>TrancheDepositor</td><td><code>0x50E850641F43F65BF8fB3a7d0CF082a1D252F47e</code></td></tr><tr><td>AprPairFeed</td><td><code>0x2bb416614D740E5313aA64A0E3e419B39e800EC2</code></td></tr><tr><td>AaveAprPairProvider</td><td><code>0x1c137776e04803F807616c382AbBA12d9BF0AF73</code></td></tr></tbody></table>

</details>

<details>

<summary><strong>Neutrl NUSD Market</strong></summary>

<table><thead><tr><th width="252.2734375">Contract</th><th>Address</th></tr></thead><tbody><tr><td>srNUSD</td><td><code>0x65a44528e8868166401eA08b549E19552af589dB</code></td></tr><tr><td>jrNUSD</td><td><code>0xFC807058A352b61aEef6A38e2D0fC3990225E772</code></td></tr><tr><td>NeutrlAccessControlManager</td><td><code>0x06E84a0Fe0c4Bc5C4ee3eDb580B32eB4B88203E4</code></td></tr><tr><td>NeutrlCDO</td><td><code>0x7b6c960cf185fb27ECb91c174FAe065978beDd10</code></td></tr><tr><td>NeutrlERC20Cooldown</td><td><code>0x1Abc3c3C15A862276D057b2AcBcFEab358907990</code></td></tr><tr><td>NeutrlUnstakeCooldown</td><td><code>0x2a52363A2a0d765B31Cb117a8e4D9CE58c2Bc749</code></td></tr><tr><td>NeutrlSharesCooldown</td><td><code>0x0404EA6f1c89a5032eA2BAdDFbac20CE11CdF1cE</code></td></tr><tr><td>SNUSDAprPairProvider</td><td><code>0x12DB794342437Aaa93970c106F2B5D5dfE2f9EaB</code></td></tr><tr><td>NeutrlAprFeeds</td><td><code>0x1695a2fF3e45365Ab4111d2E1083B2A143b4D171</code></td></tr><tr><td>NeutrlAccounting</td><td><code>0x5eFE7C9DA88568709E98b237D4D946aFbDA2aA52</code></td></tr><tr><td>NeutrlStrategy</td><td><code>0x3CeF2c09c4fAD37E9bdD86CD9810c3042fB5DE88</code></td></tr><tr><td>TrancheDepositor</td><td><code>0x7945e45c2F39bE3A0cbF467F3fae982C17CB4Bf7</code></td></tr><tr><td>NeutrlConfigManager</td><td><code>0x60DAe21944e6c1F4a185d33a217B05bFD647Eb79</code></td></tr></tbody></table>

</details>

<details>

<summary><strong>Midas mHYPER</strong></summary>

<table><thead><tr><th width="293.337890625">Contract</th><th>Address</th></tr></thead><tbody><tr><td>srmHYPER</td><td><code>0x627EA69929212916Ec57B1b26d2E1a19F6129B53</code></td></tr><tr><td>jrmHYPER</td><td><code>0xEb205d26E9E605Ec82d1C0d652E00037C278714b</code></td></tr><tr><td>MHyperAccessControlManager</td><td><code>0xd61990C228Fa5D4223231Bf90896899daaD399B8</code></td></tr><tr><td>MHyperCDO</td><td><code>0x39C7E67b25fB14eAec8717B20664C2E35327e6cf</code></td></tr><tr><td>MHyperERC20Cooldown</td><td><code>0x71EC07BbA60E854c4b2466068bE1c8d5b5788Fda</code></td></tr><tr><td>MHyperUnstakeCooldown</td><td><code>0x7910cB19A4F5A36CAa2bed0AF82cBFFf2E08805c</code></td></tr><tr><td>MHyperSharesCooldown</td><td><code>0xce70434dDbaDAdB785AB391B45Ed3B1e8dDEB3F1</code></td></tr><tr><td>MidasCooldownRequestImpl</td><td><code>0x6cE2fa93fcCd8796351f6c54289E8D9877A12348</code></td></tr><tr><td>MHyperMidasStrategy</td><td><code>0x8071500D237A8da2a2a020419d7BB5f8e2Fd184d</code></td></tr><tr><td>MHyperAaveOracleAprPairProvider</td><td><code>0x991E78DF32A08B5327F73A58f08Aff0c1Bb929aA</code></td></tr><tr><td>MHyperAprFeeds</td><td><code>0xecE4808A7D2076a6eAC56333FD6dcFc0EAf28D64</code></td></tr><tr><td>MHyperAccounting</td><td><code>0xAf32D44D510B82b64f13602f4A22c6A7FfF2b228</code></td></tr><tr><td>TrancheDepositorV3</td><td><code>0xD8Ea6461a616f7E1e0F0D1EeedD15E26c02e7823</code></td></tr><tr><td>MHyperConfigManager</td><td><code>0xef99111e5A16a53B3324e6d466d9fe387eE7a95a</code></td></tr></tbody></table>

</details>

<details>

<summary><strong>Midas mM1-USD</strong></summary>

<table><thead><tr><th width="293.337890625">Contract</th><th>Address</th></tr></thead><tbody><tr><td>srmM1-USD</td><td><code>0xCcEd21d609CaC4A272d0c01a8FF4de9cEBc40d60</code></td></tr><tr><td>jrmM1-USD</td><td><code>0xf7eB8dfec75C42D2d2247FE76Ccaedc59f821688</code></td></tr><tr><td>MM1USDAccessControlManager</td><td><code>0x040EF225f885fc1e0D3Bd09f3Acc02f707f8c74a</code></td></tr><tr><td>MM1USDCDO</td><td><code>0x613D1790d9BA381D27B4071C04380Db8ED120E5f</code></td></tr><tr><td>MM1USDERC20Cooldown</td><td><code>0x4c2680ae06A0bB0B091E5CCCA13CB03f4f72296E</code></td></tr><tr><td>MM1USDUnstakeCooldown</td><td><code>0x6f6904ED406Cefb34893054A742C6148E9D681C1</code></td></tr><tr><td>MM1USDSharesCooldown</td><td><code>0x83c11B746d7C942c49D981055E782e727A0A59e1</code></td></tr><tr><td>MidasCooldownRequestImpl</td><td><code>0xB4605C3091Eb09a4199bc6993f0E3E0a55F7752E</code></td></tr><tr><td>MidasStrategy</td><td><code>0xeed127d3874B003D91F0Bf35Ba7DE3e9E1C18c75</code></td></tr><tr><td>MM1USDConstantOracleAprPairProvider</td><td><code>0x8b7258e8CC89894b56F757Bc886b430D0C018Bf0</code></td></tr><tr><td>MM1USDAprFeeds</td><td><code>0xd2923D964bF05e3Eb7528e73BB093f5D2CE32044</code></td></tr><tr><td>MM1USDAccounting</td><td><code>0xE4A3A21Cf73a8F34fc7f45D7FcE99c569AbB2A4A</code></td></tr><tr><td>MM1USDConfigManager</td><td><code>0x7a0F6F613C27BfA5AEEe3F94e1dF0ECcB589B30e</code></td></tr></tbody></table>

</details>

<details>

<summary><strong>Saturn USDat</strong></summary>

<table><thead><tr><th width="293.337890625">Contract</th><th>Address</th></tr></thead><tbody><tr><td>srUSDat</td><td><code>0xFaa9a0e1Db9E22AE3A20B2B58a68DC24D053d066</code></td></tr><tr><td>jrUSDat</td><td><code>0x011e55d2b28306458e37Ca7E997C879BB25A455D</code></td></tr><tr><td>SaturnAccessControlManager</td><td><code>0x6cE1aA78a196AF86b752B92a2DAEE047AB601c36</code></td></tr><tr><td>SaturnCDO</td><td><code>0xa617763cEB808f43eC9D532cbE8C65819afb846b</code></td></tr><tr><td>SaturnERC20Cooldown</td><td><code>0x25138D10837AB0278eb860454e1045f2b92929ab</code></td></tr><tr><td>SaturnUnstakeCooldown</td><td><code>0x616Af703D5739f2122AF48C0d1cE0b37E09381ac</code></td></tr><tr><td>SaturnSharesCooldown</td><td><code>0xE851DEa9e36f992590F2e33281665E159a455b66</code></td></tr><tr><td>SaturnCooldownRequestImpl</td><td><code>0xFB8Db761FD3Be2a4255fD74230656654799Ac84E</code></td></tr><tr><td>SaturnStrategy</td><td><code>0xce7B00D1004d9ED22E702A6a7F5bBdcE7297B090</code></td></tr><tr><td>SaturnAprPairProvider</td><td><code>0x4bcc15f6C0c63E511a1b55a7625f311a93854bE8</code></td></tr><tr><td>SaturnAprFeeds</td><td><code>0x21d616977F355afD0eaB7A1D11C9fd58C8579115</code></td></tr><tr><td>SaturnAccounting</td><td><code>0x180f7b3b807FA91EDb6e864802e4664D6Ee8Cf88</code></td></tr><tr><td>SaturnConfigManager</td><td><code>0x03DBBc507360A16f477e53AF985261c3cE11DBcc</code></td></tr></tbody></table>

</details>

<details>

<summary><strong>Hastra PRIME</strong></summary>

<table><thead><tr><th width="293.337890625">Contract</th><th>Address</th></tr></thead><tbody><tr><td>srPRIME</td><td><code>0x35bFF778d3fc53a561486BF28e761428499232Eb</code></td></tr><tr><td>jrPRIME</td><td><code>0xF4C91F24E20EE8ed5eda905E501A1136334C2F27</code></td></tr><tr><td>FigureAccessControlManager</td><td><code>0xD5d18DB904Fe7dF2207c3f9491C5441143e44014</code></td></tr><tr><td>FigureCDO</td><td><code>0xff408b4843CDD4a33CD49EB2aBe057fE8D71C234</code></td></tr><tr><td>FigureERC20Cooldown</td><td><code>0xbE71D21addBA5c9aAc5B4e006dB1715ef1e324BE</code></td></tr><tr><td>FigureUnstakeCooldown</td><td><code>0x440938FCb03D64AFe50A8168d4b3cfCC341bFbAA</code></td></tr><tr><td>FigureSharesCooldown</td><td><code>0xeb30F897Fc0AC646b8130e222aAb53cD9Bb4F693</code></td></tr><tr><td>FigureCooldownRequestImpl</td><td><code>0x837ab05BB244C4A6528f1eCC9a2EC04041127DA4</code></td></tr><tr><td>FigureStrategy</td><td><code>0x80187fD8e22E8951104b4Dd5E37037510CF51C9e</code></td></tr><tr><td>FigureConstantOracleAprPairProvider</td><td><code>0xd7bAc4d57a2cae923b3dc7Dd21398Ed707B9eADC</code></td></tr><tr><td>FigureAprFeeds</td><td><code>0xd1Fc85A0993Ecf975AEEaf92C0764AF8a182e4E9</code></td></tr><tr><td>FigureAccounting</td><td><code>0x0e90b8971bC0aBba696641eee85b39fD986267D7</code></td></tr><tr><td>FigureConfigManager</td><td><code>0xf4FF82553Beba0a18834d708e4F78e36937C4Ddc</code></td></tr></tbody></table>

</details>

### **Contracts Descriptions**

<details>

<summary><strong>srUSDe/srNUSD/srmHYPER/srmM1-USD/srUSDat/srPRIME</strong></summary>

Senior Tranche — an ERC-4626 Meta Vault supporting deposits and redemptions in multiple tokens.

</details>

<details>

<summary><strong>jrUSDe/jrNUSD/jrmHYPER/jrmM1-USD/jrUSDat/jrPRIME</strong></summary>

Junior Tranche — uses the same codebase as the Senior Tranche. Reward and behavior differences are handled by the StrataCDO.

</details>

<details>

<summary><strong>StrataCDO</strong></summary>

Strata CDO Orchestrator — connects all core protocol components: Tranches, Accounting, Strategy.

</details>

<details>

<summary><strong>Accounting</strong></summary>

Performs raw TVL calculations for Junior, Senior, and Reserve. Tracks balances, inflows/outflows, accrues fees, and distributes rewards.

</details>

<details>

<summary><strong>TwoStepConfigManager</strong></summary>

Manages exit-fee updates through a secure, two-step governance process:\
**Step 1 – Schedule:** A new exit-fee configuration is proposed and queued (callable by `PROPOSER_CONFIG_ROLE`).\
**Step 2 – Execute:** After the mandatory delay has elapsed, the scheduled configuration can be applied to the underlying CDO (callable by `UPDATER_STRAT_CONFIG_ROLE`).

</details>

<details>

<summary><strong>sUSDeStrategy</strong></summary>

Handles deposits of USDe into the sUSDe Vault (also accepts sUSDe directly).\
Manages instant and cooldown-based withdrawals, routing tokens through the correct cooldown contracts when required.

</details>

<details>

<summary><strong>sNUSDStrategy</strong></summary>

Handles deposits of NUSD into the sNUSD Vault (also accepts sNUSD directly).\
Manages instant and cooldown-based withdrawals, routing tokens through the correct cooldown contracts when required.

</details>

<details>

<summary><strong>mHYPERStrategy</strong></summary>

Handles deposits of USDC into the mHYPER Vault (also accepts mHYPER directly).\
Manages instant and cooldown-based withdrawals, routing tokens through the correct cooldown contracts when required.

</details>

<details>

<summary><strong>mM1-USDStrategy</strong></summary>

Handles deposits of mM1 into the mM1 Vault directly. Manages instant and cooldown-based withdrawals, routing tokens through the correct cooldown contracts when required.

</details>

<details>

<summary><strong>SaturnStrategy</strong></summary>

Handles deposits of USDat into the sUSDat Vault (also accepts sUSDat directly).\
Manages instant and cooldown-based withdrawals, routing tokens through the correct cooldown contracts when required.

</details>

<details>

<summary><strong>FigureStrategy</strong></summary>

Handles deposits of wYLDS/USDC into the PRIME Vault (also accepts PRIME directly).\
Manages instant and cooldown-based withdrawals, routing tokens through the correct cooldown contracts when required.

</details>

<details>

<summary><strong>ERC20Cooldown</strong></summary>

Locks ERC-20 tokens for a specified cooldown period before withdrawal finalization.

</details>

<details>

<summary><strong>UnstakeCooldown</strong></summary>

Handles unstaking required assets before withdrawals. Users finalize withdrawal after the unstake period completes.

</details>

<details>

<summary><strong>sUSDeCooldownRequestImpl</strong></summary>

Implements the cooldown and unstaking workflow specifically for sUSDe withdrawals.

</details>

<details>

<summary><strong>sNUSDCooldownRequestImpl</strong></summary>

Implements the cooldown and unstaking workflow specifically for sNUSD withdrawals.

</details>

<details>

<summary><strong>MidasCooldownRequestImpl</strong></summary>

Handles the cooldown request, finalization and asset transfer for unstaking Midas tokens

</details>

<details>

<summary><strong>SaturnCooldownRequestImpl</strong></summary>

Implements the cooldown and unstaking workflow specifically for sUSDat withdrawals.

</details>

<details>

<summary><strong>FigureCooldownRequestImpl</strong></summary>

Implements the cooldown and unstaking workflow specifically for PRIME withdrawals.

</details>

<details>

<summary><strong>TrancheDepositor</strong></summary>

Utility contract used to route deposits from various sources (pUSDe redemptions, USDe/sUSDe swap routes) before depositing into a Tranche.

</details>

<details>

<summary><strong>sNUSDSwapAdapter</strong></summary>

Mints NUSD using supported tokens (USDC, USDT, USDe).

</details>

<details>

<summary><strong>AprPairFeed</strong></summary>

Provides the Collateral and Benchmark APR inputs used by the Accounting contract for TVL and reward calculations.

</details>

<details>

<summary><strong>sUSDeAprPairProvider</strong></summary>

Fetches Benchmark APR from Aave and Base APR from Ethena's sUSDe.

</details>

<details>

<summary><strong>sNUSDAprPairProvider</strong></summary>

Fetches Benchmark APR from Ethena's sUSDe and Base APR from Neutrl's sNUSD.

</details>

<details>

<summary><strong>AaveAprPairProvider</strong></summary>

Fetches and computes raw APR values from Aave — including both the Benchmark APR and the Collateral APR sourced from the sUSDe Vault.

</details>

<details>

<summary><strong>SaturnAprPairProvider</strong></summary>

Provides the Collateral and Benchmark APR inputs used by the Accounting contract for reward calculations.

</details>

<details>

<summary><strong>FigureConstantOracleAprPairProvider</strong></summary>

Provides the Collateral and Benchmark APR inputs used by the Accounting contract for reward calculations.

</details>

### **Trusted Addresses**

<table><thead><tr><th width="257.90625">Name</th><th>Address</th></tr></thead><tbody><tr><td>Admin Multisig (3/4)</td><td><code>0xA27cA9292268ee0f0258B749f1D5740c9Bb68B50</code></td></tr><tr><td>Operational Multisig (2/3)</td><td><code>0x4be3749a0F6557b8fd98F3967e859DbD7C694eF4</code></td></tr><tr><td>Timelock (48hr)</td><td><code>0xb2A3CF69C97AFD4dE7882E5fEE120e4efC77B706</code></td></tr><tr><td>Timelock (24hr)</td><td><code>0x4f2682b78F37910704fB1AFF29358A1da07E022d</code></td></tr><tr><td>Guardian</td><td><code>0x277D26a45Add5775F21256159F089769892CEa5B</code></td></tr></tbody></table>

**Admin Multisig**

* 3-of-4 Gnosis Safe
  * All signers are cold wallets
  * 4 keys held by internal team members and founding core contributors
* Internal team members have separate signing devices
  * At least three signers must validate that the transaction hashes being signed on the UI match what the wallet sees

**Operational Multisig**

* 2-of-3 Gnosis Safe
  * All signers are cold wallets
* All keys held by internal team members and founding core contributors
* Internal team members have separate signing devices
  * At least two signers must validate that the transaction hashes being signed on the UI match what the wallet sees

**Timelock (48hr)**

* Minimum Delay: 48 hours
* PROPOSER\_ROLE: Admin Multisig (`0xA27cA9292268ee0f0258B749f1D5740c9Bb68B50`)&#x20;
* CANCELLER\_ROLE: Guardian (`0x277D26a45Add5775F21256159F089769892CEa5B`)

**Timelock (24hr)**

* Minimum Delay: 24 hours
* PROPOSER\_ROLE: Admin Multisig (`0xA27cA9292268ee0f0258B749f1D5740c9Bb68B50`)

**Guardian**

* *Patrick Collins:* Security Researcher, Co-Founder & CEO at [Cyfrin](https://www.cyfrin.io/)
* Provides an additional security layer on top of the timelocks and enhances protocol safety by preventing malicious, compromised, or unsafe governance actions during the timelock delay window
  * Veto/Cancel Timelock Actions: Holds the authority to cancel harmful or suspicious timelock transactions before execution
  * Active Monitoring: Continuously monitors queued timelock transactions using a combination of custom internal monitoring tools and third-party security systems (e.g. Hypernative).
  * Threat Mitigation: Responds to anomalies by cancelling transactions and alerting contributors
