Pools

get

Returns the pool and its latest state

Path parameters
idstringRequired

Pool ID as hex string

Responses
200
Swap pool
application/json
Responseall of
get
GET /pool/by-id/{id} HTTP/1.1
Host: 127.0.0.1:3000
Accept: */*
{
  "id": "text",
  "feeRate": 1,
  "config": {
    "feeTier": 1,
    "shards": 1,
    "token0": "1234:5678",
    "token1": "1234:5678"
  },
  "invalid": true,
  "assetPair": {
    "token0Id": "1234:5678",
    "token1Id": "1234:5678"
  },
  "createdBlockHeight": "text",
  "shards": [
    {
      "poolPubkey": "text",
      "runeUtxo": null,
      "btcUtxos": [
        {
          "txid": "text",
          "vout": 1,
          "value": "text",
          "runes": [
            {
              "id": "1234:5678",
              "amount": "text"
            }
          ],
          "needsConsolidation": {
            "type": "no"
          }
        }
      ],
      "liquidity": "text",
      "protocolFeeOwed": "text",
      "lastBlockHeight": "text",
      "timesUpdated": "text",
      "kLast": "text",
      "kLastCounter": "text",
      "pendingToSend": [
        {
          "address": [
            1
          ],
          "amount": "text"
        }
      ],
      "swapBalance": {
        "blockHeight": 1,
        "runeToBtcSwaps": 1,
        "btcToRuneSwaps": 1
      },
      "pubkey": "text",
      "utxo": "text"
    }
  ],
  "token0Amount": "text",
  "token1Amount": "text",
  "liquidity": "text",
  "price": "text"
}
get

Returns a list of pool details with its current state where the token names match. Search is case-insensitive and will find pools where either token matches any of the given ones

Query parameters
token0stringRequired
token1stringRequired
feeTierinteger | nullOptional
Responses
200
Swap pools
application/json
get
GET /pool/by-token-names HTTP/1.1
Host: 127.0.0.1:3000
Accept: */*
[
  {
    "id": "text",
    "feeRate": 1,
    "config": {
      "feeTier": 1,
      "shards": 1,
      "token0": "1234:5678",
      "token1": "1234:5678"
    },
    "invalid": true,
    "assetPair": {
      "token0Id": "1234:5678",
      "token1Id": "1234:5678"
    },
    "createdBlockHeight": "text",
    "shards": [
      {
        "poolPubkey": "text",
        "runeUtxo": null,
        "btcUtxos": [
          {
            "txid": "text",
            "vout": 1,
            "value": "text",
            "runes": [
              {
                "id": "1234:5678",
                "amount": "text"
              }
            ],
            "needsConsolidation": {
              "type": "no"
            }
          }
        ],
        "liquidity": "text",
        "protocolFeeOwed": "text",
        "lastBlockHeight": "text",
        "timesUpdated": "text",
        "kLast": "text",
        "kLastCounter": "text",
        "pendingToSend": [
          {
            "address": [
              1
            ],
            "amount": "text"
          }
        ],
        "swapBalance": {
          "blockHeight": 1,
          "runeToBtcSwaps": 1,
          "btcToRuneSwaps": 1
        },
        "pubkey": "text",
        "utxo": "text"
      }
    ],
    "token0Amount": "text",
    "token1Amount": "text",
    "liquidity": "text",
    "price": "text"
  }
]
get

Returns a list of pool details with its current state, where the provided ids match exactly and are optionally filtered by the fee tier

