This project is still in Alpha. We are happy to answer questions if they are raised as issues in this github repo.
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.
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.
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.
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
- 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.
Please make sure you have the following installed:
-
Clone and setup:
git clone [email protected]:keygate-vault/multisignature.git cd multisignature npm install
-
Deploy locally:
dfx start --clean --background ./deployment.sh
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;
}
)'
- Multi-layer approval system
- Customizable transaction thresholds
- Secure canister architecture
- Comprehensive transaction logging
- Identity-based access control
- Basic multisignature functionality
- ICP and ICRC1 support
- Ethereum L1 and L2 support
- Additional blockchain integrations
- Advanced approval workflows
- Hardware wallet support
- Mobile application
This project is currently in beta and welcomes contributions. Please read our Contributing Guidelines before submitting pull requests.
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.