keygate-vault / multisignature

A cross-chain decentralized smart account.
https://www.keygate.io
0 stars 0 forks source link
blockchain multisig wallets

This project is still in Alpha. We are happy to answer questions if they are raised as issues in this github repo.

Internet Computer portal GitHub license Tests Status

ezgif-5-dfd7aa9f99

Keygate Vault

A cross-chain decentralized multisignature platform built for the Internet Computer Protocol (ICP). Keygate simplifies the management of multi-party digital assets by providing a secure, flexible, and user-friendly infrastructure for creating and managing multisignature wallets.

Overview

Keygate is an innovative multisignature platform built natively for the Internet Computer Protocol (ICP) with cross-chain capabilities. Inspired by traditional banking's multi-approval systems, Keygate aims to bring enterprise-grade security and flexibility to digital asset management, enabling both individuals and organizations to manage their assets with customizable approval workflows.

Vision

Our vision with Keygate is to democratize institutional-grade digital asset management. The multisignature wallet is our flagship application, demonstrating the potential of ICP's secure architecture while providing essential functionality for multi-party asset management. The core of our innovation lies in the platform's flexibility, which enables users to create anything from simple dual-signature wallets to complex enterprise approval systems.

System Architecture

block-beta
  columns 1
    block:FRONTEND
      dashboard["Dashboard Canister<br />(User Interface)"]
      central["Central Canister<br />Wallet Management"]
    end
    space
    block:CORE
      account["Account Canister<br/>Multi-signature Logic"]
    end
    space
    block:LEDGER
      icp["ICP Ledger<br />Native Transfers"]
      icrc["ICRC Ledger<br />Token Standards"]
    end
    dashboard --> account
    central --> account
    account --> icp
    account --> icrc
    style account stroke:#00ffcc,stroke-width:2px
    style dashboard stroke:#00ffcc,stroke-width:2px
    style central stroke:#00ffcc,stroke-width:2px

Components

Build and Deploy

Requirements

Please make sure you have the following installed:

Quick Start

  1. Clone and setup:

    git clone git@github.com:keygate-vault/multisignature.git
    cd multisignature
    npm install
  2. Deploy locally:

    dfx start --clean --background
    ./deployment.sh

Development Commands

Test ICP transfers:

dfx ledger transfer <vault_account_id> --amount 100 --memo 1 --network local --identity minter --fee 0

Test ICRC1 operations:

# Transfer
dfx canister call icrc1_ledger_canister icrc1_transfer '(
  record {
    from_subaccount = null;
    to = record {
      owner = principal "avqkn-guaaa-aaaaa-qaaea-cai"
    };
    amount = 200_000_000_000;
    fee = opt 0;        
    memo = null;
    created_at_time = null;
  }
)'

# Check balance
dfx canister call icrc1_ledger_canister icrc1_balance_of '(
  record {
    owner = principal "avqkn-guaaa-aaaaa-qaaea-cai";
    subaccount = null;
  }
)'

Security Features

Roadmap

Contributing

This project is currently in beta and welcomes contributions. Please read our Contributing Guidelines before submitting pull requests.

Show your support

If you find this project valuable, please give it a star ⭐️

Your support motivates us to continue improving the platform and bringing institutional-grade security to digital asset management.