Zum Inhalt springen
GET /v1/apr

Net staking APR over 1d/7d/30d from on-chain rate growth

Live testen

10 freie Calls pro Tag — keine Anmeldung, kein API-Key. Geht durchs oanor-Gateway.

Eigene Header (optional)
api.oanor.com/lido-api

Funktioniert. Hol dir einen API-Key und nutze sie in deinem Projekt.

API-Key holen

Code-Snippets

curl "https://api.oanor.com/lido-api/v1/apr" \
  -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/lido-api/v1/apr", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/lido-api/v1/apr");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
    "https://api.oanor.com/lido-api/v1/apr",
    headers={"x-oanor-key": "oanor_test_..."}
)

Beispiel-Response

Echte Antwort dieses Endpoints, erfasst beim letzten Health-Check.

{
    "data": {
        "note": "Lido's net staking APR (after Lido's protocol fee), derived directly from the on-chain wstETH→stETH exchange rate, which only grows as staking rewards accrue. For each window (1d, 7d, 30d) the rate at that point in the past is read from historical chain state and the growth is annualised using the real elapsed time between blocks — so these are the actual yields a wstETH holder earned, not a marketing figure. A window may be null if historical state for it is unavailable. The 7d and 30d figures are the more stable reads (1d is noisier). Live, cached ~90s.",
        "source": "Ethereum wstETH contract historical state via public RPC (ethereum-rpc.publicnode.com), keyless",
        "at_block": 25306236,
        "rate_now": 1.23685985,
        "net_apr_pct": {
            "1d": 2.37,
            "7d": 2.54,
            "30d": 2.44
        }
    },
    "meta": {
        "timestamp": "2026-06-13T04:42:40.844Z",
        "request_id": "f40e765a-b962-48fd-a776-266cefe5b74e"
    },
    "status": "ok",
    "message": "APR retrieved successfully",
    "success": true
}