Grok × Polymarket 4-Step Multi-Agent Trading Desk: SCAN · VERIFY · EXECUTE · EXIT Pipeline That Filters Out 90% of Bad Trades
The best agent on a quantitative trading desk has never placed a trade — its entire job is to say NO. Learn how to replace fragile single-prompt FOMO bots with an institutional 4-Agent Desk (SCAN -> VERIFY -> EXECUTE -> EXIT) for Polymarket CLOB & crypto markets: run free deterministic code filters first, invoke Grok `x_search` only on survivors, size off live cash + pool depth, and enforce 5 pre-written exit rules (`exits.py`) with full `tasks.csv` skip auditing.
Checklist Pré-Voo de 3 Minutos para Iniciantes
- ✓An xAI Grok API Key from console.x.ai (with
x_searchCopiar enabled for live X sentiment and fake-news verification) - ✓A dedicated Polymarket sub-wallet via https://poly.market/p-day (run
PAPER = TrueCopiar for the first 7 days before touching live funds) - ✓A Linux VPS (e.g., RAKsmart) where API keys are written via
read -rsCopiar into achmod 600 .envCopiar file, never pasted into chat logs
Nunca execute um bot de negociação ao vivo em um laptop doméstico que entra em modo de espera ou perde o Wi-Fi! Recomendamos o RAKsmart Cloud VPS: (1) Escolha Tóquio, Singapura ou Silicon Valley para latência ultrabaixa em milissegundos para OKX/Binance & Polygon RPCs; (2) Selecione Ubuntu 22.04 LTS (2 vCPU / 4GB RAM) para Docker Compose; (3) Vincule seu endereço IPv4 estático dedicado à lista de endereços IP da sua exchange.
Acabou de comprar um VPS? Como conectar via SSH e executar comandos no Windows / Mac (Guia de 3 Minutos)
Muitos usuários pela primeira vez ficam presos logo após comprar um servidor em nuvem: 'Onde eu digito esses comandos do terminal?'. Siga estes 5 passos simples:
• Endereço IPv4 do Servidor (ex.:
198.51.100.88Copiar)• Porta SSH: Geralmente
22Copiar, ou uma porta de segurança personalizada como 22022Copiar / 62134Copiar mostrada no seu painel• Nome de Usuário: Sempre
rootCopiar no Ubuntu• Senha do Root: A senha inicial do servidor
powershellCopiar e pressione Enter.• No Mac: Pressione Command ⌘ + Space, digite
TerminalCopiar e pressione Enter.ssh -p PORT root@SERVER_IPCopiar (obs: o -pCopiar é minúsculo; se você esquecer de especificar a porta personalizada, o erro Connection refusedCopiar aparecerá):• Porta Padrão 22:
ssh -p 22 root@198.51.100.88Copiar• Porta SSH Personalizada (ex.:
62134Copiar): ssh -p 62134 root@198.51.100.88CopiarAre you sure you want to continue connecting (yes/no)?Copiar, digite a palavra completa yesCopiar e pressione Enter.• Aviso 2 ([!] Por que o cursor não se move quando digito a senha?!): Quando for solicitado
password:Copiar, o Linux oculta todos os caracteres (nem os asteriscos * aparecem) por segurança! Basta clicar com o botão direito no PowerShell (ou pressionar Cmd + VCopiar no Mac) para colar sua senha de forma invisível e então pressionar Enter!root@ubuntu:~#Copiar, você está dentro do seu servidor na nuvem! Cole esses comandos de configuração uma vez para instalar o Docker, Git e Python:docker compose ...Copiar: Basta clicar com o botão direito para colar na sua janela SSH e pressionar Enter.• Para scripts Python (
.pyCopiar): Digite nano bot.pyCopiar e pressione Enter → Clique com o botão direito para colar o código → Pressione Ctrl + O e depois Enter para salvar → Pressione Ctrl + X para sair → Execute nohup python3 bot.py > bot.log 2>&1 &Copiar para que seu robô continue funcionando 24/7, mesmo se você fechar seu notebook!# 1. Update Ubuntu packages and install Git, Curl, and Python3
apt update -y && apt install -y curl git python3-pip python3-venv
# 2. One-line official Docker & Docker Compose installation
curl -fsSL https://get.docker.com | sh && systemctl enable --now docker
# 3. Verify Docker Compose is ready
docker compose version
# ==============================================================================
# poly_grok_desk.py — 4-Agent Quantitative Trading Desk (SCAN·VERIFY·EXECUTE·EXIT)
# Philosophy: "The best agent on a trading desk has never placed a trade.
# Its whole job is to say NO."
# Safe Setup (Never echo API keys into terminal history):
# mkdir -p /workspace/desk && cd /workspace/desk
# read -rs -p "xai key: " K && printf 'XAI_API_KEY=%s\n' "$K" > .env && unset K
# chmod 600 .env
# ==============================================================================
import csv, json, os, time
from collections import Counter
# 1. CONFIG (You edit this file. The bot NEVER edits config constants itself.)
MODEL = "grok-4.7"
PAPER = True # Paper mode first: real orderbooks, real prices, simulated fills
START_BALANCE = 1000.0 # Dedicated sub-wallet bankroll ($1,000 USDC)
SCANNERS = ["SCAN-1", "SCAN-2", "SCAN-3", "SCAN-4"]
LEADS_PER_RUN = 12 # Cap per 5-min run so a busy minute never burns API budget
SKIP_IF = {
"min_liquidity_usd": 50_000, # Pool liquidity < $50k -> instant free SKIP
"max_spread_cents": 2.2, # Bid-Ask spread > 2.2¢ -> instant free SKIP
"min_age_min": 30, # Market too fresh / unindexed -> SKIP
"max_hours_to_resolve": 168, # Capital efficiency: skip dead-money > 7 days out
"max_ticket_share": 0.01, # Your order size is NEVER > 1% of orderbook liquidity
}
MIN_X_CONFIDENCE = 0.72 # Grok x_search confidence below 0.72 -> SKIP
SIZE_PCT = 0.15 # Bet 15% of current available cash (capped at $200 & 1% of pool)
MIN_TICKET, MAX_TICKET = 20.0, 200.0
MAX_OPEN = 5 # Max 5 concurrent slots (5 × $200 = $1,000)
SESSION_LOSS_HALT_PCT = 15.0 # Circuit breaker: down 15% from session start -> halt new entries
EXIT = {
"hard_stop_pct": -18.0, # Price drops 18% -> exit 100% immediately
"ladder": [(15.0, 0.50), (35.0, 0.50)], # Take profit ladder: +15% sells half, +35% sells rest
"trail_pct": 12.0, # After first take: exit if price pulls back 12% from peak
"time_stop_min": 720, # 12h flat (< +2%) -> free the slot ("Dead money is a loss")
"time_stop_min_pct": 2.0,
"liq_drop_pct": 40.0, # Orderbook depth drops 40% since entry -> exit 100% now
}
# 2. VERIFY STEP: Free Deterministic Code Checks FIRST, Paid Grok X-Read LAST
X_READ_PROMPT = """
You are VERIFY, the final gatekeeper on a Polymarket quantitative desk.
This market already passed all hard code checks (liquidity >= $50k, tight spread, valid window).
Search X (Twitter) for the event and audit the UMA Resolution Rules. Judge ONLY what code cannot see:
1. Ambiguous / subjective UMA resolution criteria (wordplay risk or disputed oracle source)
2. Coordinated bot hype on X (dozens of fresh accounts posting identical fake breaking news)
3. Whether the official primary source (Fed / AP / League scoreboard) has actually confirmed
RETURN ONLY JSON: {"verdict": "GO" | "SKIP", "confidence": 0.0-1.0, "why": "one concise line"}
Unsure is SKIP. Anything not valid JSON is SKIP.
"""
def hard_skip(f: dict) -> str | None:
"""Facts are code. A missing field is ALWAYS a skip, never a guess."""
req = ["price", "liq_usd", "spread_cents", "age_min", "hours_to_resolve", "uma_disputed"]
if any(f.get(k) is None for k in req): return "missing_data"
if f["uma_disputed"]: return "uma_dispute_active"
if f["liq_usd"] < SKIP_IF["min_liquidity_usd"]: return "thin_liquidity"
if f["spread_cents"] > SKIP_IF["max_spread_cents"]: return "wide_spread"
if f["age_min"] < SKIP_IF["min_age_min"]: return "too_fresh"
if f["hours_to_resolve"] > SKIP_IF["max_hours_to_resolve"]: return "dead_money_horizon"
return None
def size_order(cash_usdc: float, liq_usd: float) -> float:
"""Sized off the balance you have NOW + capped at 1% of pool depth."""
usd = cash_usdc * SIZE_PCT
usd = min(max(usd, MIN_TICKET), MAX_TICKET, liq_usd * SKIP_IF["max_ticket_share"])
return round(usd, 2)
# 3. EXIT STEP: Written BEFORE Entry (Runs every 5 minutes on all open positions)
def evaluate_exit(pos: dict, cur_price: float, cur_liq: float, now_ts: float) -> tuple[float, str] | None:
if cur_price <= 0:
return (1.0, "market_halted")
peak = max(pos["peak"], cur_price)
pct = (cur_price / pos["entry"] - 1.0) * 100.0
age_min = (now_ts - pos["opened_ts"]) / 60.0
if cur_liq < pos["liq0"] * (1.0 - EXIT["liq_drop_pct"] / 100.0):
return (1.0, "liquidity_pulled_40pct")
if pct <= EXIT["hard_stop_pct"]:
return (1.0, "hard_stop")
if pos["steps"] < len(EXIT["ladder"]):
target_pct, frac = EXIT["ladder"][pos["steps"]]
if pct >= target_pct:
return (frac, f"take_profit_+{target_pct:.0f}pct")
if pos["steps"] > 0 and cur_price <= peak * (1.0 - EXIT["trail_pct"] / 100.0):
return (1.0, "trailing_stop_from_peak")
if pos["steps"] == 0 and age_min >= EXIT["time_stop_min"] and pct < EXIT["time_stop_min_pct"]:
return (1.0, "time_stop_dead_money")
return None
if __name__ == "__main__":
sample_lead = {"slug": "fed-cuts-25bps-nov", "price": 0.984, "liq_usd": 420_000,
"spread_cents": 0.4, "age_min": 1440, "hours_to_resolve": 18, "uma_disputed": False}
skip_reason = hard_skip(sample_lead)
ticket_usdc = size_order(1000.0, sample_lead["liq_usd"]) if not skip_reason else 0.0
print(f"[VERIFY] hard_skip={skip_reason} -> Survivor sent to Grok X-Read | Ticket=${ticket_usdc} USDC")
Análise linha por linha do código e comandos em linguagem simples
| Código / Linha de Comando | Explicação em Linguagem Simples (O que isso faz?) |
|---|---|
read -rs -p "xai key: " K && printf 'XAI_API_KEY=%s\n' "$K" > .env && unset K
|
Zero-echo secret injection: writes your xAI key into .envCopiar without echoing to terminal history or AI chat transcripts. |
SKIP_IF = {"min_liquidity_usd": 50_000, "max_spread_cents": 2.2, ...}
|
Hard deterministic filter thresholds that kill 90%+ of low-quality markets for free before calling Grok. |
def hard_skip(f: dict) -> str | None:
|
Enforces 'facts before opinions' — any missing field or thin orderbook returns a final SKIPCopiar. |
usd = min(max(usd, MIN_TICKET), MAX_TICKET, liq_usd * SKIP_IF["max_ticket_share"])
|
Sizes each survivor off current cash while capping exposure at $200 and 1% of orderbook liquidity. |
if cur_liq < pos["liq0"] * (1.0 - EXIT["liq_drop_pct"] / 100.0): return (1.0, "liquidity_pulled_40pct")
|
Pre-written exit trigger: dumps 100% of the position immediately if orderbook depth drops 40% from entry. |
if pos["steps"] == 0 and age_min >= EXIT["time_stop_min"] and pct < EXIT["time_stop_min_pct"]:
|
Time-stop exit: frees the slot if a position stays flat for 12 hours ('Dead money is a loss too'). |
[!] As 3 principais armadilhas para iniciantes & Guia de Solução de Problemas
✕ Pitfall 1: Sending Every Raw Scanner Lead Directly to Grok x_searchCopiar
The bill must scale with survivors, not with leads. Always run free hard_skip()Copiar checks first so 90% of bad markets die for free.
✕ Pitfall 2: Letting the Bot Edit config.pyCopiar Risk Constants on Its Own
Only humans edit config.pyCopiar. Never let an autonomous routine widen stop-losses or raise MAX_TICKETCopiar.
✕ Pitfall 3: Re-Running a Rejected Market Until the LLM Says GOCopiar
A skip is final. Re-prompting VERIFY to get the answer you want turns your desk back into FOMO with an API key.
Part 1: Why Single-Prompt Bots Fail — Replace FOMO with a 4-Agent Trading Desk
Everyone's first bot is the same: one agent, one prompt ('find a market, check news, buy, sell the top'). That's not a quantitative agent — that's your FOMO with an API key. A real trading desk splits every trade into four strict roles inside one codebase: SCANCopiar (finds leads from Polymarket Gamma / whale wallets without opinions), VERIFYCopiar (whose default answer is SKIPCopiar), EXECUTECopiar (sizes survivors off current cash and pool depth), and EXITCopiar (enforces pre-written stops and ladders).
Part 2: Funnel Economics — Free Deterministic Code Skips First, Paid Grok x_searchCopiar Last
Your AI API bill should scale with survivors, not with leads. In verify.pyCopiar, hard_skip()Copiar runs free deterministic checks first (liquidity < $50k, spread > 2.2¢, missing fields -> instant SKIPCopiar). Only the 5% of leads that survive every hard rule trigger a Grok API call with x_searchCopiar enabled to check for coordinated X bot hype or ambiguous UMA Resolution Rules.
Part 3: Write the Exit Before the Entry (exits.pyCopiar) — Dead Money Is a Loss Too
Most retail traders decide when to sell while staring at a green or red candle. On this desk, five exit triggers exist before entry: 40% liquidity drop pull-out, hard stop, stepped profit ladder, peak trailing stop, and a time stop that frees flat capital slots.
Want built-in trailing stops and automated grid ladders without coding? Use Pionex's 16 Free Cloud AI Trading Bots ↗.
Part 4: Auditing tasks.csvCopiar vs trades.csvCopiar, Zero-Echo Key Setup & Paper-to-Live Fences
Deploy on an isolated RAKsmart Linux VPS ↗, inject keys via read -rsCopiar into a chmod 600 .envCopiar file so secrets never land in chat transcripts, run PAPER = TrueCopiar for 7 days on Polymarket ↗, and verify that tasks.csvCopiar logs 90%+ skips before enabling live execution.
Headline Quant Guides Directory (With Reading Level, Time & Code Stack)
Start from L1 Beginner Essentials and progress to L4 Institutional Tick Backtesting. Every guide includes reading difficulty, estimated reading time, and production-ready code:
Beginner $1,000 Quant Starter Combo Deep-Dive: How Much Can You Earn Monthly Running Polymarket Penny Clipper & LP Bots?
Complete quantitative breakdown for first-time algorithmic traders starting with $1,000 USDC: ranking all 4 Polymarket open-source bot strategies by risk-adjusted edge, modeling 3 realistic monthly profit tiers ($60–$180/mo or 6%–18% monthly ROI) using 5×$200 position splitting, and enforcing the 3 iron survival rules.
Pionex Cloud AI Bots vs. Self-Hosted Polymarket Bots (CloddsBot / Grok Desk): 6 Key Differences & Dual-Engine Allocation Guide
Both are called 'quant trading bots,' yet Pionex's 16 built-in cloud bots and self-hosted open-source Polymarket bots (`CloddsBot`, `polymarket_lp_tool`, `Grok 4-Step Desk`) operate on completely different market mechanics. Pionex harvests crypto volatility and perpetual funding rates with zero code and massive liquidity capacity, while self-hosted Polymarket bots snipe $1.00 deterministic event settlement discounts and Daily LP Rewards with zero correlation to Bitcoin price swings.
Pionex AI Quantitative Trading Complete Guide: 16 Free Built-In Grid Bots, Funding-Rate Arbitrage & Polymarket Delta Hedging
Don't want to maintain a Linux VPS? Master Pionex's 16 free built-in AI trading bots (PionexGPT strategy generator, AI Infinity Grid, Spot-Futures Funding Rate Arbitrage, and 0.05% maker/taker fees) and learn how to pair Pionex BTC/ETH grids with Polymarket event tail-hedges.
CloddsBot & Polymarket LP Bot Complete Guide: Deploy 119-Skill AI Arbitrage, Penny Clipper & Daily Liquidity Rewards Bots
Why pay $5,000+ for black-box bots when the best Polymarket trading engines are MIT open-source on GitHub? Full deployment guide to `alsk1992/CloddsBot` (3.1k⭐, 119+ skills including cross-market arbitrage, Penny Clipper expiry decay, and smart-money copy trading) and `lihanyu81/polymarket_lp_tool` (passive LP market-making for daily USDC rewards).
Grok × Polymarket 4-Step Multi-Agent Trading Desk: SCAN · VERIFY · EXECUTE · EXIT Pipeline That Filters Out 90% of Bad Trades
The best agent on a quantitative trading desk has never placed a trade — its entire job is to say NO. Learn how to replace fragile single-prompt FOMO bots with an institutional 4-Agent Desk (SCAN -> VERIFY -> EXECUTE -> EXIT) for Polymarket CLOB & crypto markets: run free deterministic code filters first, invoke Grok `x_search` only on survivors, size off live cash + pool depth, and enforce 5 pre-written exit rules (`exits.py`) with full `tasks.csv` skip auditing.
Guia Quant de Polymarket CLOB: Implante um Bot de Copiar Baleias e Maker com 0% de Taxa usando py-clob-client
Guia completo de engenharia: derive credenciais de Polygon L2 CLOB, consulte IDs de tokens de condições Gamma, inscreva-se em execuções de baleias e coloque ordens limite EIP-712 sem gás com 0% de taxa.
Guia de Segurança VPS para Quant, Whitelisting de IP de API e Engenharia de Chaves de Desligamento (Kill-Switch) para Perda Máxima
Checklist de segurança de produção para traders quant: seleção de VPS de baixa latência, whitelist de IP de API de exchange, chaves com saque desativado e chaves de desligamento automáticas para 5% de perda diária.
Calibração de Probabilidade de LLM de IA + Dimensionamento Half-Kelly: Integração Passo a Passo da API DeepSeek / OpenAI / Ollama para Ordens +EV
Guia completo passo a passo para conectar DeepSeek, OpenAI GPT-4o ou LLMs locais Ollama via Python e interpretar notícias de última hora em razões de verossimilhança bayesianas estruturadas e tamanhos de posição Half-Kelly.
Tutorial Freqtrade + FreqAI com Docker: Conecte OKX / Binance, Baixe Dados Históricos & Audite Viés de Antecipação
Guia passo a passo para implantar Freqtrade via Docker Compose, baixar dados OHLCV multi-anos da OKX e Binance, executar backtests realistas ajustados por taxas e executar `lookahead-analysis`.
Guia de Market Making e Delta-Hedging com Hummingbot: Arbitragem de Probabilidades da Polymarket vs. Futuros Perpétuos da OKX / Binance
Como mesas institucionais combinam controladores de market-making Hummingbot V2 na OKX/Binance com contratos de eventos da Polymarket para construir hedge macro de volatilidade delta-neutro.
Guia de Backtesting de Orderbook L2 no NautilusTrader: Eliminando Ilusões de Slippage e Vieses de Posição na Fila
Como executar backtests de ticks de orderbook L2 de alta fidelidade no NautilusTrader com preenchimentos realistas de posição na fila, modelagem de latência e validação Walk-Forward.
Poly Day (p.day) — Polymarket no Brasil: Eleições Brasil 2026, Pesquisa Presidencial, Como Funciona e Depósito via PIX
Pesquisa presidencial na Polymarket Brasil, como funciona, Copa do Mundo, Selic e depósito USDC via PIX
As buscas por «Polymarket eleições Brasil», «Polymarket presidente Brasil» e «Polymarket pesquisa presidencial» dispararam porque o mercado de previsões em blockchain antecipa tendências eleitorais e cortes da taxa Selic antes das pesquisas tradicionais. Na Polymarket Brasil, cada cota de 'Sim' ou 'Não' negociada entre 1¢ e 99¢ reflete milhões de dólares em liquidez real no livro de ofertas CLOB da rede Polygon.
Se você quer saber «Polymarket como funciona» para operar mercados sobre o Presidente do Brasil, Copa do Mundo, Libertadores, Neymar ou Bitcoin, a Poly Day Brasil (p.day/pt/) reúne cotações ao vivo a cada 60 segundos, radar de baleias on-chain e o passo a passo para converter Reais (BRL) via PIX em USDC (rede Polygon) pela Binance Brasil ou Mercado Bitcoin.