Settings
Polymarket credentials & trading mode configuration
PAPER
Live Trading Status
Real-time readiness check
Private Key — Not Set
Funder Address — Not Set
Live Trading — Not Ready
API Credentials
Encrypted and stored in the database — never exposed via API
0x-prefixed EOA private key (32 bytes / 64 hex chars after 0x). Used to sign EIP-712 orders.
Your Polygon wallet address that holds USDC for trading (public address, 42 chars).
Security: Keys are encrypted with AES-256-GCM before being written to the database.
The raw private key is never stored, logged, or returned by any API endpoint.
Polymarket API Credentials
Direct API key authentication for live trading — encrypted at rest
🔐 Encrypted at rest. All three values are encrypted with AES-256-GCM before being written to the database.
Raw keys are never stored in plaintext, logged, or returned by any API endpoint.
Your L2 Polymarket API key. Obtain from the Polymarket UI → Settings → API.
Base64-encoded secret returned when you generate your API key.
Passphrase chosen when you created the API key.
API Keys
Authenticate external access to trading data and settings
🔑 Keys are shown once. Copy your key immediately after generating — it cannot be retrieved later. Only a hashed version is stored.
Loading keys…
Trading Mode
Controls whether orders are simulated or placed on Polymarket
Active Mode
Paper mode — orders are simulated, no real funds at risk
Paper mode — orders are simulated against real price data. No funds are at risk.
Switch to Live when you're confident in your strategy.
Safety Guardrails
• 24-hour cap: First 24h in live mode — max $10 USDC per order (auto-resets after 24h)
• Normal cap: After 24h — max $50 USDC per order
• Risk manager: Stop-loss, drawdown limits, and daily loss caps are always enforced
• Emergency stop: Available on the Trading Control Panel
Trailing Stop-Loss
Locks in profits by following price upward — only triggers when price reverses by the trail amount
Enable Trailing Stop-Loss
Off — using static stop-loss only
0.5% – 10%. Smaller = tighter exit. Larger = more room to breathe.
Percentage follows HWM proportionally. Fixed uses an absolute price gap.
How it works: Once a position moves in your favor, the trailing stop follows the price upward.
When price reverses by the trail amount from its peak, the position exits automatically — locking in gains.
Coexists with static stop-loss — whichever triggers first wins.
Correlation Guard
Prevents stacking bets on related markets — limits combined exposure to correlated outcomes
Enable Correlation Guard
Off — correlated exposure not monitored
0.50 (broader)
0.95 (tighter)
Higher = only block very strongly correlated markets. Lower = more conservative.
5%–50%. Trade is blocked if opening it would push combined correlated exposure past this limit.
How it works:
On each new trade, the bot computes Pearson correlation between the proposed market and all open positions (7-day price history).
If the sum of USD exposure in correlated markets would exceed the limit, the trade is blocked with code
CORRELATION_LIMIT.
Default off — existing behavior unchanged until enabled.
Active Market Correlations
Loading…
Position Sizing
Fixed or Kelly criterion — sizes each trade proportional to your statistical edge
Fixed mode: Every trade is $10 USDC regardless of your win rate or edge.
Safe and simple — ideal before you have trade history to calibrate Kelly.
Alert Preferences
Real-time email alerts for critical trading events — max 5/hour
Send alert when a single trade P&L exceeds ±this amount. Default: $5.00 USDC.
Recent Alerts
Loading…
Strategy Rotation
Automatically re-optimizes parameters and rotates to a better strategy when a significant Sharpe improvement is found
Enable Auto-Rotation
Off — strategy parameters are static until manually changed
How often the bot runs a parameter sweep and checks for a better strategy.
0.01–5.0. Default 0.30. Higher threshold = fewer but more confident rotations.
Dry-Run Mode
On — logs rotation recommendations without applying them
How it works:
On schedule, the bot sweeps up to 50 parameter combinations per market (spread multiplier, min spread, inventory limits, order size)
and backtests each against real price data. If the sweep winner beats your current Sharpe by the threshold,
it rotates to the new config. Keep dry-run on until you've reviewed a few rotation recommendations.
Rotation History
Loading…
Backtest Refresh
Periodically re-runs backtests on all strategy presets to keep backtest_stats current for auto-rotation scoring.
Enable Scheduled Refresh
Off — preset backtest stats will not be automatically refreshed.
Refresh Interval
Preset Schedule
Loading…
Alert Routing
Choose where each event type gets delivered — Discord, email, both, or silence. Mute noisy events temporarily without changing their channel.
Email delivery requires
POLSIA_ALERT_EMAIL set in your environment (your notification address). Without it, events routed to email are silently dropped.
Loading…
Drawdown Recovery
Automatically reduces position sizes during losing streaks and scales back up as equity recovers toward its high-water mark
Enable Drawdown Recovery
Off — position sizes are not adjusted based on drawdown
%
Default 5%. Size multiplier: 1.0×
%
Default 10%. Size multiplier: 0.5×
×
Full size (1.0 recommended)
×
Half size (0.5 recommended)
×
Quarter size (0.25 recommended)
hours
Default 24h. Send alert email if Red zone persists. Range 1–168h.
How it works:
The bot tracks its equity high-water mark (HWM) from portfolio snapshots.
Drawdown =
(HWM − current) / HWM. Within each zone the multiplier
scales linearly — sizes ramp back up as equity recovers toward the zone boundary, not in a step jump.
The multiplier is applied before Kelly sizing so both stack:
e.g. Kelly 0.5× + Yellow 0.5× = effective 0.25× of bankroll.
Default off — turn on once you have portfolio snapshots to draw from.
Zone Transition History
Loading…
Webhook Notifications
Push real-time alerts to Discord, Slack, or any custom URL when key events happen — trades, stops, rotations, drawdown zone changes
Enable Webhook Notifications
Off — no webhook notifications are sent
Discord: Server Settings → Integrations → Webhooks → Copy URL. Slack: Incoming Webhook URL from your Slack App settings.
Fire-and-forget:
Webhooks send with a 3-second timeout and no retries — they never delay or block trading.
Rate limited to 30/minute. Default off — save a URL to enable.
Delivery Log
Loading…
Backtest Realism
Apply realistic execution costs to all backtests — Polymarket taker fees + market impact slippage. Without this, backtests overstate returns.
Enable Realistic Mode
On — slippage and fees deducted from all backtest P&L
Per-trade slippage + market impact. 10 bps = 0.1% per trade. ±20% variance applied automatically.
Polymarket CLOB taker fee is ~1% (100 bps). Maker orders are 0% (set to 0 if using limit orders only).
How it works:
For each trade, execution cost = (slippage bps + market impact) × notional + fee bps × notional.
Results show Gross P&L (before costs) and Net P&L (after costs) side by side.
Strategies showing 3% gross but losing after 1% fees get filtered before real capital is deployed.
Regime Adaptation
Automatically scale position size, stop-loss width, and spread threshold based on the detected market regime before each trade
Enable Regime Adaptation
Off — strategy parameters are fixed regardless of market regime
Multipliers apply to position size, stop-loss %, and spread threshold. 1.0 = no change.
Regime
Size ×
Stop ×
Spread ×
How it works:
Before each trade, the bot looks up the current regime for that market (from the last scan).
It multiplies your base position size, stop-loss %, and spread threshold by the values above.
Trending markets get larger positions and wider stops to ride the move.
Volatile markets get reduced size and wider stops to survive chaos.
Falls back to base config if no regime data is available for that market.
Take-Profit Targets
Lock in gains by automatically exiting part or all of a position when a price target is reached
Enable Take-Profit Targets
Off — positions ride until a trailing stop or strategy rotation exits them
Targets
GAIN % TRIGGER
EXIT % OF POSITION
Up to 5 targets. Targets fire from lowest to highest — only one fires per tick. Each target fires at most once per position.
How it works:
When a position's gain exceeds a target threshold, the bot submits a sell for the specified percentage of the position. The remaining shares continue to be managed by trailing stops and strategy rotation.
Default off.
Capital Allocation
Direct more capital to profitable markets — automatically or manually — based on performance attribution data
Enable Capital Allocation
Off — equal capital weight across all markets
How it works:
Before sizing each order, the allocator multiplies the base position size by the market's weight.
Performance mode ranks markets by risk-adjusted return (Sharpe-like score) over the lookback window.
Top quartile → 2× | Bottom quartile → 0.5× | Middle → 1×.
Markets with fewer than 5 trades always use 1× (insufficient data).
Manual overrides take priority in all modes. Fails open at 1× if data is unavailable.
Strategy Health
Detects strategy decay by comparing baseline vs. recent Sharpe ratio — alerts when performance degrades
● LOADING
Baseline Sharpe
—
All-time avg
Recent Sharpe
—
Last 30 days
Sharpe Decay
—
Degradation
Last Check
—
UTC
● Healthy ≤ 20% decay
● Warning > 20% decay
● Critical > 40% decay
Webhooks fire on warning & critical
Strategy Presets
Save named snapshots of your trading config — switch between conservative, moderate, and aggressive approaches with one click
Loading presets…