Q3 2024 Release Notes

The best token distribution protocol in crypto gets even better.

Q3 2024 Release Notes

We unveiled our groundbreaking Airstreams feature back in December last year. Airstream campaigns enable vested airdrops to millions of recipients. We’ve seen hundreds of campaigns created since then, with hundreds of thousands of recipients globally. Along with it, we released Sablier V2.1, which introduced several new mechanics like the transferability of token distribution streams, as well as multiple smaller updates.

We’ve been hard at work on the latest iteration of our battle-tested token distribution protocol in the past six months. Today, we’re excited to unveil Sablier v2.2, which introduces an incredibly gas-efficient contract for tranched token distribution schedules, the removal of our protocol fee mechanism (the Sablier v2.2 protocol is free, forever!), as well as multiple security updates and a codebase cleanup.

Let’s dive into it!

Updates

LockupTranched

LockupTranched is a brand new efficient contract, joining the existing LockupLinear and LockupDynamic series. As a reminder, LockupLinear handles linear token distribution streams, while LockupDynamic handles non-linear curves, meaning monthly unlocks, exponential streams, timelocks, etc.

Consider LockupTranched as a specialized version of LockupDynamic, specifically for distribution schedules that are made exclusively of discrete tranches. A timelock, a monthly unlock stream, or similar streaming curves that are only horizontal or vertical, but never diagonal, can all be made using LockupTranched.

Why is this important if LockDynamic could already handle this? By creating a hyper specialized contract for this specific purpose, we enable massive gas savings, reducing fees for end users, while also simplifying the contract logic, and by extension making the protocol even more secure.

There is one third advantage: it makes integrations for developers even easier. Using LockupTranched, creating tranched streams is now even more accessible.

LockupTranched is now available for regular streams, as well as Airstream campaigns. This means you can now airdrop tokens using timelocks, monthly unlocks, etc. and not just linear distribution curves like it was previously the case.

Revamped Airstreams Experience

On top of the added support for new Airstream distribution curves thanks to LockupTranched, we’ve introduced many new updates that will improve the user experience as a whole for users.

Claimable Tab

Users no longer need to look for a specific campaign to claim on our website, the interface now natively shows all the Airstream campaigns the user is eligible for in a brand new “Claimable” tab.

This will significantly increase the number of claims for Airstream campaigns, as it will be much harder for a recipient to miss a campaign they are eligible for.

Grace Window

We’re introducing a new feature called the Grace Window. Anytime before the first claim, or 7 days after, you can clawback the funds that you deposited in the campaign contract, if anything went wrong.

Imagine you create a campaign, you fund it, a few eligible recipients start claiming, and you then realize you made a mistake. If you are still in the 7-day grace period, you can take back the funds (an “initial clawback”) that haven’t yet been claimed at that time.

This will work alongside our optional "final clawback after expiration" feature, which enables campaign creators to clawback funds that haven’t been claimed after a certain date.

Settings

Campaign creators now get access to a “Settings” tab that enables advanced features for power users such as “Visibility”, which if toggled off ensures that the campaign isn’t visible via the Sablier interface.

For campaign creators or users accessing the campaign URL directly, the page will still remain visible at all times, so hold on tight to that link before making it public with your community.

  • Campaign Name: Might seem like a minor update, but Airstream campaigns can now have a custom name. This will make the experience even better and easier to understand for recipients, as campaign creators will be able to add additional context regarding their campaign in its name. 
  • Search Engine Visibility: If you want your campaign page to be indexed by search engines, this is now possible. This will allow campaign creators to get even more visibility for their campaigns, ensuring even greater engagement and participation from eligible recipients.

Farcaster Frame Support

As part of our latest experiments, we’re unveiling a first set of Sablier frames. Share `app.sablier.com/api/frame/latest/home/` on your favorite Farcaster client and keep tabs on any brand new stream being created. Use `app.sablier.com/api/frame/stream/[stream-id]` to highlight any specific item.

H/T the wevm team for their work on the Frog framework.

Working with Envio

