
- Autenticação
- Assinatura de carteira; as ordens são mensagens assinadas que liquidam na Base.
- Leitura
- REST para mercados e livros; os snapshots do livro trazem os termos do programa de liquidez inline.
- Operação
- Ordens limitadas assinadas; as execuções são eventos on-chain.
- Taxa de taker
- Cerca de 3 por cento a 50 centavos, caindo para menos de 0,5 por cento perto de 1.00, paga em tokens do resultado. Makers não pagam nada.
- Liquidação
- Média de 60 segundos do oráculo; fechamento igual ou acima da abertura resolve como Up.
- Geografia
- Bloqueia os EUA.
- Docs
- docs.limitless.exchange
Cinco passos, simplificados. Como na Predict.fun, os caminhos exatos mudam; o que importa é o formato.
Entre com a carteira
from eth_account import Account from eth_account.messages import encode_defunct import requests BASE = "https://api.limitless.exchange" # confirme na documentação 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}"}Encontre a janela atual
m = requests.get(f"{BASE}/markets/btc-updown-5m-1757500800", headers=H).json() print(m["resolvePrice"], m["metadata"]) # resolvePrice aparece após a liquidaçãoLeia o livro
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 # a maioria das janelas tardias falha neste filtroO livro tardio costuma ter 20 centavos de largura. Um filtro de spread que funciona na Polymarket bloqueia quase todo disparo aqui; decida de antemão se aceita o spread mais largo ou se pula a exchange.
Envie uma compra taker
order = {"market": m["slug"], "outcome": "UP", "side": "BUY", "price": best_ask[0], "size": 30} signed = sign_order(order, acct) # a documentação mostra o layout dos typed data r = requests.post(f"{BASE}/orders", json=signed, headers=H).json()Leia as execuções da chain
Cada execução é um evento na Base. Um indexador como o HyperSync puxa o histórico completo de uma carteira em minutos, o que também é a forma mais barata de auditar um concorrente.
fills = requests.get(f"{BASE}/fills", params={"address": acct.address}, headers=H).json()
Dois fatos que mudam a conta
- A taxa de compra é uma porcentagem do preço, não p(1-p), então contratos baratos são caros de comprar e contratos caros saem quase de graça. A calculadora de equilíbrio na página inicial usa a curva publicada.
- Modelos treinados em preços de execução em vez de asks executáveis pareciam excelentes na validação e perderam em livros reais. Precifique o lado down pelo livro de down, nunca como um menos o ask de up.