/spinner

Safeguard your financial privacy with zero-knowledge proofs.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Spinner

The Spinner project (https://spinner.cash) takes a privacy first approach to protect users crypto assets.

It is a layer-2 protocol built on the Internet Computer with the following features:

  • Private transactions for ICP (and soon BTC).
  • Shield: deposit public tokens to a private ledger, which records only hashes, not user address, not even the amount of tokens.
  • Unshield: withdraw shielded tokens to the public ledger, without revealing sender's identity.
  • Fully private transfers of shielded tokens.
  • Secure and verifiable deployment by construction (via LaunchTrail).
  • Private exchange between shielded tokens (coming soon).
  • Fully autonomous and owned by DAO (comming soon).

How it works

Spinner is in beta testing. It does not require any wallet or login. Simply send a small amount of ICP to the public deposit address (which is randomly generated from your browser) to start using it.

To understand how Spinner works, please check out the explainer video we prepared for the Supernova Hackathon.

For developers

You are welcome to checkout our source code and deploy locally. You will need the following tools installed before you start:

To install and compile everything:

yarn install --pure-lockfile
make -C data && make -C circuits && make -C actors

To deploy a version of Spinner locally, you have to go into the actors directory, and start dfx:

cd actors
make dfx.json && dfx start --background

Then you can deploy by installing all canisters (still in the actors directory):

make deploy MODE=install

This will download LaunchTrail, install a local copy, and use it to install everything else. Once it is done, you can continue to use the regular dfx command to make calls to canisters. But all administrative operations will have to go through LaunchTrail.

Please feel free to submit bug reports or feature requests on Github.

Unless otherwise noted, all source codes are original and released under GPLv3. Please make sure you understand the requirement and risk before using them in your own projects.