
- Auth
- API key emitida en los ajustes de la cuenta, enviada como cabecera.
- Lectura
- REST para mercados y escaleras; un stream del libro para actualizaciones en vivo.
- Trading
- Órdenes limitadas y taker por acción, tick de 0.01.
- Comisión de taker
- 0.018 x min(p, 1-p) por acción, cobrada en acciones del resultado. Los makers no pagan nada.
- Liquidación
- Una lectura puntual del precio del oráculo en cada límite. Sin promediar. Los empates pagan 50/50.
- Geografía
- Bloquea Estados Unidos.
- Docs
- docs.predict.fun
Cinco pasos, simplificados. Los nombres de endpoint de abajo son marcadores de la forma de cada llamada; toma las rutas exactas de la referencia, que cambia más a menudo que en los exchanges grandes.
Autentícate
import requests BASE = "https://api.predict.fun" # confírmalo en la documentación H = {"X-API-Key": API_KEY}Lista las ventanas actuales
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"] # la apertura declarada, exacta al tickLas ventanas se encadenan: el precio de cierre de una ventana es el precio de inicio de la siguiente. Si tu propia fuente de spot no coincide con el precio de inicio declarado, fíate del declarado.
Lee la escalera
book = requests.get(f"{BASE}/markets/{m['id']}/orderbook", headers=H).json() best_ask = book["asks"][0] # [price, size] best_bid = book["bids"][0]En el último minuto casi todas las operaciones levantan la oferta o golpean el bid; nada se cruza dentro del spread. Modela tus ejecuciones al mejor precio disponible, no al punto medio.
Envía una 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()La comisión sale de las acciones que recibes, así que una compra de 30 acciones a 50 centavos entrega unas 29,7 acciones.
Lee las ejecuciones
fills = requests.get(f"{BASE}/fills", headers=H).json()
La liquidación es la diferencia
Polymarket, Limitless y Kalshi liquidan los mercados cortos de cripto sobre una media del último minuto. Predict.fun liquida sobre una sola lectura. En ventanas planas las dos reglas discrepan más o menos una de cada diez veces, así que no mezcles los resultados de Predict.fun con los de los demás, ni traslades un modelo entrenado con los otros sin reentrenarlo.