GitHub: https://github.com/abrownfox0/abrownfox001-twap60-prediction-trigger-system
YouTube walkthrough: https://www.youtube.com/watch?v=XzhugRL6BV4
Live profile: https://polymarket.com/@abrownfox001
Part 3 isolated the order adapter for a coming Rust CLOB.
Part 4 is the ops layer you need before that cutover. September already showed the failure mode: the book, the TWAP socket, and settlement can go dark together.
1. Recent Reality, Not Hypotheticals
A 5m bot that only models BTC direction is incomplete.
Recent production facts:
- Volume-tiered CLOB order/cancel limits have been enforced since early August
- REST also has IP / Cloudflare buckets; trading has separate per-signer token buckets
- RTDS is the public path for 30s/60s Chainlink TWAP
- Sep 15: scheduled CLOB maintenance
- Sep 19: ~2-hour Trading Degraded incident
- Predictions CLOB
- RTDS websocket
- CLOB websocket
- markets/position data
- on-chain settlement / Polygon RPC
- a stretch of cancel-only before trading returned
- Sep 22: perps maintenance (different venue, same lesson: read status pages)
If your engine assumes “socket up ⇒ trade,” the Sep 19 window would have been a gift to whoever still had a live-looking but stale loop.
2. Split the Limit Buckets
Do not treat “rate limit” as one number.
| Bucket | What it hits | Bot response |
|---|---|---|
| IP / Cloudflare | REST polling, books, gamma | Stop polling; use WS |
| Per-signer CLOB |
POST /order, cancels |
Respect tier + Retry-After
|
| RTDS / CLOB WS | Feed freshness | Reconnect + halt if stale |
| Status / incident | Whole venue | Cancel-only or flat |
Volume tiers mean more trading can unlock more burst.
They do not mean a 5m specialist should spam the book to climb a tier.
@abrownfox001 is a small-clip directional engine. The correct rate-limit policy is: stay boring. Few orders, idempotent cancels, no book-of-quotes fireworks.
3. RTDS Is Part of Risk, Not Just Market Data
TWAP60 lives on RTDS.
So an RTDS outage is not “charts look stale.”
It is “the official target variable disappeared.”
Hard rules:
if twap_age > freshness_limit:
do not enter
do not re-score into a new clip
optional: scratch only if book data is also trustworthy
else:
normal loop
Never do this:
- RTDS dies
- silently swap Binance last into
P(up) - keep taking 50¢ risk
That recreates the snapshot bot TWAP was meant to kill.
4. Cancel-Only Is a First-Class State
The Sep 19 incident went to cancel-only before full trading returned.
Your state machine needs that mode explicitly:
NORMAL
→ FEED_STALE
→ CANCEL_ONLY
→ FLAT_AND_WAIT
→ NORMAL
engine.ts should already understand “no new buys.”
clob.ts should already understand “cancels may work when posts do not.”
If those are the same function with a boolean named live, you will enter during an incident.
5. Ops Checklist I Want in Production
- [ ] Parse
Retry-AfterandPoly-RateLimit-Warning - [ ] Local order registry so reconnects do not double-send
- [ ] TWAP timestamp checked every re-score
- [ ] CLOB book timestamp checked before scratch
- [ ] Hard daily loss + per-slot cap still apply in chaos
- [ ] Status page / incident webhook or at least a human halt
- [ ] Logs that record
venue_mode=normal|cancel_only|stale_feed - [ ] Dry-run path (
npm start) still available after ops changes
Windows trial binary users need the same mental model: if the app cannot see a fresh TWAP, it should sit on its hands.
6. What Not to Optimize During Incidents
Do not use an outage to:
- “catch up” missed slots
- widen the 45–55¢ band
- dump size when the book returns
- climb rate-limit tiers with junk cancels
The first minutes after a venue returns are adverse-selection hours.
Let the official TWAP and the book both look normal before the specialist loop resumes.
7. How This Connects to Parts 2 and 3
- Part 2: wrong target → silent bad labels
- Part 3: CLOB rewrite → adapter risk
- Part 4: degraded venue → operational risk
A bot can be right on TWAP60 and still blow up because it traded through a dead socket.
8. What Part 5 Covers
The last post applies this map to the live engine:
- what I keep
- what I am changing in feed / CLOB / halt logic
- what I am not adding (perps, combos, multi-asset spray)
- how to read @abrownfox001 against this new platform reality
Links
- Repo: https://github.com/abrownfox0/abrownfox001-twap60-prediction-trigger-system
- Video: https://www.youtube.com/watch?v=XzhugRL6BV4
- Live activity: https://polymarket.com/@abrownfox001?tab=activity
- Status: https://status.polymarket.com
Not financial advice. If the venue is degraded, not trading is a feature.
If you have more questions, please feel free to contact me at any time: https://t.me/abrownfox001
My Polymarket Activity: https://polymarket.com/@abrownfox001?tab=activity
#Polymarket #RTDS #CLOB #TradingBot #BTC #AlgoTrading #PredictionMarkets #DevOps
Top comments (0)