Multi-Sig
GX Core includes a native Layer 1 multi-signature wallet system. Multi-sig wallets require multiple signers to approve a transaction before it can be executed, providing enhanced security for protocol operations, treasury management, and high-value accounts.
Overview
Unlike EVM-based multi-sig wallets (such as Safe/Gnosis), GX Core’s multi-sig is implemented natively in the L1 execution layer. This means multi-sig transactions are processed at native speed without EVM overhead, and the signing mechanism uses the same EIP-712 typed data signatures used for all GX Chain operations.
Specification
| Parameter | Value |
|---|---|
| Maximum signers | 10 |
| Minimum signers | 2 |
| Threshold | Configurable (e.g., 2-of-3, 3-of-5, 7-of-10) |
| Signing standard | EIP-712 typed data |
| Transaction types | Transfers, withdrawals, staking, governance, contract calls |
| Nonce tracking | Per multi-sig address, sequential |
How It Works
Creating a Multi-Sig Wallet
- Specify the list of signer addresses (up to 10 Ethereum addresses)
- Set the threshold (minimum number of signatures required to execute a transaction)
- Submit a creation transaction signed by the initiating address
- The multi-sig wallet address is deterministically derived from the signer set and threshold
Proposing a Transaction
- Any signer can propose a transaction (transfer, staking action, governance vote, etc.)
- The proposal is stored on GX Chain with a unique nonce
- Other signers are notified of the pending proposal
Signing and Execution
- Each signer reviews the proposal details
- Signers submit their EIP-712 signatures approving the transaction
- When the threshold is reached (e.g., 3 of 5 signers have signed), the transaction is executed automatically
- If the threshold is not reached within the expiry window, the proposal expires
Proposal:
action: "transfer"
to: "0xRecipient..."
amount: "100000 USDC"
nonce: 7
expiry: block_height + 10000
Signer 1: signs -> 1/3 threshold
Signer 2: signs -> 2/3 threshold
Signer 3: signs -> 3/3 threshold -> EXECUTEDUse Cases
| Use Case | Example Configuration |
|---|---|
| Protocol treasury | 3-of-5 multi-sig controlling treasury funds |
| Bridge guardian | 4-of-7 validator quorum for withdrawal approvals |
| Team operations | 2-of-3 for routine operational transactions |
| High-value accounts | 2-of-2 for personal security (e.g., hardware + software wallet) |
| DAO governance execution | 5-of-9 multi-sig for executing governance decisions |
Security Properties
| Property | Description |
|---|---|
| No single point of failure | No single compromised key can authorize a transaction |
| Transparent on-chain | All proposals and signatures are recorded on GX Chain |
| Deterministic addresses | Multi-sig addresses are derived deterministically from the signer set |
| Replay protection | Sequential nonce prevents transaction replay |
| Expiry | Proposals expire if not fully signed within the window |
Comparison with EVM Multi-Sig
| Feature | GX Core Multi-Sig | EVM Multi-Sig (e.g., Safe) |
|---|---|---|
| Runtime | Native Rust (L1) | EVM smart contract |
| Gas cost | Zero (native operation) | EVM gas per signature submission |
| Max signers | 10 | Unlimited |
| Signing standard | EIP-712 | EIP-712 |
| Latency | Block-native (near-instant) | Depends on EVM gas/block inclusion |
| Composability | GX Core operations | Any EVM contract call |
The native multi-sig is optimized for protocol operations. For complex smart contract interactions that require EVM composability, users can deploy a standard Safe multi-sig on the GX EVM.