curl --request GET \
--url https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers \
--header 'x-api-key: <api-key>'import requests
url = "https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"pool": "<string>",
"owner": "<string>",
"chain": "SOL",
"protocol": "meteora",
"token0": "<string>",
"token1": "<string>",
"total_inflow": 123,
"avg_inflow": 123,
"total_outflow": 123,
"total_fee": 123,
"total_pnl": 123,
"total_inflow_native": 123,
"avg_inflow_native": 123,
"total_outflow_native": 123,
"total_reward": 123,
"total_fee_native": 123,
"total_reward_native": 123,
"total_pnl_native": 123,
"total_lp": 123,
"avg_age_hour": 123,
"win_lp": 123,
"win_lp_native": 123,
"win_rate": 123,
"win_rate_native": 123,
"fee_percent": 123,
"fee_percent_native": 123,
"apr": 123,
"roi": 123,
"first_activity": "2023-11-07T05:31:56Z",
"last_activity": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"page": 123,
"pageSize": 123,
"totalCount": 123,
"totalPages": 123,
"hasNextPage": true
}
}{
"message": "A Premium or Enterprise plan is required to access this endpoint."
}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.
curl --request GET \
--url https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers \
--header 'x-api-key: <api-key>'import requests
url = "https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lpagent.io/open-api/v1/pools/{poolId}/top-lpers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": [
{
"pool": "<string>",
"owner": "<string>",
"chain": "SOL",
"protocol": "meteora",
"token0": "<string>",
"token1": "<string>",
"total_inflow": 123,
"avg_inflow": 123,
"total_outflow": 123,
"total_fee": 123,
"total_pnl": 123,
"total_inflow_native": 123,
"avg_inflow_native": 123,
"total_outflow_native": 123,
"total_reward": 123,
"total_fee_native": 123,
"total_reward_native": 123,
"total_pnl_native": 123,
"total_lp": 123,
"avg_age_hour": 123,
"win_lp": 123,
"win_lp_native": 123,
"win_rate": 123,
"win_rate_native": 123,
"fee_percent": 123,
"fee_percent_native": 123,
"apr": 123,
"roi": 123,
"first_activity": "2023-11-07T05:31:56Z",
"last_activity": "2023-11-07T05:31:56Z"
}
],
"pagination": {
"page": 123,
"pageSize": 123,
"totalCount": 123,
"totalPages": 123,
"hasNextPage": true
}
}{
"message": "A Premium or Enterprise plan is required to access this endpoint."
}授权
API key for authentication
路径参数
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.
查询参数
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.
SOL, ROBINHOOD 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.
Column to sort by. Any other value falls back to total_pnl_native.
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 Sort direction
asc, desc Page number
x >= 1Page size
1 <= x <= 100此页面对您有帮助吗?