Documentation
Launch app
Developers

API

Read market data and submit signed orders or cancellations through public JSON endpoints.

API basics

No API key is required. Reads are public; order placement and cancellation are authorized by the trader’s EIP-712 wallet signature.

Base URL
https://app.settle.market
Request
curl https://app.settle.market/v1/markets

View live API status →

i
Your wallet authorizes every order

The server cannot create or alter an order because POST requests require a valid EIP-712 signature. Deposits, withdrawals, claims, and on-chain cancellations remain wallet transactions.

Markets and odds

GET/healthz

Service health, indexer progress, keeper and roller status, and active alarms.

GET/v1/markets

Markets and app configuration, including chain ID and contract addresses.

GET/v1/markets/:id/orderbook

Aggregated Above/YES bids and asks, including the best available odds.

GET/v1/markets/:id/trades

Recent matched trades, including odds, quantity, and settlement mechanism.

GET/v1/markets/:id/candles?tf=5m|15m|1h|4h|1d

Open, high, low, and close odds built from on-chain trades.

Orders and accounts

GET/v1/orders?user=0x…&status=open

A wallet’s orders, filterable by open, filled, cancelled, or expired status.

GET/v1/positions/:address

Above/YES and Below/NO contract balances, plus claimable payouts.

GET/v1/activity/:address

Wallet history: deposits, withdrawals, orders, trades, and claims.

GET/v1/pnl/:address

Cumulative realized-PnL series derived from the balance ledger; deposits and withdrawals are excluded.

GET/v1/history/:address

Settled trades by resolved market and side, including contracts, entry odds, settled odds, and PnL.

Submit and cancel orders

POST/v1/orders

Place an order with { order, signature, tif }. The EIP-712 domain and order types are returned under exchange by GET /v1/markets.

POST/v1/orders/cancel

Cancel an order with { orderHash, signature }, using an EIP-712 CancelOrder signature.

POST /v1/orders body
{order: {maker, marketId, kind, tick, qty, expiry, nonce, salt}, signature, tif}
kind 0

BUY_YES

kind 1

SELL_YES

kind 2

BUY_NO

kind 3

SELL_NO

Both requests require no gas. The matching engine validates the signature before accepting the order, and the hub verifies it again when a trade settles. An order that would cross the same maker’s resting order is rejected.

The API accepts an order expiry up to seven days, but the order stops being usable when its market expires.

Response terminology

YES / NO

The API names for Above and Below.

OHLC

Open, high, low, and close odds for one candle interval.

EIP-712

Structured order data signed by the trader and verified by the matching engine and hub.

TIF

Time in force: GTC, IOC, or post-only.

nonce

An account version used to invalidate older signed orders.