Skip to main content

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

Stream profile

Elements

Every stream created through the Sablier Protocol is identified through three parameters:

Contract Aliases

Sablier V2 supports multiple versions and variants of streaming contracts, e.g. SablierV2LockupLinear and SablierV2LockupDynamic. Specifically, their core-1.0.0. To provide a simple visual structure, while also accounting for future stream types (backwards compatibility), we use the following abbreviations as aliases:

  • Lockup Linear contracts become LL, e.g. LL-5-1
  • Lockup Dynamic contracts become LD, e.g. LD-5-1

Building the URL

By combining the elements described above, you can send users from your interface directly to the stream page featured 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 link app.sablier.com/stream/:

URLDescription
app.sablier.com/stream/LL-5-40Lockup Linear (v1.0.0) stream #40 on Goerli
app.sablier.com/stream/LL-1-6Lockup Linear (v1.0.0) stream #6 on Ethereum
app.sablier.com/stream/0xB10...f95-1-6Lockup Linear (v1.0.0) stream #6 on Ethereum
app.sablier.com/stream/LD-137-13Lockup Dynamic (v1.0.0) stream #13 on Polygon

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

Autofilled form

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):

ParameterTypeDescriptionExample
shapeStringType of paymentlinear, cliff, dynamicExponential, dynamicExponentialCliff, dynamicStepper
chainIdNumberDefaults to the connected chain1, 10, 42161 or any other supported chain
tokenStringAddress of the asset0x6b17...1d0f (DAI)
cancelableBooleanIf a stream is cancelable or not, defaults to truetrue, false
recipientStringRecipient's address or ENS0x12...AB, vitalik.eth
isDurationBooleanIf the time is set to a duration or a fixed range, defaults to truetrue, false
durationNumberStream duration in seconds, read only if isDuration is true86400 (1 day)
startNumberStart date in seconds, read only if isDuration is false1692009403
endNumberEnd date in seconds, read only if isDuration is false1702000403
cliffNumberCliff duration or the cliff end date as a Unix timestamp in seconds (depends on isDuration and shape)1296000 (12 hours)
stepsNumberNumber of steps for the dynamicStepper shape.2, 3, 4, etc.
info

Make sure the token is available on the selected chain. To make the token appear in the default list, you can submit a request to add it to the Sablier 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:

URLDescription
app.sablier.com/create/single/?shape=linear&chainId=1&duration=86400A 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=falseA fully configured stream

If everything is set up correctly, a modal will show up with a summary of the stream.

ModalForm after "Fill in"
ModalForm

If some parameters are not configured properly, the modal will give some indications to the user:

AutofillWrongTokenAutofillWrongAmount

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:

ParameterTypeDescriptionValues
tStringThe active tab in the dashboard. For global queries, use search.search, sender, or recipient
cNumberThe chain of the streams in the search result. This parameter is required.1, 10, 42161 or any other supported chain
sStringThe address of the stream sender by which to filter0x12...AB, vitalik.eth
rStringThe address of the stream recipient by which to filter0x12...AB, vitalik.eth
iString arrayAn array of stream identifiers to look upLL-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-1,LL-5-2.

Here are some examples of URLs and the associated search modal for each:

All streams from goerli that involve am addressForm
Streams that have address as sender from listForm