This post is a follow-up to the earlier discussion and Snapshot temperature check(s) approving the Octant v2 pilot concept and parameters. The remaining open decision is the final deposit amount, plus publishing the exact executable transaction bundle that will be submitted via Decent so the community can verify everything end-to-end before execution.
Update: Dry Run / Test Transactions
As requested, we have been running a dry run using the same governance execution path as production (Decent on-chain proposals and execution), but with a small test amount. The purpose is to validate the full lifecycle of actions and permissions in the exact environment Shutter will use for the full deposit.
The dry run scope (as discussed) includes: deploying the strategy and vault (where applicable), depositing a small amount of USDC, confirming yield accrual and the report() harvesting flow, verifying yield routing to the Dragon Funding Pool Safe, testing a standard withdrawal path, and testing emergency controls (shutdown + emergency withdraw back into the vault) to confirm the emergency response mechanism works as intended.
Several of these steps have already been successfully executed. The remaining test actions are currently being completed. While this proposal can be reviewed in parallel, the final on-chain proposal will not be submitted on Decent until all dry run tests have been successfully completed and validated.
Context Recap
With the test run completed, the next step is for Shutter DAO 0x36 to deposit USDC from the main treasury Safe into a dedicated Octant v2 ERC-4626 vault configured to earn USDC yield via Morpho’s Steakhouse USDC strategy. The principal remains owned by (and withdrawable by) Shutter DAO 0x36 at all times. Yield is periodically realized via an on-chain report() call and routed 100% to a Shutter-controlled “Dragon Funding Pool” Safe to be used for Shutter ecosystem initiatives (via separate DAO processes).
This proposal is only for the treasury deposit and setup that enables ongoing yield flow to the Dragon Funding Pool. Any actual funding rounds / grants / disbursements remain separate decisions and can be proposed independently by the DAO.
Proposed Initial Deposit Amount
This proposal approves and deposits 1,200,000 USDC from the Shutter DAO 0x36 treasury into the Octant v2 USDC vault.
USDC has 6 decimals, so the on-chain amount equals 1,200,000,000,000 base units.
This represents the initial treasury allocation for the pilot. The vault itself supports additional deposits in the future, which would require separate DAO approval and execution through Shutter’s governance process. This proposal does not impose a hard deposit cap unless the DAO explicitly chooses to do so in a subsequent vote.
Key Addresses (Ethereum Mainnet)
Shutter DAO 0x36 Treasury Safe (depositor / owner of principal): 0x36bD3044ab68f600f6d3e081056F34f2a58432c4
Dragon Funding Pool Safe (yield recipient): 0x4B4505dEdE6408642511Fc0586b62676111e4904
USDC: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Morpho Steakhouse USDC (underlying yield source): 0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB
Roles and Permissions (Production Configuration)
Management (admin role for vault configuration): Shutter DAO 0x36 Treasury Safe (0x36bD…32c4)
Keeper (can call report() to realize yield; no withdrawal rights; no parameter-change rights): 0x06c2c4dB3776D500636DE63e4F109386dCBa6Ae2
Note: Keeper’s function here is limited to harvesting/reporting. The Keeper cannot withdraw principal and cannot redirect funds.
Emergency Admin (can shutdown strategy + emergency withdraw funds back from the yield source into the vault in case of an issue with the underlying strategy): 0x4B4505dEdE6408642511Fc0586b62676111e4904
Note: Emergency Admin is intended only for emergency actions affecting the strategy/yield source. It is not authorized to transfer Shutter’s principal to arbitrary external addresses without separate DAO authorization.
Executable Code for the Decent Proposal
Decent UI TX Builder Values
Use these transactions in the exact order below in Decent.
Transaction 1: Deploy Strategy
| Field | Value |
|---|---|
| Target Address | 0x052d20B0e0b141988bD32772C735085e45F357c1 |
| Function | createStrategy |
Parameters
| Parameter | Type | Value |
|---|---|---|
_name |
string | SHUGrantPool |
_management |
address | 0x36bD3044ab68f600f6d3e081056F34f2a58432c4 |
_keeper |
address | 0x06c2c4dB3776D500636DE63e4F109386dCBa6Ae2 |
_emergencyAdmin |
address | 0x4B4505dEdE6408642511Fc0586b62676111e4904 |
_donationAddress |
address | 0x4B4505dEdE6408642511Fc0586b62676111e4904 |
_enableBurning |
bool | false |
_tokenizedStrategyAddress |
address | 0xb27064A2C51b8C5b39A5Bb911AD34DB039C3aB9c |
Transaction 2: Approve USDC
| Field | Value |
|---|---|
| Target Address | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
| Function | approve |
Parameters
| Parameter | Type | Value |
|---|---|---|
spender |
address | 0xb21FbD35AC45caC1D5011b74Ce06b31f8EB2C377 |
amount |
uint256 | 1200000000000 |
Transaction 3: Deposit USDC
| Field | Value |
|---|---|
| Target Address | 0xb21FbD35AC45caC1D5011b74Ce06b31f8EB2C377 |
| Function | deposit |
Parameters
| Parameter | Type | Value |
|---|---|---|
assets |
uint256 | 1200000000000 |
receiver |
address | 0x36bD3044ab68f600f6d3e081056F34f2a58432c4 |
Reference
| Contract | Address |
|---|---|
| Strategy Factory (V1) | 0x052d20B0e0b141988bD32772C735085e45F357c1 |
| USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
| New Expected Strategy | 0xb21FbD35AC45caC1D5011b74Ce06b31f8EB2C377 |
| Previous Strategy (test run) | 0xC5B26f6A954cf7480C6992e5C3E0c92F38B5695c |
| Shutter Treasury | 0x36bD3044ab68f600f6d3e081056F34f2a58432c4 |
| Dragon Funding Pool (aka 3o5 Safe) | 0x4B4505dEdE6408642511Fc0586b62676111e4904 |
| Keeper | 0x06c2c4dB3776D500636DE63e4F109386dCBa6Ae2 |
| TokenizedStrategy (V1) | 0xb27064A2C51b8C5b39A5Bb911AD34DB039C3aB9c |
Notes on APY Display During Testing
APY is variable and depends on the underlying strategy conditions; short time windows and UI calculation methods can show values that differ from longer-term averages. The pilot should be evaluated on realized yield over time rather than a single point-in-time APY display. This does not change the core safety model (principal remains withdrawable; emergency controls exist for strategy risk).
On a personal note, I just want to mention that this process has been a genuinely positive experience for the Octant team. The diligence, technical scrutiny, and thoughtful engagement from the Shutter DAO 0x36 community have made this collaboration both productive and constructive. We’re extremely grateful for the partnership and the trust shown throughout the dry run process, and we look forward to continuing to build alongside the SD 0x36 community as this pilot moves forward.