What you get
- Allocation breakdowns, with citations. Every tranche records what the recipient was allocated, how much has unlocked, and the sources the model was built from, so a number can be traced back to a filing or a disclosure.
- Cliffs and linear vesting, separated. Unlock events distinguish a discrete tranche landing on a date from a change in the daily vesting rate, so “the next big unlock” is a query rather than an eyeball estimate.
- Flow and stock, as two series. Per-interval unlock amounts for supply pressure, and daily cumulative vesting state for progress against the full allocation.
- Projected forward. Schedules run past today. Future dated windows are valid on every timeseries endpoint.
- Joins to the rest of the platform. Assets carry the same UUIDs and slugs as the Data API and Monitoring, so unlock data lines up with price, supply, and events without a mapping table.
Base URL and authentication
All Token Unlocks endpoints live under/token-unlocks/v1 on the shared Blockworks API host,
https://api.blockworks.com, and every request requires an API key in the
X-Blockworks-API-Key header. The Quickstart walks
through getting a key and making a first request;
Authentication covers access tiers and key handling.
Core concepts
Allocation
A recipient bucket and its share of total supply.
Unlock event
A dated cliff, or a change in the daily vesting rate.
Snapshot
One point in a series, either per interval or per day.
Team, Community Reserve, Coinlist Auction Sale) with a total allocation, the amount unlocked to date, and the amount still locked, in
both native units and USD. Each tranche also carries a description, the assumptions the
analyst applied, and sources. The recipient name is the join key across every endpoint in
this tab.
Unlock event. A date on which the schedule changes. A cliff releases a discrete tranche
on that date. A dailyLinearRateChange changes how much vests per day from that date forward.
An event carries one or the other, and the other field is null. Filter with unlockType to
get just one kind.
Snapshot. A point in one of the two timeseries. Unlock snapshots are flow: each one
reports what unlocked during that interval and nothing before it. Vesting schedule snapshots
are stock: each one reports cumulative unlocked, remaining, and percent complete as of
that day. Both come in a total series plus a per-recipient breakdown that sums to it.
Choosing an endpoint
The two timeseries answer different questions from the same underlying model. If you are
sizing sell pressure in a window, use the unlocks timeseries. If you are tracking how far
through its schedule an allocation is, use the vesting schedule.
Identifiers
The four per-asset endpoints takeassetId and accept either a slug (solana) or the asset
UUID. The assetIDs filter on List Covered Assets
is the exception: it accepts UUIDs only, and slugs match nothing rather than returning an
error. Resolve slugs through the list endpoint before filtering by id.
Response shape
Token Unlocks uses the same envelope as every Blockworks API:error is null on success and
a string on failure, and data carries the payload. There is no metadata block on these
endpoints.
An empty result is
"data": null, not an empty array, and it still comes back with a 200.
A filter that matches nothing and an asset with no unlock coverage both look like this, so
check for null before iterating.Coverage and filtering
- Filters combine as AND across parameters, OR within one.
category=Networks,Financial Servicesreturns both categories; addingsector=Lendingnarrows that set rather than widening it. pageandlimitare accepted but not currently applied. List Covered Assets returns the full matching set on every call. Do not build paging logic against them.- Results are unordered. Two identical calls return the same assets in a different order. Sort client-side when ordering matters.
tagscan benullon an asset rather than an empty list, andcategoryandsectorcan be empty strings for assets that have not been classified.- Read
otherInfobefore trusting a schedule as complete. It isnullfor most assets, but when it is set it records an analyst caveat, such as a project that has only published its schedule through a given year. The unlock data for those allocations is partial by construction. projectedEndDateequal togenesisDatemeans the allocation unlocked at genesis rather than meaning the data is missing.
Use cases
- Supply pressure models. Pull the unlocks timeseries at
WEEKLYorMONTHLYfor the assets you cover and rank upcoming windows by unlocked value. - Unlock calendars. Query events with
unlockType=CLIFFand a forwardendTimeto build a dated calendar of discrete releases. - Holder concentration. Combine allocation breakdowns with the vesting schedule to see which recipients are still locked and for how long.
- Diligence. Surface the
description,assumptions, andsourceson a tranche next to the numbers, so a reader can audit where a figure came from. - Event correlation. Join unlock dates to Monitoring developments on the same asset UUID to study what happened around a release.