Query parameters
token0stringRequired
token1stringRequired
feeTierinteger | nullOptional
Responses
200
Swap pools
application/json
get
GET /pool/by-token-ids HTTP/1.1
Host: 127.0.0.1:3000
Accept: */*
[
  {
    "id": "text",
    "feeRate": 1,
    "config": {
      "feeTier": 1,
      "shards": 1,
      "token0": "1234:5678",
      "token1": "1234:5678"
    },
    "invalid": true,
    "assetPair": {
      "token0Id": "1234:5678",
      "token1Id": "1234:5678"
    },
    "createdBlockHeight": "text",
    "shards": [
      {
        "poolPubkey": "text",
        "runeUtxo": null,
        "btcUtxos": [
          {
            "txid": "text",
            "vout": 1,
            "value": "text",
            "runes": [
              {
                "id": "1234:5678",
                "amount": "text"
              }
            ],
            "needsConsolidation": {
              "type": "no"
            }
          }
        ],
        "liquidity": "text",
        "protocolFeeOwed": "text",
        "lastBlockHeight": "text",
        "timesUpdated": "text",
        "kLast": "text",
        "kLastCounter": "text",
        "pendingToSend": [
          {
            "address": [
              1
            ],
            "amount": "text"
          }
        ],
        "swapBalance": {
          "blockHeight": 1,
          "runeToBtcSwaps": 1,
          "btcToRuneSwaps": 1
        },
        "pubkey": "text",
        "utxo": "text"
      }
    ],
    "token0Amount": "text",
    "token1Amount": "text",
    "liquidity": "text",
    "price": "text"
  }
]
post

Returns a paginated list of pool statistics matching the provided filter criteria

Body
namearray | nullOptional
minTvlinteger | nullOptional
minVolumeinteger | nullOptional
sortarray | nullOptional
limitinteger | nullOptional
offsetinteger | nullOptional
Responses
200
swap pool
application/json
post
POST /pool/stats/by-filter HTTP/1.1
Host: 127.0.0.1:3000
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "name": [
    "text"
  ],
  "minTvl": null,
  "minVolume": null,
  "sort": [
    {
      "field": "token0_name",
      "order": "ASC"
    }
  ],
  "limit": null,
  "offset": null
}
{
  "response": [
    {
      "poolId": "text",
      "token0": {
        "id": "1234:5678",
        "name": "text",
        "displayName": "text",
        "symbol": null,
        "divisibility": 1,
        "batchSize": 1,
        "supply": "text",
        "createdAt": "2025-06-30T23:02:29.334Z",
        "updatedAt": "2025-06-30T23:02:29.334Z",
        "type": "btc"
      },
      "token1": {
        "id": "1234:5678",
        "name": "text",
        "displayName": "text",
        "symbol": null,
        "divisibility": 1,
        "batchSize": 1,
        "supply": "text",
        "createdAt": "2025-06-30T23:02:29.334Z",
        "updatedAt": "2025-06-30T23:02:29.334Z",
        "type": "btc"
      },
      "token0Amount": "text",
      "token1Amount": "text",
      "liquidity": "text",
      "price": "text",
      "tvlNow": null,
      "tvl24hAgo": null,
      "tvlDiff": null,
      "volume24h": null,
      "volumePrev24h": null,
      "volumeDiff24h": null,
      "fees24h": null,
      "apy24h": null,
      "volume7d": null,
      "fees7d": null,
      "apy7d": null,
      "feeRate": 1
    }
  ],
  "offset": 1
}
get

Returns a list of detailed statistics for pools matching the provided IDs, including token information, TVL, volume, fees, and APY data.

Query parameters
poolIdsstring[]Optional
Responses
200
swap pools
application/json
get
GET /pool/stats/by-ids HTTP/1.1
Host: 127.0.0.1:3000
Accept: */*
[
  {
    "poolId": "text",
    "token0": {
      "id": "1234:5678",
      "name": "text",
      "displayName": "text",
      "symbol": null,
      "divisibility": 1,
      "batchSize": 1,
      "supply": "text",
      "createdAt": "2025-06-30T23:02:29.334Z",
      "updatedAt": "2025-06-30T23:02:29.334Z",
      "type": "btc"
    },
    "token1": {
      "id": "1234:5678",
      "name": "text",
      "displayName": "text",
      "symbol": null,
      "divisibility": 1,
      "batchSize": 1,
      "supply": "text",
      "createdAt": "2025-06-30T23:02:29.334Z",
      "updatedAt": "2025-06-30T23:02:29.334Z",
      "type": "btc"
    },
    "token0Amount": "text",
    "token1Amount": "text",
    "liquidity": "text",
    "price": "text",
    "tvlNow": null,
    "tvl24hAgo": null,
    "tvlDiff": null,
    "volume24h": null,
    "volumePrev24h": null,
    "volumeDiff24h": null,
    "fees24h": null,
    "apy24h": null,
    "volume7d": null,
    "fees7d": null,
    "apy7d": null,
    "feeRate": 1
  }
]
post

