diff --git a/docs/api/01-overview.mdx b/docs/api/01-overview.mdx
index f3d82cfd..e2094d82 100644
--- a/docs/api/01-overview.mdx
+++ b/docs/api/01-overview.mdx
@@ -22,8 +22,8 @@ We document below:
As an alternative to reading data from the contracts or listening to onchain events, we use a set of subgraphs and
indexers. These act as a middleware between the chain and our interfaces and allow for caching, formatting and querying
-data. For more advanced features like merkle generation (used in Drops) we've written out own SDKs and open sourced some
-of them.
+data. For more advanced features like merkle generation (used in Airdrops) we've written out own SDKs and open sourced
+some of them.
:::note Playground
@@ -49,8 +49,8 @@ Sablier data from the official [endpoints](/api/lockup/endpoints). Every network
- [Lockup subgraph](https://github.com/sablier-labs/subgraphs/apps/lockup) (Vesting)
- [Flow endpoints](/api/flow/endpoints)
- [Flow subgraph](https://github.com/sablier-labs/subgraphs/apps/flow) (Payments)
-- [Drops endpoints](/api/drops/endpoints)
-- [Drops subgraph](https://github.com/sablier-labs/subgraphs/apps/merkle) (Drops, Airstreams)
+- [Airdrops endpoints](/api/airdrops/endpoints)
+- [Airdrops subgraph](https://github.com/sablier-labs/subgraphs/apps/merkle) (Airdrops, Airstreams)
- [The Graph docs](https://thegraph.com/docs/en/quick-start/)
-## What are Drops / Airstreams?
+## What are Airdrops / Airstreams?
-**Drops** are large-scale campaigns developed to aid with token distribution towards millions of users. They rely on
+**Airdrops** are large-scale campaigns developed to aid with token distribution towards millions of users. They rely on
**merkle trees** to efficiently store eligibility details.
Extending the classic instant airdrop, Sablier engineered Airstreams, a way to reward users with streams which vest
@@ -52,6 +52,6 @@ The first step before diving into this guide is to become familiar with the [con
#### Naming convention
-As per our endpoint [naming convention](api/overview#endpoints--slugs), subgraph deployments of Sablier Airstreams and
-Instant Drops will follow the `sablier-v2-ms-*` (short for "merkle subgraph") structure (e.g. `sablier-v2-ms` for
+As per our endpoint [naming convention](/api/overview#endpoints--slugs), subgraph deployments of Sablier Airstreams and
+Instant Airdrops will follow the `sablier-v2-ms-*` (short for "merkle subgraph") structure (e.g. `sablier-v2-ms` for
Mainnet, `sablier-v2-ms-base` for Base).
diff --git a/docs/api/drops/02-endpoints.mdx b/docs/api/airdrops/02-endpoints.mdx
similarity index 97%
rename from docs/api/drops/02-endpoints.mdx
rename to docs/api/airdrops/02-endpoints.mdx
index 415987bd..2592cdb9 100644
--- a/docs/api/drops/02-endpoints.mdx
+++ b/docs/api/airdrops/02-endpoints.mdx
@@ -6,15 +6,15 @@ title: "Endpoints"
import LinkPreview from "@site/src/components/LinkPreview";
-# Drops / Airstreams
+# Airdrops / Airstreams
## The Graph
This subgraph tracks events emitted by the `@sablier/lockup-periphery` contracts, specifically the ones in charge of
-merkle distributions. It deals with drops-specific actions like the factory creating an airstream campaign, admin
+merkle distributions. It deals with airdrops-specific actions like the factory creating an airstream campaign, admin
clawbacks, or users claiming stream NFTs as defined in the attached Merkle tree.
-Drops work in tandem with [vesting](/apps/features/vesting) as merkle distributions will produce new
+Airdrops work in tandem with [vesting](/apps/features/vesting) as merkle distributions will produce new
[lockup](/api/lockup/overview) streams. Be sure to check out that part of the docs too.
:::important
@@ -57,7 +57,7 @@ transitioned our subgraphs to either the Studio or The Decentralized Network (se
## Envio
This indexers tracks the events emitted by the `@sablier/lockup-periphery` contracts, specifically the ones in charge of
-merkle distributions. It deals with drops-specific actions like the factory creating an airstream campaign, admin
+merkle distributions. It deals with airdrops-specific actions like the factory creating an airstream campaign, admin
clawbacks, or users claiming stream NFTs as defined in the attached Merkle tree.
:::tip Chains: Individual vs. Aggregated
diff --git a/docs/api/drops/_category_.json b/docs/api/airdrops/_category_.json
similarity index 57%
rename from docs/api/drops/_category_.json
rename to docs/api/airdrops/_category_.json
index 0106d345..cfe7af0e 100644
--- a/docs/api/drops/_category_.json
+++ b/docs/api/airdrops/_category_.json
@@ -1,5 +1,5 @@
{
"collapsed": false,
- "label": "Sablier Drops",
+ "label": "Sablier Airdrops",
"position": 4
}
diff --git a/docs/api/drops/envio/01-similarities.mdx b/docs/api/airdrops/envio/01-similarities.mdx
similarity index 62%
rename from docs/api/drops/envio/01-similarities.mdx
rename to docs/api/airdrops/envio/01-similarities.mdx
index f7c5b41c..f8c0257b 100644
--- a/docs/api/drops/envio/01-similarities.mdx
+++ b/docs/api/airdrops/envio/01-similarities.mdx
@@ -9,11 +9,9 @@ title: "Similarities"
Envio indexers are designed to mirror the functionality and structure of the The Graph subgraphs.
For an introduction into the base Sablier primitives and some architectural choices, make sure to check out the
-[merkle subgraph](/api/drops/the-graph/entities) before reading about the `merkle-envio` indexer.
+[merkle subgraph](/api/airdrops/the-graph/entities) before reading about the `merkle-envio` indexer.
The same (or similar) entities are used throughout both The Graph and Envio setups, as well as protocol and merkle
deployments.
-- [Entities](/api/drops/the-graph/entities)
-- [Structure](/api/drops/the-graph/structure)
-- [Architecture and Data Flow](/api/lockup/the-graph/architecture)
+- [Entities](/api/airdrops/the-graph/entities)
diff --git a/docs/api/drops/envio/02-queries.md b/docs/api/airdrops/envio/02-queries.md
similarity index 94%
rename from docs/api/drops/envio/02-queries.md
rename to docs/api/airdrops/envio/02-queries.md
index 1bda34e7..86aeb55c 100644
--- a/docs/api/drops/envio/02-queries.md
+++ b/docs/api/airdrops/envio/02-queries.md
@@ -4,8 +4,8 @@ sidebar_position: 2
title: "Queries"
---
-Building on top of the [entity structure](/api/drops/the-graph/entities) defined earlier, here are some common GraphQL
-queries for fetching data from the Sablier subgraph.
+Building on top of the [entity structure](/api/airdrops/the-graph/entities) defined earlier, here are some common
+GraphQL queries for fetching data from the Sablier subgraph.
### Recent streams
diff --git a/docs/api/drops/envio/_category_.json b/docs/api/airdrops/envio/_category_.json
similarity index 100%
rename from docs/api/drops/envio/_category_.json
rename to docs/api/airdrops/envio/_category_.json
diff --git a/docs/api/drops/merkle-api/01-overview.mdx b/docs/api/airdrops/merkle-api/01-overview.mdx
similarity index 92%
rename from docs/api/drops/merkle-api/01-overview.mdx
rename to docs/api/airdrops/merkle-api/01-overview.mdx
index 23f46fbd..e6a94593 100644
--- a/docs/api/drops/merkle-api/01-overview.mdx
+++ b/docs/api/airdrops/merkle-api/01-overview.mdx
@@ -6,9 +6,7 @@ title: "Overview"
import LinkPreview from "@site/src/components/LinkPreview";
-## Overview
-
-Sablier's Drops rely on pre-configured merkle trees. This data structure contains the list of recipients as well as
+Sablier's Airdrops rely on pre-configured merkle trees. This data structure contains the list of recipients as well as
their individual claim details.
### General data flow
diff --git a/docs/api/drops/merkle-api/02-functionality.mdx b/docs/api/airdrops/merkle-api/02-functionality.mdx
similarity index 95%
rename from docs/api/drops/merkle-api/02-functionality.mdx
rename to docs/api/airdrops/merkle-api/02-functionality.mdx
index 7835b45f..0501ff58 100644
--- a/docs/api/drops/merkle-api/02-functionality.mdx
+++ b/docs/api/airdrops/merkle-api/02-functionality.mdx
@@ -18,7 +18,7 @@ keys).
Feel free to reach out for any guidance or feedback.
-The official endpoints can be seen in the [drops-endpoints](/api/drops/endpoints) registry.
+The official endpoints can be seen in the [airdrops-endpoints](/api/airdrops/endpoints) registry.
## Create: `/api/create`
@@ -123,11 +123,11 @@ This endpoint uses an authentication scheme. Please reach out if you need to use
To check eligibility for an address, you'll be required to provide:
- the address of the user
-- the CID of the IPFS file (see the [create](/api/drops/merkle-api/functionality#create-apicreate) flow above for
+- the CID of the IPFS file (see the [create](/api/airdrops/merkle-api/functionality#create-apicreate) flow above for
context) the campaign is linked to
To get a hold of the second item you can see some options here in the
-[Common flows](/api/drops/merkle-api/examples#get-a-campaigns-cid) page.
+[Common flows](/api/airdrops/merkle-api/examples#get-a-campaigns-cid) page.
### Description
@@ -184,7 +184,7 @@ To check eligibility for an address, you'll be required to provide:
- the CID of the IPFS file the campaign is linked to
To get a hold of it you can see some options here in the
-[Common flows](/api/drops/merkle-api/examples#get-a-campaigns-cid) page.
+[Common flows](/api/airdrops/merkle-api/examples#get-a-campaigns-cid) page.
### Description
diff --git a/docs/api/drops/merkle-api/03-examples.mdx b/docs/api/airdrops/merkle-api/03-examples.mdx
similarity index 93%
rename from docs/api/drops/merkle-api/03-examples.mdx
rename to docs/api/airdrops/merkle-api/03-examples.mdx
index 7ab7b277..2dd47a9b 100644
--- a/docs/api/drops/merkle-api/03-examples.mdx
+++ b/docs/api/airdrops/merkle-api/03-examples.mdx
@@ -10,7 +10,8 @@ import Tabs from "@theme/Tabs";
# Examples of common flows
Here are some common architectural flows you may need to integrate into your application. These include ways to gather
-the prerequisite data necessary for each backend [functionality](/api/drops/merkle-api/functionality) described earlier.
+the prerequisite data necessary for each backend [functionality](/api/airdrops/merkle-api/functionality) described
+earlier.
## Get a campaign's CID
@@ -175,9 +176,10 @@ To check if a user has already claimed their stream from a campaign you can:
For approach "A" you'll need to perform the following actions:
1. Get a hold of the campaign's CID, Lockup contract address, and user address (for the first items, see the
- [Get a campaign's CID](/api/drops/merkle-api/examples#get-a-campaigns-cid) example above)
-2. Check the eligibility of a user (see [Eligibility](/api/drops/merkle-api/examples#check-eligibility-for-an-address)
- example above) and extract their `index`
+ [Get a campaign's CID](/api/airdrops/merkle-api/examples#get-a-campaigns-cid) example above)
+2. Check the eligibility of a user (see
+ [Eligibility](/api/airdrops/merkle-api/examples#check-eligibility-for-an-address) example above) and extract their
+ `index`
3. Call the `hasClaimed` method inside the `lockup` contract using the `index` retrieved at step 2
:::note
@@ -190,7 +192,7 @@ generate a proof in case the recipient is eligible and to register their claim d
#### Approach B
For approach "B", run the same query as in the
-[Get the tokenId after a claim](/api/drops/merkle-api/examples#get-the-tokenid-after-a-claim) example. If the query
+[Get the tokenId after a claim](/api/airdrops/merkle-api/examples#get-the-tokenid-after-a-claim) example. If the query
yields any results, that means the user has claimed their stream.
:::tip
diff --git a/docs/api/drops/merkle-api/_category_.json b/docs/api/airdrops/merkle-api/_category_.json
similarity index 100%
rename from docs/api/drops/merkle-api/_category_.json
rename to docs/api/airdrops/merkle-api/_category_.json
diff --git a/docs/api/drops/the-graph/01-entities.mdx b/docs/api/airdrops/the-graph/01-entities.mdx
similarity index 100%
rename from docs/api/drops/the-graph/01-entities.mdx
rename to docs/api/airdrops/the-graph/01-entities.mdx
diff --git a/docs/api/drops/the-graph/02-queries.md b/docs/api/airdrops/the-graph/02-queries.md
similarity index 93%
rename from docs/api/drops/the-graph/02-queries.md
rename to docs/api/airdrops/the-graph/02-queries.md
index cdc31768..b27d4196 100644
--- a/docs/api/drops/the-graph/02-queries.md
+++ b/docs/api/airdrops/the-graph/02-queries.md
@@ -4,8 +4,8 @@ sidebar_position: 2
title: "Queries"
---
-Building on top of the [entity structure](/api/drops/the-graph/entities) defined earlier, here are some common GraphQL
-queries for fetching data from the Sablier subgraph.
+Building on top of the [entity structure](/api/airdrops/the-graph/entities) defined earlier, here are some common
+GraphQL queries for fetching data from the Sablier subgraph.
### Recent streams
diff --git a/docs/api/drops/the-graph/_category_.json b/docs/api/airdrops/the-graph/_category_.json
similarity index 100%
rename from docs/api/drops/the-graph/_category_.json
rename to docs/api/airdrops/the-graph/_category_.json
diff --git a/docs/api/flow/01-overview.mdx b/docs/api/flow/01-overview.mdx
index 6a88e340..087fc31b 100644
--- a/docs/api/flow/01-overview.mdx
+++ b/docs/api/flow/01-overview.mdx
@@ -25,5 +25,5 @@ Flow-native functionality is powered by:
#### Naming convention
-As per our endpoint [naming convention](api/overview#endpoints--slugs), subgraph deployments of Sablier Flow will follow
-the `sablier-v2-flow-*` structure (e.g. `sablier-v2-flow` for Mainnet, `sablier-v2-flow-base` for Base).
+As per our endpoint [naming convention](/api/overview#endpoints--slugs), subgraph deployments of Sablier Flow will
+follow the `sablier-v2-flow-*` structure (e.g. `sablier-v2-flow` for Mainnet, `sablier-v2-flow-base` for Base).
diff --git a/docs/api/lockup/01-overview.mdx b/docs/api/lockup/01-overview.mdx
index baa2d392..b603dfaf 100644
--- a/docs/api/lockup/01-overview.mdx
+++ b/docs/api/lockup/01-overview.mdx
@@ -9,7 +9,7 @@ import LinkPreview from "@site/src/components/LinkPreview";
# Sablier Lockup
Sablier's [Lockup](/concepts/lockup/overview) streams are used for the [vesting](/apps/features/vesting) and some of the
-[drops](/apps/features/drops) functionality of the Sablier Interfaces.
+[airdrops](/apps/features/airdrops) functionality of the Sablier Interfaces.
Lockup-native functionality is powered by:
@@ -25,5 +25,5 @@ Lockup-native functionality is powered by:
#### Naming convention
-As per our endpoint [naming convention](api/overview#endpoints--slugs), subgraph deployments of Sablier Lockup will
+As per our endpoint [naming convention](/api/overview#endpoints--slugs), subgraph deployments of Sablier Lockup will
follow the `sablier-v2-*` structure (e.g. `sablier-v2` for Mainnet, `sablier-v2-base` for Base).
diff --git a/docs/api/lockup/envio/02-architecture.mdx b/docs/api/lockup/envio/02-architecture.mdx
index 6c93e4af..3b559527 100644
--- a/docs/api/lockup/envio/02-architecture.mdx
+++ b/docs/api/lockup/envio/02-architecture.mdx
@@ -52,7 +52,7 @@ To offer a backwards compatible subgraph (between Sablier Core/ Sablier Peripher
the ABIs of the two versions. This will cause the configuration file to contain similar events between different
versions of Lockup contract.
-Different from how we handle this for [subgraphs](/apps/lockup/the-graph), `Lockup Linear`, `Lockup Dynamic` and
+Different from how we handle this for [subgraphs](/api/lockup/the-graph/entities), `Lockup Linear`, `Lockup Dynamic` and
`Lockup Tranched` will be bundled under the same `Lockup` contract tracker `config.yaml`. Versions of the
protocol will be tracked separately, which is why we have `Lockup_V20` (v2.0) and `Lockup_V21` (v2.1) in our
configuration. Later on, inside the handler logic, we'll separate contracts by flavor.
diff --git a/docs/apps/features/01-overview.mdx b/docs/apps/features/01-overview.mdx
index 4e1360b9..a29d0a9c 100644
--- a/docs/apps/features/01-overview.mdx
+++ b/docs/apps/features/01-overview.mdx
@@ -25,7 +25,7 @@ Our approach is to consider:
| -------- | -------------------------- | ----------------------------------------------------------------------- |
| Vesting | Sablier Lockup | Well defined rules and strict schedules |
| Payments | Sablier Flow | Adapts with time, less collateral-intensive for senders |
-| Drops | Sablier Lockup, Airstreams | Instant or vested over time, with pre-configured recipients and amounts |
+| Airdrops | Sablier Lockup, Airstreams | Instant or vested over time, with pre-configured recipients and amounts |
However, we invite everyone to use these features without any constraints and adapt them to their own unique use-case.
@@ -39,11 +39,11 @@ vesting-related features documented in [this section](/apps/features/vesting).
Read about the business use-case on the [dedicated webpage](https://sablier.com/payroll) or dive deeper into the
vesting-related features documented in [this section](/apps/features/payments).
-## Drops / Airstreams
+## Airdrops / Airstreams
Regardless of the type (Instant 🔜 or Airstreams) read more about the business use-case on the
-[dedicated webpage](https://sablier.com/drops) or dive deeper into the vesting-related features documented in
-[this section](/apps/features/drops).
+[dedicated webpage](https://sablier.com/airdrops) or dive deeper into the vesting-related features documented in
+[this section](/apps/features/airdrops).
## Others
diff --git a/docs/apps/features/04-drops.mdx b/docs/apps/features/04-airdrops.mdx
similarity index 76%
rename from docs/apps/features/04-drops.mdx
rename to docs/apps/features/04-airdrops.mdx
index 4ca06a28..eee00aca 100644
--- a/docs/apps/features/04-drops.mdx
+++ b/docs/apps/features/04-airdrops.mdx
@@ -1,18 +1,18 @@
---
-id: "drops"
+id: "airdrops"
sidebar_position: 4
-title: "Drops"
+title: "Airdrops"
---
-# Drops
+# Airdrops
The Sablier Interface can handle more than native streams. We developed a solution for distributing token streams to
-millions of users called **Drops**. Start exploring at [app.sablier.com](https://app.sablier.com/drops/) or read more
-about it on [sablier.com/drops](https://sablier.com/drops).
+millions of users called **Airdrops**. Start exploring at [app.sablier.com](https://app.sablier.com/airdrops/) or read
+more about it on [sablier.com/airdrops](https://sablier.com/airdrops).
:::note
-Drops allow for millions of recipients to receive an allocation. To see how they differ from
+Airdrops allow for millions of recipients to receive an allocation. To see how they differ from
[group streams](/apps/features/vesting#create-in-batches) (~60 streams at once) read our [FAQ](/support/faq).
:::
@@ -29,9 +29,9 @@ solution which allows you to airdrop streams to a very large number of recipient
Pick a vesting curve (e.g. linear or stepper), define the rules (e.g. duration, clawback window) and allow recipients to
claim their allocations as streams.
-## Instant Drops (Coming Soon 🔜)
+## Instant Airdrops (Coming Soon 🔜)
-
+
For communities that are still looking to distribute value quickly and efficiently, Sablier offers a one-time instant
airdrop solution. This facilitates and easy onboarding of millions of users into the campaign creator's ecosystem, while
@@ -67,13 +67,13 @@ Create a campaign by following these three simple steps:
### Public source
-You can distribute a large number of streams per campaign through our app. If you'd like to support Drops in your own UI
-or have additional requirements, you can do so by using a self-hosted [Merkle service](/api/drops/merkle-api/overview).
-Feel free to get in touch for more details or premium support.
+You can distribute a large number of streams per campaign through our app. If you'd like to support Airdrops in your own
+UI or have additional requirements, you can do so by using a self-hosted
+[Merkle service](/api/airdrops/merkle-api/overview). Feel free to get in touch for more details or premium support.
### Explore the dashboard
-Enter the Dashboard and discover a detailed overview of the Drops you may be eligible for.
+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.
@@ -102,7 +102,7 @@ interface.
:::info
To integrate this functionality into your own products/apps, have a look at the [API guides](/api/overview), especially
-the [v2-merkle-api](/api/drops/merkle-api/overview) and the merkle subgraphs.
+the [v2-merkle-api](/api/airdrops/merkle-api/overview) and the merkle subgraphs.
:::
@@ -114,3 +114,8 @@ and campaign-specific items like an eligibility criteria link.
| |
| ---------------------------------------- |
|  |
+
+### Geo-fencing / Geographical Restrictions
+
+You can choose a set of countries where access to the campaign will be restricted through the Sablier interface
+(app.sablier.com). By default, some jurisdictions may already be restricted by the hosting provider or your ISP.
diff --git a/docs/apps/guides/02-url-schemes.mdx b/docs/apps/guides/02-url-schemes.mdx
index b14c31be..82886b42 100644
--- a/docs/apps/guides/02-url-schemes.mdx
+++ b/docs/apps/guides/02-url-schemes.mdx
@@ -116,7 +116,7 @@ contract `alias`, the `chainId`, and the `streamId`, and then you add them to th
| [app.sablier.com/stream/0xe72[...]bbabc-11155111](https://app.sablier.com/airstream/0xe72175dd12ac7efca6b7d12dfc913a5f661bbabc-11155111/) | Airstream on Sepolia |
As you can see, the main format is `contractA-chainId`. This is supported both at the app and the subgraph level. Read
-more about identifiers and aliases in our [subgraph documentation](/api/drops/the-graph/entities#identifying).
+more about identifiers and aliases in our [subgraph documentation](/api/airdrops/the-graph/entities#identifying).
## Search Airstreams
diff --git a/docs/guides/lockup/examples/04-create-airstream.mdx b/docs/guides/lockup/examples/04-create-airstream.mdx
index 1c7554ec..2e4587f8 100644
--- a/docs/guides/lockup/examples/04-create-airstream.mdx
+++ b/docs/guides/lockup/examples/04-create-airstream.mdx
@@ -141,8 +141,8 @@ Airstreams use a Merkle tree data structure to store the airdrop data onchain. A
create the contract and store the Merkle root onchain. Airdrop recipients can then call the contract on their own to
claim their airdrop.
-If you want to create the Merkle root programatically, you can follow
-[our guide on Merkle API](/api/drops/merkle-api/overview).
+If you want to create the Merkle root programmatically, you can follow
+[our guide on Merkle API](/api/airdrops/merkle-api/overview).
```solidity
baseParams.merkleRoot = 0x4e07408562bedb8b60ce05c1decfe3ad16b722309875f562c03d02d7aaacb123;
diff --git a/docs/support/01-faq.mdx b/docs/support/01-faq.mdx
index 999e0653..be319b04 100644
--- a/docs/support/01-faq.mdx
+++ b/docs/support/01-faq.mdx
@@ -82,7 +82,7 @@ transfers all the remaining funds (if any) to the recipient.
On Lockup, once a stream is created, it is set in stone on the Ethereum blockchain. Whereas on Flow, a stream rate per
second can be modified anytime by the creator.
-### How are Drops (Airstreams) different than a group of normal streams?
+### How are Airdrops (Airstreams) different than a group of normal streams?
Creating streams through our forms (manual or CSV) will physically start those streams onchain, on the spot. This means
you click to create a transaction, pay for the gas, and start all the streams for your recipients.
@@ -91,15 +91,15 @@ Due to how block memory works (specifically the gas limit) you can only fit a li
a single block before running out of space. This is great for small distributions like paying your contractors or a set
of investors.
-Meanwhile, Drops (Instant or Airstreams) leverage a "lazy creation" of streams. You deploy a contract that stores a list
-of recipients and the streams they are entitles to claim. Every recipient will manually click to claim their allocation
-and create their stream **only in that moment**. This allows for millions of recipients to be defined at once, with them
-triggering the stream creation one after the other (as opposed to all at once).
-
-| Feature | Groups | Drops |
-| ------------------------------ | -------------------------- | ---------------------------- |
-| Number of streams | ~60 (depends on gas limit) | Millions |
-| Gas to create streams | Sender paying | Recipient paying |
-| Gas to deploy "Drops" contract | N/A | Sender paying |
-| Streams show up onchain | On the spot (all at once) | Lazily (one after the other) |
-| Good for | Investors, Employees | Airdrops |
+Meanwhile, Airdrops (Instant or Airstreams) leverage a "lazy creation" of streams. You deploy a contract that stores a
+list of recipients and the streams they are entitles to claim. Every recipient will manually click to claim their
+allocation and create their stream **only in that moment**. This allows for millions of recipients to be defined at
+once, with them triggering the stream creation one after the other (as opposed to all at once).
+
+| Feature | Groups | Airdrops |
+| -------------------------------- | -------------------------- | ---------------------------- |
+| Number of streams | ~60 (depends on gas limit) | Millions |
+| Gas to create streams | Sender paying | Recipient paying |
+| Gas to deploy "Airdrop" contract | N/A | Sender paying |
+| Streams show up onchain | On the spot (all at once) | Lazily (one after the other) |
+| Good for | Investors, Employees | Airdrops |
diff --git a/docs/support/03-user-guides.mdx b/docs/support/03-user-guides.mdx
index c00a052f..0c45a091 100644
--- a/docs/support/03-user-guides.mdx
+++ b/docs/support/03-user-guides.mdx
@@ -8,7 +8,7 @@ title: "Technical Guides"
Hands-on guides for app-specific features:
-- [CSV Support](/apps/guides/csv-support) (for streams and drops)
+- [CSV Support](/apps/guides/csv-support) (for streams and airdrops)
- [URL Schemes](/apps/guides/url-schemes)
## Guides for Contracts
@@ -22,4 +22,4 @@ Hands-on guides for app-specific features:
See the dedicated APIs [page](/api/overview).
- [Popular subgraph queries](/api/lockup/the-graph/queries)
-- [Merkle tree management](/api/drops/merkle-api/examples) for drops
+- [Merkle tree management](/api/airdrops/merkle-api/examples) for airdrops
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index 33fc7eae..bed44460 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -78,16 +78,16 @@ const config: Config = {
to: "/api/lockup/the-graph/entities",
},
{
- from: "/api/drops/the-graph",
- to: "/api/drops/the-graph/entities",
+ from: "/api/airdrops/the-graph",
+ to: "/api/airdrops/the-graph/entities",
},
{
from: "/api/subgraphs/merkle",
- to: "/api/drops/the-graph/entities",
+ to: "/api/airdrops/the-graph/entities",
},
{
from: "/api/merkle-api",
- to: "/api/drops/merkle-api/overview",
+ to: "/api/airdrops/merkle-api/overview",
},
{
from: "/api/indexers/protocol",
@@ -120,7 +120,7 @@ const config: Config = {
},
{
from: "/apps/features/airstreams",
- to: "/apps/features/drops",
+ to: "/apps/features/airdrops",
},
{
from: "/apps/url-schemes",
diff --git a/src/components/organisms/Header.tsx b/src/components/organisms/Header.tsx
index 273511dc..29ae0bd0 100644
--- a/src/components/organisms/Header.tsx
+++ b/src/components/organisms/Header.tsx
@@ -1,8 +1,8 @@
import React from "react";
import styled from "@emotion/styled";
+import BoltIcon from "@heroicons/react/24/outline/BoltIcon";
import CodeBracketIcon from "@heroicons/react/24/outline/CodeBracketIcon";
import ComputerDesktopIcon from "@heroicons/react/24/outline/ComputerDesktopIcon";
-import CubeIcon from "@heroicons/react/24/outline/CubeIcon";
import DocumentTextIcon from "@heroicons/react/24/outline/DocumentTextIcon";
import LightBulbIcon from "@heroicons/react/24/outline/LightBulbIcon";
import Heading from "@theme/Heading";
@@ -129,7 +129,7 @@ export default function Header() {
/>