Skip to main content

Markets

Description

Returns the full list of trading pairs and their configuration — tick size, lot size, minimum notional, fee rates, and listing status.

HTTP Request

GET /spot/markets (public — no auth required)

Weight

0 — public market-data endpoints have no per-IP weight limit today (MVP).

Response Example

200 OK

[
{
"id": "DFUSDT",
"base_token": "DF",
"quote_token": "USDT",
"tick_size": "0.0001",
"lot_size": "0.01",
"min_notional": "1",
"maker_fee_bps": 0,
"taker_fee_bps": 0,
"status": "listed"
}
]
FieldNotes
idSymbol used throughout the REST and WebSocket API (e.g. DFUSDT). Case-sensitive.
base_token / quote_tokenToken symbols. Notional = price × quantity (denominated in quote_token).
tick_sizeMinimum price increment. Orders whose price is not a multiple of tick_size are rejected with INVALID_TICK.
lot_sizeMinimum quantity increment. Orders whose quantity is not a multiple of lot_size are rejected with INVALID_LOT.
min_notionalMinimum order value (price × quantity). Below threshold → BELOW_MIN_NOTIONAL.
maker_fee_bps / taker_fee_bpsFee rates in basis points (1 bps = 0.01%). MVP testnet defaults: both 0.
statusSee Market Status: listed / halted / delisted.

MVP: the array contains a single row — DFUSDT.

Error Responses

HTTPerror
500DB_ERROR

Full list: Error Codes.

Code Examples

cURL

curl -s "https://api-sepolia.p99.world/api/v1/spot/markets"

Python

import requests

BASE = "https://api-sepolia.p99.world/api/v1"

markets = requests.get(f"{BASE}/spot/markets").json()
for m in markets:
print(m["id"], m["status"], "tick:", m["tick_size"], "lot:", m["lot_size"])