Install
openclaw skills install polymarket-signal-sniperSnipe Polymarket opportunities from your own signal sources. Monitors RSS feeds with Trading Agent-grade safeguards.
openclaw skills install polymarket-signal-sniperYour signals, Simmer's trading intelligence.
This is a template. The default signal source is RSS feeds — remix it with any data source (APIs, webhooks, social media, custom scrapers). The skill handles all the plumbing (market matching, safeguards, trade execution). Your agent provides the alpha.
Use this skill when the user wants to:
When user asks to install or configure this skill:
Install the Simmer SDK
pip install simmer-sdk
Ask for Simmer API key
SIMMER_API_KEYAsk for wallet private key (required for live trading)
WALLET_PRIVATE_KEY# Check account balance and positions
python scripts/status.py
# Detailed position list
python scripts/status.py --positions
API Reference:
https://api.simmer.marketsAuthorization: Bearer $SIMMER_API_KEYGET /api/sdk/portfolioGET /api/sdk/positionsUser provides RSS feed and market directly:
User: "Watch this RSS feed for greenland news: https://news.google.com/rss/search?q=greenland"
User: "Snipe any news about trump from this feed"
→ Run with --feed and --market flags:
python signal_sniper.py --feed "https://news.google.com/rss/search?q=greenland" --market "greenland-acquisition" --dry-run
For automated recurring scans, configure via environment:
| Setting | Environment Variable | Default | Description |
|---|---|---|---|
| RSS Feeds | SIMMER_SNIPER_FEEDS | (none) | Comma-separated RSS URLs |
| Markets | SIMMER_SNIPER_MARKETS | (auto) | Comma-separated market IDs (auto-discovers from keywords if empty) |
| Keywords | SIMMER_SNIPER_KEYWORDS | (none) | Comma-separated keywords to match |
| Confidence | SIMMER_SNIPER_CONFIDENCE | 0.7 | Min confidence to trade (0.0-1.0) |
| Max USD | SIMMER_SNIPER_MAX_USD | 25 | Max per trade |
| Max trades/run | SIMMER_SNIPER_MAX_TRADES | 5 | Maximum trades per scan cycle |
Polymarket Constraints:
Each cycle the script:
Run a scan (dry run by default — no trades):
python signal_sniper.py
Execute real trades:
python signal_sniper.py --live
Check for signals without trading:
python signal_sniper.py --scan-only
View current config:
python signal_sniper.py --config
Override for one run:
python signal_sniper.py --feed "https://..." --keywords "trump,greenland" --market "abc123"
Show processed articles:
python signal_sniper.py --history
Before trading, ALWAYS check the context warnings. The skill will show you:
| Warning | Action |
|---|---|
MARKET RESOLVED | Do NOT trade |
HIGH URGENCY: Resolves in Xh | Consider if signal is timely enough |
flip_flop_warning: SEVERE | Skip - you've been reversing too much |
flip_flop_warning: CAUTION | Proceed carefully, need strong signal |
Wide spread (X%) | Reduce position size or skip |
Simmer AI signal: X% more bullish/bearish | Consider Simmer's oracle opinion |
When you find a matching article, analyze it carefully:
Read the headline and summary - What is the actual news?
Check resolution_criteria - What ACTUALLY resolves this market?
Assess confidence (0.0-1.0):
Only trade if:
User: "Set up news sniping for the Greenland market" → Ask for RSS feeds they want to monitor → Configure with market ID and keywords → Enable cron for recurring scans
User: "Check this feed for trading signals"
→ Run: python signal_sniper.py --feed "URL" --scan-only
→ Show found articles and potential matches
User: "Snipe any bitcoin news from CoinDesk" → Run with CoinDesk RSS and bitcoin-related markets → Show matches and ask if they want to trade
User: "What signals have we processed?"
→ Run: python signal_sniper.py --history
→ Show recent articles and actions taken
1. RSS poll finds: "Trump and Denmark reach preliminary Greenland agreement"
2. Keywords match: "greenland", "trump"
3. Call context endpoint for market "greenland-acquisition-2027"
4. Check warnings: none severe ✓
5. Resolution criteria: "Resolves YES if US formally acquires Greenland by 2027"
6. You analyze: "preliminary agreement" ≠ "formally acquires" but bullish signal
7. Confidence: 0.75 (positive indicator, not definitive)
8. Check slippage: 2.5% on $25 ✓
9. Execute: BUY YES $25
10. Report: "🎯 Sniped: Trump/Greenland agreement → BUY YES $25"
"No feeds configured"
SIMMER_SNIPER_FEEDS environment variable"No matching articles found"
--scan-only to see what's in the feed"Skipped due to flip-flop warning"
"Slippage too high"
"Already processed"
"External wallet requires a pre-signed order"
WALLET_PRIVATE_KEY is not set in the environmentexport WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key>"Balance shows $0 but I have funds on Polygon"
Tips for choosing signal sources:
https://news.google.com/rss/search?q=YOUR_TOPICThe skill works best when: