Skip to content


Switch branches/tags

Latest commit

build: upgrade truffle to v5.5.3
chore: remove "gas" and "gasPrice" field from network configs
refactor: check for MNEMONIC at the top of the "truffle-config.js" file
refactor: use websocket instead of https for infura URL

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Sablier CircleCI Coverage Status Styled with Prettier Commitizen Friendly License: LGPL3.0

A protocol for money streaming. Start with our FAQ if you want to learn how Sablier works at the high-level, and check our docs if you want to integrate it in your project.

Package Description
@sablier/dev-utils Dev utils to be shared across Sablier projects and packages
@sablier/protocol Money streaming protocol
@sablier/shared-contracts Smart contracts to be shared across Sablier projects and packages

Usage ⚒️

To compile the smart contracts, bootstrap the monorepo and open the package you'd like to work on. For example, here are the instructions for @sablier/protocol:

$ yarn run bootstrap
$ cd packages/protocol
$ truffle compile --all
$ truffle migrate --reset --network development

Alternatively, if you simply want to use our apps, head to to create streams and to withdraw from streams. You'll need an Ethereum wallet and some ERC20 tokens.

Contributing 🙋‍♀️

We highly encourage participation from the community to help shape the development of Sablier. If you are interested in contributing or have any questions, ping us on Discord.

We use Yarn as a dependency manager and Truffle as a development environment for compiling, testing, and deploying our contracts. The contracts were written in Solidity.


  • yarn >=1.17.3
  • truffle >= 5.0.35
  • solidity 0.5.17

Pre Requisites

Make sure you are using Yarn >=1.17.3 To install using homebrew:

$ brew install yarn

Then install dependencies:

$ yarn install


To re-build all packages on change:

$ yarn watch


To clean all packages:

$ yarn clean

To clean a specific package:

$ PKG=@sablier/protocol yarn clean


To lint all packages:

$ yarn lint

To lint a specific package:

$ PKG=@sablier/protocol yarn lint


To run prettier on all packages:

$ yarn prettier

Prettier cannot be run on individual packages.


To run all tests:

$ yarn test

To run tests in a specific package:

$ PKG=@sablier/protocol yarn test