Volta90

Roles and capacities

Lagoon’s four role names map to one Volta90 multisig — what each label means on the contract.

Lagoon names governance, valuation, settlement, and access separately; on Volta90’s deployment one 3-of-6 multisig fills every capacity below. The headings are ABI / docs vocabulary, not four addresses.

Volta90: one multisig
Vault Admin, Curator, Valuation Provider, and Whitelist Manager are not four separate addresses in Volta90. They are exercised by the same 3-of-6 multisig — one on-chain identity with the combined permissions of those Lagoon roles.

Vault Admin

Contract owner: who may act as valuationManager / whitelistManager, pause, total-assets validity window, and vault lifecycle — not on-chain trading. Async (ERC-7540) owner surface, abbreviated:

updateValuationManager(address)
updateWhitelistManager(address)
updateTotalAssetsLifespan(uint128)
pause() / unpause()
initiateClosing()
close(uint256 _newTotalAssets)

Full signatures: deployed ABI / Arbiscan. Trading on Hyperliquid is outside this multisig — stack overview under Introduction.

Valuation Provider

Posts the total assets figure for the async round (feeds settlement price with isTotalAssetsValid() and related views). In Volta90 the same address acts as Curator below.

updateNewTotalAssets(uint256 _newTotalAssets)
expireTotalAssets()

Curator

Lagoon’s Curator is the same valuationManager multisig: it clears requestDeposit / requestRedeem queues via async settlement only. NAV before posting: NAV & Valuation.

settleDeposit(uint256 _newTotalAssets)
settleRedeem(uint256 _newTotalAssets)

Does not execute Hyperliquid orders — vault contract side only.

Whitelist Manager

Who may call requestDeposit when the whitelist is on. Volta90 is invite-only.

addToWhitelist(address[] accounts)
revokeFromWhitelist(address[] accounts)
disableWhitelist()

// view: isWhitelisted(address) → bool