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

# Get Closed Limit Orders For Pool

> Paginated per-order lifecycle view for the wallet's closed limit orders in
one pool, sorted by `last_closed_at` DESC.



## OpenAPI

````yaml /developer-guides/dlmm/api-reference/openapi.json get /wallets/{wallet}/limit_orders/closed/pools/{pool_address}
openapi: 3.1.0
info:
  title: DLMM API
  description: >-
    Indexed DLMM data for pools, portfolios, positions, limit orders, wallets,
    and protocol stats.
  license:
    name: ''
  version: 0.1.0
servers:
  - url: https://dlmm.datapi.meteora.ag
    description: Production
  - url: https://dlmm.dev.metdev.io
    description: Development
security: []
paths:
  /wallets/{wallet}/limit_orders/closed/pools/{pool_address}:
    get:
      tags:
        - Limit Orders
      summary: Get Closed Limit Orders For Pool
      description: >-
        Paginated per-order lifecycle view for the wallet's closed limit orders
        in

        one pool, sorted by `last_closed_at` DESC.
      operationId: Get Closed Limit Orders For Pool
      parameters:
        - name: wallet
          in: path
          description: Base58-encoded wallet address
          required: true
          schema:
            type: string
          example: Dc85YcHkAWs62ndssWcGN5V4xYaQzPzgUDiRGtvnZas6
        - name: pool_address
          in: path
          description: Base58-encoded LB pair (pool) address
          required: true
          schema:
            type: string
          example: 5BHMzgzRXab4AKJzAm8Xjq3e2v2WSCnLqgP8SiGZAaC
        - name: page
          in: query
          description: 'Page number, 1-indexed. Default: 1'
          required: false
          schema:
            type:
              - integer
              - 'null'
            format: int64
            minimum: 1
        - name: page_size
          in: query
          description: 'Number of results per page. Default: 20, max: 1000'
          required: false
          schema:
            type:
              - integer
              - 'null'
            format: int64
            default: 20
            maximum: 1000
            minimum: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClosedLimitOrdersForPoolResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ClosedLimitOrdersForPoolResponse:
      type: object
      description: >-
        Top-level response for `GET
        /wallets/{wallet}/limit_orders/closed/pools/{pool_address}`.

        Pool metadata is emitted once at the top; per-order rows in `data` only

        carry order-specific fields.
      required:
        - pool
        - total
        - pages
        - current_page
        - page_size
        - data
      properties:
        current_page:
          type: integer
          format: int64
          minimum: 0
        data:
          type: array
          items:
            $ref: '#/components/schemas/ClosedLimitOrderDetail'
        page_size:
          type: integer
          format: int64
          minimum: 0
        pages:
          type: integer
          format: int64
          minimum: 0
        pool:
          $ref: '#/components/schemas/LimitOrderPoolDetails'
        total:
          type: integer
          format: int64
          minimum: 0
    ErrorResponse:
      type: object
      required:
        - message
      properties:
        message:
          type: string
    ClosedLimitOrderDetail:
      type: object
      description: >-
        Per-order lifecycle row for a closed limit order in a specific pool.

        Pool-level metadata (pair, bin step, fees, tokens) lives once at the top
        of

        the response — see `ClosedLimitOrdersForPoolResponse`.
      required:
        - limit_order_address
        - user_address
        - is_ask_side
        - lower_pool_price
        - upper_pool_price
        - input_token
        - input_token_mint
        - output_token
        - output_token_mint
        - total_deposit_x
        - total_deposit_y
        - total_deposit_usd
        - total_deposit_sol
        - output_amount_expected
        - total_withdrawal_x
        - total_withdrawal_y
        - total_withdrawal_x_usd
        - total_withdrawal_x_sol
        - total_withdrawal_y_usd
        - total_withdrawal_y_sol
        - total_withdrawal_usd
        - total_withdrawal_sol
        - total_bonus_x
        - total_bonus_y
        - total_bonus_x_usd
        - total_bonus_y_usd
        - total_bonus_x_sol
        - total_bonus_y_sol
        - total_bonus_usd
        - total_bonus_sol
        - filled_pct
        - filled_input_amount
        - received_output_amount
        - opened_at
        - opened_at_signature
        - opened_at_slot
        - last_closed_at
        - terminal_signature
        - terminal_slot
      properties:
        filled_input_amount:
          type: string
        filled_pct:
          type: string
        input_token:
          type: string
        input_token_mint:
          type: string
        is_ask_side:
          type: boolean
        last_closed_at:
          type: integer
          format: int64
          description: Unix seconds. Block time of the close event.
          minimum: 0
        limit_order_address:
          type: string
        lower_pool_price:
          type: number
          format: double
        opened_at:
          type: integer
          format: int64
          description: Unix seconds.
          minimum: 0
        opened_at_signature:
          type: string
        opened_at_slot:
          type: integer
          format: int64
          minimum: 0
        output_amount_expected:
          type: string
          description: |-
            Expected output at placement bin prices — `amount_y` for asks,
            `amount_x` for bids. Pre-computed on the
            `limit_orders_aggregate.output_amount_expected` column by the open
            MV via `if(is_ask_side, amount_y, amount_x)`; the closed-detail SQL
            reads the stored value directly. Mirrors
            `OpenLimitOrderDetail::output_amount_expected`.
        output_token:
          type: string
        output_token_mint:
          type: string
        received_output_amount:
          type: string
          description: >-
            Output token amount received for the filled portion of this order,
            in

            output-token display units. Sourced from cancel events: the cancel

            instruction emits the output-side token alongside any unfilled
            deposit

            remainder. For an ask order this is `total_withdrawal_y`; for a bid

            order it is `total_withdrawal_x`.
        terminal_signature:
          type: string
        terminal_slot:
          type: integer
          format: int64
          minimum: 0
        total_bonus_sol:
          type: string
          description: SOL value of bonus (cancel-event-time SOL price).
        total_bonus_usd:
          type: string
        total_bonus_x:
          type: string
        total_bonus_x_sol:
          type: string
          description: SOL value of token X bonus (cancel-event-time SOL price).
        total_bonus_x_usd:
          type: string
          description: USD value of token X bonus (cancel-event-time USD price).
        total_bonus_y:
          type: string
        total_bonus_y_sol:
          type: string
          description: SOL value of token Y bonus (cancel-event-time SOL price).
        total_bonus_y_usd:
          type: string
          description: USD value of token Y bonus (cancel-event-time USD price).
        total_deposit_sol:
          type: string
          description: SOL value of deposits, deposit-side only (placement-time SOL price).
        total_deposit_usd:
          type: string
          description: >-
            USD value of deposits, deposit-side only (an ask deposits X, a bid
            deposits Y).
        total_deposit_x:
          type: string
        total_deposit_y:
          type: string
        total_withdrawal_sol:
          type: string
          description: SOL value of withdrawals (cancel-event-time SOL price).
        total_withdrawal_usd:
          type: string
        total_withdrawal_x:
          type: string
        total_withdrawal_x_sol:
          type: string
          description: SOL value of token X withdrawn (cancel-event-time SOL price).
        total_withdrawal_x_usd:
          type: string
          description: USD value of token X withdrawn (cancel-event-time USD price).
        total_withdrawal_y:
          type: string
        total_withdrawal_y_sol:
          type: string
          description: SOL value of token Y withdrawn (cancel-event-time SOL price).
        total_withdrawal_y_usd:
          type: string
          description: USD value of token Y withdrawn (cancel-event-time USD price).
        upper_pool_price:
          type: number
          format: double
        user_address:
          type: string
    LimitOrderPoolDetails:
      type: object
      description: |-
        Pool-level metadata shared across all limit-order responses for a given
        pool. Same shape on both the open- and closed-order endpoints so clients
        can render the pool header from a single struct.
      required:
        - pool_address
        - pair_name
        - bin_step
        - base_fee
        - token_x_mint
        - token_y_mint
        - token_x_icon
        - token_y_icon
        - token_x
        - token_y
        - collect_fee_mode
      properties:
        base_fee:
          type: string
          description: >-
            Pool base fee as a percentage (f64 serialized as string to preserve
            precision).
        bin_step:
          type: integer
          format: int32
          description: Pool bin step in basis points (on-chain u16).
          minimum: 0
        collect_fee_mode:
          type: integer
          format: int32
          description: |-
            0 = `InputOnly` (bonus flows to the deposit/input token),
            1 = `OnlyY` (bonus always in token Y regardless of side).
          minimum: 0
        pair_name:
          type: string
          description: '`"{X}-{Y}"` computed from token symbols.'
        pool_address:
          type: string
        token_x:
          type: string
        token_x_icon:
          type: string
        token_x_mint:
          type: string
        token_y:
          type: string
        token_y_icon:
          type: string
        token_y_mint:
          type: string

````