1.6 KiB
1.6 KiB
Bot Policy (What It Actually Does)
Inputs (per pool)
- Oracle price
P_oracle(T)— target peg: 1.00 for USD stables; FX for EUR tokens - Pool mid price
P_pool(T) - Deviation:
δ = (P_pool - P_oracle) / P_oracle - Inventory imbalance on cW side (how much of your token remains vs baseline)
- Public chain liquidity/volatility conditions
- Bridge backlog / mint-burn queue status (if available)
Actions
1. Tight-peg maintenance trades
- If
P_pool(T) > P_oracle + band→ bot sellsTinto pool (adds T inventory / absorbs quote) - If
P_pool(T) < P_oracle - band→ bot buysTfrom pool (removes T inventory / spends quote)
2. Inventory re-centering
- If pool is “too drained” of T (or too full), bot adjusts by:
- Adding/removing single-sided liquidity on T side
- Optionally bridging more T from ChainID 138 or redeeming back
3. Cross-pool routing
When multiple quotes exist (USDT/USDC/DAI), the bot routes to the best edge:
- Trade where slippage + fee is lowest
- Optionally rebalance quote asset via existing DEX routes (USDC ↔ USDT ↔ DAI)
4. Bridge-aware throttling
- If the bridge is congested or risk flags trip, bot widens bands / reduces exposure
Peg bands
See ../config/peg-bands.json and 05-oracles.md. Summary:
- USD-pegged: Normal ±10–25 bps; stress ±50–150 bps; circuit break >2%
- EUR-pegged: Normal ±25–50 bps; stress ±100–250 bps; anchor via EURUSD oracle
State machine and pseudo-code: ../spec/bot-state-machine.md, ../spec/bot-pseudo-code.md.