TumbleBit Implementation in .NET Core



TumbleBit implementation in .NET Core.

Check out the in-depth user guide on the Wiki




Cross-platform library, based on "TumbleBit: An Untrusted Bitcoin-Compatible Anonymous Payment Hub". Another implementation can be found on the official repository of TumbleBit. An "easy" to understand explanation of the protocol has been presented by Ethan Heilman and Leen Al Shenibr at Scaling Bitcoin Milan.


This implementation is compatible with .NETCore 1.1 (as of today counter intuitively named dotnet-dev-1.0.0-preview2.1-003177) and works on Windows, Linux, Mac or Docker.

You need to install dotnet core on your system as instructed on .NET Core installation guide.

You will also need a synchronized Bitcoin Full node (pruned nodes also work), with the RPC server running.

Project status

The current version has an implementation of:

  • Puzzle Solver Algorithm
  • Puzzle Promise Algorithm
  • TumbleBit: Classic Tumbler Mode

What is next

  1. TOR integration for Tumbler server and client
  2. Localhost website as user interface for Tumbler server and Tumbler Client.
  3. TumbleBit: Uni-directional Paymen Hub Mode

Developing on Linux or Mac

We recommend that you use Visual Studio Code, which is free IDE supporting C# development and testing.

Developing on Windows

We recommend that you use Visual Studio 2015 Update 3 (free) for building and running the tests. You can of course use Visual use command line or Visual Studio Code as well.


Special thanks to Ethan Heilman and Leen AlShenibr for their work, their research and proof of work made this project possible.