Live on Robinhood Chain — launch tokens with locked liquidity via MintPlus →Arc is coming — Circle’s stablecoin L1, mainnet Sept 16 · Get ready →T-10
Token vesting

How to Move Token Vesting from Sablier to Team Finance (Step by Step)

Before you start. Sablier Labs entered maintenance mode on 13 July 2026. Its interface is funded through June 2028 and now refuses new vesting streams ending after that date, but every existing stream keeps working and nobody is required to migrate. This guide is for teams that need a schedule Sablier can no longer create, or that want to consolidate on Team Finance. Migration means rebuilding the schedule on Team Finance, not moving a contract; tokens already released on Sablier stay released. Source: Sablier Labs. Last verified 6 September 2026.

This guide covers fixed-term vesting and lockups on EVM chains only. If you are using Sablier for airdrops, open-ended payment streams, or anything on Solana, this guide is not for you: the use-case router on the alternatives page covers airdrops (which Team Finance handles differently) and sends streaming and Solana users to the right tools. If you have a team, advisor or investor vesting schedule, or a token lockup, on Ethereum, Base, BNB Chain, Arbitrum, PulseChain, Monad, Arc, Robinhood Chain or another EVM chain, read on.

One framing point before the steps. There is no such thing as transferring a Sablier contract to Team Finance. A vesting contract is a container that releases tokens on a schedule; what you migrate is the schedule, and you do it by creating a new Team Finance contract that picks up where the old one leaves off. Depending on whether your Sablier streams are cancelable, that either means cancelling and rebuilding, or leaving the old stream running and setting up only the new one. The whole process takes an afternoon for a typical cap table.

Step 1: Read your existing Sablier schedule

Open app.sablier.com and connect the wallet that created the streams (the sender). For each stream you will see a stream ID, the recipient address, the total deposit, the start time, any cliff, the end time, and how much has already been withdrawn. Sablier's URL for a stream includes the chain and the ID in a format like LL2-1-1234 (contract version, chain, stream number). Record all of that.

Then check one flag that determines everything else: cancelable or non-cancelable. Sablier set this at creation and it cannot be changed afterward. You will see it on the stream's detail page.

Build a spreadsheet with one row per stream: stream ID, chain, recipient, token, total amount, start, cliff, end, amount withdrawn to date, amount still in the contract, cancelable (yes/no). This spreadsheet becomes your Team Finance upload in Step 3 and your audit trail for investors.

Step 2: Decide what to do with each stream

