Waffle Documentation


Waffle is a library for writing and testing smart contracts.

Sweeter, simpler and faster than Truffle.

Works with ethers-js.


  • Simpler: Minimalistic, few dependencies.
  • Sweeter: Nice syntax, easy to extend.
  • Faster: Focus on the speed of tests execution.


  • Sweet set of chai matchers
  • Easy contract importing from npm modules
  • Fast compilation with native and dockerized solc
  • Typescript compatible
  • Fixtures that help write fast and maintainable test suites
  • Well documented

Versions and ethers compatibility

  • Use version 0.2.3+ with ethers 3.* and solidity 4.*
  • Use version 1.0.0+ with ethers 4.* and solidity 4.*
  • Use version 2.0.5-beta with ethers 4.*; solidity 4, 5 and to use experimental native solc and dockerized solc.