Token vesting and unlock tracking
What is token vesting and unlock tracking?
Token vesting and unlock tracking is keeping a live record of tokens locked in vesting contracts: who each grant belongs to, how much has vested, when the next unlock falls and what has already been claimed.
Vesting platforms, custodians, fund managers and the firms that publish unlock calendars run it so investors, employees and finance see what they can claim and what was released, from the contract itself and not a spreadsheet.
Goldsky streams each grant and claim from the contract into your systems and reads the contract’s state at the block you ask for; your unlock schedule, whoever sends each release and the reports to holders stay on your side.
Who uses token vesting and unlock tracking?
Token vesting platforms, digital asset custodians, token fund and venture managers, and the data firms that publish unlock calendars.
How token vesting and unlock tracking works
The diagram follows one grant from the moment its tokens are locked in a vesting contract to the report that tells holders and treasury what unlocked. Your setup may differ.
Lock the grant in a vesting contract
A vesting grant promises tokens over time, and the contract holds them so nobody can move them early.
The grant records the beneficiary, the amount and the schedule, such as a cliff (a date before which nothing unlocks) and then regular releases. Vesting contracts differ in how they store this, so you need each contract’s interface (its ABI) before you can read it.
Record each grant as it’s created
Handled by Goldsky TurboYour reports can only cover grants you know about, so every new grant has to reach your records.
Each grant event has to be decoded into its beneficiary, amount and schedule and stored with its transaction, including grants made before you started tracking. A grant you never recorded shows up only when someone asks why their unlock is missing.
With Goldsky, a Turbo Pipelines SQL transform decodes the vesting contract’s logs with its ABI using
Decode contract events (opens in a new tab)_gs_log_decode, and a webhook sink posts each grant to your system with its transaction hash.Check each grant before it unlocks
Unlocks happen on dates set in the grant, so someone has to look ahead and act before each one.
Your job runs on a schedule, finds the grants with an unlock coming up and starts the read for each. If the job only runs after the date, holders and treasury learn about an unlock after the tokens could already have moved.
Read how much has vested
Handled by Goldsky EdgeThe amount a holder can claim is whatever the contract says at that moment, which is the number to report.
Your job calls the contract for the vested or releasable amount, if the contract exposes one, at a block you choose, so a report can be pinned to a point in time. Working the amount out yourself from the schedule drifts from the contract whenever a grant is changed or revoked.
Edge RPC responds to
Call contract functions with eth_call (opens in a new tab)eth_call, a read-only call that runs a contract function without a transaction, atlatest,finalizedor any block number you pass.Send the release
Vested tokens usually stay in the contract until a transaction releases them.
On common vesting contracts any account can send that transaction and the tokens still go only to the beneficiary, so a custody provider can run releases on schedule without the holder signing. Contracts differ in who may send it, and some pay out on their own, so check how each contract you track pays out before you plan this step.
Release the tokens
The contract checks the schedule and sends the vested amount to the beneficiary.
The release is recorded in a block like any transfer. For a short time the newest blocks can be replaced in a reorg (the chain rewriting its most recent blocks), so a release seen once isn’t final yet.
Post each release to your records
Handled by Goldsky TurboYour records should show what was claimed as well as what was owed, so remaining balances add up.
Each claim event has to reach your system once, with its amount and transaction, and be removed again if a reorg undoes it. Deliveries can repeat after a network error, so your system checks a stable ID before it records a release.
The same pipeline’s webhook sink posts each claim as JSON and retries until your endpoint returns a
Set up the webhook sink (opens in a new tab)2xx. Delivery is at least once, so key each claim on its eventid, and apply the correction records Turbo Pipelines sends after a reorg.Report unlocks to holders and treasury
Investors, employees and finance each need to see what unlocked, what was claimed and what is still locked.
Your reports combine the recorded grants, the vested amounts you read and the releases you logged. When those disagree, the contract’s figure wins, and the difference points to a grant or claim your records missed.
What you control
- Your team
- Check each grant before it unlocks
- Report unlocks to holders and treasury
- Your providers
- Custodian
Security and deployment
- SOC 2 Type IIIndependently audited security controls.
- Dedicated infrastructureSingle-tenant options for production workloads.
- Data residencyCloud, on-premises or co-located.
More use cases that show balances and history
- Wallet balances and historyShow customers their balances and transaction history across wallets and chains.
- Crypto portfolio and statement dataShow customers their holdings and history across chains in an app or statement.
- Embedded wallet balances and historyShow balances and history for wallets embedded in a fintech app.
- Crypto custody statementsProduce custody statements from onchain balances at a statement date.
Track token vesting and unlocks with Goldsky
We’ll map it to your systems and show you what Goldsky runs, so your team builds the product, not the pipelines underneath it.