Skip to Content

GET /trades

Returns recent trade history, optionally filtered by market or account.

Request

Query Parameters:

NameTypeRequiredDescription
marketIdnumberNoFilter by market ID
makerIdnumberNoFilter by maker account ID
takerIdnumberNoFilter by taker account ID
pageSizenumberNoMaximum trades to return (default: 50)
# Recent trades for a market curl "https://zo-mainnet.n1.xyz/trades?marketId=0&pageSize=10" # Trades for a specific maker curl "https://zo-mainnet.n1.xyz/trades?makerId=12345&pageSize=50"

Response

{ "trades": [ { "tradeId": 1234567, "marketId": 0, "price": 97500.5, "size": 0.1, "side": "bid", "makerId": 12345, "takerId": 67890, "timestamp": 1705312800000 } ] }

Response Fields

Trade Object

FieldTypeDescription
tradeIdnumberUnique trade identifier
marketIdnumberMarket where trade occurred
pricenumberTrade execution price
sizenumberTrade size in base asset
sidestringTaker side: “bid” (buy) or “ask” (sell)
makerIdnumberMaker account ID
takerIdnumberTaker account ID
timestampnumberTrade timestamp (Unix ms)

Example: Python

import requests from datetime import datetime response = requests.get( "https://zo-mainnet.n1.xyz/trades", params={"marketId": 0, "pageSize": 20} ) data = response.json() print("Recent Trades:") for trade in data["trades"]: time = datetime.fromtimestamp(trade["timestamp"] / 1000) side = "BUY" if trade["side"] == "bid" else "SELL" print(f" {time:%H:%M:%S} | {side:4} | ${trade['price']:,.1f} x {trade['size']:.4f}")

Fetching Trade History for Your Account

import requests # Replace with your account ID my_account_id = 12345 # Trades where you were the maker maker_trades = requests.get( "https://zo-mainnet.n1.xyz/trades", params={"makerId": my_account_id, "pageSize": 100} ).json() # Trades where you were the taker taker_trades = requests.get( "https://zo-mainnet.n1.xyz/trades", params={"takerId": my_account_id, "pageSize": 100} ).json() print(f"Maker trades: {len(maker_trades['trades'])}") print(f"Taker trades: {len(taker_trades['trades'])}")
Last updated on