Returns a paginated list of token pairs with aggregated pool statistics filtered by the provided criteria

Body
namearray | nullOptional
minTvlinteger | nullOptional
minVolumeinteger | nullOptional
sortarray | nullOptional
limitinteger | nullOptional
offsetinteger | nullOptional
Responses
200
swap pools
application/json
post
POST /pool/stats/by-token-filter HTTP/1.1
Host: 127.0.0.1:3000
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "name": [
    "text"
  ],
  "minTvl": null,
  "minVolume": null,
  "sort": [
    {
      "field": "token0_name",
      "order": "ASC"
    }
  ],
  "limit": null,
  "offset": null
}
{
  "response": [
    {
      "token0": {
        "id": "1234:5678",
        "name": "text",
        "displayName": "text",
        "symbol": null,
        "divisibility": 1,
        "batchSize": 1,
        "supply": "text",
        "createdAt": "2025-06-30T23:02:29.334Z",
        "updatedAt": "2025-06-30T23:02:29.334Z",
        "type": "btc"
      },
      "token1": {
        "id": "1234:5678",
        "name": "text",
        "displayName": "text",
        "symbol": null,
        "divisibility": 1,
        "batchSize": 1,
        "supply": "text",
        "createdAt": "2025-06-30T23:02:29.334Z",
        "updatedAt": "2025-06-30T23:02:29.334Z",
        "type": "btc"
      },
      "volume24h": null,
      "volumeDiff24h": null,
      "volume7d": null,
      "fees24h": null,
      "tvlNow": "text",
      "tvl24hAgo": "text",
      "tvlDiff": "text",
      "smaller24hApy": null,
      "larger24hApy": null,
      "smaller7dApy": null,
      "larger7dApy": null,
      "pools": [
        {
          "id": "text",
          "tvlNow": "text",
          "tvl24hAgo": "text",
          "tvlDiff": "text",
          "volume24h": null,
          "volumeDiff24h": null,
          "fees24h": null,
          "apy24h": null,
          "volume7d": null,
          "fees7d": null,
          "apy7d": null,
          "price": "text",
          "token0Amount": "text",
          "token1Amount": "text",
          "liquidity": "text",
          "feeRate": 1
        }
      ]
    }
  ],
  "offset": 1
}
get

Paginated list of swap pools stats matched by the filter

Query parameters
namestring | nullOptional
sortVolumestring | nullOptional
sortFeeGeneratedstring | nullOptional
limitinteger | nullOptional
offsetinteger | nullOptional
Responses
200
swap pools
application/json
get
GET /pool HTTP/1.1
Host: 127.0.0.1:3000
Accept: */*
200

swap pools

{
  "response": [
    {
      "poolId": "text",
      "token0": {
        "id": "1234:5678",
        "name": "text",
        "displayName": "text",
        "symbol": null,
        "divisibility": 1,
        "batchSize": 1,
        "supply": "text",
        "createdAt": "2025-06-30T23:02:29.334Z",
        "updatedAt": "2025-06-30T23:02:29.334Z",
        "type": "btc"
      },
      "token1": {
        "id": "1234:5678",
        "name": "text",
        "displayName": "text",
        "symbol": null,
        "divisibility": 1,
        "batchSize": 1,
        "supply": "text",
        "createdAt": "2025-06-30T23:02:29.334Z",
        "updatedAt": "2025-06-30T23:02:29.334Z",
        "type": "btc"
      },
      "token0Amount": "text",
      "token1Amount": "text",
      "liquidity": "text",
      "price": "text",
      "tvlNow": null,
      "tvl24hAgo": null,
      "tvlDiff": null,
      "volume24h": null,
      "volumePrev24h": null,
      "volumeDiff24h": null,
      "fees24h": null,
      "apy24h": null,
      "volume7d": null,
      "fees7d": null,
      "apy7d": null,
      "feeRate": 1
    }
  ],
  "offset": 1
}

Last updated