Skip to content

davidsemakula/substrate-vault

Repository files navigation

Kuuma: Substrate Vault

The easiest way to create and manage Substrate Vaults with complex hierarchical and granular transaction approval policies.

Project Description

Kuuma is an app that provides a simple user interface for creating and managing Substrate "vaults" with complex hierarchical and granular transaction approval policies.

A "vault" is a high-level keyless account abstraction that uses a pure/anonymous proxy as the user-facing account/address that is in turn controlled by other proxy accounts, that can be standard accounts (private key accounts), multi-signature accounts or even other pure/anonymous proxies, based on complex hierarchical and granular transaction approval policies.

Kuuma leverages the composability of Substrate's robust and powerful account primitives to provide features like:

  • Complex and hierarchical transaction approval policies (e.g. either the CEO alone, or the CFO and COO together, or any other combination of 3 executives can approve transactions).
  • Granular access control based on the type of transaction and role of the signatories by leveraging the different delegation types available for proxy accounts (e.g different sets of approval policies and signatories for transfers, staking, governance, auctions etc).
  • Account and/or key rotation and approval policy changes while preserving the same user-facing vault address.
  • Ability to prevent destructive and unrecoverable proxy related actions when using the Kuuma interface (e.g. not allowing users to remove the last any type proxy from a vault).

To minimize the risk of potentially destructive approval policy management actions due to order of execution of approval policy management transactions, Kuuma executes all changes to approval polices as batchAll calls which are atomically executed.

The Problem

Substrate provides very robust and powerful account primitives including proxy, pure/anonymous proxy, multi-signature and standard (private key) accounts which can be composed into complex and flexible high-level abstractions to model complex real-world account relationships and access control structures.

However, there are very few foolproof and user-friendly UI (user interface) tools that allow non-technical users to leverage these capabilities to create and manage accounts with complex hierarchical and granular transaction approval policies for both personal and corporate use. Kuuma aims to change this.

Technology

Kuuma's functionality relies on the proxy, mutlisig and utility pallets which it interacts with through the @polkadot/api library.

Instructions

For Demos and Testing

For Developers

Install dependencies

yarn install

Start a local dev server.

yarn start

Go to http://localhost:3000/ to use the app

License

This code is released under GPL-3.0

About

Kuuma: Substrate Vault with complex hierarchical and granular transaction approval policies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published