Safeguard your financial privacy with zero-knowledge proofs.

Overview

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.

You might also like...
Vector OLE and zero-knowledge for Z2k.

Mozzarella Benchmarking Code This repository contains the code developed for the benchmarking experiments in our paper: "Moz $\mathbb{Z}_{2^k}$ arella

Zero Knowledge Light Client Implementation by Zpoken team.

zkp for chain state Prerecusites This project requires using the nightly Rust toolchain, which can be used by default in this way: rustup default nigh

A fast zero-knowledge proof friendly Move language runtime environment.
A fast zero-knowledge proof friendly Move language runtime environment.

zkMove Lite zkMove Lite is a lightweight zero-knowledge proof friendly Move language virtual machine. Move bytecode is automatically "compiled" into c

Spartan2: High-speed zero-knowledge SNARKs.

Spartan2: High-speed zero-knowledge SNARKs. Spartan is a high-speed zkSNARK, where a zkSNARK is type cryptographic proof system that enables a prover

Implementation of zero-knowledge proof circuits for Tendermint.

Tendermint X Implementation of zero-knowledge proof circuits for Tendermint. Overview Tendermint X's core contract is TendermintX, which stores the he

Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.
Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.

Note to readers: On December 1, 2020, the Libra Association was renamed to Diem Association. The project repos are in the process of being migrated. A

Financial maths library for risk-neutral pricing and risk

QuantMath Financial maths library for risk-neutral pricing and risk Api Documentation Goals Some quant math libraries are really just a collection of

Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.
Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.

Note to readers: On December 1, 2020, the Libra Association was renamed to Diem Association. The project repos are in the process of being migrated. A

A command line tool for managing financial investment portfolios written in Rust.
A command line tool for managing financial investment portfolios written in Rust.

A command line tool for managing financial investment portfolios written in Rust. This project is the modern successor of finance. Installation You ca

Owner
Spinner
Private Transactions for ICP and BTC
Spinner
gRPC client/server for zero-knowledge proof authentication Chaum Pederson Zero-Knowledge Proof in Rust

gRPC client/server for zero-knowledge proof authentication Chaum Pederson Zero-Knowledge Proof in Rust. Chaum Pederson is a zero-knowledge proof proto

Advaita Saha 4 Jun 12, 2023
Noir is a domain specific language for zero knowledge proofs

The Noir Programming Language Noir is a Domain Specific Language for SNARK proving systems. It has been designed to use any ACIR compatible proving sy

null 404 Jan 1, 2023
STARK - SNARK recursive zero knowledge proofs, combinaison of the Winterfell library and the Circom language

STARK - SNARK recursive proofs The point of this library is to combine the SNARK and STARK computation arguments of knowledge, namely the Winterfell l

Victor Colomb 68 Dec 5, 2022
RISC Zero is a zero-knowledge verifiable general computing platform based on zk-STARKs and the RISC-V microarchitecture.

RISC Zero WARNING: This software is still experimental, we do not recommend it for production use (see Security section). RISC Zero is a zero-knowledg

RISC Zero 653 Jan 3, 2023
Open-source tool to enforce privacy & security best-practices on Windows and macOS, because privacy is sexy 🍑🍆

privacy-sexy Open-source tool to enforce privacy & security best-practices on Windows and MacOs, because privacy is sexy ?? ?? privacy-sexy is a data-

Subconscious Compute 3 Oct 20, 2022
Bitcoin Push Notification Service (BPNS) allows you to receive notifications of Bitcoin transactions of your non-custodial wallets on a provider of your choice, all while respecting your privacy

Bitcoin Push Notification Service (BPNS) Description Bitcoin Push Notification Service (BPNS) allows you to receive notifications of Bitcoin transacti

BPNS 1 May 2, 2022
A Software Development Kit (SDK) for Zero-Knowledge Transactions

Aleo SDK The Aleo SDK is a developer framework to make it simple to create a new account, craft a transaction, and broadcast it to the network. Table

Aleo 270 Jan 5, 2023
Zerocaf: A library built for EC operations in Zero Knowledge.

Dusk-Zerocaf WARNING: WIP Repo. Fast, efficient and bulletproof-friendly cryptographic operations. This repository contains an implementation of the S

Dusk Network 50 Oct 31, 2022
Zero-Knowledge Assembly language and compiler

zkAsm A Zero-Knowledge circuit assembly language, designed to represent Zero-Knowledge circuits in a compressed format, to be stored on blockchains. I

null 1 Dec 30, 2021
OpenZKP - pure Rust implementations of Zero-Knowledge Proof systems.

OpenZKP OpenZKP - pure Rust implementations of Zero-Knowledge Proof systems. Overview Project current implements ?? the Stark protocol (see its readme

0x 529 Jan 5, 2023