Uptime and reliability have been a core factor for our product development. In this sense, we’ve engineered a new indexing solution based on Envio’s suite of fast and flexible tools for access to on-chain data.

Alongside our existing subgraphs, Envio is enabling faster queries, fallbacks and an overall optimized environment, which translates into a much better UX for our in-app users. Moreover, due to their cross-chain querying capabilities, this opens the door to advanced chain-abstracted portfolios of streams in future versions of Sablier. We couldn’t be more excited about that!

Various Quality-of-Life App Updates

We love tinkering with our products, until they’re 10/10 and then some more. Since our last launch, we’ve added a bunch of new small features we’re proud of, including:

  • Improvements to our in-app search engines 🔍
  • A simplified experience for creating streams (priority on groups) 🪶
  • A calldata generator for technical users (nicely integrated with https://x.com/swissknifexyz for on-demand decoding) 👨‍💻
  • Add token to wallet button 🦊
  • Persistent dashboard guides for early users 📚
  • Small UI updates (we’ve made things shinny) 💎

Public Withdrawals

Anyone can now trigger the withdrawal transaction for someone else! This will improve the user experience for people who aren’t necessarily accustomed to using our interface.

Let’s say you are an employee paid as part of your payroll program through Sablier. As opposed to going to the Sablier interface, and manually withdrawing yourself, your employer could simply trigger that transaction for you along with their other employees.

The withdrawal can of course only be made to the stream recipient’s address, not to the third-party address triggering the withdrawal for them.

Protocol Fee Mechanism Removal

As you may know, Sablier V2.1 and V2.0 both featured a protocol fee mechanism similar to Uniswap’s fee mechanism. Inside the protocol was a fee switch that enabled the governance module, currently controlled by a multisig held by Sablier Labs, to charge a fee on every stream created using the protocol.

But given you are an avid reader of this blog, you also know that we never charged any fees. We never turned the fee switch on. Given we have no plans to turn it on in the future, and couldn’t come up with any rational reason to keep it, we simply decided to remove it.

Hook System

Sablier V2.2 is even more secure, thanks to an updated hook system. As you may know, Sablier V2 featured an advanced hook system that allowed any integrator to get notified onchain when streams are canceled, withdrawn, or renounced.

As part of our audits, security researchers found that it was possible for the caller of the withdraw and cancel functions to skip hook calls by providing only enough gas to execute the Sablier functions without executing the hook callbacks. This undermines the credibility of hook calls, which are crucial for building an ecosystem around Sablier NFTs.

That is why in V2.2, we redesigned how hooks are called by adding an allowlist of contracts that are tightly integrated with withdraw and cancel and removing it from renounce. If the hook call fails, the execution fails as well. Initially, the allowlist will be maintained by the Sablier admin, with potential future governance control.

Security

We have an impeccable security track record at Sablier, and we intend to keep it. Our battle-tested token distribution protocol has been live on mainnet since 2019, with a ~$200M median TVL in the past few years.

Sablier V2.0 and V2.1 have both already been extensively audited. This release was audited by Cantina, a leader in the industry, as well as through a CodeHawks audit competition that had +40 participants. You can find an in-depth review of this latter audit here. We even had a specialized audit made by Egis Security for our updated hook system.

The updated v2-core codebase contains one of the most robust test suites in the Ethereum ecosystem, with 174 test files and +8K lines of code testing the protocol in all possible ways. 

Security is and will forever be our first and foremost priority at Sablier. Trust is built through transparency, meticulous attention to detail, and an unwavering commitment to safeguarding user assets. When you use Sablier, you're using a protocol that puts those values above all else.

Conclusion

Sablier V2.2 is the most efficient, accessible and secure token distribution protocol in the ecosystem. With the introduction of the gas-efficient LockupTranched contract, the removal of the protocol fee mechanism, an updated hook system and multiple security improvements, Sablier is effectively the best way to distribute tokens in crypto.

V2.2 not only makes developer integrations even easier, the protocol is also now significantly cheaper for users, reinforcing our commitment to providing the best, most secure token distribution experience available.