cURL
curl 'https://api.exponent.finance/clmm/historical/user/DgVZj9wh1tUuD1nHrpjE2aEHgu5qRCpS6G59ZmFwnquc?positionAddress=2ftjRRWfQfBdqCU5ZsbswjQ5fuvuYyrDBTAcD2nbYc2v&lookbackPeriod=7d'
import requests
response = requests.get("https://api.exponent.finance/clmm/historical/user/DgVZj9wh1tUuD1nHrpjE2aEHgu5qRCpS6G59ZmFwnquc?positionAddress=2ftjRRWfQfBdqCU5ZsbswjQ5fuvuYyrDBTAcD2nbYc2v&lookbackPeriod=7d", timeout=30)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.exponent.finance/clmm/historical/user/DgVZj9wh1tUuD1nHrpjE2aEHgu5qRCpS6G59ZmFwnquc?positionAddress=2ftjRRWfQfBdqCU5ZsbswjQ5fuvuYyrDBTAcD2nbYc2v&lookbackPeriod=7d");
if (!response.ok) {
throw new Error(`Request failed: ${response.status}`);
}
const data = await response.json();
console.log(data);
[
{
"timestamp": "2026-10-14T11:00:00.000Z",
"costBasisValue": 8503939787.422627,
"positionValue": 8503791558.890817,
"farmRewardsUsd": 0.4090152034083217
},
{
"timestamp": "2026-10-14T12:00:00.000Z",
"costBasisValue": 8503939787.422627,
"positionValue": 8503791558.890817,
"farmRewardsUsd": 0.8904593805364416
}
]
{
"error": "<message>"
}
{
"error": "<message>"
}
History
CLMM position value and PnL history
Retrieve a wallet’s CLMM position value, cost basis, and farm rewards over time.
GET
/
clmm
/
historical
/
user
/
{address}
cURL
curl 'https://api.exponent.finance/clmm/historical/user/DgVZj9wh1tUuD1nHrpjE2aEHgu5qRCpS6G59ZmFwnquc?positionAddress=2ftjRRWfQfBdqCU5ZsbswjQ5fuvuYyrDBTAcD2nbYc2v&lookbackPeriod=7d'
import requests
response = requests.get("https://api.exponent.finance/clmm/historical/user/DgVZj9wh1tUuD1nHrpjE2aEHgu5qRCpS6G59ZmFwnquc?positionAddress=2ftjRRWfQfBdqCU5ZsbswjQ5fuvuYyrDBTAcD2nbYc2v&lookbackPeriod=7d", timeout=30)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.exponent.finance/clmm/historical/user/DgVZj9wh1tUuD1nHrpjE2aEHgu5qRCpS6G59ZmFwnquc?positionAddress=2ftjRRWfQfBdqCU5ZsbswjQ5fuvuYyrDBTAcD2nbYc2v&lookbackPeriod=7d");
if (!response.ok) {
throw new Error(`Request failed: ${response.status}`);
}
const data = await response.json();
console.log(data);
[
{
"timestamp": "2026-10-14T11:00:00.000Z",
"costBasisValue": 8503939787.422627,
"positionValue": 8503791558.890817,
"farmRewardsUsd": 0.4090152034083217
},
{
"timestamp": "2026-10-14T12:00:00.000Z",
"costBasisValue": 8503939787.422627,
"positionValue": 8503791558.890817,
"farmRewardsUsd": 0.8904593805364416
}
]
{
"error": "<message>"
}
{
"error": "<message>"
}
Path parameters
string
required
Solana account address.
Query parameters
string
LP position address. Omission returns
[].string
1d, 7d, 30d, 90d, 1y, or all. Default: all.cURL
curl 'https://api.exponent.finance/clmm/historical/user/DgVZj9wh1tUuD1nHrpjE2aEHgu5qRCpS6G59ZmFwnquc?positionAddress=2ftjRRWfQfBdqCU5ZsbswjQ5fuvuYyrDBTAcD2nbYc2v&lookbackPeriod=7d'
import requests
response = requests.get("https://api.exponent.finance/clmm/historical/user/DgVZj9wh1tUuD1nHrpjE2aEHgu5qRCpS6G59ZmFwnquc?positionAddress=2ftjRRWfQfBdqCU5ZsbswjQ5fuvuYyrDBTAcD2nbYc2v&lookbackPeriod=7d", timeout=30)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.exponent.finance/clmm/historical/user/DgVZj9wh1tUuD1nHrpjE2aEHgu5qRCpS6G59ZmFwnquc?positionAddress=2ftjRRWfQfBdqCU5ZsbswjQ5fuvuYyrDBTAcD2nbYc2v&lookbackPeriod=7d");
if (!response.ok) {
throw new Error(`Request failed: ${response.status}`);
}
const data = await response.json();
console.log(data);
[
{
"timestamp": "2026-10-14T11:00:00.000Z",
"costBasisValue": 8503939787.422627,
"positionValue": 8503791558.890817,
"farmRewardsUsd": 0.4090152034083217
},
{
"timestamp": "2026-10-14T12:00:00.000Z",
"costBasisValue": 8503939787.422627,
"positionValue": 8503791558.890817,
"farmRewardsUsd": 0.8904593805364416
}
]
{
"error": "<message>"
}
{
"error": "<message>"
}