Skip to content
This repository has been archived by the owner on Mar 15, 2023. It is now read-only.

Streamflow Community program (inaptly named) deployed on Solana mainnet.


Notifications You must be signed in to change notification settings


Repository files navigation


Disclaimer: This is a Community (free and open-source) version of a Streamflow protocol. It has limited set of features and is provided as is, without support.

Reference implementation (also free and open-source, implemented in Anchor) that uses this protocol (as crate) is available here. That program is deployed on Solana mainnet with the program ID: 8e72pYCDaxu3GqMfeQ5r8wFgoZSYk6oua1Qo9XpsZjX

To interact with Streamflow protocol (commercial version with full feature set), you can use the application, JS SDK or Rust SDK.

Security audit passed. Report here.

This Rust crate provides SPL timelock functionalities that can be used "out of the box" and integrated in other Solana programs.

Functionalities are:

  • create a vesting contract.
  • withdraw from a vesting contract.
  • cancel a vesting contract.
  • transfer_recipient of a vesting contract.

High level overview


Check the docs to get familiar with the crate. Or check the reference program implementation where this crate is used.

Run python3 misc/ > OUTPUT_FILE.js to generate JS IDL to be used for easy (de)serialization of the program account data structs.