Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.orca.so/llms.txt

Use this file to discover all available pages before exploring further.

Whirlpool Endpoints

Endpoints for querying Orca’s concentrated liquidity pools (Whirlpools).

List Pools

GET
Retrieve a paginated list of Whirlpools with optional filtering and sorting.

Query Parameters

ParameterTypeDescription
sortBystringSort field. Options: volume, tvl, fees, rewards, yieldovertvl, lockedliquiditypercent (append time period, e.g., volume24h)
sortDirectionstringasc or desc
nextstringPagination cursor for next page
previousstringPagination cursor for previous page
sizeintegerResults per page
hasRewardsbooleanFilter pools with active rewards
hasWarningbooleanFilter pools with warnings
hasAdaptiveFeebooleanFilter pools with adaptive fees enabled
isWavebreakbooleanFilter Wavebreak pools
minTvlnumberMinimum TVL in USDC
minVolumenumberMinimum volume in USDC
minLockedLiquidityPercentnumberMinimum locked liquidity percentage
tokenstringFilter by token address (pools containing this token)
tokensBothOfstringComma-separated token addresses (pools must contain both)
addressesstringComma-separated pool addresses
statsstringComma-separated time periods for stats (e.g., 24h,7d)
includeBlockedbooleanInclude blocked pools

Example Request

curl "https://api.orca.so/v2/solana/pools?minTvl=100000&sortBy=tvl&sortDirection=desc&size=10&stats=24h,7d"

Example Response

{
  "data": [
    {
      "address": "7qbRF6YsyGuLUVs6Y1q64bdVrfe4ZcUUz1JRdoVNUJnm",
      "whirlpoolsConfig": "2LecshUwdy9xi7meFgHtFJQNSKk4KdTrcpvaB56dP2NQ",
      "tickSpacing": 64,
      "feeRate": 2000,
      "protocolFeeRate": 300,
      "liquidity": "12345678901234567890",
      "sqrtPrice": "1234567890123456789",
      "tickCurrentIndex": 1234,
      "tokenMintA": "So11111111111111111111111111111111111111112",
      "tokenMintB": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "price": "142.50",
      "tvlUsdc": "5000000.00",
      "tokenBalanceA": "35000.123456789",
      "tokenBalanceB": "5000000.00",
      "poolType": "whirlpool",
      "adaptiveFeeEnabled": true,
      "hasWarning": false,
      "tokenA": {
        "address": "So11111111111111111111111111111111111111112",
        "symbol": "SOL",
        "name": "Wrapped SOL",
        "decimals": 9,
        "imageUrl": "https://..."
      },
      "tokenB": {
        "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "symbol": "USDC",
        "name": "USD Coin",
        "decimals": 6,
        "imageUrl": "https://..."
      },
      "stats": {
        "24h": {
          "volume": "1250000.00",
          "fees": "2500.00",
          "rewards": "500.00",
          "yieldOverTvl": "0.0006"
        },
        "7d": {
          "volume": "8750000.00",
          "fees": "17500.00",
          "rewards": "3500.00",
          "yieldOverTvl": "0.0042"
        }
      },
      "rewards": [],
      "lockedLiquidityPercent": []
    }
  ],
  "meta": {
    "next": "eyJsYXN0X2lkIjo...",
    "previous": null
  }
}

Search Pools

GET
Search for pools by token symbol or address. Supports partial, case-insensitive matching.

Query Parameters

ParameterTypeDescription
qstringRequired. Search query (token symbol or address)
nextstringPagination cursor
sizeintegerResults per page
sortBystringSort field
sortDirectionstringasc or desc
minTvlnumberMinimum TVL in USDC
minVolumenumberMinimum volume in USDC
statsstringTime periods for stats
userTokensstringComma-separated user token addresses
hasRewardsbooleanFilter pools with rewards
verifiedOnlybooleanOnly return verified pools
hasLockedLiquiditybooleanFilter pools with locked liquidity

Example Request

curl "https://api.orca.so/v2/solana/pools/search?q=SOL-USDC&minTvl=50000"

Get Pool by Address

GET
Retrieve detailed information for a specific Whirlpool by its address.

Path Parameters

ParameterTypeDescription
addressstringRequired. The Whirlpool account address

Example Request

curl "https://api.orca.so/v2/solana/pools/7qbRF6YsyGuLUVs6Y1q64bdVrfe4ZcUUz1JRdoVNUJnm"

Example Response

{
  "data": {
    "address": "7qbRF6YsyGuLUVs6Y1q64bdVrfe4ZcUUz1JRdoVNUJnm",
    "whirlpoolsConfig": "2LecshUwdy9xi7meFgHtFJQNSKk4KdTrcpvaB56dP2NQ",
    "tickSpacing": 64,
    "feeRate": 2000,
    "protocolFeeRate": 300,
    "liquidity": "12345678901234567890",
    "sqrtPrice": "1234567890123456789",
    "tickCurrentIndex": 1234,
    "tokenMintA": "So11111111111111111111111111111111111111112",
    "tokenMintB": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "tokenVaultA": "...",
    "tokenVaultB": "...",
    "feeGrowthGlobalA": "...",
    "feeGrowthGlobalB": "...",
    "protocolFeeOwedA": "0",
    "protocolFeeOwedB": "0",
    "price": "142.50",
    "tvlUsdc": "5000000.00",
    "tokenBalanceA": "35000.123456789",
    "tokenBalanceB": "5000000.00",
    "poolType": "whirlpool",
    "adaptiveFeeEnabled": true,
    "adaptiveFee": {
      "currentRate": 2000,
      "maxRate": 10000,
      "constants": { ... },
      "variables": { ... }
    },
    "feeTierIndex": 2,
    "hasWarning": false,
    "tokenA": { ... },
    "tokenB": { ... },
    "stats": { ... },
    "rewards": [],
    "lockedLiquidityPercent": [],
    "updatedAt": "2024-01-15T12:30:00Z",
    "updatedSlot": 245678901
  },
  "meta": {
    "next": null,
    "previous": null
  }
}

Get Locked Liquidity

GET
Retrieve locked liquidity information for a Whirlpool.

Path Parameters

ParameterTypeDescription
addressstringRequired. The Whirlpool account address

Example Request

curl "https://api.orca.so/v2/solana/lock/7qbRF6YsyGuLUVs6Y1q64bdVrfe4ZcUUz1JRdoVNUJnm"

Example Response

[
  {
    "name": "Raydium Lock",
    "lockedPercentage": "45.5"
  },
  {
    "name": "Team Lock",
    "lockedPercentage": "10.0"
  }
]