> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trusset.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Order Book Trades

> Read the executed trade tape for one book

Returns executed trades on a book, newest first. When the book pools depth with peers, the tape widens to the whole eligible set, so a fill booked on a peer venue appears here too.

Unlike the aggregates on [Get Order Book Snapshot](/endpoints/external-securities-trading/get-order-book-snapshot), this list includes trades whose settlement failed and trades still waiting for one. Read `settlementStatus` before treating a row as a completed transfer.

## Path Parameters

<ParamField path="orderBookId" type="string" required>Order book ID.</ParamField>

## Query Parameters

<ParamField query="limit" type="integer" default="50">Page size, capped at 100.</ParamField>

<ParamField query="offset" type="integer" default="0">Rows to skip.</ParamField>

## Response Fields

<ResponseField name="data" type="object">
  <Expandable>
    <ResponseField name="trades" type="array">
      <Expandable>
        <ResponseField name="tradeId" type="string">Trade ID.</ResponseField>
        <ResponseField name="orderBookId" type="string">Maker's book.</ResponseField>
        <ResponseField name="takerOrderBookId" type="string">Taker's book when the fill crossed a pooled peer.</ResponseField>
        <ResponseField name="origin" type="string">`CLOB`.</ResponseField>
        <ResponseField name="makerOrderId" type="string">Resting order row.</ResponseField>
        <ResponseField name="takerOrderId" type="string">Aggressing order row.</ResponseField>
        <ResponseField name="makerAddress" type="string">Resting side.</ResponseField>
        <ResponseField name="takerAddress" type="string">Aggressing side.</ResponseField>
        <ResponseField name="price" type="string">Execution price in order book units.</ResponseField>
        <ResponseField name="quantity" type="string">Base quantity in order book units.</ResponseField>
        <ResponseField name="makerFee" type="string">Fee charged to the maker, as base quantity in order book units.</ResponseField>
        <ResponseField name="takerFee" type="string">Fee charged to the taker, as base quantity in order book units.</ResponseField>
        <ResponseField name="side" type="string">Side of the aggressing order.</ResponseField>
        <ResponseField name="settlementId" type="string">Settlement grouping this trade, or `null`.</ResponseField>
        <ResponseField name="settlementStatus" type="string">`AWAITING_SIGNATURE`, `CONFIRMED` or `FAILED`.</ResponseField>
        <ResponseField name="settlementError" type="string">Why settlement failed, or `null`.</ResponseField>
        <ResponseField name="createdAt" type="string">ISO 8601 timestamp.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="total" type="integer">Total trades on the scope.</ResponseField>
    <ResponseField name="limit" type="integer">Page size applied.</ResponseField>
    <ResponseField name="offset" type="integer">Offset applied.</ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.trusset.org/orderbooks/external-securities/api/order-books/clx_ob_extsec_001/trades?limit=25" \
    -H "X-API-Key: trusset_your_key_here"
  ```

  ```typescript TypeScript theme={null}
  const res = await fetch(
    `https://api.trusset.org/orderbooks/external-securities/api/order-books/${orderBookId}/trades?limit=25`,
    { headers: { 'X-API-Key': 'trusset_your_key_here' } }
  );
  const { data } = await res.json();
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "trades": [
        {
          "tradeId": "5b3c19e0-7a42-4d86-91f5-2c0e8d47b613",
          "orderBookId": "clx_ob_extsec_001",
          "takerOrderBookId": null,
          "origin": "CLOB",
          "makerOrderId": "clx_order_799",
          "takerOrderId": "clx_order_812",
          "makerAddress": "0x9f8c1d4b2e7a3056c1b8f4d29e0a7c3518b6d24f",
          "takerAddress": "0xabc7f1093d5e26b804a1c3f78de025916b47c0d3",
          "price": "104200000",
          "quantity": "10000000",
          "makerFee": "0",
          "takerFee": "10000",
          "side": "BUY",
          "settlementId": "clx_settle_77",
          "settlementStatus": "CONFIRMED",
          "settlementError": null,
          "createdAt": "2025-06-15T12:00:00.000Z"
        }
      ],
      "total": 6,
      "limit": 25,
      "offset": 0
    }
  }
  ```
</ResponseExample>

## Error Codes

| Code                   | HTTP  | Cause                                                               |
| ---------------------- | ----- | ------------------------------------------------------------------- |
| `ORDER_BOOK_NOT_FOUND` | `404` | No such external securities book on this instance, and not imported |
| `SERVICE_NOT_ENABLED`  | `403` | The Trading service is not enabled on this instance                 |
