Install
openclaw skills install @czm200/polymarket-value-traderTrade prediction markets on Simmer/Polymarket using value-based analysis. Activate when user asks to trade predictions, check prediction market positions, find market opportunities, or manage Simmer portfolio.
openclaw skills install @czm200/polymarket-value-traderA disciplined prediction market trading skill for AI agents. Trades on Simmer ($SIM virtual) and Polymarket (real USDC) using value-based analysis — only entering positions when there's a clear edge.
Base URL: https://api.simmer.markets
Venue: sim by default (paper trading). Switch to polymarket only when real trading is enabled.
SIMMER_API_KEY=sk_live_... # Required. Set in workspace secrets or TOOLS.md (never hardcode in code)
TRADING_VENUE=sim # Default: sim. Set to "polymarket" for real trading.
reasoning explaining why you expect this side to win/context/{market_id} to catch warnings, concentration risk, existing positionsCall this at the start of any trading session to get a full picture:
curl "https://api.simmer.markets/api/sdk/briefing?since=<last_check_unix_timestamp>" \
-H "Authorization: Bearer $SIMMER_API_KEY"
Briefing response contains:
venues.sim — $SIM balance, PnL, positions needing attention, actions, by_skill breakdownvenues.polymarket — real USDC positions (null if none)risk_alerts — stop-loss triggers, concentration warnings, expiring positionsopportunities.new_markets — newly listed markets matching your profileAct on this order:
risk_alerts first — handle expiring or stop-loss positionsactions per venue — includes redeem prompts for winning positionsopportunities.new_markets — scan for edges# Search by keyword
curl "https://api.simmer.markets/api/sdk/markets?q=bitcoin&limit=10&sort=volume" \
-H "Authorization: Bearer $SIMMER_API_KEY"
# Get a specific market
curl "https://api.simmer.markets/api/sdk/markets/{market_id}" \
-H "Authorization: Bearer $SIMMER_API_KEY"
Key fields to evaluate:
resolution_criteria — exactly what resolves YES/NOend_date — time to resolutionyes_price / no_price — current market prices (0–1)volume / liquidity — market qualityAlways do this before any trade:
curl "https://api.simmer.markets/api/sdk/context/{market_id}" \
-H "Authorization: Bearer $SIMMER_API_KEY"
Look for:
warnings — concentration risk, illiquid market, near resolutionposition — existing position (avoid doubling unless DCA strategy)recommended_side — AI suggestion (treat as one data point, not gospel)curl -X POST "https://api.simmer.markets/api/sdk/trade" \
-H "Authorization: Bearer $SIMMER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"market_id": "<market_id>",
"side": "yes",
"amount": 10.0,
"venue": "sim",
"source": "sdk:value-analysis",
"skill_slug": "polymarket-value-trader",
"reasoning": "<your thesis — why will this side win? cite specific data sources>"
}'
Reasoning quality matters:
curl "https://api.simmer.markets/api/sdk/positions?venue=sim" \
-H "Authorization: Bearer $SIMMER_API_KEY"
# Cancel a specific order
curl -X DELETE "https://api.simmer.markets/api/sdk/orders/{order_id}" \
-H "Authorization: Bearer $SIMMER_API_KEY"
# Cancel all orders on a market
curl -X DELETE "https://api.simmer.markets/api/sdk/orders?market_id={market_id}" \
-H "Authorization: Bearer $SIMMER_API_KEY"
When evaluating a market, assess:
| Factor | What to Check |
|---|---|
| Base Rate | Historical frequency of similar events |
| Recency | Latest data, news, forecasts |
| Market Efficiency | Is the price obviously wrong? Why? |
| Resolution Risk | Could this resolve ambiguously? |
| Time Decay | Days to resolution vs. edge size |
Entry criteria:
Pass if:
XXX $SIM (e.g. "10,250 $SIM") — never $XXX$XXX format (e.g. "$25.00")+X.X% or -X.X% with color contextAdd to HEARTBEAT.md for periodic market monitoring:
## Simmer Trading (2-3x per day)
- Call GET /api/sdk/briefing?since=<lastSimmerCheck>
- Handle risk_alerts first (stop-loss, expiring positions)
- Check actions for each active venue
- Scan opportunities.new_markets for edges > 10%
- Update lastSimmerCheck in heartbeat-state.json
Track last check in memory/heartbeat-state.json:
{
"lastChecks": {
"simmer": 1712620800
}
}
echo $SIMMER_API_KEYcurl https://api.simmer.markets/api/sdk/agents/me -H "Authorization: Bearer $SIMMER_API_KEY"Start with $SIM. Graduate to Polymarket only after demonstrating edge (target: positive PnL after 20+ trades).