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

# Get top LPers for a pool

> Retrieve ranked LP providers for a pool with pagination and sorting.

**Chains:** Solana (Meteora DLMM, DAMM V2) and Robinhood Chain (Uniswap V3, Uniswap V4). Pick the network with `chain` and narrow the protocols with `platform`; each row reports both in `chain` and `protocol`.

**Plan:** Requires an active **Premium** or **Enterprise** API key. Free-plan keys receive `401`.




## OpenAPI

````yaml /api-reference/openapi.json get /pools/{poolId}/top-lpers
openapi: 3.0.0
info:
  title: LP Agent Open API
  version: 1.0.0
  description: |+
    Public API for LP Agent

    **Authentication**

    All endpoints require an API key passed via the `x-api-key` header.

servers:
  - url: https://api.lpagent.io/open-api/v1
    description: Production
security:
  - apiKeyAuth: []
tags: []
paths:
  /pools/{poolId}/top-lpers:
    get:
      tags:
        - Pools
      summary: Get top LPers for a pool
      description: >
        Retrieve ranked LP providers for a pool with pagination and sorting.


        **Chains:** Solana (Meteora DLMM, DAMM V2) and Robinhood Chain (Uniswap
        V3, Uniswap V4). Pick the network with `chain` and narrow the protocols
        with `platform`; each row reports both in `chain` and `protocol`.


        **Plan:** Requires an active **Premium** or **Enterprise** API key.
        Free-plan keys receive `401`.
      parameters:
        - in: path
          name: poolId
          required: true
          schema:
            type: string
          description: >-
            Pool ID. On Solana, the Meteora pool address. On Robinhood Chain,
            the Uniswap V3 pool address or the Uniswap V4 pool ID (32-byte `0x`
            hash), in any letter case.
          example: 7d51qGEeAKiPakkxLoHda9egShXQLJcjFYpHEcX4d3EM
        - in: query
          name: chain
          schema:
            type: string
            enum:
              - SOL
              - ROBINHOOD
          description: >-
            Blockchain network the pool lives on. `SOL` returns Meteora (DLMM /
            DAMM v2) LPers; `ROBINHOOD` returns Uniswap V3 and V4 LPers on
            Robinhood Chain (EVM, chain id 4663). When omitted, it is inferred
            from `poolId`: a `0x` ID is `ROBINHOOD`, anything else is `SOL`. An
            unrecognised value falls back to `SOL`.
        - in: query
          name: platform
          schema:
            type: string
          description: >-
            Comma-separated protocols to filter by. Omit it to get every
            protocol served on the chain. Valid values are `meteora` and
            `meteora_damm_v2` on `SOL`, `uniswap_v3` and `uniswap_v4` on
            `ROBINHOOD`. A protocol that is not served on the requested chain
            simply matches nothing.
          example: meteora,meteora_damm_v2
        - in: query
          name: order_by
          schema:
            type: string
            enum:
              - total_pnl_native
              - total_pnl
              - total_inflow_native
              - total_inflow
              - total_fee_native
              - total_fee
              - total_lp
              - win_rate
              - win_rate_native
              - apr
              - roi
              - last_activity
              - updated_at
            default: total_pnl_native
          description: Column to sort by. Any other value falls back to `total_pnl_native`.
        - in: query
          name: sort_order
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
          description: Sort direction
        - in: query
          name: page
          schema:
            type: integer
            minimum: 1
            default: 1
          description: Page number
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
          description: Page size
      responses:
        '200':
          description: Successfully retrieved LPers
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        pool:
                          type: string
                          description: Pool address
                        owner:
                          type: string
                          description: Wallet address
                        chain:
                          type: string
                          description: 'Chain the pool lives on: `SOL` or `ROBINHOOD`'
                          example: SOL
                        protocol:
                          type: string
                          description: >-
                            `meteora` or `meteora_damm_v2` on `SOL`;
                            `uniswap_v3` or `uniswap_v4` on `ROBINHOOD`
                          example: meteora
                        token0:
                          type: string
                          description: >-
                            Token X mint address (ERC-20 contract address on
                            Robinhood Chain)
                        token1:
                          type: string
                          description: >-
                            Token Y mint address (ERC-20 contract address on
                            Robinhood Chain)
                        total_inflow:
                          type: number
                          description: Total USD deposited
                        avg_inflow:
                          type: number
                          description: Average USD inflow per LP
                        total_outflow:
                          type: number
                          description: Total USD withdrawn
                        total_fee:
                          type: number
                          description: Total fees earned (USD)
                        total_pnl:
                          type: number
                          description: Total PnL (USD)
                        total_inflow_native:
                          type: number
                          description: Total inflow in native token
                        avg_inflow_native:
                          type: number
                        total_outflow_native:
                          type: number
                        total_reward:
                          type: number
                          description: Total rewards (USD)
                        total_fee_native:
                          type: number
                        total_reward_native:
                          type: number
                        total_pnl_native:
                          type: number
                          description: Total PnL in native token
                        total_lp:
                          type: number
                          description: Total number of LP positions
                        avg_age_hour:
                          type: number
                          description: Average position age in hours
                        win_lp:
                          type: number
                          description: Number of winning positions (USD)
                        win_lp_native:
                          type: number
                        win_rate:
                          type: number
                          description: Win rate (USD)
                        win_rate_native:
                          type: number
                        fee_percent:
                          type: number
                          description: Fee as percentage of inflow
                        fee_percent_native:
                          type: number
                        apr:
                          type: number
                          description: Annualized return
                        roi:
                          type: number
                          description: Return on investment
                        first_activity:
                          type: string
                          format: date-time
                        last_activity:
                          type: string
                          format: date-time
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                      pageSize:
                        type: integer
                      totalCount:
                        type: integer
                      totalPages:
                        type: integer
                      hasNextPage:
                        type: boolean
        '400':
          description: Invalid parameters
        '401':
          description: Free plan not allowed - upgrade to Premium or Enterprise
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: >-
                      A Premium or Enterprise plan is required to access this
                      endpoint.
        '500':
          description: Internal server error
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication

````