Skip to main content

Stream Statuses

A Lockup stream can have one of five distinct statuses:

StatusDescription
PENDINGStream created but not started; tokens are in a pending state.
STREAMINGActive stream where tokens are currently being streamed.
SETTLEDAll tokens have been streamed; recipient is due to withdraw them.
CANCELEDCanceled stream; remaining tokens await recipient's withdrawal.
DEPLETEDDepleted stream; all tokens have been withdrawn and/or refunded.

Temperature

A stream status can have one out of two "temperatures":

TemperatureStatusesDescription
WarmPending, StreamingThe passage of time alone can change the status.
ColdSettled, Canceled, DepletedThe passage of time won’t affect the status anymore.

State transitions

The following diagram illustrates the statuses and the allowed transitions between them:

Q&A

Q: What is a null stream?

A: An id that does not reference a created stream. Trying to interact with a null stream will result in a revert.

Q: What to do with a stream status?

A: Knowing the status of a stream can inform your decision making. For example, if a stream is canceled, you know that you can't cancel it again. Or, if a stream is depleted, you know that you can't withdraw any more tokens from it.

Q: How can a stream enter the SETTLED status directly?

A: This is a peculiarity of the Lockup Dynamic streams. Segment amounts can be zero, and the segment milestones can be set in such a way that all non-zero segments are in the past. This will cause the stream to enter the SETTLED status directly.