Skip to content

keygate-io/multisignature

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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
Loading

Components

  • Dashboard Canister: The main interface for users to interact with their multisignature wallets. Handles user management, transaction visualization, and approval workflows.
  • Central Canister: Manages wallet deployment and upgrades. Controls the lifecycle of account canisters.
  • Account Canister: The core multisignature implementation. Handles transaction proposals, approvals, and execution.
  • Ledger Integration: Native support for both ICP and ICRC token standards.

Build and Deploy

Requirements

Please make sure you have the following installed:

Quick Start

  1. Clone and setup:

    git clone [email protected]: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

  • Multi-layer approval system
  • Customizable transaction thresholds
  • Secure canister architecture
  • Comprehensive transaction logging
  • Identity-based access control

Roadmap

  • Basic multisignature functionality
  • ICP and ICRC1 support
  • Ethereum L1 and L2 support
  • Additional blockchain integrations
  • Advanced approval workflows
  • Hardware wallet support
  • Mobile application

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.