Pressione ESC para fechar

Arbitragem em Mercados de Previsão: Polymarket e Kalshi

Mercados de previsão são basicamente um cassino para quem não sabe fazer conta, mas uma mina de ouro para quem entende do riscado. Aqui você não negocia ativos, mas sim probabilidades de futuro. Arbitragem é o único jeito de tirar lucro consistente dessas plataformas, ignorando o ruído das notícias.

A matemática por trás do spread

Arbitragem na Polymarket ou Kalshi se resume a achar cotações "tortas", onde o custo total dos contratos "Sim" e "Não" não bate 1. Se você compra um resultado por um total de US$ 0,95 e o pagamento em caso de acerto é US$ 1,00, seu retorno é de 5,2%. É um trade "sem risco", desde que você saiba lidar com o risco de execução (o famoso leg risk).

A fórmula do lucro de verdade:
Net Profit = (1 - Price_Yes - Price_No) - (Taker Fees + Network Gas)

Se o retorno final ficar abaixo de 2%, você tá trabalhando de graça, perdendo dinheiro com taxa de transação e tempo monitorando gráfico.

Arquitetura de bot na prática

Esquece interface web. Você precisa de um agente local que consiga bater um papo direto com a API das casas. Abaixo tem um template funcional em Python que puxa os dados na tora e calcula o delta pra você.

import requests
import time
# Inicializa a sessão pra ganhar performance
session = requests.Session()
def get_best_bid_ask(market_id):
    """
    Pega o orderbook direto da API da Polymarket
    """
    url = f"https://clob.polymarket.com/orderbook/{market_id}"
    response = session.get(url).json()
    # Pega os melhores preços
    return float(response['bids'][0][0]), float(response['asks'][0][0])
def scan_arbitrage(market_yes, market_no):
    # Busca os preços de Ask (compra)
    _, ask_yes = get_best_bid_ask(market_yes)
    _, ask_no = get_best_bid_ask(market_no)
    
    total_cost = ask_yes + ask_no
    
    if total_cost < 0.96: # 4% de gordura pra Gas e slippage
        print(f"!!! ARBITRAGEM ACHADA: {total_cost:.4f} !!!")
        # Coloca a lógica de chamada da sua carteira aqui
    else:
        print(f"Spread tá curto: {total_cost:.4f}")
# Exemplo de ID (muda conforme o evento)
# scan_arbitrage('2187654321', '2187654322')

Pegadinhas e gírias do meio

  • Resolution Delay: A maior dor de cabeça. O mercado fecha, mas o dinheiro fica travado por causa de treta no oráculo da UMA. Seus fundos ficam "congelados" de 3 a 14 dias. Arbitragem é, acima de tudo, gestão de capital de giro.
  • Order Book Ghosting: É comum ter "ordens fantasma" nas plataformas. Você vê o preço de US$ 0,40, mas na hora de comprar o volume, o preço pula instantaneamente pra US$ 0,45. É o robô do formador de mercado (AMM) defendendo o spread dele na marra.
  • Cross-Platform Skew: Os preços na Kalshi costumam descolar da Polymarket por causa do perfil da galera. Nos EUA (Kalshi), os traders fazem hedge de risco político muito mais agressivo, enquanto a Polymarket é o velho oeste dos cripto-entusiastas. Fica de olho na correlação: se o BTC cai na exchange, a Polymarket reage mais rápido que a Kalshi.

Eficiência operacional

CenárioRiscoLucratividadeVeredito
Single-PlatformBaixo1-2%Não paga o esforço
Cross-PlatformMédio3-7%O ouro pros bots
Hedge com OpçõesAlto10%+Só pra pro com caixa forte

Como não quebrar a banca de cara

Regra de ouro: não entra em mercado com volume baixo. Se a liquidez dos dois lados for menor que US$ 50 mil, sua entrada vai causar um slippage que vai comer todo seu lucro. Procure eventos com giro diário acima de US$ 500k.

Manha técnica: Se estiver na Polygon (Polymarket), nunca deixe o gás no padrão. Arbitragem é briga de foice com bot de MEV. Bota o seu maxPriorityFeePerGas acima do mercado pra garantir que sua ordem entre no próximo bloco.

Pra arbitragem não virar um dreno de taxa, pare de focar em "achar spread" e foque em "gestão de execução". O jogo aqui não é quem acha a diferença primeiro, é quem tem o bot que compila e joga no mempool mais rápido.

Anatomia da execução: Por que seu código falha

