For the complete documentation index, see llms.txt. This page is also available as Markdown.

GET /api/v1/fills

List your fills

List your fills.

operationId: fetchFillsV1 · CCXT method: fetchMyTrades

Declared server differs from the callable one. This path declares its own servers base of https://exchange.nexus.xyz, without the /api/exchange mount the document default carries. Measured 2026-09-02, the override is not routedhttps://exchange.nexus.xyz/api/v1/fills returns 404 while the gateway form in the sample below is routed. A client generated from this contract will aim at the override; pin the gateway base until the per-network hosts are live. See Networks.

Authentication: hmacAuth.

Returns up to 1000 fills for the authenticated account, newest first. Fills are trade executions resulting from order matches — each fill carries the matched price, quantity, fee, and whether it was the taker or maker side.

Parameters

Name
In
Type
Required
Default
Description

limit

query

integer

No

100

Fills per page (default 100, capped at the 1,000-fill retained window). Bounds one page, not a cursor walk — see “Cursor pagination”.

cursor

query

string

No

Opaque pagination cursor returned in the previous response's X-Next-Cursor header. Omit to fetch the first page. Treat the token as opaque: its format is not part of the contract and may change. Cursors do not expire. A malformed (unparseable) cursor is not an error — the server serves the first page. A well-formed cursor whose exact position has since been evicted from the retained window is not reset to the first page: pagination resumes at the nearest surviving boundary, so a resumed response is a continuation, not a fresh first page. A cursor is not bound to an operation or an account, so use it only with the operation that issued it. See “Cursor pagination” in the API description for how a walk terminates and what it does and does not guarantee.

Responses

Status
Body
Meaning

200

array of Fill

Array of fills, newest first

401

(no schema declared)

429

(no schema declared)

Example

curl -X GET 'https://exchange.nexus.xyz/api/exchange/api/v1/fills' \
  -H 'X-API-Key: nx_7f3a1b...' \
  -H 'X-Timestamp: 1776033911836' \
  -H 'X-Signature: <hmac-sha256>'
import requests

headers = {
    "X-API-Key": "nx_7f3a1b...",
    "X-Timestamp": "1776033911836",
    "X-Signature": "<hmac-sha256>"
}

response = requests.get("https://exchange.nexus.xyz/api/exchange/api/v1/fills", headers=headers)
response.raise_for_status()
print(response.json())
const response = await fetch("https://exchange.nexus.xyz/api/exchange/api/v1/fills", {
  method: "GET",
  headers: {
    "X-API-Key": "nx_7f3a1b...",
    "X-Timestamp": "1776033911836",
    "X-Signature": "<hmac-sha256>"
  },
});
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
console.log(await response.json());

X-Signature is a placeholder: it is derived from this specific request. See Authentication for the canonical string and the HMAC rule.


Generated from eng/apps/exchange/api/openapi.json (spec 0.9.36). Do not edit by hand — regenerate with python3 product/docs/tools/api-reference/generate.py. Hand-authored context lives in the Guides pages.

Last updated