Streamflow is a token vesting and streaming payments platform.
There are several ways to use Streamflow:
- (easiest) app.streamflow.finance (React application that uses JS SDK directly)
- JS SDK to interact with the protocol => NPM package
- Rust SDK to integrate within a Solana program => Rust Crate
Security audit passed ✅
Protocol audits available here.
Partner oracle audit available here.
API Documentation available here: docs site →
This repo consists of js-sdk to interact with several protocol exposed by streamflow:
packages/stream
- Core Streamflow Protocol that allows to create a vesting/payment/lock Stream to a Recipient;packages/distributor
- Distributor Streamflow Protocol that allows to Airdrop tokens to large amount of Recipients (thousands or even millions);packages/common
- Common utilities and types used by Streamflow SDK;
npm i -s @streamflow/stream
# or
yarn add @streamflow/stream
npm i -s @streamflow/common @streamflow/distributor
# or
yarn add @streamflow/common @streamflow/distributor
For web browser runtimes polyfills might be required. SDKs use node:
prefixed modules, for instance: node:crypto
. However, transitive 3rd parties might use non-prefixed modules so both ways of importing should be polyfilled.
The easiest way to achieve it is using a bundler's plugin. For polyfills take a look on these libraries:
- Vite - https://www.npmjs.com/package/vite-plugin-node-polyfills
- Rsbuild - https://github.com/rspack-contrib/rsbuild-plugin-node-polyfill
- Webpack - https://www.npmjs.com/package/node-polyfill-webpack-plugin
To contribute to this repository, please follow these steps:
- Fork the repository
- Clone your forked repository
- Navigate to the
/packages
folder - Install dependencies using pnpm:
pnpm install
- Build the project:
pnpm build
- Make your changes
- Commit and push your changes
- Create a pull request
Please ensure that you have pnpm installed on your system before contributing.
Stay updated on our X/Twitter.