Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c23c415
Add Polymarket Reverse Engineer specialized agent
claude Mar 17, 2026
6728b65
Add Polymarket Reverse Engineer analysis: trades_k9Q2mX4L8A7ZP3R
claude Mar 18, 2026
0812193
Add Polymarket LP Seeding Bot (paper + live modes)
claude Mar 18, 2026
5d50f87
Auto-load .env on startup (Windows CMD compatible)
claude Mar 18, 2026
e0b3dda
Fix Windows signal handling (add_signal_handler is Unix-only)
claude Mar 18, 2026
9a3754a
Add Streamlit real-time dashboard (dashboard.py)
claude Mar 18, 2026
2c64ead
Add bot diagnostic script (diagnose_bot.py)
claude Mar 18, 2026
bf1b2db
Fix outcomePrices JSON string parsing + lower volume filter to 1k
claude Mar 18, 2026
d1a8bdc
Add BTC/SOL/XRP 5min/15min/1hr market filter + fix dashboard str bug
claude Mar 18, 2026
bf241e4
Fix .str accessor on market_id in recent trades table
claude Mar 18, 2026
7dc2c5b
fix: remove timeframe keyword filter default that blocked all markets
claude Mar 18, 2026
9621906
diagnose: add Step 3 showing available BTC/XRP/SOL crypto markets
claude Mar 18, 2026
a705362
diagnose: deep search for crypto markets via pagination + API keyword…
claude Mar 18, 2026
8269b0c
diagnose: exhaustive crypto search via events, slugs, tags, and unfil…
claude Mar 18, 2026
f3be43e
Add ephemeral up/down market fetching via timestamp-based slugs
claude Mar 18, 2026
efdd263
feat: continuous scanning, position settlement, CSV reset, terminal d…
claude Mar 18, 2026
855df06
feat: add trade export to dashboard for comparison with original account
claude Mar 18, 2026
002b45c
feat: overhaul dashboard UI + fix settlement claiming (ported from co…
claude Mar 18, 2026
43e4085
fix: remove invalid \$ escape sequence in dashboard JS template literal
claude Mar 18, 2026
87010db
config: set default scan interval to 1s
claude Mar 18, 2026
bf71a99
fix: use lifespan handler instead of deprecated on_event + change def…
claude Mar 18, 2026
3c181ce
config: change dashboard default port to 8003
claude Mar 18, 2026
0126390
config: set SCAN_INTERVAL_SEC default to 1s in .env.example
claude Mar 18, 2026
26e53c4
feat: auto take-profit exit at 0.98 with win/loss tracking
claude Mar 18, 2026
348e9c5
fix: loss positions never cleared from tokens_held after settlement
claude Mar 18, 2026
c725a9f
fix: TP exits now count as settled in dashboard; reduce settle thrott…
claude Mar 18, 2026
55460b3
Decouple market scan from trade loop; paper fills instant; 2s burst c…
claude Mar 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# ────────────────────────────────────────────────────────────
# Polymarket LP Bot — Environment Variables
# Copy this file to .env and fill in your values:
# cp .env.example .env
# Then run:
# source .env && python run_bot.py
# ────────────────────────────────────────────────────────────

# ── Mode ─────────────────────────────────────────────────────
# "paper" = simulate only (safe, no real money)
# "live" = real orders — requires funded wallet
BOT_MODE=paper

# ── Wallet (required for live mode) ──────────────────────────
# Your Polymarket trading wallet private key (hex, WITHOUT 0x prefix)
# NEVER commit this file with a real key in it
POLYMARKET_PRIVATE_KEY=your_private_key_here_without_0x

# Polygon RPC endpoint (free options below)
POLYGON_RPC=https://polygon-rpc.com
# Alternatives:
# POLYGON_RPC=https://rpc.ankr.com/polygon
# POLYGON_RPC=https://polygon-mainnet.g.alchemy.com/v2/YOUR_ALCHEMY_KEY

# ── Capital ───────────────────────────────────────────────────
# Total USDC bankroll the bot may deploy
BANKROLL_USDC=1000

# ── Sizing (reverse-engineered from target trader) ────────────
# size_usdc = SIZING_SLOPE × price + SIZING_INTERCEPT
SIZING_SLOPE=26.74
SIZING_INTERCEPT=-1.59
ORDER_FRAGMENTS=2
MIN_ORDER_USDC=1.0
MAX_ORDER_USDC=200.0

# ── Market Allowlist (coins + timeframes) ─────────────────────
# Pipe-separated OR terms — question must contain one from EACH group
MARKET_KEYWORDS=bitcoin|btc|solana|sol|xrp|ripple
MARKET_TIMEFRAMES=5 min|5min|15 min|15min|1 hour|60 min|1hr

# ── Market Filters ─────────────────────────────────────────────
MIN_MARKET_VOLUME_USDC=10000
MAX_SPREAD=0.05
MIN_PRICE=0.03
MAX_PRICE=0.97

# ── Risk Management ────────────────────────────────────────────
MAX_MARKET_EXPOSURE_PCT=0.10 # max 10% of bankroll per market
DAILY_LOSS_LIMIT_PCT=0.05 # kill switch at 5% daily drawdown
MAX_TOTAL_EXPOSURE_PCT=0.80 # max 80% of bankroll deployed total

# ── Execution ──────────────────────────────────────────────────
SCAN_INTERVAL_SEC=2 # seconds between trade bursts (matches original wallet 2s cadence)
ORDER_DELAY_SEC=0.1 # seconds between orders in live mode (paper mode ignores this)
MARKET_RESCAN_SEC=30 # seconds between full Gamma API market-list refreshes
TAKE_PROFIT_PRICE=0.98 # auto-exit position when token price reaches this level

# ── Logging ────────────────────────────────────────────────────
LOG_FILE=bot_trades.csv
LOG_LEVEL=INFO
Loading