The Keeper
The off-chain engine that watches your positions and executes automations safely.
The Keeper is the automation engine Super9MM runs. It's what turns "I'd like this position to stay in range" into actual on-chain transactions, around the clock.
The loop
For every Automator that has automation enabled, the keeper continuously:
- Reads state — the position's range, the live pool tick/price (derived from each Automator's own DEX, so it's correct on every chain), idle balances, and accrued fees.
- Decides — applying your config in priority order: take-profit/stop-loss → rebalance → compound/accumulate, plus DCA entries for armed-but-unopened Automators.
- Simulates — it dry-runs the transaction first; if it would fail, it backs off instead of submitting.
- Executes — it signs and sends from a whitelisted keeper wallet, then moves on.
Built-in safety
The keeper is designed to fail closed:
- If it can't read your on-chain config, it does nothing (never acts on a permissive default).
- Every action it submits must pass the contract's TWAP price guard and rate limit — these live on-chain, so even a buggy keeper can't bypass them.
- It honors your pause switch and direction/range rules.
- It computes minimum-output amounts (slippage protection) on every swap.
- A failing action backs off rather than retrying every cycle.
Spot vs guarded price
The keeper decides using the live pool price, but the contract independently re-checks a time-weighted average price (TWAP) before allowing any action. So a momentary price spike (or a manipulation attempt) can't trick the keeper into a bad rebalance or an early stop-loss — the on-chain guard is the final word.
What the keeper is not
- It is not a custodian. It cannot withdraw your funds (see Security model).
- It is not required for you to use Super9MM manually — you can always open, rebalance, compound, and withdraw yourself from the Manage page.
ℹ️
Next: Security model — the exact guarantees you get.