Cancelable streams. The sender can cancel. When you cancel a Sablier stream, the recipient keeps everything that has vested up to that moment (they can withdraw it if they haven't already) and the unvested remainder returns to the sender's wallet. That returned balance is what you deposit into the new Team Finance contract. The recipient's total allocation is unchanged; only the container changes.

Non-cancelable streams. The sender cannot claw anything back, by design. That is a feature, and it is the one investors asked for. For these, the migration is: leave the Sablier stream running to completion, and create the next schedule — the next round, the top-up, the extension past June 2028 — on Team Finance. Do not try to work around non-cancelability; you can't, and attempting it will read badly to the people the schedule was built to protect.

Streams ending before June 2028 that you don't need to change. Leave them. They cost nothing to leave and Sablier's interface will keep serving them. Migrate only what needs a new end date or a feature Sablier lacks.

A practical rule: if fewer than half your streams are cancelable, do not migrate the existing ones at all. Run the old schedules out on Sablier and stand up Team Finance for everything new. Mixed infrastructure for two years is a smaller cost than a cancellation your recipients didn't ask for.

Step 3: Rebuild the schedule on Team Finance

Go to app.team.finance/vesting, connect the sender wallet on the same chain, and start a new vesting contract for the token. The flow takes five steps: select the token, choose the schedule shape, add recipients, review, deploy. The fee is a one-time $100 per schedule on Ethereum (other chains vary; see team.finance/pricing), or nothing extra on the $2,500-a-year Pro plan.

Schedule shape. Team Finance schedules are linear with an optional cliff. If the Sablier stream used a custom curve (exponential, stepped), rebuild it as the linear schedule that reaches the same end date and re-check each recipient's vested-by-date math before sending the notice in Step 4. Set the start date to the cancellation date of the old stream (or the intended start for a new schedule), the cliff if any, the end date, and the release cadence. There is no restriction on the end date. If you are replacing a cancelled stream, set the amount to the unvested remainder you received back, not the original total, and set the start date to the cancellation date, so the recipient's overall vesting curve continues without a gap or a double-count.

Recipients. For more than a handful of recipients, upload the spreadsheet from Step 1 as CSV, Excel or a Google Sheet. The upload step shows the template it expects and validates every row before you can continue, so mismatched columns are caught there, not on-chain. Keep your reconciliation sheet's columns in this order so the mapping is obvious:

recipient_address,amount,start_date,cliff_date,end_date
0x1234...abcd,250000,2026-09-15,2027-09-15,2030-09-15

Recipients who share a schedule shape can be entered once as a shape and once as a list of addresses and amounts; recipients with different cliffs or end dates go in as separate schedules on the same token.

Revocability. Choose whether the contract owner can end an allocation and reclaim unvested tokens. For team and advisor grants, yes; for investor allocations, investors will usually expect no. If the contract owner should be a multisig, connect the multisig as the deployer from the start — it is the cleanest way to make sure the revoke right sits with the treasury and not with an individual.

Review and deploy. Check the total deposit against your spreadsheet, approve the token transfer, and deploy. The contract address and a public proof page are generated on deployment.

Step 4: Tell your recipients

Recipients need three things: why the change is happening, confirmation that their allocation is unchanged, and the new place to claim. Send it before you cancel anything, not after. A template:

Subject: Your [TOKEN] vesting is moving to a new contract — nothing changes in your allocation

Hi [name],

Sablier, the platform hosting your [TOKEN] vesting, entered maintenance mode in July 2026 and can no longer create schedules ending after June 2028. We are moving [your schedule / all new schedules] to Team Finance, a non-custodial vesting platform audited by CertiK, Hacken, BailSec and Zokyo and used by 40,000+ projects.

What this means for you: your total allocation of [amount] [TOKEN], your cliff of [date] and your end date of [date] are unchanged. Tokens you have already withdrawn stay in your wallet. On [date] we will cancel the Sablier stream; anything vested by then will be withdrawable on Sablier, and the remainder will continue vesting on Team Finance from the same date.

To claim going forward, connect the same wallet ([address]) at app.team.finance and open the claim dashboard; claiming is free apart from gas. The public schedule is verifiable at [proof page URL].

Questions: [contact].

For investor allocations, attach the reconciliation spreadsheet row for their address. For non-cancelable streams, send a shorter note saying nothing changes and only new allocations will be on Team Finance.

Step 5: Cancel the old streams (cancelable only)

Only after recipients have been notified and the Team Finance contract is deployed: return to app.sablier.com, cancel each cancelable stream you are replacing, and confirm the unvested remainder arrives in the sender wallet. Record the cancellation transaction hash in your spreadsheet next to the new Team Finance contract address. If you deployed Team Finance before cancelling, you will have funded it from treasury and can now return the Sablier remainder to treasury; if you prefer to fund Team Finance from the returned tokens, cancel first, then deploy — the order is a treasury choice, not a technical one.

Step 6: Publish the new schedule as proof

Team Finance generates a public page for every vesting contract showing the token, total locked, schedule and per-recipient status, readable without a wallet. Link it from your docs, your token page and your investor updates. Scanners and screeners, including Meme Central, read Team Finance contracts directly, so publishing the page is also how the market learns the team allocation is locked. If you previously linked a Sablier stream page in your docs, replace it, and note the date of the change so anyone auditing later can follow the trail.

Common mistakes

Cancelling before notifying recipients, which produces a support thread you didn't need. Re-entering the original total instead of the unvested remainder, which double-counts the allocation. Deploying from a personal wallet when the contract owner should be a multisig. Trying to migrate non-cancelable streams. And migrating streams that end before June 2028 for no reason other than tidiness.

Frequently asked questions

Can I transfer a Sablier stream to Team Finance directly?

No. Vesting contracts are not portable between platforms. You cancel the Sablier stream (if cancelable), receive the unvested tokens, and create a new Team Finance schedule for the remainder.

What happens to tokens already vested on Sablier when I cancel?

The recipient keeps them. Cancelling a Sablier stream releases everything vested to date to the recipient and returns only the unvested remainder to the sender.

My Sablier stream is non-cancelable. What do I do?

Leave it running; it will complete on schedule and Sablier's interface will keep serving it. Create any new or extended schedule on Team Finance.

Do recipients need a new wallet?

No. They claim from the same wallet address on Team Finance's claim dashboard.

Is there a cost to migrate?

Gas for the Sablier cancellation and the Team Finance deployment, plus Team Finance's one-time fee of $100 per vesting schedule on Ethereum (or the $2,500-a-year Pro plan for unlimited schedules). Recipients claim for free apart from gas. There is no cost for leaving existing Sablier streams in place.


Start the new schedule.

Non-custodial, no end-date ceiling, bulk upload from CSV, Excel or Google Sheets.