Strategies
The Council (Legacy)
The original 5-agent parallel ensemble for Kalshi and Polymarket.
The Council (V1) is deprecated. The Council V2 is the active replacement with improved architecture, tighter risk controls, and lower latency. This page is preserved as a reference for users reviewing historical V1 trades.
The Council V1 is a 5-agent parallel ensemble strategy that operated on both Kalshi and Polymarket. Five specialized AI models — each from a different provider — independently analyze every market opportunity. Their probability estimates are combined through a confidence-adjusted weighted average to produce a consensus probability, which is then compared against the market price to identify tradeable edges.
Unlike single-model approaches, the Council forces diversity of perspective. A forecaster anchors the base rate, a news analyst scores recent sentiment, a bull makes the strongest YES case, a bear counters it, and a risk manager evaluates expected value. The weighted consensus reduces hallucination risk, overconfidence bias, and single-point-of-failure errors.
Pipeline at a Glance
Every market opportunity flows through 8 stages before any capital moves:
Market Scanning
Fetch active binary markets from the exchange API. Filter by volume, category, and status. Repeat every 30 seconds.
Selection & Dedup
Run 6 pre-checks to avoid wasting AI credits on markets already analyzed, below budget, or on cooldown.
Ensemble Analysis
5 AI agents analyze the market in parallel: Forecaster, News Analyst, Bull Researcher, Bear Researcher, and Risk Manager. Their outputs are aggregated into a weighted consensus.
Edge Calculation
Compare the consensus probability against the market price. Required edge depends on confidence: 6% at high confidence, 8% at medium, 12% at low. Below 50% confidence always skips.
Position Sizing
A tier-based system determines how many contracts to buy based on account balance, confidence edge, and Kelly Criterion.
Risk Checks
Position limits, cash reserves, and the backend rules engine validate the trade. Any failure blocks execution. See Safeguards for details.
Order Execution
The order is intercepted, queued, and processed by the orchestrator. Training mode saves a paper trade. Live mode places a real order on the exchange.
Settlement & Exit
Open positions are monitored with dynamic stop-loss and take-profit levels. Auto-exit after max hold time. Settlement checker polls for resolved markets.
The 5 Agents
All five agents run in parallel. Each agent produces an independent probability estimate and confidence score. The ensemble aggregates these into a single weighted-average probability. A minimum of 3 successful agent results is required to produce a consensus.
| Role | Model | Weight | Purpose |
|---|---|---|---|
| Forecaster | Grok 4.1 Fast (xAI) | 30% | Estimates true YES probability using base rates and historical patterns |
| News Analyst | Claude Sonnet 4.6 (Anthropic) | 20% | Scores recent news sentiment and relevance to the market |
| Bull Researcher | o4-mini (OpenAI) | 20% | Makes the strongest evidence-based YES case with 3-5 arguments |
| Bear Researcher | Gemini 3.1 Pro Preview (Google) | 15% | Counters the Bull with counter-evidence and risk factors |
| Risk Manager | DeepSeek V3.2 (DeepSeek) | 15% | Calculates expected value, risk score, and recommended position size |
Weights and Consensus Logic
The ensemble computes a confidence-adjusted weighted average. Each agent's base weight is multiplied by its self-reported confidence (floored at 0.1 to prevent zero-weight), so agents that are more confident about their estimate contribute more to the final probability.
Formula: weighted_prob = sum(prob_i * weight_i * max(conf_i, 0.1)) / sum(weight_i * max(conf_i, 0.1))
If the standard deviation of agent probabilities exceeds 0.25 (the disagreement threshold), a confidence penalty of up to 30% is applied. High disagreement signals uncertainty, and the system responds by reducing conviction rather than forcing a trade.
Agent Role Details
Forecaster (Grok 4.1 Fast)
Estimates the true probability that the market resolves YES using a structured 5-step method: establish the base rate, assess current conditions, check market structure (single event vs. parlay), calibrate toward the base rate when uncertain, and flag edge only when the estimate differs from market price by more than 10 percentage points. Must not fabricate statistics.
Output: probability, confidence, base_rate, side, reasoning.
News Analyst (Claude Sonnet 4.6)
Scores recent news sentiment from -1.0 (strongly bearish) to +1.0 (strongly bullish) and relevance from 0.0 to 1.0. Only the last 24-48 hours of developments are treated as meaningful. The News Analyst's probability is derived from sentiment and relevance: prob = 0.5 + (sentiment * relevance * 0.5).
News sources: Category-aware RSS feeds (NYT, BBC) plus optional Perplexity Sonar Pro for real-time web search.
Bull Researcher (o4-mini)
Makes the strongest evidence-based YES case with 3-5 concrete arguments. Estimates a probability_floor — the minimum reasonable YES probability even if the bear is right about some things. Identifies near-term catalysts that could push probability higher.
Bear Researcher (Gemini 3.1 Pro Preview)
Counters the Bull's specific arguments with 3-5 concrete reasons the event is unlikely. Estimates a probability_ceiling — the maximum reasonable YES probability. Highlights risk factors and historical precedents where similar events failed.
Risk Manager (DeepSeek V3.2)
The quantitative backbone. Calculates expected value, assigns a risk score (1-10), recommends position size using fractional Kelly criterion, and evaluates edge durability.
- EV for buying YES at X¢:
(your_probability * $1.00) - $0.X - EV for buying NO at Y¢:
((1 - your_probability) * $1.00) - $0.Y - Kelly sizing:
size = (edge / odds) * kelly_fraction
Edge Calculation
After the ensemble produces a consensus probability, the agent calculates the edge — the difference between the AI's estimate and the market price. The edge must be in the same direction as the proposed trade.
| Consensus Confidence | Edge Required | Reasoning |
|---|---|---|
| 80%+ | 6%+ | High certainty — smaller edge is still worth taking |
| 60-79% | 8%+ | Medium certainty — need a clearer mispricing |
| 50-59% | 12%+ | Low certainty — only trade if the edge is obvious |
| Below 50% | Always skip | Confidence too low regardless of edge |
Position Sizing
A tier-based system adapts position size to account balance. Smaller accounts allocate a larger percentage per trade; larger accounts allocate less to protect capital.
| Account Size | Base % | Max % | Max Contracts/Order |
|---|---|---|---|
| Under $100 | 20% | 40% | 10 |
| $100 - $1K | 5% | 15% | 50 |
| $1K - $10K | 3% | 8% | 250 |
| $10K - $100K | 2% | 5% | 1,000 |
| $100K+ | 1% | 3% | 5,000 |
The base investment is scaled by the confidence edge: investment * (1 + multiplier * edge), capped at the tier maximum. After the tier calculation, the Risk Manager's recommended size acts as an additional cap. Quarter-Kelly (kelly_fraction = 0.25) is used in production for safety.
Risk Checks
Every trade must pass three layers of deterministic validation: agent-level position limits, the backend 11-rule engine, and account-level caps. Any single failure blocks execution. All thresholds are configurable from Settings → Safeguards. See the Safeguards page for the full rule-by-rule breakdown.
Execution & Settlement
The agent never talks directly to the exchange. Every order is intercepted, queued for validation, and processed by the orchestrator. Training mode saves a paper trade; live mode places a real order. SKIP decisions are also recorded for a complete audit trail.
Open positions are monitored with dynamic stop-loss and take-profit levels. Positions auto-exit after max hold time (default: 240 hours). A settlement checker polls the exchange for resolved markets and updates P&L.
Polymarket Differences
The same 5-agent ensemble runs on Polymarket with identical AI logic. The differences are in how markets are fetched, how orders are signed, and how settlements resolve. The backend detects the target exchange from the agent configuration and routes accordingly.
Market Data
The Polymarket variant fetches markets from the exchange data API and order book data from the exchange API. Markets are identified by condition IDs and token IDs rather than Kalshi tickers.
Order Signing
Polymarket orders are signed using cryptographic wallet signatures on the Polygon network. Credentials are handled securely as needed from the user's private key. Wallet-based signing is used for order authentication.
Settlement
Polymarket uses the UMA Optimistic Oracle for outcome resolution, which introduces a dispute window before finality. The settlement checker accounts for this delay when polling for resolved markets.
Kalshi vs. Polymarket Comparison
| Aspect | Kalshi | Polymarket |
|---|---|---|
| Auth | Cryptographic signature authentication | Wallet-based signing |
| Chain | Off-chain (centralized) | Polygon |
| Settlement | Kalshi internal resolution | UMA Optimistic Oracle |
| Price format | Cents (1-99) | Decimal (0.01-0.99) |
| Market IDs | Ticker strings | Condition ID + Token ID |
Models & Costs
All AI requests route through OpenRouter. The ensemble model roster as configured in V1:
| Model | Provider | Role | Weight |
|---|---|---|---|
| Grok 4.1 Fast | xAI (via OpenRouter) | Forecaster | 30% |
| Claude Sonnet 4.6 | Anthropic (via OpenRouter) | News Analyst | 20% |
| o4-mini | OpenAI (via OpenRouter) | Bull Researcher | 20% |
| Gemini 3.1 Pro Preview | Google (via OpenRouter) | Bear Researcher | 15% |
| DeepSeek V3.2 | DeepSeek (via OpenRouter) | Risk Manager | 15% |
A typical full ensemble pass costs approximately $0.02 - $0.08 depending on market complexity and response lengths. The system includes automatic model failover if any provider is temporarily unavailable.
All Configurable Settings
Agent-level settings are in the agent's configuration. Account-level settings are in Settings → Safeguards.
Market Scanning
| Setting | Default | Description |
|---|---|---|
| Min Volume | Tiered (50-1,000) | Minimum contracts traded, scales with account balance |
| Scan Interval | 30s | Seconds between market scan cycles |
| Max Expiry | 30 days | Max days to expiry for eligible markets |
| Preferred Categories | All | Whitelist (empty = trade all) |
| Excluded Categories | None | Blacklist (empty = exclude none) |
Ensemble & AI
| Setting | Default | Description |
|---|---|---|
| Min Models for Consensus | 3 | Minimum successful agents to produce a consensus |
| Disagreement Threshold | 0.25 | Std dev above this triggers confidence penalty |
| Parallel Requests | true | Run agents in parallel (vs. sequential fallback) |
| Max Ensemble Cost | $0.50 | Max cost per ensemble decision |
| Daily AI Budget | $10 | Daily spending limit on AI API calls |
| Analysis Cooldown | 3 hours | Min hours between same-market analyses |
| Max Analyses per Market/Day | 4 | Max analyses per market per day |
| AI Temperature | 0 | Model temperature (0 = deterministic) |
| AI Max Tokens | 8,000 | Max tokens per model response |
Position Sizing & Risk
| Setting | Default | Description |
|---|---|---|
| Tier system | Auto | Base/max percentages adapt to account size |
| Position Size Multiplier | 1.0 | Multiplier for edge-based scaling |
| Kelly Fraction | 0.25 | Quarter-Kelly for production safety |
| Max Single Position | 30% | Max % of portfolio per position |
| Max Positions | 3 | Max concurrent open positions |
| Min Balance | $5 | Minimum balance to start trading |
Trading Frequency
| Setting | Default | Description |
|---|---|---|
| Max Trades per Hour | 20 | Rate limit on trade execution |
| Run Interval | 10 min | How often the trading cycle runs |
| Position Check Interval | 15s | How often open positions are checked |
| Processor Workers | 5 | Concurrent market analysis threads |
Exit & Risk Management
| Setting | Default | Description |
|---|---|---|
| Profit Threshold | 20% | Take profits at this return |
| Loss Threshold | 15% | Cut losses at this drawdown |
| Max Hold Time | 240 hours | Auto-exit after 10 days |
| Confidence Decay Threshold | 25% | Exit if confidence drops this much |
| Max Daily Loss % | 20% | Daily loss kill switch (% of capital) |
Prediction market trading involves real financial risk. Past performance does not guarantee future results. The Council V1 is deprecated and no longer receives updates. If you are starting fresh, use The Council V2 instead.