DUNI
ProposalsVotersInfo
©

2026 Agora, the onchain governance company

/
Twitter
/
Github
/
About
Standard Proposal by 0x3c...5337

Rotate Sentinel Addresses on the DUNI-Owned Uniswap Earn Vaults

Proposal Visualization
Proposed Actions
Action 1
View contract
Signature
Decoding transaction...
Expand all actions (6)

Summary

  • DUNI owns the three Gauntlet-curated Morpho Vaults V2 behind Uniswap Earn: uniUSDC, uniUSDT and uniETH, all on Ethereum mainnet.
  • Gauntlet has upgraded its signing infrastructure and needs to swap out some wallets configured in the Sentinel role on vault deployment.
  • setIsSentinel, the function used to adjust addresses granted the Sentinel role, is owner-gated and the Owner is Uniswap governance's mainnet Timelock.

Background

Uniswap Labs launched Uniswap Earn in July 2026. Consistent with past Uniswap Labs-originated protocol launches, the ownership roles on the smart contracts that power Uniswap Earn were assigned to Uniswap Governance. In Earn, a user deposits USDC, USDT or ETH in the Uniswap app, the deposit flows into a Morpho Vaults V2 instance, and Gauntlet curates the allocation. In the run up to launch, Gauntlet deployed the three vaults and transferred ownership to DUNI's Timelock address.

Morpho Vaults V2 splits control across four roles.

RoleCapabilitiesAppointed byHeld on the Earn vaults by
OwnerAppoint the Curator, add and remove Sentinels, transfer ownership, set vault name and symbol. One address only.Prior Owner, via setOwnerDUNI, via the mainnet Timelock
CuratorSet caps and risk parameters, enable yield sources, set fees, appoint allocators. Most actions timelocked. One address only.OwnerGauntlet
AllocatorMove capital between enabled yield sources, within the bounds the Curator has set. Multiple addresses allowed.CuratorGauntlet
SentinelLower caps, revoke pending Curator actions, pull assets out of lending markets back into the vault. Takes effect instantly. Multiple addresses allowed.OwnerGauntlet

The Owner has no claim on deposits and does not set risk parameters, allocations, or fees directly. Fee management sits with the Curator. Governance's leverage runs through its power to appoint and replace the Curator, which is why ownership was structured this way.

Performance fee is currently zero on all three vaults.

Motivation

Gauntlet has upgraded the signing infrastructure it uses across the vaults it curates. Specific to Uniswap Earn vaults, this has resulted in new addresses for the Sentinel role.

Specification

The three vaults, all on Ethereum mainnet:

VaultAddress
Uniswap USDC (uniUSDC)0x5B453493D2328E7F747eb2e66446eFe707728be7
Uniswap USDT (uniUSDT)0xb8274eFADB953FE9ae052D481a3FC5B6A3ceD703
Uniswap ETH (uniETH)0x98D2b241DA14c5dd848812708Eb8A1F3c5512f9d

The Owner of all three is the Timelock at 0x1a9C8182C09F50C8318d769245beA52c32BE35BC.

We propose calling setIsSentinel(address,bool) six times: once to grant the role to each new Gauntlet address, and once to revoke it from each legacy address.

VaultNew Sentinel (grant)Legacy Sentinel (revoke)
uniUSDC0xF66b884D1906F37c1692CEa63564316FF975Cd750xc3FE37DB03B5720D1684bE2e0200E0Af07853Ad9
uniUSDT0xD9b023059dfD00C2DC68C4d8d0c70BCaA30577Db0x2745513325d4Ce5724e5B6Fb663356C427AfdeCc
uniETH0x4Ff315B873d6e5Ad8ff7fF3e17D340862762cc2f0xc63A00De30AeB5666a8aC3478a4D119D38058c7E

A vault can hold more than one Sentinel, so the grants and the revocations are independent actions.

For every vault, the Curator stays Gauntlet, the Owner stays the Timelock, and all parameters such as caps, adapters and fees are unchanged.

Onchain Proposal Spec

Six transactions, all sent from the Timelock, all with value = 0. Function selector 0x920ed706.

// uniUSDC vault: 0x5B453493D2328E7F747eb2e66446eFe707728be7
setIsSentinel(0xF66b884D1906F37c1692CEa63564316FF975Cd75, true);
setIsSentinel(0xc3FE37DB03B5720D1684bE2e0200E0Af07853Ad9, false);

// uniUSDT vault: 0xb8274eFADB953FE9ae052D481a3FC5B6A3ceD703
setIsSentinel(0xD9b023059dfD00C2DC68C4d8d0c70BCaA30577Db, true);
setIsSentinel(0x2745513325d4Ce5724e5B6Fb663356C427AfdeCc, false);

// uniETH vault: 0x98D2b241DA14c5dd848812708Eb8A1F3c5512f9d
setIsSentinel(0x4Ff315B873d6e5Ad8ff7fF3e17D340862762cc2f, true);
setIsSentinel(0xc63A00De30AeB5666a8aC3478a4D119D38058c7E, false);

Raw calldata:

0x920ed706000000000000000000000000f66b884d1906f37c1692cea63564316ff975cd750000000000000000000000000000000000000000000000000000000000000001
0x920ed706000000000000000000000000c3fe37db03b5720d1684be2e0200e0af07853ad90000000000000000000000000000000000000000000000000000000000000000
0x920ed706000000000000000000000000d9b023059dfd00c2dc68c4d8d0c70bcaa30577db0000000000000000000000000000000000000000000000000000000000000001
0x920ed7060000000000000000000000002745513325d4ce5724e5b6fb663356c427afdecc0000000000000000000000000000000000000000000000000000000000000000
0x920ed7060000000000000000000000004ff315b873d6e5ad8ff7ff3e17d340862762cc2f0000000000000000000000000000000000000000000000000000000000000001
0x920ed706000000000000000000000000c63a00de30aeb5666a8ac3478a4d119d38058c7e0000000000000000000000000000000000000000000000000000000000000000
FOR - 0
AGAINST - 0
Starts 11:40 am Sep 27, 2026
Voters
Hasn't voted
Loading...