Documentation

Vesting, explained clearly.

Everything you need to lock, release and claim tokens on Robinhood Chain — from your first schedule to reading the contract directly.

Start here

What Vestly does

Vestly locks tokens in a smart contract and releases them to a recipient on a fixed timetable. Once a schedule is created, nobody — including Vestly and the creator — can change it or take the tokens back. Recipients claim what has unlocked, whenever they want.

1Lock

Creator deposits tokens into the contract

2Vest

Tokens unlock over time, second by second

3Claim

Recipient pulls unlocked tokens to their wallet

Quickstart

Create your first schedule

  1. Connect a wallet. Use MetaMask, Rabby, Coinbase Wallet or Robinhood Wallet. Vestly asks to switch to Robinhood Chain if needed.
  2. Pick a type. Team, investor, creator, treasury or community. The type sets sensible defaults and labels.
  3. Enter the token and amount. Paste the token contract address. Vestly shows your balance and checks you have enough.
  4. Add the recipient. The wallet that will receive the tokens, plus an optional label like "Core team — Alex".
  5. Set timing and confirm. Choose a start date, cliff and total length. Approve the token, then confirm the schedule. Two wallet prompts, one time.
Tip
Creating ten schedules for a team? Approve a larger amount once, then each schedule only needs one confirmation.
Open the schedule builder
Concepts

How vesting works

Every schedule has four numbers: amount, start, cliff and duration. Before the cliff ends, nothing is claimable. After that, the unlocked amount grows in a straight line until the end of the duration, when 100% is available.

cliffstartend
Cliff, then linear release
startend
Stream from day one
cliffstartend
Waves — several schedules
unlocked = 0                                  if now < start + cliff
unlocked = amount × (now − start) / duration  while vesting
unlocked = amount                             after start + duration

claimable = unlocked − already claimed
The cliff is part of the duration
A 12-month cliff on a 24-month schedule means 50% unlocks at month 12, then the rest over the next 12 months.
Templates

Schedule types

Team vesting

20M tokens · 12-month cliff · 24-month vest

Keeps contributors aligned. Nothing unlocks until the cliff, then tokens release every second.

Investor round

10M tokens · 3-month cliff · 12-month vest

A short cliff followed by steady release for seed and strategic backers.

Creator stream

2.5M tokens · no cliff · 6 months

A continuous stream from day one. Creators can claim whenever they like.

Treasury release

15M tokens · 36 months

Long-horizon release that makes treasury supply predictable for the market.

Community rewards

5M tokens · waves

Split a pool into several schedules to release rewards in waves.

Recipients

Claiming tokens

Recipients open Claims and connect the wallet the schedule was made for. Every schedule shows its progress, what's claimable now and what's still locked. Pressing Claim sends everything unlocked so far to that wallet. There's no deadline — unclaimed tokens simply keep adding up.

Only the recipient can claim
The contract checks the caller. Nobody else can claim on a recipient's behalf or redirect their tokens.
Transparency

Public unlock tracker

Paste any token address into the public tracker to see every Vestly schedule for it: total locked, unlocked, claimed, upcoming unlock events and the split by category. The link is shareable, so your community can follow unlocks without trusting a spreadsheet.

Developers

Smart contract

Vestly vesting contract · Robinhood Chain0xa18332891b0f0909c481e56de75ac1b09b8607b4
createSchedule(token, beneficiary, amount, start, cliff, duration, kind, label)Pulls tokens from the caller and creates a schedule. Returns its id.
claim(id)Sends all claimable tokens to the beneficiary. Only the beneficiary may call it.
vested(id)Total amount unlocked so far.
releasable(id)Amount claimable right now.
getSchedule(id)Full schedule details, including amount claimed.
schedulesByCreator / Beneficiary / Token(address)Lists schedule ids for a wallet or token.
scheduleCount()Number of schedules ever created.
// Read claimable amount with viem
const amount = await client.readContract({
  address: "0xa18332891b0f0909c481e56de75ac1b09b8607b4",
  abi: vestlyAbi,
  functionName: "releasable",
  args: [scheduleId],
});
Network

Robinhood Chain details

NetworkRobinhood Chain mainnet
Chain ID4663
RPCrpc.mainnet.chain.robinhood.com
Explorerrobin.etherscan.io
Gas tokenETH
Trust

Security & limits

Non-custodial: tokens sit in the contract, never with Vestly

Schedules can't be edited or cancelled once created

Reentrancy-protected claim and create

Every action is a public transaction on Etherscan

Before large amounts
The contract hasn't had a third-party audit yet. Tokens that take a fee on transfer aren't supported, and schedules can't be revoked — double-check the recipient before confirming.