/v1/meta
Service metadata
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/tokenunlocks-api/v1/meta" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/tokenunlocks-api/v1/meta", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/tokenunlocks-api/v1/meta");
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/tokenunlocks-api/v1/meta",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"note": "protocols takes q (search), limit (1-400), offset. next takes protocol (required slug from /v1/protocols), limit (1-50 upcoming). schedule takes protocol (required), limit (1-300 upcoming events). meta takes no parameters. Timestamps are evaluated against the current date, so next/upcoming are always genuinely future. A 30-minute protective cache fronts the large per-protocol upstream files.",
"source": "DeFiLlama emissions dataset (defillama-datasets.llama.fi/emissions), live, keyless",
"service": "tokenunlocks-api",
"endpoints": {
"GET /v1/meta": "This document.",
"GET /v1/next": "The next upcoming cliff unlock for a token + the ones after it (protocol=arbitrum).",
"GET /v1/schedule": "Full vesting picture: supply, allocation progress, remaining locked, upcoming events (protocol=arbitrum).",
"GET /v1/protocols": "List every token with a tracked unlock schedule (q to search)."
},
"description": "Token unlocks & vesting schedules — when locked crypto tokens vest into circulation, who they go to, and how much supply is still to come, live from DeFiLlama's emissions dataset (no key). protocols lists every tracked token (searchable); next returns the next upcoming cliff unlock for a token (date, days away, token amount, share of total supply, unlock type, recipients) plus the unlocks after it; schedule returns the fuller picture (total/max supply, allocation by category with unlock progress, past/future event counts, remaining locked, upcoming events). The token-unlock / vesting-schedule cut — distinct from tokenomics-and-dilution APIs (static supply/FDV snapshot, not the dated calendar) and from price/market-cap APIs. Amounts are in tokens and as a share of total supply; pair with a price API for the dollar value.",
"upstream_status": "ok",
"tracked_protocols": 332,
"arbitrum_next_unlock": {
"date": "2026-06-15",
"tokens": 92645833,
"pct_of_total_supply": 0.9265
}
},
"meta": {
"timestamp": "2026-06-12T10:34:30.173Z",
"request_id": "df21cb78-0e0b-4985-af26-e1d41abdd1df"
},
"status": "ok",
"message": "Meta",
"success": true
}