URL Schemes
The Sablier Interface makes it easy for integrators to direct their users to specific resources. In this guide, we will cover a number of resource locators used by the apps, as well as dive into how you can understand and re-create them.
Stream Page
Elements
Every stream created through the Sablier Protocol is identified through three parameters:
- a chainId (e.g.
1
for Ethereum,10
for Optimism ) - a contract address (e.g.
0x12..AB
) OR an alias (e.g.LL
) - a streamId (generated at stream creation)
Contract Aliases
Sablier V2 supports multiple versions and variants of streaming contracts, e.g. SablierV2LockupLinear
and
SablierV2LockupDynamic
. To provide a visual resolver, while also accounting for future stream types (backwards
compatibility), we alias the contract addresses with the following abbreviations:
- Lockup Linear V2.0 contracts become
LL
, e.g.LL-137-1
- Lockup Linear V2.1 contracts become
LL2
, e.g.LL2-137-1
- Lockup Dynamic V2.0 contracts become
LD
, e.g.LD-137-1
- Lockup Dynamic V2.1 contracts become
LD2
, e.g.LD2-137-1
Building the URL
By combining the elements described above, you can send users from your interface directly to the create stream page in
the Sablier Interface. To build the link to a stream resource, you use a hyphen -
to concatenate the uppercase
contract alias
, the chainId
, and the streamId
, and then you add them to the base URL app.sablier.com/stream/
:
URL | Description |
---|---|
app.sablier.com/stream/LL2-137-29 | Lockup Linear V2.1 stream #29 on Polygon |
app.sablier.com/stream/LL-137-32 | Lockup Linear V2.0 stream #32 on Polygon |
app.sablier.com/stream/LD-137-13 | Lockup Dynamic V2.0 stream #13 on Polygon |
app.sablier.com/stream/LL-1-6 | Lockup Linear V2.0 stream #6 on Ethereum |
app.sablier.com/stream/0xB10...f95-1-6 | Lockup Linear V2.0 stream #6 on Ethereum |
app.sablier.com/stream/LL2-11155111-40 | Lockup Linear V2.1 stream #40 on Sepolia |
As you can see, the main format is contractA-chainId-streamId
. This is supported both at the app and the subgraph
level. For situations when an alias cannot be used, we fallback to the following format:
contractAddress-chainId-streamId
. Read more about identifiers and aliases in our
subgraph documentation.
Create Stream Autofill
Elements
Using URL query parameters, integrators can suggest a set of values for the fields of the Create Single Stream form. Here's a list of all supported values (to be appended to the create form link):
Parameter | Description | Example |
---|---|---|
shape | String - type of stream | linear , cliff , dynamicExponential , dynamicExponentialCliff , dynamicStepper , dynamicTimelock , dynamicUnlockLinear , dynamicUnlockCliff |
chainId | Number - defaults to the connected chain | 1 , 10 , 42161 or any other support chain. |
token | String - address of the asset | 0x6b17...1d0f (DAI on Ethereum) or any other ERC20 token address |
cancelable | Boolean - if a stream is cancelable or not, defaults to true | true , false |
transferable | Boolean - if a stream is transferable or not, defaults to true | true , false |
recipient | String - recipient's address or the ENS | 0x12...AB , vitalik.eth |
isDuration | Boolean - if the time is set to a duration or a range, defaults to true | true (expecting duration), false (expecting range - start / end date) |
duration | Number - stream duration in seconds, read only if isDuration is true | 86400 (1 day), 360 (1 hour) |
start | Number - start date in seconds, read only if isDuration is false | 1692009403 |
end | Number - end date in seconds, read only if isDuration is false | 1702000403 |
cliff | Number - cliff duration or the cliff end date in seconds (depending on the isDuration flag, for the cliff-related shapes( cliff , dynamicExponentialCliff )) | 1296000 (12 hours) |
steps | Number - number of steps for the dynamicStepper shape. | 2 , 3 , 4 etc. |
months | Number - number of months for the dynamicMonthly shape. | 2 , 3 , 4 etc. |
unlocks | Number - unlock sum for the dynamicUnlockLinear , dynamicUnlockCliff shapes. | 200 , 300 , 400 etc. |
Make sure the token
is available on the selected chain. To make it appear in the default list, you can submit a
request to add it to our
Community Token List.
Building the URL
By combining the parameters described above, you can send users from your interface directly to the stream creation page
in the Sablier Interface. To build the link to a stream resource, you append all these elements to the base link
app.sablier.com/create/single
as query parameters (?key1=value1&key2=value2
).
Here are some examples:
URL | Description |
---|---|
app.sablier.com/create/single/?shape=linear&chainId=1&duration=86400 | A partially configured stream (chain, duration) |
app.sablier.com/create/single/?shape=linear&chainId=1&duration=86400&token=0x... | A partially configured stream (chain, duration, token = DAI) |
app.sablier.com/create/single/?shape=cliff&...&isDuration=false | A fully configured stream |
If everything is set up correctly, a modal will show up with a summary:
Modal | Form after "Fill in" |
---|---|
If some parameters are not configured properly, the modal will give some indications to the user:
Search Streams
Elements
The Sablier Interface comes with an advanced search view that can be accessed directly through URL parameters. If you want to use this feature, here is a table with all the available parameters:
Parameter | Type | Description | Values |
---|---|---|---|
t | String | The active tab in the dashboard. For global queries, use search . | search , sender , or recipient |
c | Number | The chain of the streams in the search result. This parameter is required. | 1 , 10 , 42161 or other supported chain |
s | String | The address of the stream sender by which to filter | 0x12...AB , vitalik.eth |
r | String | The address of the stream recipient by which to filter | 0x12...AB , vitalik.eth |
a | String | The address of the asset to filter for | 0x12...CD for DAI |
i | String array | An array of IDs to look up | LL-5-1 , LD-5-14 etc. |
Building the URL
By combining the parameters described above, you can send users from your interface directly to the search view in the
Sablier Interface. To build the link, you append all these elements to the base link app.sablier.com/
as query
parameters, e.g. ?t=search&c=1&s=0x..1&r=0x...2&i=LL-1-2,LL2-1-29
.
Here are some examples of URLs and the associated search modal for each:
Streams created by a particular user | |
Streams with particular IDs |
Airstream Page
Elements
Every airstream created through the Sablier Protocol is identified through three parameters:
- a chainId (e.g.
1
for Ethereum,10
for Optimism ) - a contract address (e.g.
0x12..AB
)
We've chosen not to apply aliases to Airstreams for now. In the future, we may ask the campaign creator to provide a name or an alias to be used in the URL.
Building the URL
By combining the elements described above, you can send users from your interface directly to the create stream page in
the Sablier Interface. To build the link to a stream resource, you use a hyphen -
to concatenate the uppercase
contract alias
, the chainId
, and the streamId
, and then you add them to the base URL app.sablier.com/stream/
:
URL | Description |
---|---|
app.sablier.com/stream/0xfd0[...]cd83a-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.
Search Airstreams
Elements
The Sablier Interface comes with an advanced search view that can be accessed directly through URL parameters. If you want to use this feature, here is a table with all the available parameters:
Parameter | Type | Description | Values |
---|---|---|---|
t | String | The active tab in the dashboard. For global queries, use search . | search |
c | Number | The chain of the airstreams in the search result. This parameter is required. | 1 , 10 , 42161 or other supported chain |
m | String | The address of the campaign admin by which to filter | 0x12...AB , vitalik.eth |
a | String | The address of the asset to filter for | 0x12...CD for DAI |
Building the URL
By combining the parameters described above, you can send users from your interface directly to the search view in the
Sablier Interface. To build the link, you append all these elements to the base link app.sablier.com/airstreams
as
query parameters, e.g. ?t=search&c=1&m=0x..1&a=0x
.