Skip to content

Commit

Permalink
Merge pull request #254 from sablier-labs/refactor/prb-feedback
Browse files Browse the repository at this point in the history
refactor: prb feedback
  • Loading branch information
PaulRBerg authored Feb 6, 2025
2 parents 9886deb + 6bbb778 commit 85ea9d9
Show file tree
Hide file tree
Showing 54 changed files with 494 additions and 511 deletions.
2 changes: 1 addition & 1 deletion docs/api/01-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Below, we will cover:

## Solutions

![Banner Sablier APIs](/banner/docs-banner-apis.webp)
![Banner Sablier APIs](/banners/docs-apis.webp)

As an alternative to reading data from the contracts or listening to onchain events, we use a collection of subgraphs
and indexers. These service act as a middleware between the chain and our interfaces and allow for caching, formatting
Expand Down
4 changes: 0 additions & 4 deletions docs/apps/03-branding.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,3 @@ If you have any special requests, reach out on [Discord](https://discord.sablier
subtitle="GitHub"
title="Github - sablier-labs/branding: Sablier brand guidelines and assets"
/>

### Promo video

[![Introducing Sablier Lockup](/img/youtube-cover.webp)](https://youtu.be/0XvJ112Jf1k "Introducing Sablier Lockup")
53 changes: 53 additions & 0 deletions docs/apps/features/01-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
id: "overview"
sidebar_position: 1
title: "Overview"
---

# The Sablier Interface

The Sablier Interface is a web application that allows users to interact with the Sablier Protocol. It is a
user-friendly interface that enables users to create, manage, and interact with streams.

Start exploring at [app.sablier.com](https://app.sablier.com) or continue reading below to learn more about the
available features.

## Use-case centric

![Banner App Navigation](/banners/docs-app-navigation.webp)

The app is split among three use cases:

| Use Case | Smart Contracts Involved | Description |
| -------- | ------------------------------------- | ----------------------------------------------------------------------- |
| Vesting | Sablier Lockup | Closed-ended streams with and an end time and funds deposited upfront |
| Payments | Sablier Flow | Open-ended streams that can be topped up over time |
| Airdrops | Sablier MerkleFactory, Sablier Lockup | Instant or vested over time, with pre-configured recipients and amounts |

These features are enabled by two types of streams:

- Lockup streams - <i>fixed duration, amount required upfront, strict distribution curve</i>
- Flow streams - <i>no end time, amount can be topped-up, rate-per-second can be adjusted</i>

The Sablier Interface has adapted the Sablier Protocol for the use cases mentioned above, but we encourage you to
explore other applications.

## Vesting

Read about the business use-case on our [dedicated landing page](https://sablier.com/vesting) or dive deeper into the
vesting-related features documented in [this section](/apps/features/vesting).

## Payments

Read about the business use-case on our [dedicated landing page](https://sablier.com/payroll) or dive deeper into the
vesting-related features documented in [this section](/apps/features/payments).

## Airdrop

Read more about the business use-case on our [dedicated landing page](https://sablier.com/airdrops) or dive deeper into
the airdrop-related features documented in [this section](/apps/features/airdrops).

## Grants

Given how flexible Sablier is in adapting to any processes involving token distribution, we've also documented the
business case for [onchain grants](https://sablier.com/grants)
53 changes: 0 additions & 53 deletions docs/apps/features/01-overview.mdx

This file was deleted.

48 changes: 27 additions & 21 deletions docs/apps/features/02-vesting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import LockupNFTSVG from "@site/static/img/lockup-nft.svg";
The Sablier Interface will showcase [Lockup](/concepts/lockup/overview) streams under the Vesting tab. These are token
streams with a fixed duration, predefined amount and strict distribution curve.

![Banner Vesting](/banner/docs-banner-vesting.webp)
![Banner Vesting](/banners/docs-vesting.webp)

In Q4 2024 the app has undergone a use-case centric redesign. For past users, all streams created before this update
will show up in the Vesting page.
Expand Down Expand Up @@ -78,28 +78,27 @@ Streaming, everywhere. We support 11+ EVM chains and testnets where you can stre
| ---------------------------------------------- |
| ![ChainList](/screenshots/general-chains.webp) |

### Create in batches
### Create in bulk

Save time by creating up to 60 streams in bulk for your employees, investors, or community members. Use the forms for a
Save time by creating up to 280 streams in bulk for your employees, investors, or community members. Use the forms for a
clean and straightforward UX.

| |
| ------------------------------------------ |
| ![Group](/screenshots/vesting-create.webp) |
| |
| --------------------------------------------------- |
| ![Create in bulk](/screenshots/vesting-create.webp) |

### Create from CSVs
### Create with CSV

Save even more time by using our CSV upload, dedicated to power-users. Under the hood, it works the same as the visual
forms.
As an alternative to manually filling out the form, you can upload a CSV file with your user data.

| |
| ---------------------------------------------- |
| ![Group](/screenshots/vesting-create-csv.webp) |
| |
| -------------------------------------------------------- |
| ![Create with CSV](/screenshots/vesting-create-csv.webp) |

### Simulations

Eager to see what your chosen distribution will look like? Use our simulation tool right from the create-stream forms
(or later on, from the stream profile).
Eager to see what your token distribution will look like? Use our simulation tool right from the stream creation forms
(or later, from the stream profile).

![Simulate](/screenshots/simulation.webp)

Expand All @@ -119,13 +118,25 @@ on your payouts. Remember, you can always be both a sender and a recipient.

### Any ERC-20 token

Stream your favorite token! Thanks to our integration of Token Lists, any ERC-20 token can be streamed on Sablier
Lockup.
Thanks to our integration of Token Lists, any ERC-20 token can be distributed via Sablier Lockup.

:::warning

The only exception is rebasing tokens like Aave's aTokens. Tokens that dynamically rebase their balance are not
supported by Sablier.

:::

| | |
| ----------------------------------------------- | -------------------------------------------------------- |
| ![Token List](/screenshots/tokenlist-home.webp) | ![Token List Search](/screenshots/tokenlist-search.webp) |

### Mobile-ready layout

Token streams on the go!

Yes, the Sablier app works on mobile. And yes, we support dark mode by default (light mode coming soon).

### Permissions

We've mapped the most important utilities from the Lockup contracts into in-app features. Interact with streams that
Expand All @@ -136,15 +147,10 @@ reference you as a key participant (e.g. sender, recipient) directly from the in
| Create Streams || - | - |
| Renounce Cancelability ||| - |
| Cancel ||| - |
| Cancel Multiple ||| - |
| Transfer ||| - |
| Withdraw ||||

### Safe multisig support

Vesting is fully integrated with [Safe](https://safe.global). Start streaming from the safety and comfort of your
multisig wallet.

### Mobile-ready layout

Stream in style! Yes, the app works on mobile. And yes, we support dark mode by default (light mode coming soon).
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ sidebar_position: 3
title: "Payments"
---

The Sablier Interface will showcase [Flow](/concepts/flow/overview) streams under the Payments tab. These are token
streams with a no end-date, an ever increasing amount (can be topped up) and a flexible rate per second.
The Sablier Interface displays [Flow](/concepts/flow/overview) streams under the Payments tab. These are token streams
with no end time, an ever-increasing amount (meaning the streams can be topped up), and a flexible rate per second.

![Banner Vesting](/banner/docs-banner-payments.webp)
![Banner Payments](/banners/docs-payments.webp)

## Features

Expand Down Expand Up @@ -51,24 +51,20 @@ Streaming, everywhere. We enable payments on 11+ EVM chains and testnets where y
| ---------------------------------------------- |
| ![ChainList](/screenshots/general-chains.webp) |

### Create in batches
### Create in bulk

Save time by creating up to 60 streams in bulk for your employees, investors, or community members. Use the forms for a
Save time by creating up to 280 streams in bulk for your employees, investors, or community members. Use the forms for a
clean and straightforward UX.

### Create from CSVs
### Create with CSV

Save even more time by using our CSV upload, dedicated to power-users. Under the hood, it works the same as the visual
forms.

### Safe multisig support

Payments are fully integrated with [Safe](https://safe.global). Start streaming from the safety and comfort of your
multisig wallet.
As an alternative to manually filling out the form, you can upload a CSV file with your user data.

### Mobile-ready layout

Stream in style! Yes, the app works on mobile. And yes, we support dark mode by default (light mode coming soon).
Token streams on the go!

Yes, the Sablier app works on mobile. And yes, we support dark mode by default (light mode coming soon).

### Permissions

Expand All @@ -86,3 +82,8 @@ reference you as a key participant (e.g. sender, recipient) directly from the in
| Restart ||| - |
| Transfer ||| - |
| Withdraw ||||

### Safe multisig support

Payments are fully integrated with [Safe](https://safe.global). Start streaming from the safety and comfort of your
multisig wallet.
121 changes: 121 additions & 0 deletions docs/apps/features/04-airdrops.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
---
id: "airdrops"
sidebar_position: 4
title: "Airdrops"
---

# Airdrops

Sablier provides a solution for launching airdrops with up to a million recipients. This is designed to help projects
distribute tokens to a large number of users in a fair and efficient manner. Start exploring at
[app.sablier.com](https://app.sablier.com/airdrops/) or read more about it on
[sablier.com/airdrops](https://sablier.com/airdrops).

## Airstreams (Vested Airdrops)

![Banner Airdrops Vesting](/banners/docs-airdrops-airstreams.webp)

**Airdrops should be vested!**

At Sablier, we believe in long-term distributions with aligned incentives. That's why we engineered Airstreams, a
solution which allows you to airdrop streams with a vesting schedule.

Pick a vesting curve (e.g., linear), define the rules (e.g. duration, clawback window), and allow recipients to claim
their airdrops as vesting streams.

## Instant Airdrops

![Banner Airdrops Instant](/banners/docs-airdrops-instant.webp)

Sablier also offers an instant airdrop solution, meaning the tokens are immediately released to the recipients upon
claiming.

## Features

### Create with CSV

Generate your list of recipients and put it into a CSV file, upload it to our app, and we'll take care of the rest. We
will sanitize, validate and triple-check the data to ensure everything is formatted correctly.

:::caution Timezone Caveat

All times in the CSV are considered to be in the same timezone as the airdrop creator's device. Visit our
[CSV guide](/apps/guides/csv-support) to read more about the format.

:::

### Easy 3-step process

Creating campaigns involves a simple 3-step process:

1. Configure the initial details (e.g., token, campaign name, etc.)
2. Upload the CSV containing the recipient data
3. Deploy the Airdrop campaign contract

| |
| ------------------------------------------------------------- |
| ![Airdrop Create: Step 1](/screenshots/airdrop-create-1.webp) |
| ![Airdrop Create: Step 2](/screenshots/airdrop-create-2.webp) |

### Open source

If you'd like to support Airdrops in your UI or have additional requirements, you can do so by using a self-hosted
[Merkle service](/api/airdrops/merkle-api/overview). Reach out to us on [Discord](https://discord.sablier.com) for more
details and customer support.

### Explore the dashboard

Enter the Dashboard and discover a detailed overview of the Airdrops you may be eligible for.

Take advantage of the Search functionality to explore the chain and gain more insight into how others are using Sablier.

| |
| --------------------------------------------------- |
| ![Airdrop Search](/screenshots/airdrop-search.webp) |

### Support for any ERC-20 token

You can drop your own token!

Thanks to our integration of Token Lists, any ERC-20 token can be airdropped on Sablier.

For your token logo to show up in the Sablier app, add it to our
[token list](https://github.com/sablier-labs/community-token-list/issues/new?template=token-request.md)

| |
| --------------------------------------------------- |
| ![List of chains](/screenshots/general-chains.webp) |

### Oversight

Have a clear view of how your campaign is performing. Check eligibility or manage your own campaign from a dedicated
interface.

| |
| ----------------------------------------------------- |
| ![Airdrop Profile](/screenshots/airdrop-profile.webp) |

:::info

To integrate this functionality into your own products/apps, have a look at the [API guides](/api/overview), especially
the [Merkle API](/api/airdrops/merkle-api/overview) and the Merkle subgraphs.

:::

### Advanced Settings

For campaign admins, the interface enables advanced settings like in-app visibility, in-app geographical restrictions,
and campaign-specific items like an eligibility criteria link.

| |
| ------------------------------------------------------- |
| ![Airdrop Settings](/screenshots/airdrop-settings.webp) |

### Geographical Restrictions

As shown in the image above, you can specify a list of countries where access to the campaign will be restricted on the
Sablier Interface at [app.sablier.com](https://app.sablier.com). Note that this restriction does not apply to the
Sablier Protocol, which runs permissionlessly on the blockchain.

Additionally, some jurisdictions may already be restricted by default — either by your ISP or Vercel, our hosting
provider.
Loading

0 comments on commit 85ea9d9

Please sign in to comment.