O problema de 90% dos scripts é a execução em série. Você faz o request pra Polymarket, espera, faz pra Kalshi, calcula, e só depois manda o trade. Nesse tempo, os Market Makers, rodando WebSocket e ordem pré-carregada, já comeram o book.

O que os profissionais fazem:

  • WebSocket em vez de REST: Polling é coisa do passado. Você precisa manter conexões abertas pra ambos os orderbooks. Receber dado em real-time economiza de 200 a 800 ms.
  • Multicall/Batching: Em vez de duas transações, use um smart contract como intermediário. O contrato recebe suas ordens num único call e executa tudo de forma atômica. Se um lado falha, o contrato faz um revert. Isso te salva daquela "arbitragem de uma perna só", onde você compra um lado e o outro te deixa na mão.

Execução otimizada (Conceito Solidity)

Se você tá na rede EVM, seu melhor amigo é o delegatecall. Com ele, você resolve a arbitragem num único passo atômico.

// Conceito pra executar ordens de arbitragem
function executeArbitrage(
    address target, 
    bytes calldata data1, 
    bytes calldata data2
) external payable {
    // Executa as duas pontas num único bundle
    (bool success1, ) = target.call{value: msg.value / 2}(data1);
    (bool success2, ) = target.call{value: msg.value / 2}(data2);
    
    // Se a arbitragem der ruim, faz revert e sai no zero a zero
    require(success1 && success2, "Arbitrage execution failed - reverting");
}

O pulo do gato: Trading "Event-Driven"

Nos mercados de previsão, o preço muitas vezes não pula por força do mercado, mas por mudança de status do oráculo ou notícia saindo.

  • Indicadores antecedentes: Tá no mercado político? Plugue seu bot num feed de notícias (via API da Bloomberg ou uns scrapers de Telegram bem feitos). A Polymarket reage de 1 a 3 segundos antes da massa. Seu objetivo é estar posicionado antes que o grosso do mercado processe a notícia no book.
  • Arbitragem sintética: Às vezes compensa mais usar futuros do que arbitrar o "Sim/Não" direto. Se a chance no mercado de previsão explode, mas o futuro equivalente não mexe, o mercado de previsão tá "superaquecido". Você faz short no mercado de previsão e long no futuro. Quando a poeira baixar, você realiza o lucro dos dois lados.

Checklist antes de soltar o capital:

  • Benchmarking de Gas: Simule o custo de gás a 50 Gwei e 200 Gwei. Se o lucro da arbitragem só compensa com 50 Gwei e a rede tá travada – desligue o bot.
  • Limite de Slippage: Em arbitragem, nunca use Market Order. Apenas Limit Order, um tiquinho acima do melhor ask. Se o preço escapou, melhor perder o trade do que entrar tomando prejuízo na execução.
  • Análise de dados "sujos": Tem API de plataforma que entrega "preço médio ponderado", que não tem nada a ver com a realidade do book. Sempre parseie asks e bids direto, ignora a coluna last_price.

Arbitragem aqui não é fórmula mágica pra ficar rico, é trabalho braçal pra capturar vantagem matemática. Menos emoção e mais código: é assim que o seu saldo em USDC cresce mais rápido que a inflação.


FAQ

Tem que monitorar bid/ask spread via WebSocket em tempo real entre as plataformas pra identificar quando o custo total das posições "Yes" e "No" bate abaixo de 1.00. O segredo é garantir que o net delta pague o taker fee e o gas. Usa script em Python pra flagar essas distorções antes que os market makers ajustem a profundidade do order book.

Yield consistente só rola com execução atômica via smart contract bundles pra eliminar o leg risk. Foca em mercados com liquidez alta, acima de $500k de volume diário. Lucro é limitado por slippage e pela chance de ficar com capital travado se o oracle demorar a dar o resultado. Sem uma arquitetura de bot HFT pra garantir um entry competitivo, não vira.

Riscos operacionais pesados: leg risk se a execução falhar no meio, capital preso em disputa longa de oracle tipo a da UMA, e ser "jantado" por MEV bot que monitora o mempool. Pra mitigar, manda transação via RPC privado, usa só lógica de limit order e só entra em ativo com profundidade suficiente pra aguentar o volume sem gerar um slippage destrutivo no preço.
Astra EXMON

Astra is the official voice of EXMON and the editorial collective dedicated to bringing you the most timely and accurate information from the crypto market. Astra represents the combined expertise of our internal analysts, product managers, and blockchain engineers.

...

Deixe seu parecer

O seu endereço de e-mail não será publicado. Campos obrigatórios estão marcados *