{"openapi":"3.1.0","info":{"title":"Token Unlocks & Vesting API","version":"1.0.0","description":"When locked crypto tokens vest into circulation, who they go to, and how much supply is still to come — live from DeFiLlama's open emissions dataset, no key. A token's price tells you what it costs today; its unlock schedule tells you the supply pressure ahead, the single biggest and most predictable overhang in crypto. When a large tranche of insider, private-sale or team tokens vests, it is fresh sell-side supply hitting a fixed amount of demand — and these dates are known in advance. A static \"percent unlocked\" number (which dilution APIs give) is only a snapshot; what a trader needs is the calendar: when is the next cliff, how many tokens, what share of total supply, and to whom. The protocols endpoint lists every token DeFiLlama tracks a schedule for (searchable). The next endpoint is the trading signal — the next upcoming cliff unlock for a token: its date, days away, token amount, the share of total supply it dilutes, the unlock type and the recipients (insiders, private sale, team, ecosystem), plus the unlocks after it. The schedule endpoint returns the fuller picture: total and max supply, the allocation by category with how much of each is already unlocked, the count of past and future events, the tokens still locked, and the upcoming events. The token-unlock / vesting-schedule cut — distinct from the tokenomics-and-dilution APIs (which give the static supply and FDV snapshot, not the dated unlock calendar) and from price and market-cap APIs. Amounts are in tokens and as a share of total supply; pair with any price API for the dollar value.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/tokenunlocks-api","description":"oanor gateway"}],"tags":[{"name":"Next"},{"name":"Schedule"},{"name":"Protocols"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/next":{"get":{"operationId":"get_v1_next","tags":["Next"],"summary":"Next upcoming cliff unlock for a token, plus the ones after it","description":"","parameters":[{"name":"protocol","in":"query","required":true,"description":"Token slug from /v1/protocols","schema":{"type":"string"},"example":"arbitrum"},{"name":"limit","in":"query","required":false,"description":"Upcoming events to include (1-50)","schema":{"type":"string"},"example":"5"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"Arbitrum","note":"next_unlock is the next cliff that releases tokens; pct_of_total_supply is the dilution it adds. Recipients/categories show who receives them (insiders, privateSale, team, ecosystem…). Token amounts only — multiply by a price feed for the dollar value. Lightly cached.","token":"arbitrum:0x912ce59144191c1204e64559fe8253a0e49e6548","source":"DeFiLlama emissions dataset","protocol":"arbitrum","upcoming":[{"date":"2026-06-15","timestamp":1781553861,"categories":["insiders","privateSale"],"days_until":3,"recipients":["Team, Contributors & Advisors","Investors"],"allocations":[{"tokens":56125000,"category":"insiders","recipient":"Team, Contributors & Advisors","unlock_type":"cliff"},{"tokens":36520833.333333336,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":92645833,"linear_changes":[],"pct_of_total_supply":0.9265},{"date":"2026-07-16","timestamp":1784183604,"categories":["insiders","privateSale"],"days_until":34,"recipients":["Team, Contributors & Advisors","Investors"],"allocations":[{"tokens":56125000,"category":"insiders","recipient":"Team, Contributors & Advisors","unlock_type":"cliff"},{"tokens":36520833.333333336,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":92645833,"linear_changes":[],"pct_of_total_supply":0.9265},{"date":"2026-08-15","timestamp":1786813347,"categories":["insiders","privateSale"],"days_until":64,"recipients":["Team, Contributors & Advisors","Investors"],"allocations":[{"tokens":56125000,"category":"insiders","recipient":"Team, Contributors & Advisors","unlock_type":"cliff"},{"tokens":36520833.333333336,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":92645833,"linear_changes":[],"pct_of_total_supply":0.9265},{"date":"2026-09-15","timestamp":1789443090,"categories":["insiders","privateSale"],"days_until":95,"recipients":["Team, Contributors & Advisors","Investors"],"allocations":[{"tokens":56125000,"category":"insiders","recipient":"Team, Contributors & Advisors","unlock_type":"cliff"},{"tokens":36520833.333333336,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":92645833,"linear_changes":[],"pct_of_total_supply":0.9265},{"date":"2026-10-15","timestamp":1792072833,"categories":["insiders","privateSale"],"days_until":125,"recipients":["Team, Contributors & Advisors","Investors"],"allocations":[{"tokens":56125000,"category":"insiders","recipient":"Team, Contributors & Advisors","unlock_type":"cliff"},{"tokens":36520833.333333336,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":92645833,"linear_changes":[],"pct_of_total_supply":0.9265}],"next_unlock":{"date":"2026-06-15","timestamp":1781553861,"categories":["insiders","privateSale"],"days_until":3,"recipients":["Team, Contributors & Advisors","Investors"],"allocations":[{"tokens":56125000,"category":"insiders","recipient":"Team, Contributors & Advisors","unlock_type":"cliff"},{"tokens":36520833.333333336,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":92645833,"linear_changes":[],"pct_of_total_supply":0.9265},"total_supply":10000000000,"fully_unlocked":false,"future_event_count":9},"meta":{"timestamp":"2026-06-12T10:34:29.875Z","request_id":"bb9bcfc4-8ad8-4298-ab22-824d5e580690"},"status":"ok","message":"Next unlock retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/schedule":{"get":{"operationId":"get_v1_schedule","tags":["Schedule"],"summary":"Full vesting picture: supply, allocation progress, remaining locked, upcoming events","description":"","parameters":[{"name":"protocol","in":"query","required":true,"description":"Token slug from /v1/protocols","schema":{"type":"string"},"example":"aptos"},{"name":"limit","in":"query","required":false,"description":"Upcoming events (1-300)","schema":{"type":"string"},"example":"50"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"Aptos","note":"allocation_by_category.progress_pct shows how much of each allocation bucket is already unlocked. remaining_locked is the sum of future cliff tokens still to vest. upcoming_events lists the future unlocks (cap 50). Token amounts only. Lightly cached.","notes":["Staking rewards follow Aptos' declining inflation schedule: 7% at launch, decreasing 1.5% per year to a 3.25% floor. Emissions are modeled monthly with compounding and calibrated against actual on-chain supply."],"token":"coingecko:aptos","source":"DeFiLlama emissions dataset","gecko_id":"aptos","protocol":"aptos","max_supply":2100000000,"total_supply":2100000000,"upcoming_events":[{"date":"2026-07-12","timestamp":1783871235,"categories":["insiders","noncirculating","privateSale"],"days_until":30,"recipients":["Community","Core Contributors","Foundation","Investors"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":3958333.3333333335,"category":"insiders","recipient":"Core Contributors","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"},{"tokens":2807971.6715208334,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":11309783,"linear_changes":[],"pct_of_total_supply":0.5386},{"date":"2026-08-12","timestamp":1786500978,"categories":["insiders","noncirculating","privateSale"],"days_until":61,"recipients":["Community","Core Contributors","Foundation","Investors"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":3958333.3333333335,"category":"insiders","recipient":"Core Contributors","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"},{"tokens":2807971.6715208334,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":11309783,"linear_changes":[],"pct_of_total_supply":0.5386},{"date":"2026-09-11","timestamp":1789130721,"categories":["insiders","noncirculating","privateSale"],"days_until":91,"recipients":["Community","Core Contributors","Foundation","Investors"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":3958333.3333333335,"category":"insiders","recipient":"Core Contributors","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"},{"tokens":2807971.6715208334,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":11309783,"linear_changes":[],"pct_of_total_supply":0.5386},{"date":"2026-10-11","timestamp":1791760464,"categories":["insiders","noncirculating","privateSale"],"days_until":122,"recipients":["Community","Core Contributors","Foundation","Investors"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":3958333.3333333335,"category":"insiders","recipient":"Core Contributors","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"},{"tokens":2807971.6715208334,"category":"privateSale","recipient":"Investors","unlock_type":"cliff"}],"cliff_tokens":11309783,"linear_changes":[],"pct_of_total_supply":0.5386},{"date":"2026-11-11","timestamp":1794390207,"categories":["noncirculating"],"days_until":152,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2026-12-11","timestamp":1797019950,"categories":["noncirculating"],"days_until":182,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-01-11","timestamp":1799649693,"categories":["noncirculating"],"days_until":213,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-02-10","timestamp":1802279436,"categories":["noncirculating"],"days_until":243,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-03-13","timestamp":1804909179,"categories":["noncirculating"],"days_until":274,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-04-12","timestamp":1807538922,"categories":["noncirculating"],"days_until":304,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-05-13","timestamp":1810168665,"categories":["noncirculating"],"days_until":335,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-06-12","timestamp":1812798408,"categories":["noncirculating"],"days_until":365,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-07-12","timestamp":1815428151,"categories":["noncirculating"],"days_until":395,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-08-12","timestamp":1818057894,"categories":["noncirculating"],"days_until":426,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-09-11","timestamp":1820687637,"categories":["noncirculating"],"days_until":456,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-10-12","timestamp":1823317380,"categories":["noncirculating"],"days_until":487,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-11-11","timestamp":1825947123,"categories":["noncirculating"],"days_until":517,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2027-12-12","timestamp":1828576866,"categories":["noncirculating"],"days_until":548,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-01-11","timestamp":1831206609,"categories":["noncirculating"],"days_until":578,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-02-10","timestamp":1833836352,"categories":["noncirculating"],"days_until":609,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-03-12","timestamp":1836466095,"categories":["noncirculating"],"days_until":639,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-04-11","timestamp":1839095838,"categories":["noncirculating"],"days_until":669,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-05-12","timestamp":1841725581,"categories":["noncirculating"],"days_until":700,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-06-11","timestamp":1844355324,"categories":["noncirculating"],"days_until":730,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-07-12","timestamp":1846985067,"categories":["noncirculating"],"days_until":761,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-08-11","timestamp":1849614810,"categories":["noncirculating"],"days_until":791,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-09-11","timestamp":1852244553,"categories":["noncirculating"],"days_until":822,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-10-11","timestamp":1854874296,"categories":["noncirculating"],"days_until":852,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-11-10","timestamp":1857504039,"categories":["noncirculating"],"days_until":882,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2028-12-11","timestamp":1860133782,"categories":["noncirculating"],"days_until":913,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-01-10","timestamp":1862763525,"categories":["noncirculating"],"days_until":943,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-02-10","timestamp":1865393268,"categories":["noncirculating"],"days_until":974,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-03-12","timestamp":1868023011,"categories":["noncirculating"],"days_until":1004,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-04-12","timestamp":1870652754,"categories":["noncirculating"],"days_until":1035,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-05-12","timestamp":1873282497,"categories":["noncirculating"],"days_until":1065,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-06-11","timestamp":1875912240,"categories":["noncirculating"],"days_until":1096,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-07-12","timestamp":1878541983,"categories":["noncirculating"],"days_until":1126,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-08-11","timestamp":1881171726,"categories":["noncirculating"],"days_until":1156,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-09-11","timestamp":1883801469,"categories":["noncirculating"],"days_until":1187,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-10-11","timestamp":1886431212,"categories":["noncirculating"],"days_until":1217,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-11-11","timestamp":1889060955,"categories":["noncirculating"],"days_until":1248,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2029-12-11","timestamp":1891690698,"categories":["noncirculating"],"days_until":1278,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2030-01-11","timestamp":1894320441,"categories":["noncirculating"],"days_until":1309,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2030-02-10","timestamp":1896950184,"categories":["noncirculating"],"days_until":1339,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2030-03-12","timestamp":1899579927,"categories":["noncirculating"],"days_until":1369,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2030-04-12","timestamp":1902209670,"categories":["noncirculating"],"days_until":1400,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2030-05-12","timestamp":1904839413,"categories":["noncirculating"],"days_until":1430,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2030-06-12","timestamp":1907469156,"categories":["noncirculating"],"days_until":1461,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2030-07-12","timestamp":1910098899,"categories":["noncirculating"],"days_until":1491,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164},{"date":"2030-08-12","timestamp":1912728642,"categories":["noncirculating"],"days_until":1522,"recipients":["Community","Foundation"],"allocations":[{"tokens":3210144.664725,"category":"noncirculating","recipient":"Community","unlock_type":"cliff"},{"tokens":1333333.3333333333,"category":"noncirculating","recipient":"Foundation","unlock_type":"cliff"}],"cliff_tokens":4543478,"linear_changes":[],"pct_of_total_supply":0.2164}],"past_event_count":45,"future_event_count":75,"allocation_by_category":{"final_pct":{"staking":17,"insiders":15.8,"privateSale":11.2,"noncirculating":56.1},"current_pct":{"staking":25.1,"insiders":20.4,"privateSale":14.5,"noncirculating":40},"progress_pct":{"staking":100,"insiders":87.5,"privateSale":87.5,"noncirculating":48.2}},"remaining_locked_tokens":367826070,"remaining_locked_pct_of_total":17.516},"meta":{"timestamp":"2026-06-12T10:34:29.965Z","request_id":"ef2fb5af-7eb8-4fd2-b5c8-d00d019c8d89"},"status":"ok","message":"Unlock schedule retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/protocols":{"get":{"operationId":"get_v1_protocols","tags":["Protocols"],"summary":"List every token with a tracked unlock schedule","description":"","parameters":[{"name":"q","in":"query","required":false,"description":"Search slugs","schema":{"type":"string"},"example":"arb"},{"name":"limit","in":"query","required":false,"description":"Page size (1-400)","schema":{"type":"string"},"example":"100"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Every token DeFiLlama tracks a vesting/emission schedule for. Use a slug from this list as the protocol parameter for /v1/next and /v1/schedule. Filter with q. Lightly cached.","limit":100,"total":332,"offset":0,"source":"DeFiLlama emissions dataset","matched":3,"protocols":["arbitrum","arbitrum-exchange","gearbox"]},"meta":{"timestamp":"2026-06-12T10:34:30.064Z","request_id":"175a864e-113a-4482-a5a9-d87d5b1c658c"},"status":"ok","message":"Unlock-tracked protocols retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"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}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":760,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1240,"monthly_call_quota":17200,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3840,"monthly_call_quota":89000,"rps_limit":16,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":8640,"monthly_call_quota":498000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/tokenunlocks-api"}