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

# Fetch trades by markets, wallets and/or orders



## OpenAPI

````yaml https://docs.api.monacoprotocol.xyz/api/v1/exchange-openapi-general.json get /trades
openapi: 3.1.0
info:
  title: BetDEX General Integration API
  description: >-
    A RESTful API that allows you to interact with the BetDEX Exchange. Provides
    endpoints for managing Events, Markets, Sessions, Wallets and Orders. To
    interact with the API, a client must have an App Id and an API Key to
    authenticate and create a session.
  version: '0.1'
servers:
  - url: https://sandbox.api.btdx.io/
    description: Sandbox API Server
  - url: https://prod.api.btdx.io/
    description: Production API Server
security: []
tags:
  - name: API Key Management
  - name: App Management
  - name: Currencies
  - name: Event Categories
  - name: Event Groups
  - name: Event Subcategories
  - name: Events
  - name: External Reference Sources
  - name: Heartbeat Management
  - name: Market Prices
  - name: Market Types
  - name: Markets
  - name: Orders
  - name: Participants
  - name: Session Management
  - name: Status
  - name: Trades
  - name: Wallet API Key Management
  - name: Wallets
paths:
  /trades:
    get:
      tags:
        - Trades
      summary: Fetch trades by markets, wallets and/or orders
      operationId: getTrades
      parameters:
        - name: authorization
          in: header
          description: Header with the accessToken for the current session
          required: true
          schema:
            type: string
          example: Bearer eyJ0eXAiOiJ...bjV7AtDgA
        - name: marketIds
          in: query
          description: list of market ids
          required: false
          schema:
            type: array
            items:
              type: string
        - name: walletIds
          in: query
          description: list of wallet ids
          required: false
          schema:
            type: array
            items:
              type: string
        - name: orderIds
          in: query
          description: list of order ids
          required: false
          schema:
            type: array
            items:
              type: string
        - name: fromCreatedAt
          in: query
          description: beginning of the creation date range filter (inclusive)
          required: false
          schema:
            type: string
            format: date-time
        - name: toCreatedAt
          in: query
          description: end of the creation date range filter (inclusive)
          required: false
          schema:
            type: string
            format: date-time
        - name: page
          in: query
          description: Zero-based page index (0..N)
          schema:
            type: integer
            default: 0
        - name: size
          in: query
          description: The size of the page to be returned
          schema:
            type: integer
            default: 20
        - name: sort
          in: query
          description: >-
            Sorting criteria in the format: property,(asc|desc). Default sort
            order is ascending. Multiple sort criteria are supported.
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PagedTradeResponse'
        '401':
          description: Session invalid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PagedTradeResponse'
