STATE Vault
DEEP deposits, STATE voting shares, USDG redemption, multi-asset redemption, and fee purchases.
| Property | Value |
|---|---|
| Name | Deepstate Governance |
| Symbol | STATE |
| Decimals | 18 |
| Deposit asset | DEEP, 18 decimals |
| Value token | USDG, 6 decimals |
| Additional redeemable assets | Caller-selected ERC-20s and native ETH held by the vault |
| Voting | OpenZeppelin ERC20Votes with timestamp checkpoints |
The vault uses OpenZeppelin ERC-4626 deposit math over a recorded amount of burned DEEP. It deliberately separates its burnable accounting asset from the value assets paid on exit.
Deposit and burn
When STATE supply is zero, one DEEP mints one STATE in raw 18-decimal units. Later deposits preserve the ratio between total STATE supply and the recorded total of burned DEEP:
STATE minted = DEEP deposited × STATE supply / recorded burned DEEPThe vault pulls DEEP, burns it immediately, increases totalBurnedDepositAssets, and mints STATE.
Governance delegation
After minting, the vault self-delegates the receiver only when delegates(receiver) is zero. A receiver who already delegates to itself or another address keeps that choice. Later deposits add voting weight under the existing delegate without rewriting prior checkpoints.
USDG redemption
redeemValue(shares, receiver, owner) burns STATE and transfers the holder's pro-rata share of the vault's USDG balance:
USDG out = STATE burned × vault USDG balance / STATE supplypreviewRedeemValue(shares) previews this one USDG output. It does not return NVDA or another fixed secondary token.
Multi-asset redemption
redeemAssets(shares, receiver, owner, tokens[]) burns STATE and transfers the same pro-rata share of every explicitly listed asset. Entries may be ERC-20 addresses or address(0) for native ETH.
The call rejects:
- DEEP, because it is the burned deposit token;
- STATE, because it is the vault share token; and
- duplicate token entries.
USDG and NVDA may both be listed. The contract does not maintain an enumerable asset registry, so callers must provide every balance they intend to redeem. An omitted asset remains in the vault even though the shares are burned.
Asset selection
Because redeemAssets uses a caller-supplied list, interfaces should read current vault balances, show each included token, and warn when a known asset is omitted.
Fee assets
Anyone can call buyFees to purchase the vault's complete balances of explicitly listed fee assets for exactly 10,000 USDG. DEEP, STATE, USDG, and duplicate entries are rejected. Native ETH uses address(0).
Unlike redemption, buyFees is not pro-rata: the buyer receives the complete listed balances. The USDG payment goes directly into the vault for STATE holders.