The Bot Ledger
PT

Início / Guias

Guia da API da Predict.fun: Conecte um Bot em 5 Passos

API da Predict.fun para um bot: autenticação, listagem de mercados de 5 minutos, a escada, ordens taker, execuções e a regra de liquidação que difere das demais.

A dark blue circuit board, close up
Foto: Vishnu Mohanan, Unsplash
Autenticação
API key emitida nas configurações da conta, enviada como header.
Leitura
REST para mercados e escadas; um stream do livro para atualizações ao vivo.
Operação
Ordens limitadas e taker por ação, tick 0.01.
Taxa de taker
0.018 x min(p, 1-p) por ação, cobrada em ações do resultado. Makers não pagam nada.
Liquidação
Uma leitura pontual do preço do oráculo em cada limite. Sem média. Empates pagam 50/50.
Geografia
Bloqueia os EUA.
Docs
docs.predict.fun

Cinco passos, simplificados. Os nomes dos endpoints abaixo são marcadores para o formato de cada chamada; pegue os caminhos exatos na referência, que muda com mais frequência do que nas exchanges maiores.

  1. Autentique

    import requests
    BASE = "https://api.predict.fun"          # confirme na documentação
    H = {"X-API-Key": API_KEY}
  2. Liste as janelas atuais

    markets = requests.get(f"{BASE}/markets", params={"category": "crypto", "status": "open"}, headers=H).json()
    m = next(x for x in markets if x["timeframe"] == "5m" and x["asset"] == "BTC")
    start_price = m["startPrice"]              # a abertura declarada, exata ao tick

    As janelas se encadeiam: o preço final de uma janela é o preço inicial da seguinte. Se o seu próprio feed spot discordar do preço inicial declarado, confie no declarado.

  3. Leia a escada

    book = requests.get(f"{BASE}/markets/{m['id']}/orderbook", headers=H).json()
    best_ask = book["asks"][0]                 # [price, size]
    best_bid = book["bids"][0]

    No último minuto quase todo negócio agride a oferta ou bate no bid; nada é negociado dentro do spread. Modele suas execuções no toque, não no meio.

  4. Envie uma compra taker

    order = {"marketId": m["id"], "outcome": "UP", "side": "BUY", "type": "LIMIT",
             "price": best_ask[0], "size": 30, "timeInForce": "FOK"}
    r = requests.post(f"{BASE}/orders", json=order, headers=H).json()

    A taxa sai das ações que você recebe, então uma compra de 30 ações a 50 centavos entrega cerca de 29,7 ações.

  5. Leia as execuções

    fills = requests.get(f"{BASE}/fills", headers=H).json()

A liquidação é a diferença

Polymarket, Limitless e Kalshi liquidam os mercados curtos de cripto por uma média do último minuto. A Predict.fun liquida por uma única leitura. Em janelas estáveis as duas regras discordam em cerca de uma vez em dez, então não misture resultados da Predict.fun com os das outras, e não leve um modelo treinado nas outras para cá sem retreinar.