statechannels docs

Welcome to the statechannels documentation site!


The statechannels project consists of a set of open-source protocols, smart contracts, interfaces and software that enable blockchain applications to run "off chain" on state channel networks.

The applications in question might involve conditional (micro)payments, decentralized gaming, token trading, or any other application that might run on a blockchain: although state channels are most useful when a small and fixed number of participants want to transact with high frequency.

Running those applications "off chain" means avoiding most of the monetary and time costs associated with blockchain transactions, as well as increasing privacy.

This site is a work in progress, and documents the parts of our stack which we feel are mature enough for the wider community to tinker with.

๐ŸŽฎ Node.js Application developers

This section is for any developers who want to get started writing a server-side application that runs statechannels tech, without having to spend time understanding how the underlying protocols work. These developers:

  • Need to write a single Solidity contract implementing the ForceMoveApp interface
  • Are happy to lean on our state channels wallet library code.

โš™๏ธ Engineers and Researchers

This section is for anyone looking for a deeper dive: Want to understand how our contracts implement the protocols set out in our whitepapers? Want to improve our implementation (e.g. to patch a vulnerability or reduce gas consumption)? This section is for you.

This section accompanies our smart contracts (hosted on github and available as a part of the npm package @statechannels/nitro-protocol), which implement a state channel protocol outlined in the nitro white paper.

There's an autogenerated API reference for the contracts, as well as a quick-start guide and implementation notes.


Checkout our protocol tutorial!

Last updated on by geoknee