MARKETS & FINANCE
Token Unlock Feed (CryptoRank)
Upcoming token unlock events from CryptoRank's public calendar.
About this data
Upcoming token unlock events from CryptoRank's public endpoints: date, token amounts, percent of circulating supply and USD value, for a watchlist or the whole calendar over 7, 30 or 90 days.
Buy per call over x402
One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.
POST /v1/crypto/token-unlocks
Up to ten upcoming public CryptoRank calendar events over 7, 30 or 90 days, optionally filtered to three tokens or a minimum supply percentage.
Rows include token identity, unlock date, published token quantity, USD amount and supply percentage where available, allocation details and quantity-completeness flags.
Unknown quantities remain null.
The whole current calendar must be read successfully; private/premium detail expansion, alerts, Telegram and stored state are excluded.
Input
Send a JSON body to POST https://api.ssh.autos/v1/crypto/token-unlocks.
| Field | Type | Required | Notes |
|---|---|---|---|
tokens | array of strings | optional | up to 3 items |
lookaheadDays | integer | optional | one of 7, 30, 90; default 30 |
minSupplyPct | number | optional | 0–100; default 0 |
maxResults | integer | optional | 1–10; default 5 |
Returned fields
The answer is JSON: records, a list of up to 10, and summary, the run status and counts. Each record has these 20 fields; a field the source does not publish comes back null.
20 fields per record
| Field | Type | Notes |
|---|---|---|
recordKey | string | — |
source | string | always cryptorank |
kind | string | always unlock_event |
token | string | — |
tokenKey | string | — |
tokenName | string | — |
unlockDate | string | ISO date (unlock schedules are day-granular, midnight UTC). |
tokensUnlocked | number | Token count unlocked; null when the quantity is unpublished or only partially published (see quantityCompleteness) — never the empty-sum zero. |
amountUsd | number | tokensUnlocked × spot price at collection; null whenever tokensUnlocked is null. |
supplyPct | number | Percent of circulating supply unlocked (the site's sell-pressure denominator; a total-supply figure is not published) — the source's own percent when published, else computed tokensUnlocked/circulati… |
supplyPctSource | string | Provenance of supplyPct: 'source' = the site's own published percent, 'computed' = derived tokensUnlocked/circulatingSupply (only from a complete quantity); null = no usable percent. one of source, computed |
priceUsd | number | — |
circulatingSupply | number | — |
marketCapUsd | number | — |
lockedTokensPct | number | — |
allocations | array of objects | — |
quantityCompleteness | string | How much of the unlock quantity the source published (issues #117/#130): 'complete' — every allocation/batch relevant to the day carries a number, tokensUnlocked is the true total (0.0 is a published… one of complete, partial, missing |
scheduleSource | string | one of calendar, vesting_detail |
sourceUrl | string | — |
collectedAt | string | — |
Example call
npx agentcash@latest fetch https://api.ssh.autos/v1/crypto/token-unlocks -m POST -b '{"lookaheadDays": 30, "maxResults": 3}'
The example values come from the API spec or the actor’s own sample input. Running it is a paid call.
What is and isn’t charged
You pay the call price for
- An answer, including a definitive “not found” or an empty result.
- Confirmed no matches returns records: [] (charged: it is an answer).
Free
- Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
- Invalid input and source failures are not charged.
How x402 payment works
- Your client sends the request. The API answers
402 Payment Requiredwith the price and where to pay. - The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
- The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.
The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.
Recipes that use this
-
A morning market brief, written by your agent
Five calls, five market signals, one short briefing waiting when you wake up: sentiment, ETF flows, funding, rates and token unlocks.
Machine-readable: openapi.json · llms.txt