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

Only the sender can cancel a stream.

Cancel Multiple

Only the sender can cancel multiple streams.

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.

  • Only if the stream is transferable.

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, an approved NFT operator, or the sender can withdraw assets from multiple streams.

  • 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 of each stream.