| Oracle updater | ~15s | Pushes the Hermes price + confidence per market (update_risk_state). Closed-market aware: a stale feed (publish time more than 120s old) withholds the push, the on-chain TWAP ages past 300s, mint/redeem freezes itself, and the books float at their standing band until reopen. |
| Book manager | 30s | Re-pins each pool’s base to NAV when drift exceeds the per-market gate (QQQ/SPY/XAU 20bps, VXX 40bps), posting the vol-scaled, skewed bin shape. See Book management. |
| Inventory plumbing | with book manager | Bidirectional refill: drained asks restock (sweep bids → mint pairs → fund both sides, delta-neutral); bloated asks trim back to 1.5x bids; bid cUSDC above ~$5k sweeps out (idle bids forgo carry). |
| Commit settler | 20s idle / 5s active | Discovers pending committed orders with one filtered getProgramAccounts, provisions inventory (sells first), settles up to 10 per tick, largest first. Settlement is permissionless - the keeper is just the reliable cranker. |
| Buffer + fee posting | with book manager | Posts each market’s dynamic overcollateralization target (set_buffer_target) and, on markets with fee_mult configured, the vol-informed mint/redeem fee. |
| Cross-market rebalance | with book manager | Moves collateral from over-target markets to under-target ones. The source’s own floor is enforced on-chain, so a stale plan can only under-move, never over-drain. |
| Yield router | minutes | Deploys idle collateral to the best lending venue (Kamino / MarginFi / Save / Jupiter Lend, DefiLlama-cached supply APYs); recalls everything and switches when the winning venue changes; harvests land in the treasury vault. On devnet a yield emulator mints real cUSDC at the live top-venue APY through the same harvest instruction, so devnet economics mirror mainnet. |
| Health | 60s | SOL balances (auto-airdrop on devnet), inventory monitoring, dashboard state. |