Skip to main content

Access Control

With the exception of the admin functions, all functionality in Sablier is related to one or more streams.

This article will provide a comprehensive overview of the actions that can be performed on streams once they are created, as well as the corresponding user permissions for each action.

note

Every stream has a sender, a recipient, and possibly multiple NFT operators, with the recipient being the owner of the NFT.

Overview

The table below offers a quick overview of the access control for each action that can be performed on a stream.

ActionSenderRecipientOperator(s)
Burn NFT
Cancel
Cancel Multiple
Renounce
Transfer NFT
Withdraw
Withdraw Multiple

Burn NFT

Either the recipient or an approved operator can burn the NFT associated with a stream.

Cancel

Either the sender or the recipient can cancel a stream.

Cancel Multiple

Either the sender or the recipient can cancel multiple streams.

  • The caller must be either the sender or the recipient of each stream.

Renounce

Only the sender can renounce a stream.

Transfer NFT

Either the recipient or an approved operator can transfer the NFT associated with a stream.

Withdraw

The assets in a stream can be withdrawn by the sender, recipient, or an approved NFT operator.

  • Both the recipient and the NFT operator have the option to specify a custom address to withdraw the assets to.
  • The sender, however, is limited to withdrawing assets directly to the recipient's address.

Withdraw Multiple

Either the recipient or an approved NFT operator can withdraw assets from multiple streams.

  • The caller has the option to specify a custom address to withdraw the assets to.
  • The caller must be either the recipient or an approved NFT operator of each stream.