Rewards & Leaderboard API
Query Leverage Rally Rewards (SOL rebates) and live leaderboard. Rewards scale with volume × timing accuracy.
Endpoints
GET /rewards/leaderboard?limit=50GET /rewards/wallet/{address}GET /rewards/payouts/latestPOST /rewards/claim(signed)
curl (leaderboard)
curl -s "https://api.plx.fi/v1/rewards/leaderboard?limit=5"[
{"rank":1,"address":"8xR7F...Kz3D","score":9321.2,"total_rewards_sol":42.91},
{"rank":2,"address":"FfQp7...Rz9A","score":9174.7,"total_rewards_sol":39.88}
]curl -s https://api.plx.fi/v1/rewards/wallet/FfQp7...Rz9A{
"address":"FfQp7...Rz9A",
"epoch":"2025-10-31",
"pending_sol":3.94,
"lifetime_sol":12.31,
"rank":12,
"tier":"Gold",
"breakdown":[
{"vault":"SOL5X","volume":20432.1,"score":3211.3},
{"vault":"PUMP2X","volume":932.4,"score":211.9}
]
}claim rewards (signed)
curl -s -X POST https://api.plx.fi/v1/rewards/claim \
-H "Authorization: Bearer $PLX_API_KEY" \
-H "Content-Type: application/json" \
-H "x-plx-ts: 1735698400" \
-H "x-plx-wallet: FfQp7...Rz9A" \
-d '{
"wallet":"FfQp7...Rz9A",
"signature":"4P1...ed25519sig..."
}'{
"status":"success",
"claimed_sol":3.94,
"tx":"7kgFhS...Zp2k",
"epoch":"2025-10-31"
}TypeScript (poll + auto-claim)
import { api } from "./plx-api";
async function pollRewards(addr: string, key?: string) {
const r = await api(`/rewards/wallet/${addr}`, key);
if ((r.pending_sol ?? 0) > 0.1) {
// sign message off-chain, then:
const claim = await api(`/rewards/claim`, key, {
method:"POST",
body: JSON.stringify({ wallet: addr, signature: "<ed25519>" })
});
console.log("Claimed", claim.claimed_sol, "SOL");
}
}Last updated
