
- Auth
- Firma de wallet; las órdenes son mensajes firmados que se liquidan en Base.
- Lectura
- REST para mercados y libros; las instantáneas del libro llevan los términos del programa de liquidez incluidos.
- Trading
- Órdenes limitadas firmadas; las ejecuciones son eventos on-chain.
- Comisión de taker
- Alrededor del 3 por ciento a 50 centavos, bajando a menos del 0,5 por ciento cerca de 1.00, pagada en tokens del resultado. Los makers no pagan nada.
- Liquidación
- Media de 60 segundos del oráculo; un cierre igual o superior a la apertura resuelve Up.
- Geografía
- Bloquea Estados Unidos.
- Docs
- docs.limitless.exchange
Cinco pasos, simplificados. Como con Predict.fun, las rutas exactas cambian; lo que importa es la forma.
Inicia sesión con la wallet
from eth_account import Account from eth_account.messages import encode_defunct import requests BASE = "https://api.limitless.exchange" # confírmalo en la documentación acct = Account.from_key(PRIVATE_KEY) nonce = requests.get(f"{BASE}/auth/nonce", params={"address": acct.address}).json()["nonce"] sig = acct.sign_message(encode_defunct(text=nonce)).signature.hex() token = requests.post(f"{BASE}/auth/login", json={"address": acct.address, "signature": sig}).json()["token"] H = {"Authorization": f"Bearer {token}"}Encuentra la ventana actual
m = requests.get(f"{BASE}/markets/btc-updown-5m-1757500800", headers=H).json() print(m["resolvePrice"], m["metadata"]) # resolvePrice aparece después de la liquidaciónLee el libro
book = requests.get(f"{BASE}/markets/{m['slug']}/orderbook", headers=H).json() best_ask, best_bid = book["asks"][0], book["bids"][0] if best_ask[0] - best_bid[0] > 0.08: pass # la mayoría de las ventanas tardías no pasan este filtroEl libro tardío suele tener 20 centavos de ancho. Un filtro de spread que funciona en Polymarket bloquea aquí casi todos los disparos; decide de antemano si aceptas el spread más ancho o te saltas el exchange.
Envía una compra taker
order = {"market": m["slug"], "outcome": "UP", "side": "BUY", "price": best_ask[0], "size": 30} signed = sign_order(order, acct) # la documentación muestra el formato typed-data r = requests.post(f"{BASE}/orders", json=signed, headers=H).json()Lee las ejecuciones desde la cadena
Cada ejecución es un evento en Base. Un indexador como HyperSync extrae el historial completo de una wallet en minutos, que además es la forma más barata de auditar a un competidor.
fills = requests.get(f"{BASE}/fills", params={"address": acct.address}, headers=H).json()
Dos hechos que cambian las cuentas
- La comisión de compra es un porcentaje del precio, no p(1-p), así que los contratos baratos salen caros de comprar y los caros casi gratis. La calculadora de equilibrio de la página de inicio usa la curva publicada.
- Los modelos entrenados con precios de ejecución en lugar de asks ejecutables parecían excelentes en validación y perdieron en libros reales. Pon precio al lado down desde el libro de down, nunca como uno menos el ask de up.