components:
  schemas:
    PagedTradeResponse:
      type: object
      properties:
        _meta:
          $ref: '#/components/schemas/Meta'
        trades:
          type: array
          items:
            $ref: '#/components/schemas/Trade'
        orders:
          type: array
          items:
            $ref: '#/components/schemas/OrderSummary'
        markets:
          type: array
          items:
            $ref: '#/components/schemas/MarketSummary'
        events:
          type: array
          items:
            $ref: '#/components/schemas/EventSummary'
        eventGroups:
          type: array
          items:
            $ref: '#/components/schemas/EventGroupSummary'
        subcategories:
          type: array
          items:
            $ref: '#/components/schemas/SubcategorySummary'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategorySummary'
    Meta:
      type: object
      properties:
        _primary_document:
          type: string
          enum:
            - apiKeys
            - apps
            - categories
            - commissionRates
            - currencies
            - depositAddresses
            - depositRequests
            - events
            - eventGroups
            - externalReferences
            - externalReferenceSources
            - heartbeats
            - ids
            - markets
            - marketOutcomes
            - marketPositions
            - marketTypes
            - orders
            - participants
            - prices
            - priceLadders
            - sessions
            - statuses
            - subcategories
            - trades
            - transactions
            - wallets
            - walletMetrics
            - withdrawalRequests
        _count:
          type: integer
          format: int32
        _page:
          $ref: '#/components/schemas/PageMeta'
    Trade:
      type: object
      properties:
        id:
          type: string
        walletId:
          type: string
        market:
          $ref: '#/components/schemas/DocumentReference'
        order:
          $ref: '#/components/schemas/DocumentReference'
        side:
          type: string
          enum:
            - For
            - Against
        outcomeId:
          type: string
        price:
          type: number
        stake:
          type: number
        profitLoss:
          type: number
          description: |2
               Profit or Loss for the trade, calculated as follows:<br>
               'For' trades
               <ul>
                   <li> Winning; profitLoss = stake * (price-1) </li>
                   <li> Losing; profitLoss = (stake * -1)  </li>
                   <li> Voided; profitLoss = 0 </li>
               </ul>
               'Against' trades
              <ul>
                   <li> Winning; profitLoss = stake </li>
                   <li> Losing; profitLoss = stake * (price-1) * (-1) </li>
                   <li> Voided; profitLoss = 0 </li>
               </ul>
        createdAt:
          type: string
          format: date-time
        modifiedAt:
          type: string
          format: date-time
    OrderSummary:
      type: object
      properties:
        id:
          type: string
        market:
          $ref: '#/components/schemas/DocumentReference'
        side:
          type: string
          enum:
            - For
            - Against
        outcomeId:
          type: string
        outcomeTitle:
          type: string
        price:
          type: number
        stake:
          type: number
        stakeUnmatched:
          type: number
        stakeVoided:
          type: number
        status:
          type: string
          description: |
            The status of an order can be one of the following
            <ul>
                <li> Cancelled - The order was not matched and has been cancelled either on request or automatically</li>
                <li> Failed - A pending order was persisted but then failed to be fully created</li>
                <li> Matched - The order has been matched, either fully, or partially where the remaining unmatched stake has been cancelled, either on request or automatically</li>
                <li> PartiallyMatched - The order has been partially matched, and the remaining unmatched portion might still be matched</li>
                <li> Pending - An order has been persisted but has not yet been processed</li>
                <li> Unmatched - The order has not yet been matched, and the remaining unmatched portion might still be matched</li>
                <li> Won - The market has been settled and this previously Matched order has been deemed to have Won</li>
                <li> Lost - The market has been settled and this previously Matched order has been deemed to have Lost</li>
                <li> Voided - The market has been voided so this order has been voided</li>
            </ul>
          enum:
            - Cancelled
            - Failed
            - Matched
            - PartiallyMatched
            - Pending
            - Unmatched
            - Won
            - Lost
            - Voided
        reference:
          type: string
    MarketSummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        inPlayStatus:
          type: string
          enum:
            - NotApplicable
            - PrePlay
            - InPlay
        published:
          type: boolean
        suspended:
          type: boolean
        status:
          type: string
          enum:
            - Initializing
            - Open
            - Locking
            - Locked
            - Settling
            - Settled
            - Voiding
            - Voided
            - Closed
        lockAt:
          type: string
          format: date-time
        settledAt:
          type: string
          format: date-time
        event:
          $ref: '#/components/schemas/DocumentReference'
    EventSummary:
      type: object
      properties:
        id:
          type: string
        eventGroup:
          $ref: '#/components/schemas/DocumentReference'
        name:
          type: string
        code:
          type: string
        expectedStartTime:
          type: string
          format: date-time
        active:
          type: boolean
    EventGroupSummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        subcategory:
          $ref: '#/components/schemas/DocumentReference'
    SubcategorySummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        category:
          $ref: '#/components/schemas/DocumentReference'
    CategorySummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    PageMeta:
      type: object
      properties:
        _pageNumber:
          type: integer
          format: int32
        _pageSize:
          type: integer
          format: int32
        _totalElements:
          type: integer
          format: int64
        _totalPages:
          type: integer
          format: int32
    DocumentReference:
      type: object
      properties:
        _ref:
          type: string
        _ids:
          type: array
          items:
            type: string

````