Skip to main content
The sender can pause a vesting stream at any time to temporarily freeze vesting. Paused time is excluded from all future vesting calculations.

Pause

1

Open the stream

Go to Streams and select the active stream.
2

Click Pause

Click Pause Stream. Sign the transaction with the sender wallet.
3

What happens on-chain

The pause_start field in the NFT commitment is set to tx.locktime. Status changes to PAUSED. No tokens are moved.
Pause requires FLAG_CANCELABLE (0x01) to be set on the stream. Non-cancelable streams cannot be paused.

Resume

1

Click Resume

On the stream detail page, click Resume Stream. Sign with the sender wallet.
2

What happens on-chain

The cursor advances by the pause duration:
newCursor = cursor + (tx.locktime - pause_start)
pause_start is reset to 0. Status returns to ACTIVE.

Effect on Vesting Math

After resume, all vesting calculations use the updated cursor instead of the original startTimestamp:
elapsed     = tx.locktime - cursor   # cursor has absorbed pause duration
vestedTotal = (totalAmount × elapsed) / duration
claimable   = vestedTotal - totalReleased
The recipient receives the same total amount — only the duration shifts forward.

Example

EventTimeCursorVested
DeployT=0T=00%
6 months passT=6mT=050%
PauseT=6mT=050%
3 months paused50% (frozen)
ResumeT=9mT=3m50% (as if T=6m)
6 more monthsT=15mT=3m100%
The total vesting duration is 12 months of active time, as originally configured.

API

POST /api/streams/:id/pause
POST /api/streams/:id/resume