Trades

Returns a paginated list of trades that have occurred on the exchange. Default page size is 100, maximum is 1000.

The side field in the response indicates the taker side of the trade.

block_id appears on block-trade prints only. A block trade is published as one print per leg, and the block id every leg shares is what lets a client reassemble the package. No other kind of print carries the field.

Note that the legs of one block trade are ordered by fill id like any other print, so a package can straddle a page boundary. base_asset also resolves to that underlying's OPTION markets only, so a package's perp delta hedge is not among the results — request the perp's own market to see it.

Pass trade_type=BLOCK_TRADE to return only block-trade prints (the legs of RFQ and block executions). It is the only value accepted; omit the parameter for every trade type. It is also the one case where market and base_asset may both be omitted: the page then covers every market on the exchange, perps included, so a package arrives with its delta hedge. A later page of any of these needs only its cursor: the scope a page was opened with travels inside it.

Example

GET /trades?market=BTC-USD-PERP&page_size=100
GET /trades?base_asset=BTC&trade_type=BLOCK_TRADE&page_size=100
GET /trades?trade_type=BLOCK_TRADE&page_size=100

This endpoint supports cursor-based pagination for efficiently traversing large result sets.

get/trades

Request

  • Base URL
    https://api.prod.paradex.trade/v1
  • URL
    https://api.prod.paradex.trade/v1/trades
  • Auth
    none declared

Query parameters

base_assetstring

Base asset symbol; returns trades across all active options (OPTION and PERP_OPTION) for this base asset. Mutually exclusive with market. One of the two is required unless trade_type=BLOCK_TRADE.

cursorstring

Returns the ‘next’ paginated page.

end_atinteger

End Time (unix time millisecond)

marketstring

Market name. Mutually exclusive with base_asset. One of the two is required unless trade_type=BLOCK_TRADE.

page_sizeinteger

Limit the number of responses in the page

start_atinteger

Start Time (unix time millisecond)

trade_type'BLOCK_TRADE'

Narrows the page to one trade type. Only BLOCK_TRADE is supported; omit for every type. With BLOCK_TRADE, market and base_asset may both be omitted for an exchange-wide page.

Response

OK

nextstring

The pointer to fetch next set of records (null if there are no records left)

prevstring

The pointer to fetch previous set of records (null if there are no records left)

Example response

{
  "next": "eyJmaWx0ZXIiMsIm1hcmtlciI6eyJtYXJrZXIiOiIxNjc1NjUwMDE3NDMxMTAxNjk5N=",
  "prev": "eyJmaWx0ZXIiOnsiTGltaXQiOjkwfSwidGltZSI6MTY4MTY3OTgzNzk3MTMwOTk1MywibWFya2VyIjp7Im1zMjExMD==",
  "results": [
    {
      "block_id": "1681497002041000000",
      "created_at": 1681497002041,
      "id": "12345643",
      "market": "BTC-USD-PERP",
      "price": "30001.2",
      "size": "0.01"
    }
  ]
}

Changes

    • warning

      added the new ADDRESS_BOOK_NOT_PARADEX_ACCOUNT enum value to the //// response property for the response status

    • warning

      added the new ADDRESS_BOOK_REPEATED_IN_IMPORT enum value to the //// response property for the response status

    • warning

      added the new STARKNET_PARENT_ONBOARDING_DISABLED enum value to the //// response property for the response status

    • warning

      added the new SESSION_EXPIRED enum value to the //// response property for the response status

    • warning

      added the new SESSION_REVOKED enum value to the //// response property for the response status