Skip to main content
GET
Get user trade history

Authorizations

Authorization
string
header
required

Bearer token from Geomi. See Authentication for setup instructions.

Query Parameters

account
string
required

User account address (user query alias is also accepted)

order_id
string

Filter by specific order ID (requires market to also be provided)

market
string

Filter by market address

side
enum<string>

Filter by side Order side filter: buy (long) or sell (short). For orders, maps to is_buy column. For trades/funding, maps to action IN ('OpenLong','CloseShort') (buy) or action IN ('CloseLong','OpenShort') (sell).

Available options:
buy,
sell
asset_type
enum<string>

Filter by product ("perp" | "spot"); omit to include both Discriminator carried on DTOs that can mix perp and spot rows (markets, orders, trades, bulk orders, bulk order fills, and WebSocket payloads). Also accepted as a query parameter on REST endpoints that can filter to one product.

Wire format is lowercase ("perp" / "spot") and accepted case-insensitively on the request side via [impl_case_insensitive_deserialize].

Available options:
perp,
spot
limit
integer<int32>
default:10

Page size

Required range: 0 <= x <= 200
offset
integer<int32>
default:0

Page offset

Required range: 0 <= x <= 10000
start_timestamp
integer<int64>
end_timestamp
integer<int64>
sort_key
enum<string>

Sort key for history endpoints

Available options:
timestamp
sort_dir
enum<string>
Available options:
ASC,
DESC

Response

Trade history retrieved successfully

items
object[]
required

The items in the current page

total_count
integer<int32> | null

The total number of items across all pages. Optional: history endpoints omit this field to avoid expensive COUNT(*) queries.

Required range: x >= 0