The Role of the Strategy Layer
The Strategy Layer is the only place in the Agent Economy where discretion lives — and that discretion belongs to the community, not to any individual or team. It defines the bounds within which agents operate. Agents optimize how and when. Strategy defines what and how much. Every parameter that could introduce value judgement, risk, or asset-selection opinion is pushed up to this layer and governed by futarchy. The agent layer is deliberately starved of policy-level choices.StrategyConfig — On-Chain Configuration
Each managed surface (RWT Vault, Liquidity Nexus, Areal Treasury) maintains its ownStrategyConfig PDA. Agents read this config on every action and validate that the action stays within its bounds.
RWT Vault StrategyConfig — core parameters
Nexus StrategyConfig
Treasury StrategyConfig
Every instruction callable by an agent reads the relevant
StrategyConfig PDA and fails with a typed error (StrategyConfigViolation, KillSwitchActive, TimelockNotElapsed) if any bound is violated. This is not “the bot checks” — it is “the contract rejects”. Agents cannot produce out-of-bounds state even if compromised.Two-Tier Timelock
Not all parameter changes carry equal risk. Tightening slippage by 10 bps is routine. Adding a new OT to the whitelist is a capital-allocation decision with asymmetric downside. The timelock model reflects that:Operational tier — 24h timelock
Parameters whose change only affects execution behaviour within the already-approved universe. Updates apply 24 hours after the futarchy proposal resolves.Includes:
max_slippage_bpsrebalance_deviation_bpsrebalance_cooldown_secsmax_daily_swap_volume_usdc/max_single_swap_volume_usdcgeometric_density_r_bpsmax_active_zone_width
Critical tier — 7-day timelock
Parameters whose change expands the universe of permitted actions or reshapes economics. Updates apply 7 days after proposal resolution — time for holders to exit if they disagree.Includes:
allowed_ot_mints(any addition or removal)allowed_swap_venues/allowed_third_party_venuesmax_alloc_per_ot_bpsmax_total_ot_exposure_bpsmin_reserve_usdc_bps/runway_months_minimumyield_split(any redistribution)
Kill switch — instant on, slow off
Thekill_switch_active field is the only parameter with asymmetric timelock:
Activation: instant
Three independent paths can set
kill_switch_active = true with zero delay: (1) the Halt Bond — anyone stakes 1% of ARL supply as a bond against a halt, (2) the Pause Authority (Team Multisig) as operational backstop, or (3) a resolved futarchy emergency-halt proposal. Each path has its own trust and speed tradeoff.Deactivation: 7-day timelock
Re-enabling agent activity requires a full 7-day timelock even if the activation was triggered in error. Safety errs on the side of caution. Deactivation is a critical-tier governance action — no halter can unilaterally reverse their own halt.
Halt Bond — economic halt trigger
Instead of electing a guardian body, the protocol uses a skin-in-the-game model. Anyone can trigger an emergency halt, but they must stake real economic value against the legitimacy of the halt call. Bad calls are expensive; good calls are rewarded.Bond size — 1% of ARL supply
Staked in ARL tokens, computed against current circulating supply at the time of submission. High enough to deter spam (substantial capital at risk); low enough that determined holders or coordinating groups can assemble it when needed.
Instant halt on stake
The same transaction that locks the bond flips
kill_switch_active = true. Protocol halts within one block. No coordination, no multisig, no elections — the economic commitment is all it takes.Review — was the halt justified
During a 7-day review window, the designated reviewer (V1: Team Multisig / V2: futarchy proposal) evaluates whether the halt was warranted. Evidence published on-chain; judgment is binding.
Asymmetric outcomes
Justified → bond returned to caller + optional bounty from Treasury scaled to averted damage. Not justified → bond forfeited entirely to Areal Treasury. No partial outcomes.
Activation flow
Detection
Any participant observes an anomaly via on-chain monitors, community reports, bug-bounty submissions, or audit events.
Stake the bond
Caller submits
activate_kill_switch_with_bond instruction, transferring 1% of ARL circulating supply in ARL tokens into a frozen HaltBondEscrow PDA. Same transaction flips kill_switch_active = true.Automatic halt
All agent instructions across RWT Vault, Nexus, and Treasury revert with
KillSwitchActive on next call. User-level operations remain unaffected.Review window opens
7 days. Caller publishes rationale (on-chain memo on stake tx). Reviewer (Team Multisig in V1, futarchy in V2) examines evidence and renders verdict.
Verdict: Justified
Bond released back to caller. Optional bounty disbursed from Areal Treasury, sized proportional to averted damage (governance-set, proposed ceiling 5% of averted loss). Caller can propose reactivation through standard 7-day governance flow.
Parameters
| Parameter | Value | Rationale |
|---|---|---|
| Bond size | 1% of ARL circulating supply (measured at tx time) | High friction for spurious halts; achievable for coordinated response to real threats |
| Review window | 7 days | Matches kill-switch reactivation timelock symmetrically |
| Bounty ceiling | 5% of averted damage (governance-set) | Meaningful reward without skew toward over-halting |
| Cooldown after forfeit | 30 days per wallet | Prevents repeat-griefer from cycling stakes |
| Stake denomination | ARL (not USDC) | Halter’s interests aligned with protocol survival |
Why an economic bond beats an elected council
A prior design considered a community-elected Safety Council (7 members, 4-of-7 supermajority). The bond model is strictly simpler and economically cleaner:| Concern | Safety Council | Halt Bond |
|---|---|---|
| Who can trigger | 7 specific people | Anyone with 1% ARL |
| Election overhead | Annual per seat | None |
| Personal disclosures | Required | Not needed |
| Compensation | Monthly stipend from Treasury | None; halter funded by own stake |
| Bad halt outcome | Reputation damage, possible removal | Treasury gains 1% of supply |
| Griefing resistance | Reputation stake | 1% of supply at risk |
| Alignment with futarchy ethos | Personal accountability | Economic accountability |
Backup authorities
Two parallel paths remain for scenarios where the Halt Bond is too slow or inappropriate:- Pause Authority (Team Multisig) — independent instant halt with no bond required, reserved for zero-day exploits observed during active attack where even assembling 1% ARL takes too long
- Governance emergency proposal — halt via futarchy with no bond, but slower (requires proposal lifecycle to resolve)
Futarchy Proposal Lifecycle
Worked example — operational update
Proposal #83: Tightenmax_slippage_bps from 100 (1%) to 50 (0.5%) on RWT Vault.
- ARL holder submits with payload
{surface: RwtVault, param: max_slippage_bps, from: 100, to: 50} - Pass / fail markets open with 5k ARL bootstrap per side
- 72-hour trading window. Pass-TWAP settles at 1.084, fail-TWAP at 1.076 — pass wins
- Timelock 24h (operational tier)
- After 24h elapse,
apply_strategy_updatecrank runs: config_version 18 → 19 - Next agent action reads config v19, enforces new 50 bps slippage
Worked example — critical update
Proposal #91: Add new OTPROJ2K3mint... to allowed_ot_mints on RWT Vault.
- Submission includes full justification and expected allocation target
- Pass / fail markets open with 20k ARL bootstrap per side (larger for critical)
- 168-hour trading window. Resolves in favour of pass
- Timelock 7 days
- During the 7 days:
pending_update_unlock_tsvisible on-chain- Holders who disagree have a full week to exit via DEX or via
mint_rwtredemption path (if enabled) - Agents do not read the pending update
- After 7 days,
apply_strategy_updatemakes the whitelist change live
Parameter Coverage Matrix
| Parameter | Surface | Tier | Rationale |
|---|---|---|---|
allowed_ot_mints | RWT Vault | Critical (7d) | Expands universe of permitted acquisitions |
allowed_swap_venues | RWT Vault, Nexus, Treasury | Critical (7d) | Exposes capital to new counterparty contracts |
max_alloc_per_ot_bps | RWT Vault | Critical (7d) | Concentration limits bound max single-asset loss |
max_total_ot_exposure_bps | RWT Vault | Critical (7d) | Reserve vs deployed capital ratio |
min_reserve_usdc_bps | RWT Vault | Critical (7d) | Liquidity floor |
yield_split | RWT Vault | Critical (7d) | Redistributes economic flows |
max_daily_swap_volume_usdc | RWT Vault, Nexus | Operational (24h) | Circuit breaker — tightening or loosening |
max_single_swap_volume_usdc | RWT Vault, Nexus | Operational (24h) | Per-tx cap |
max_slippage_bps | All | Operational (24h) | Execution-quality parameter |
rebalance_deviation_bps | Nexus | Operational (24h) | Trigger sensitivity |
rebalance_cooldown_secs | Nexus | Operational (24h) | Anti-thrash |
geometric_density_r_bps | Nexus | Operational (24h) | Density shape within existing range |
kill_switch_active (→ on) | All | Instant | Safety cannot wait |
kill_switch_active (→ off) | All | Critical (7d) | Reactivation is consequential |
Why Not One Big Timelock
A uniform long timelock (say, all changes take 7 days) feels safer but breaks operationally: if a slippage parameter is set too loose and agents are bleeding value to MEV, the protocol cannot respond for a week. A uniform short timelock (24h on everything) forfeits the exit-window property for critical changes. The tiered model preserves both:- Operational parameters adjust within a day — protocol stays nimble
- Critical parameters give dissenting holders a full week to vote with their feet
- Kill switch is always instant — safety is non-negotiable
What Cannot Be Changed By Governance
Some invariants are hard-coded in the contract layer and cannot be altered even by successful futarchy proposals. Attempting to do so requires a program upgrade signed by the upgrade authority (Team Multisig during bootstrap) — a separate, slower path. Examples of hard invariants:- Fund conservation during
compress_liquidity(total capital must not decrease) - Kill switch cannot be bypassed by any instruction
- Mint-path fee skip applies only to genuine mint routes
- Permanent tail bins are never debited
- RWT NAV can never be reduced below
MIN_CAPITAL_FLOOR(prevents NAV = 0)
Summary
Governance-bound agents
Every agent reads StrategyConfig as hard constraints — cannot exceed bounds even under compromise
Two-tier timelock
24h operational / 7d critical — balances nimbleness with holder exit optionality
Instant kill switch
Activation has zero delay. Deactivation is 7-day timelocked. Safety asymmetric by design.
Per-surface config
RWT Vault, Nexus, and Treasury each have their own StrategyConfig — independent upgrade paths
Audit trail built-in
Every parameter change carries proposal ID, TWAP evidence, config version, unlock timestamp
Hard-coded invariants
Fund conservation, kill-switch reachability, and critical safety checks cannot be changed by governance