openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > Polymarket Elon Tweets

INVALID LANGUAGE PAIR SPECIFIED. EXAMPLE: LANGPAIR=EN|IT USING 2 LETTER ISO OR RFC3066 LIKE ZH-CN. ALMOST ALL LANGUAGES SUPPORTED BUT SOME MAY HAVE NO CONTENT

数据与表格

作者:AD88 @adlai88

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v1.1.2

统计:⭐ 0 · 1k · 8 current installs · 8 all-time installs

0

安装量(当前) 8

🛡 VirusTotal :可疑 · OpenClaw :可疑

Package:adlai88/polymarket-elon-tweets

安全扫描(ClawHub)

  • VirusTotal :可疑
  • OpenClaw :可疑

OpenClaw 评估

The skill is plausibly what it claims (an automated Polymarket trader) but there are multiple inconsistencies in metadata/config names and it asks you to place a wallet private key in the environment — a high-sensitivity action that deserves caution.

目的

The code and SKILL.md implement an automated trading strategy that uses XTracker and the Simmer SDK, which matches the skill's description. Requesting a Simmer API key and (for live trading) a wallet private key is consistent with a trading skill. However registry metadata at the top-level claimed 'Required env vars: none' while clawhub.json and the code expect SIMMER_API_KEY (and the README instructs storing WALLET_PRIVATE_KEY). This mismatch…

说明范围

The runtime instructions focus on trading: fetching XTracker, matching Polymarket markets, buying/selling buckets, and saving settings. They explicitly instruct storing a WALLET_PRIVATE_KEY in an environment variable for live trading and enabling cron for scheduling. That is within scope for an automated trader but is sensitive because it gives the skill the ability to sign transactions. The instructions also allow disabling safeguards (--no-s…

安装机制

This is an instruction-only skill with no external download URLs; the runtime expects the simmer-sdk pip package. clawhub.json declares pip: simmer-sdk; there is no arbitrary direct download or extracted archive. This is a moderate/expected install footprint for a Python trading skill. Minor concern: installation instructions suggest 'pip install simmer-sdk' but there is no pinned version or provenance link in SKILL.md.

证书

The skill legitimately needs a Simmer API key and (optionally) a wallet private key for live trading, but there are several inconsistencies and issues: (1) top-level registry metadata listed no required env vars while clawhub.json lists SIMMER_API_KEY and SKILL.md also asks for WALLET_PRIVATE_KEY — inconsistent declarations; (2) tunable/env names diverge across files (e.g., SKILL.md/config.json use SIMMER_ELON_MAX_POSITION or SIMMER_ELON_MAX_P…

持久

The skill does not request 'always: true' and defaults to user-invocable/autonomous invocation as normal. It writes local state (failed_trades.json under a local state dir) and can save config to config.json — expected behavior for a CLI skill. There is no evidence it attempts to modify other skills or system-wide agent settings.

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Polymarket Elon Tweets」。简介:INVALID LANGUAGE PAIR SPECIFIED. EXAMPLE: LANGPAIR=EN|IT USING 2 LETTER ISO OR …。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/adlai88/polymarket-elon-tweets/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: polymarket-elon-tweets
description: 'Trade Polymarket "Elon Musk # tweets" markets using XTracker post count data. Buys adjacent range buckets when combined cost < $1 for structural edge. Use when user wants to trade tweet count markets, automate Elon tweet bets, check XTracker stats, or run noovd-style trading.'
metadata:
  author: Simmer (@simmer_markets)
  version: "1.1.0"
  displayName: Polymarket Elon Tweet Trader
  difficulty: advanced
  attribution: Strategy inspired by @noovd
---
# Polymarket Elon Tweet Trader

Trade "Elon Musk # tweets" markets on Polymarket using XTracker post count data.

## When to Use This Skill

Use this skill when the user wants to:
- Trade Elon Musk tweet count markets automatically
- Set up @noovd-style bucket trading
- Check XTracker pace and stats for current tweet events
- Monitor and exit existing tweet market positions
- Configure bucket spread or entry thresholds

## 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:

1. **Get XTracker pace** — XTracker tracks Elon's real-time post count and projects the final total
2. **Find center bucket** — The bucket containing XTracker's projected pace
3. **Buy adjacent buckets** — Buy the center + neighbors (configurable spread)
4. **Check combined cost** — Only buy if the sum of bucket prices < $1 (the +EV threshold)
5. **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:

1. **Install the Simmer SDK**
   ```bash
   pip install simmer-sdk
   ```

2. **Ask for Simmer API key**
   - They can get it from simmer.markets/dashboard → SDK tab
   - Store in environment as `SIMMER_API_KEY`

3. **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

4. **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¢)

5. **Save settings to config.json or environment variables**

6. **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` | `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` | `max_trades_per_run` | 6 | Maximum trades per scan cycle |
| Exit threshold | `SIMMER_ELON_EXIT` | `exit_threshold` | 0.65 | Sell when bucket price above this |
| Slippage max | `SIMMER_ELON_SLIPPAGE_MAX` | `slippage_max_pct` | 0.05 | Skip trade if slippage exceeds this |
| 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) |

Config priority: config.json > environment variables > defaults.

## Quick Commands

```bash
# Check account balance and positions
python scripts/status.py

# Detailed position list
python scripts/status.py --positions
```

**API 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

```bash
# 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 --quiet
```

## How It Works

Each cycle the script:
1. Fetches active XTracker trackings for Elon Musk tweet events
2. Gets real-time stats: current count, projected pace, days remaining
3. Searches Simmer for matching tweet count markets (auto-imports if missing)
4. Finds the bucket matching XTracker's pace projection
5. Evaluates adjacent buckets (center ± spread)
6. **Entry**: If sum of cluster prices < max_bucket_sum → BUY each bucket
7. **Exit**: Checks open positions, sells if any bucket price > exit_threshold
8. **Safeguards**: Checks context for flip-flop warnings, slippage
9. **Tagging**: All trades tagged with `sdk:elon-tweets` for 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: 0
```

## Troubleshooting

**"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_KEY` is 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 USDC on Polygon"**
- Polymarket uses **USDC.e** (bridged USDC, contract `0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174`) — not native USDC
- If you bridged USDC to Polygon recently, you likely received native USDC
- Swap native USDC to USDC.e, then retry

**"API key invalid"**
- Get new key from simmer.markets/dashboard → SDK tab