Treasury
The treasury holds the protocol's assets — its ARM reserve and the fees it earns — and is controlled by the governance timelock. It is a non-upgradeable contract: its spending logic and safety limits are fixed at deployment.
Two ways value leaves the treasury
- Governance distributions. Any asset can be sent out by a passed governance proposal. Larger distributions (above 5% of the treasury balance) take the Extended bar.
- The steward channel. The elected Treasury Steward handles routine spending through pass-by-default proposals — they execute unless the community votes them down — but only within a governance-authorized budget (below).
Both channels are executed by the timelock after passing, and both count against the outflow limits.
Outflow rate limits
Outflow limits are the treasury's primary defense against governance capture: even a passed malicious proposal can only remove a bounded amount of value per window.
For each asset, there is a rolling-window limit — the total that can leave within a trailing window (e.g. 30 days). The limit for a window is the greater of:
- a percentage of the treasury's current balance of that asset, or
- a fixed absolute amount,
and it can never be reduced below an immutable floor that governance is forbidden to go under. Using the greater of a percentage and an absolute lets the cap scale with the treasury while always allowing a baseline of legitimate operations. The limit is aggregate — every distribution and every steward spend in the window counts against the same budget.
Parameter values
The mechanism is fixed in code, but the specific numbers — the window length, the percentage, the absolute limit, and the floor — are parameters set by governance rather than constants baked into the contract. Treat any specific figures as the intended configuration, subject to governance.
Loosening is delayed; tightening is immediate
Changes to the outflow limits are asymmetric:
- Tightening the limit (reducing spending capacity) takes effect immediately — a security-improving change should never be delayed.
- Loosening the limit is written to a pending slot and activates only after a 24-day delay.
That 24-day delay is longer than the longest possible governance cycle. The consequence is that a captured governance cannot loosen the limit and drain the treasury in one motion: any drain executes against the old, tighter limit and reverts. Raising the cap and then abusing it requires two separate proposals with 24 publicly visible days in between — time for the community and the Security Council to react.
The Treasury Steward
The Treasury Steward is an elected role for day-to-day treasury operations — recurring expenses, grants, and service payments — so that routine spending doesn't need a full proposal each time.
- Elected by governance to a 6-month term, and removable by governance at any time.
- Bounded by a budget table: governance authorizes specific tokens with a per-token limit and rolling window. The steward can only spend tokens that are in the table, within their limits — and still within the aggregate outflow limits above.
- Pass-by-default: a steward spending proposal executes after its review window unless the community reaches quorum and votes it down.
The steward has no other authority — it cannot change fees, parameters, or roles, and its spending is capped from two directions at once (its per-token budget and the treasury's aggregate outflow limits).