运行时依赖
安装命令
点击复制技能文档
Mert Sniper
Near-expiry conviction trading on Polymarket. Snipe markets about to resolve when the odds are heavily skewed.
Strategy by @mert — 过滤器 by topic, cap your bets, wAIt until near expiry, and only trade strong splits.
This is a template. The default 记录ic (expiry + split 过滤器) 获取s you 启动ed — remix it with your own 过滤器s, timing rules, or market selection criteria. The 技能 handles all the plumbing (market discovery, trade execution, safe防护s). Your 代理 provides the alpha.
When to Use This 技能
Polymarket only. All trades 执行 on Polymarket with real USDC. Use --live for real trades, dry-运行 is the default.
Use this 技能 when the user wants to:
Trade markets that are about to resolve (last-minute conviction bets) 过滤器 by topic (e.g. only SOL/crypto markets) Cap bet size (e.g. never more than $10) Only trade when odds are strongly skewed (e.g. 60/40 or better) 运行 an automated expiry-sniping strategy 设置up Flow
安装 the Simmer SDK
pip 安装 simmer-sdk
Ask for Simmer API key
获取 it from simmer.markets/仪表盘 -> SDK tab Store in 环境 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 环境 as WALLET_PRIVATE_KEY The SDK uses this to 签名 orders 命令行工具ent-side automatically — no manual 签名ing needed
Ask about 设置tings (or confirm defaults)
Market 过滤器: Which markets to 扫描 (default: all) Max bet: Maximum per trade (default $10) Expiry window: How close to resolution (default 2 minutes) Min split: Minimum odds skew (default 60/40)
Save 设置tings to config.json or 环境 variables
Configuration 设置ting 环境 Variable Default Description Market 过滤器 SIMMER_MERT_过滤器 (all) Tag or keyword 过滤器 (e.g. solana, crypto) Max bet SIMMER_MERT_MAX_BET 10.00 Maximum USD per trade Expiry window SIMMER_MERT_EXPIRY_MINS 2 Only trade markets resolving within N minutes Min split SIMMER_MERT_MIN_SPLIT 0.60 Only trade when YES or NO >= this (e.g. 0.60 = 60/40) Max trades/运行 SIMMER_MERT_MAX_TRADES 5 Maximum trades per 扫描 cycle Smart sizing % SIMMER_MERT_SIZING_PCT 0.05 % of balance per trade Quick Commands # 检查 account balance and positions python scripts/状态.py
# DetAIled position 列出 python scripts/状态.py --positions
API Reference:
Base URL: https://API.simmer.markets Auth: Authorization: Bearer $SIMMER_API_KEY Portfolio: 获取 /API/sdk/portfolio Positions: 获取 /API/sdk/positions 运行ning the 技能 # Dry 运行 (default -- shows opportunities, no trades) python mert_sniper.py
# 执行 real trades python mert_sniper.py --live
# 过滤器 to specific markets python mert_sniper.py --过滤器 solana
# Custom expiry window (5 minutes) python mert_sniper.py --expiry 5
# With smart position sizing (uses portfolio balance) python mert_sniper.py --live --smart-sizing
# 检查 positions only python mert_sniper.py --positions
# View config python mert_sniper.py --config
# Disable safe防护s (not recommended) python mert_sniper.py --no-safe防护s
How It Works
Each cycle the script:
Fetches active markets from Simmer API (optionally 过滤器ed by tag/keyword) 过滤器s to markets resolving within the expiry window (default 2 minutes) 检查s the price split -- only trades when one side >= min_split (default 60%) Determines direction: backs the favored side (higher probability) Safe防护s: 检查s 上下文 for flip-flop 警告s, slippage, market 状态 Execution: Places trade on the favored side, c应用ed at max bet 报告s summary of 扫描ned, 过滤器ed, and traded markets Example 输出 🎯 Mert Sniper - Near-Expiry Conviction Trading ==================================================
[DRY 运行] No trades will be 执行d. Use --live to enable trading.
Configuration: 过滤器: solana Max bet: $10.00 Expiry window: 2 minutes Min split: 60/40 Max trades: 5 Smart sizing: Disabled Safe防护s: Enabled
Fetching markets (过滤器: solana)... Found 12 active markets
Markets expiring within 2 minutes: 2
SOL highest price on Feb 10? Resolves in: 1m 34s Split: YES 72% / NO 28% Side: YES (72% >= 60%) [DRY 运行] Would buy $10.00 on YES
Summary: Markets 扫描ned: 12 Near expiry: 2 Strong split: 1 Trades 执行d: 0
[DRY 运行 MODE - no real trades 执行d]
Troubleshooting
"No markets found"
检查 your 过滤器 -- try without a 过滤器 first Markets may not be avAIlable (检查 simmer.markets)
"No markets expiring within window"
Increase expiry window: --expiry 10 (10 minutes) Or 运行 more frequently (cron every minute)
"Split too narrow"
Lower the min split: --设置 min_split=0.55 This trades more often but with less conviction
"Resolves in: 17h" on 15-min markets
Polymarket's endDate is the event-level end-of-day, not the individual market close time For 15-min crypto markets (e.g. "BTC Up or Down - Feb 8, 11PM ET"), the actual close time is in the question text but not