Sablier is the protocol that introduced the idea of real-time token streaming to Ethereum. Instead of releasing locked tokens in monthly tranches, Sablier releases them per second – turning a vesting schedule into a continuous flow of value from the contract to the recipient's claimable balance.
If you have received tokens from a project that uses Sablier, your unlock isn't a step function. It's a smooth line. Every time you load the contract, more tokens are claimable than the moment before. This article explains how Sablier works under the hood, the chains it supports, the most common use cases, and how to monitor your Sablier positions inside Vestream.
What Sablier Actually Does
At its core, Sablier is a set of smart contracts that hold tokens on behalf of a sender and release them to a recipient over a specified duration. The release formula is linear in time: at any block timestamp, the contract calculates the proportion of the duration that has elapsed and treats that fraction of the total amount as withdrawable.
Locked total ÷ duration = release rate. Multiply by elapsed seconds and you have your claimable balance – updated every block.
Sablier currently ships two primary contract families. LockupLinear handles the classic continuous-stream case, optionally with a cliff. LockupTranched handles step-based unlocks (e.g. monthly tranches) for projects that prefer discrete events. Both produce on-chain positions that any wallet, indexer, or aggregator can read.
Per-Second Release: Why It Matters
Most legacy vesting contracts release tokens in lump sums – you wait 30 days, then claim a chunk. Streaming dissolves that waiting. The benefits compound across several dimensions:
- Smoother selling pressure: recipients can claim continuously rather than dumping a monthly tranche the moment it lands.
- No cliff-day chaos: there is no single timestamp where every team member rushes to withdraw, gas spikes, and prices wobble.
- Granular cash flow: contributors can claim only what they need today, leaving the rest to keep accruing.
- Composability: downstream protocols can treat the recipient's claimable balance as a real-time stream of income, not a periodic event.
For projects designing tokenomics, the trade-off is that streaming makes your unlock schedule slightly harder to communicate to a community used to thinking in monthly bars. That is one reason Sablier's tranched variant exists – sometimes you want the social clarity of a discrete monthly cliff.
Supported Chains
Sablier is multi-chain and continues to add networks. The current production deployments most relevant to vesting use cases are:
| Chain | Chain ID | Use case |
|---|---|---|
| Ethereum | 1 | Mainnet vesting for institutional / treasury allocations |
| Base | 8453 | Lower-fee streaming for high-frequency claim patterns |
| BNB Chain | 56 | BSC-native projects and BEP-20 token vesting |
| Polygon | 137 | Cheap continuous streaming for grants and payroll |
| Sepolia | 11155111 | Ethereum testnet for development and audits |
Vestream's Sablier adapter covers all five of these networks, normalising every stream into the same VestingStream shape so you can view a Polygon stream and a Base stream side by side without translating fields.
Common Sablier Use Cases
Sablier's flexibility makes it the de facto standard for several vesting-adjacent workflows. The four most common are:
- 1Founder and team vesting: 4-year stream with a 1-year cliff is the canonical configuration. Tokens flow continuously after the cliff, eliminating the temptation of a single-day dump.
- 2Investor allocations: seed and private rounds frequently use linear streams over 18–36 months, sometimes with a TGE unlock implemented as a separate stream.
- 3Grants programs: DAOs use Sablier to disburse grants over the life of a project, with the option to cancel the stream if milestones aren't met.
- 4Onchain payroll: contractors paid in tokens prefer streams to monthly invoices – claimable balance grows in real time.
If you are evaluating a project's tokenomics, finding their team allocation in a Sablier LockupLinear contract is a strong commitment signal. The contract is non-revocable by default in many configurations, and the schedule is verifiable on-chain by anyone.
Reading a Sablier Stream On-Chain
Every Sablier stream is identifiable by an (chainId, contract, streamId) tuple. The relevant fields you need to interpret the schedule are the same across the contract families:
- startTime – when the stream began accruing.
- endTime – when the final token unlocks.
- cliffTime – the timestamp before which zero tokens are claimable (optional).
- depositedAmount – total tokens placed into the stream.
- withdrawnAmount – total tokens already pulled by the recipient.
Subtract withdrawnAmount from the time-prorated unlocked amount and you have the recipient's claimable balance. Sablier's frontend, block explorers, and aggregators all calculate this from the same on-chain primitives. For a wider primer on the underlying terms, see How to Read a Vesting Schedule.
Tracking Sablier Streams on Vestream
Vestream indexes Sablier across all supported chains via its hosted subgraphs. When you add a wallet to your dashboard, the Sablier adapter is queried in parallel with every other supported protocol – Hedgey, UNCX, Superfluid, PinkSale, Streamflow, Jupiter Lock, and the rest. Streams are normalised into a unified card so you don't need to understand each contract's specific field naming.
You can also view all Sablier streams for a single token by using the explore page. This is especially useful for due diligence – confirming, for example, that a project's team allocation is indeed locked in a 4-year LockupLinear stream rather than sitting in a multisig.
Add any Ethereum, Base, BNB, Polygon or Sepolia address and Vestream will surface every Sablier stream it owns or receives – with claimable balance updated in real time. Sign in at <a href="/login">Vestream</a> to get started.
FAQ
Frequently Asked Questions
Is Sablier audited?
Yes – multiple independent audits across LockupLinear and LockupTranched are public. As with any contract, audits reduce but do not eliminate risk. Always confirm the deployed contract address matches Sablier's documented deployments before sending funds.
Can a Sablier stream be cancelled?
Only if the sender enabled cancelability at creation. Many vesting deployments deliberately set cancelability to false so the recipient cannot have their stream pulled. Check the stream's metadata before assuming either way.
What happens if I never claim?
Nothing bad. The tokens remain in the contract and continue to accrue against your claimable balance. There is no expiry – you can claim the full amount at any point after the stream ends.
Does Sablier support tokens with transfer fees?
Some token types (rebasing, transfer-tax) interact poorly with streaming math. Sablier's docs flag the unsupported types – most vanilla ERC-20s work without issue.