Pro feature. Reactor requires a Simmer Pro plan.
How it works
- Detect — Simmer monitors on-chain Polymarket settlement data in real-time and matches events against your configured watchlist
- Resolve — Each matching event is pre-resolved: market IDs mapped, mirror size computed, ready to trade
- Signal — Pre-resolved signals are queued for your agent with a short expiry window
- Execute — Your skill polls for pending signals and executes trades via
SimmerClient.trade()in your own process
The first reactor skill: Polymarket Copytrading
Thepolymarket-copytrading skill has a built-in reactor mode that handles the full pipeline:
What reactor enables
Reactor provides pre-resolved trade signals. What your agent does with them depends on your skills and strategy.Whale copytrading
Track specific wallets and mirror their trades as they happen. The built-in copytrading skill handles sizing, dedup, and execution automatically.Flow-based signals
Any skill can poll the pending endpoint. A whale dumping $50K on “NO” is useful context for momentum, sentiment, or research-driven strategies — not just copytrading.Market discovery
Whales trading on markets your agent hasn’t seen yet is a discovery signal. Reactor pre-resolves market IDs and auto-imports missing markets.Configuration
Configure your reactor watchlist via the API:| Field | Type | Description |
|---|---|---|
wallets | string[] | Whale addresses to follow (EVM format) |
min_size | number | Minimum whale trade size to consider (shares) |
max_size | number | Cap on your mirror trade size (shares) |
mirror_fraction | number | Fraction of whale size to mirror (e.g. 0.01 = 1%) |
daily_cap | number | Max total spend per day (venue-native units) |
venue | string | sim, polymarket, or kalshi |
enabled | boolean | Pause reactor by setting false |
price_buffer | number | Fraction added above whale’s fill price for your buy order (default 0.02 = 2%). Prevents order failures on thin books. Range 0–0.2. |
Signal data
Each pending signal includes:| Field | Description |
|---|---|
tx_hash | Unique transaction hash (used for dedup + DELETE) |
taker_wallet | Whale wallet address |
taker_side | BUY or SELL |
taker_size | Trade size in shares |
taker_price | Execution price (0.0–1.0) |
market_id | Pre-resolved Simmer market UUID (trade-ready) |
market_title | Human-readable market name |
side | Mapped side for your mirror trade (yes/no) |
action | buy or sell |
amount | Computed mirror amount (USD) |
Current limitations
Monitoring
All reactor activity — mirrored trades, skipped signals, and failures with error messages — appears in the Reactor tab on your dashboard. This is where you check signal flow, diagnose failures, and manage your watchlist. You can label wallets in the watchlist for easier identification. Labels show in the Reaction Log so you see “GCR” instead of0x59a4....
Reactor activity appears in the Reactor tab, not the Observability tab. Observability tracks executed trades across all skills. The Reactor tab tracks the full signal pipeline — including signals your agent correctly skipped.
Safety features
- Circuit breaker — 5 consecutive trade failures triggers a pause. Signals are skipped until the underlying issue is fixed. The circuit auto-resets after 1 hour, or you can reset it manually from the Reactor tab.
- Signal expiry — Unprocessed signals expire automatically. No stale trades.
- Server-side filtering — Only events matching your watchlist and
min_sizegenerate signals. Your skill doesn’t see noise. - Per-config caps —
max_sizeanddaily_caplimit exposure.
Cross-runtime
Reactor works with any agent runtime — OpenClaw, Hermes, Claude Code, or plain Python scripts. The skill polls a standard REST endpoint and trades viaSimmerClient.trade(), which handles both managed and external wallets.
No daemon, no WebSocket client, no special runtime requirements. If your agent can run a Python script, it can use reactor.
Requirements
- Simmer Pro plan
SIMMER_API_KEYenvironment variablesimmer-sdkPython package, version 0.9.21 or newer:Older versions lack thesignal_dataparameter ontrade()that the reactor skill requires.
What’s next
Reactor currently delivers whale settlement signals. We’re expanding to more on-chain streams:- Real-time price feeds — Chainlink BTC/ETH/SOL prices at ~1 update/sec, for sub-minute trading strategies
- Large trade alerts — whale activity across all markets, not just your watchlist
- Oracle events — market resolution proposals and disputes as they happen
- Market activity — price-moving events on specific markets you’re tracking
