polymarket-elon-tweets
Skill56 starsChanged 10 days agoMITView on GitHub
Trade Polymarket "Elon Musk # tweets" markets, check XTracker pace, monitor tweet-market positions, or configure bucket spreads and entry thresholds. Buys adjacent range buckets when combined cost < $1 for structural edge.
- Reads credentials
- Installs packages
In this repository28 other files it gives its agents.
- AGENTS.mdAGENTS.md
- kalshi-weather-traderSkill
- nansen-copytrader-overlaySkill
- polymarket-ai-divergenceSkill
- polymarket-btc-up-down-traderSkill
- polymarket-combo-builderSkill
- polymarket-copytradingSkill
- polymarket-dca-eval-traderSkill
- polymarket-fast-loopSkill
- polymarket-fast-scalerSkill
- polymarket-market-makerSkill
- polymarket-mert-sniperSkill
- polymarket-mil-aircraft-trackerSkill
- polymarket-nothing-ever-happensSkill
- polymarket-researchSkill
- polymarket-signal-sniperSkill
- polymarket-soccer-shock-ladderSkill
- polymarket-wallet-xraySkill
- polymarket-weather-traderSkill
- polymarket-worldcup-copytraderSkill
- prediction-trade-journalSkill
- simmer-preflightSkill
- simmer-briefingSkill
- simmer-mcp-setupSkill
- simmer-skill-builderSkill
- simmerSkill
- simmer-wallet-setupSkill
- simmer-x402Skill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 9 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 30
When user asks to install or configure this skill:
- Distinctive: line 131
Entry: If sum of cluster prices < max_bucket_sum → BUY each bucket
- Very specific: line 134
Tagging: All trades tagged with sdk:elon-tweets for tracking
- Distinctive: line 138
If tweet count markets aren't on Simmer yet, the skill automatically imports them:
- Distinctive: line 153
Before trading, the skill checks:
- Very specific: line 163
All trades are tagged with source: "sdk:elon-tweets".
- Distinctive: line 213
Wait for prices to drop or widen bucket_spread
- Distinctive: line 217
Check that your API key has import capacity (10/day free, 50/day Pro)
- Distinctive: line 221
Wait before trading again
- Distinctive: line 227
Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it
- Distinctive: line 231
If you bridged native USDC (Circle), swap to USDC.e first, then migrate to pUSD
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Polymarket Elon Tweet Trader
Trade "Elon Musk # tweets" markets on Polymarket using XTracker post count data.
🚨 Framework, not a production trading system. Read DISCLAIMER.md before connecting to a wallet with real funds.
How the Strategy Works
Polymarket runs weekly "How many tweets will Elon post?" events with range buckets (e.g., 200-219, 220-239, 240-259). Exactly one bucket resolves YES = $1. The strategy:
- Get XTracker pace — XTracker tracks Elon's real-time post count and projects the final total
- Find center bucket — The bucket containing XTracker's projected pace
- Buy adjacent buckets — Buy the center + neighbors (configurable spread)
- Check combined cost — Only buy if the sum of bucket prices < $1 (the +EV threshold)
- One bucket pays $1 — When the event resolves, one of your buckets pays $1, covering costs
Setup Flow
When user asks to install or configure this skill:
- Install the Simmer SDK
pip install simmer-sdk - Ask for Simmer API key
- They can get it from simmer.markets/dashboard → SDK tab
- Store in environment as
SIMMER_API_KEY
- Ask for wallet private key (required for live trading)
- This is the private key for their Polymarket wallet (the wallet that holds USDC)
- Store in environment as
WALLET_PRIVATE_KEY - The SDK uses this to sign orders client-side automatically — no manual signing needed
- Ask about settings (or confirm defaults)
- Max bucket sum: Combined price threshold (default 90¢)
- Max position: Amount per bucket (default $5.00)
- Bucket spread: How many neighbors to buy (default 1 = center ± 1)
- Exit threshold: When to sell (default 65¢)
- Save settings to config.json or environment variables
- Set up cron (disabled by default — user must enable scheduling)
Configuration
| Setting | Env Variable | Config Key | Default | Description |
| Max bucket sum | SIMMER_ELON_MAX_BUCKET_SUM | max_bucket_sum | 0.90 | Only buy if cluster prices sum < this |
| Max position | SIMMER_ELON_MAX_POSITION_USD | max_position_usd | 5.00 | Maximum USD per bucket |
| Bucket spread | SIMMER_ELON_BUCKET_SPREAD | bucket_spread | 1 | Neighbors on each side (1 = 3 buckets) |
| Smart sizing % | SIMMER_ELON_SIZING_PCT | sizing_pct | 0.05 | % of balance per trade |
| Max trades/run | SIMMER_ELON_MAX_TRADES_PER_RUN | max_trades_per_run | 6 | Maximum trades per scan cycle |
| Exit threshold | SIMMER_ELON_EXIT_THRESHOLD | exit_threshold | 0.65 | Sell when bucket price above this |
| Slippage max | SIMMER_ELON_SLIPPAGE_BPS | slippage_max_bps | 100 | Skip trade if slippage exceeds this (basis points, e.g. 100 = 1%) |
| Min position | SIMMER_ELON_MIN_POSITION | min_position_usd | 2.00 | Floor for smart sizing (USD) |
| Data source | SIMMER_ELON_DATA_SOURCE | data_source | xtracker | Data source (xtracker) |
| Order type | SIMMER_ELON_ORDER_TYPE | order_type | GTC | Order type: GTC (good-til-cancelled) or FAK (fill-and-kill) |
Config priority: env vars > config.json > defaults.
Quick Commands
# Check account balance and positions
python scripts/status.py
# Detailed position list
python scripts/status.py --positionsAPI Reference:
- Base URL:
https://api.simmer.markets - Auth:
Authorization: Bearer $SIMMER_API_KEY - Portfolio:
GET /api/sdk/portfolio - Positions:
GET /api/sdk/positions
Running the Skill
# Dry run (default — shows opportunities, no trades)
python elon_tweets.py
# Execute real trades
python elon_tweets.py --live
# With smart position sizing (uses portfolio balance)
python elon_tweets.py --live --smart-sizing
# Show XTracker stats only
python elon_tweets.py --stats
# Check positions only
python elon_tweets.py --positions
# View config
python elon_tweets.py --config
# Update config
python elon_tweets.py --set max_position_usd=10.00
# Disable safeguards (not recommended)
python elon_tweets.py --no-safeguards
# Quiet mode — only output on trades/errors (ideal for cron)
python elon_tweets.py --live --quiet
# Combine: frequent scanning, minimal noise
python elon_tweets.py --live --smart-sizing --quietHow It Works
Each cycle the script:
- Fetches active XTracker trackings for Elon Musk tweet events
- Gets real-time stats: current count, projected pace, days remaining
- Searches Simmer for matching tweet count markets (auto-imports if missing)
- Finds the bucket matching XTracker's pace projection
- Evaluates adjacent buckets (center ± spread)
- Entry: If sum of cluster prices < max_bucket_sum → BUY each bucket
- Exit: Checks open positions, sells if any bucket price > exit_threshold
- Safeguards: Checks context for flip-flop warnings, slippage
- Tagging: All trades tagged with
sdk:elon-tweetsfor tracking
Auto-Import
If tweet count markets aren't on Simmer yet, the skill automatically imports them:
- Derives the Polymarket event URL from the XTracker tracking title
- Uses the SDK import endpoint (supports multi-outcome events)
- Imports all outcome buckets as a group
- Counts as 1 daily import regardless of bucket count
Smart Sizing
With --smart-sizing, position size is calculated as:
- 5% of available USDC balance (configurable via
sizing_pct) - Capped at max position setting ($5.00 default)
- Falls back to fixed size if portfolio unavailable
Safeguards
Before trading, the skill checks:
- Flip-flop warning: Skips if you've been reversing too much
- Slippage: Skips if estimated slippage > 15%
- Market status: Skips closed or resolved markets
- Extreme prices: Skips buckets priced > 98% or < 2%
Disable with --no-safeguards (not recommended).
Source Tagging
All trades are tagged with source: "sdk:elon-tweets". This means:
- Portfolio shows breakdown by strategy
- Other skills won't sell your tweet positions
- You can track tweet trading P&L separately
Example Output
🐦 Simmer Elon Tweet Trader
==================================================
⚙️ Configuration:
Max bucket sum: $0.90
Max position: $5.00
Bucket spread: 1 (center ± 1 = 3 buckets)
Exit threshold: 65%
Data source: xtracker
📊 XTracker Stats:
Tracking: Elon Musk # tweets Feb 13 - Feb 20
Current count: 187 posts
Pace: 243 projected
Days remaining: 2.3
🎯 Target cluster: 240-259 (center) + 220-239, 260-279
240-259: $0.35
220-239: $0.22
260-279: $0.18
Cluster sum: $0.75 (< $0.90 threshold) ✅
Executing trades...
✅ Bought 14.3 shares of 240-259 @ $0.35
✅ Bought 22.7 shares of 220-239 @ $0.22
✅ Bought 27.8 shares of 260-279 @ $0.18
📊 Summary:
Events scanned: 2
Clusters evaluated: 2
Trades executed: 3
Exits: 0Troubleshooting
"No XTracker trackings found"
- XTracker may not have active Elon tweet events
- New events usually start on Wednesdays/Thursdays
"Cluster sum $X.XX exceeds threshold"
- Buckets are too expensive — edge is too thin
- Wait for prices to drop or widen bucket_spread
"No matching Simmer markets found"
- Markets may not be imported yet — skill will auto-import on next run
- Check that your API key has import capacity (10/day free, 50/day Pro)
"Safeguard blocked: flip-flop warning"
- You've been changing direction too much on this market
- Wait before trading again
"External wallet requires a pre-signed order"
WALLET_PRIVATE_KEYis not set in the environment- The SDK signs orders automatically when this env var is present — no manual signing code needed
- Fix:
export WALLET_PRIVATE_KEY=0x<your-polymarket-wallet-private-key> - Do NOT attempt to sign orders manually or modify the skill code — the SDK handles it
"Balance shows $0 but I have funds on Polygon"
- Polymarket V2 (live 2026-04-28) uses pUSD (PolyUSD, 1:1 backed by USDC.e). If your wallet holds USDC.e, migrate at simmer.markets/dashboard with one click (~30s)
- If you bridged native USDC (Circle), swap to USDC.e first, then migrate to pUSD
- Full migration guide: docs.simmer.markets/v2-migration
"API key invalid"
- Get new key from simmer.markets/dashboard → SDK tab
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

