A custody service enabling teams to efficiently share encryption and decryption ability without exposing secrets.
Based on the BIP44 hierarchy for BIP32 HD wallets.
Available coins in BIP44
Cryptocurrency application development teams need to be able to share the ability to sign encrypted messages. However, they do not need to share the encryption secrets themselves.
This could be used to allow trusted parties to spend from wallets without giving access to the wallet away.
Our goal was to build a siloed, custody microservice that could provide cryptographic signing ability to team members.
- An inherent permission hierarchy in BIP44+ hierarchy, i.e. account-
0
can sign for account-1/2/3/...
's keys but not vice versa - Sharded encryption of root secret
- Address whitelisting
- Transfer value limits
Sign AZTEC-based private transactions. Eventually, integrate an AZTEC mixer to the Ethereum wallet forcing all transactions to be private.
- Enter secrets in a
.env
file, using the.env.sample
as a template - MongoDB username and password
node index
starts custody DB and user DB servers, edit ports in.env.
-
cd client && npm run build
to build the client website fromsrc/
intobuild/
-
npm run start
to run the client in dev mode orserve -s build
to run the prebuilt client
-
edit server URL's to configure connection to custody DB and user DB servers