---
title: "Get consolidated trades"
method: GET
path: "/trades/consolidated"
tags: ["Trades"]
---

# Get consolidated trades

`GET /trades/consolidated`

This endpoint retrieves past consolidated trades on the exchange via pagination. If a trade fills multiple orders, it will show up as one entry here per bettor. Requests must include at least one of `bettor` or `marketHash`; requests with neither are rejected with a `400` error.

## Query parameters

- `bettor` string
- `settled` boolean, required
- `page` integer, required
- `perPage` integer, required
- `sortBy` 'totalStake' | 'totalBetTimeValue' | 'weightedAverageOdds' | 'netReturn' | 'netReturnBetTimeValue' | 'settleNetReturnValue' | 'outcome' | 'gameLabel' | 'bettingOutcome' | 'gameTime' | 'leagueLabel' | 'bettingOutcomeLabel' | 'betTime' | 'settleDate' | 'totalReturn'
- `sortAsc` boolean, required
- `maker` boolean
- `sportXeventId` string
- `tradeStatus` string
- `marketHash` string
- `hideQuarterLineParents` boolean
- `hideQuarterLineLegs` boolean

## Response `200`

- object
  - `status` string — `success` or `failure` if the request succeeded or not
  - `data` object
    - `trades` ConsolidatedTrade[] — The consolidated trades for this request
      - `baseToken` string — The token in which this trade was placed
      - `tradeStatus` string — `SUCCESS` or `FAILED` depending on if this trade succeeded or not
      - `bettor` string — The address of the bettor who placed the trade
      - `totalStake` string — Total nominal stake of the trade
      - `totalBetTimeValue` string — Total stake value in a human-readable decimal format
      - `weightedAverageOdds` string — Weighted average odds (based on stake) of the trade if the trade filled multiple orders. Divide by 10^20 to get the odds in decimal format.
      - `netReturn` string — The net return amount in the `baseToken` value
      - `netReturnBetTimeValue` number — The net return value in a human-readable decimal format
      - `marketHash` string — The unique identifier of the market for which this trade was placed
      - `maker` boolean — `true` if the bettor is market maker in this trade
      - `settled` boolean — `true` if this bet is settled (this refers to if the bet was won lost or voided, not if the trade succeeded or not)
      - `fillHash` string — The unique identifier for this trade
      - `gameLabel` string — A general label for the market
      - `bettingOutcome` number — `1` if the bettor is betting outcome one, `2` otherwise
      - `sportXeventId` string — The unique fixture ID for this trade
      - `gameTime` string — ISO formatted date string of when the game is supposed to occur
      - `leagueLabel` string — The name of this league
      - `sportId` integer — The sport ID for this trade
      - `bettingOutcomeLabel` string — Which team/side the bettor bet
      - `betTime` number — The time in UNIX seconds when the trade was placed
      - `fillOrderHash` string — The hash of the fill order transaction
      - `totalReturn` string — Total return amount in the `baseToken` value
      - `crosschainNetReturn` string — Net return from cross-chain activity
      - `chainVersion` string — `SXN` or `SXR`. See migration docs.
      - `marketHasRefunds` boolean — `true` if capital efficient refunds exist for this market group; if `true`, query [Get portfolio refunds](/api-reference/get-trades-refunds) for details
      - `marketType` integer — The market type for this trade
      - `outcome` number — `0`, `1`, or `2` depending on the final outcome of the market. Only present on settled trades.
      - `settleNetReturnValue` number — The net return value in human-readable decimal format at settlement time
      - `isQuarterLineParent` boolean — `true` on the synthetic parent consolidated trade for a quarter-line bet. The parent aggregates `totalStake`, `totalReturn`, and `netReturn` across both legs — use this entry (not the legs) for user-facing P&L and volume.
      - `isQuarterLineLeg` boolean — `true` on each of the two leg consolidated trades that make up a quarter-line bet. The matching parent is identified by `quarterLineFillHash`.
    - `count` number — Total count of trades for this query

---

[API](https://skmtc.net/sx/apis/sx-bet-api.md) · [All operations](https://skmtc.net/sx/apis/sx-bet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sx/sx-bet-api/versions/eb2c05c3a98e/schema)
