Roles
Owner surface
- Deposit — moves tokens in and books them into your contributed capital at feed price. Requires a live price feed for the token (a deposit that can’t be priced would corrupt fee accounting).
- Withdraw — per-position unwind, partial withdrawal, in-kind withdrawal, reward withdrawal, and pulling loose token balances. Every one of these is the fee gate: outbound value is priced, checked against your high-water mark, and only new profit is charged. Multiple positions can be withdrawn in a single transaction via batched calls.
- Emergency withdrawal — a best-effort unwind path for a position that resists the normal route; the raw position can be transferred out as-is.
- Operator control — grant and revoke the agent’s role at will.
Invariants worth knowing
- No operator function transfers value out of the vault. Every release path is owner-only and pays only to the owner (fees to the treasury excepted, and only at the gate).
- The performance fee is immutable for the life of the vault, and generation-capped at deployment.
- Exits have no dependency on automation, pausing, or modules. They are deliberately self-contained so they work in every failure state.
- Fee-transfer failure never blocks your payout. If the treasury transfer fails, the fee is booked as owed and retried later; your withdrawal completes.
- Stale feeds waive fees. The vault never charges a fee it cannot price honestly, and emits an explicit waiver event when that happens.
- Price feeds change only by propose-accept. No instant feed swaps on a live vault.