Streamflow
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/make_idl.py > OUTPUT_FILE.js
to generate JS IDL to be used for easy (de)serialization of the program account data structs.