> For the complete documentation index, see [llms.txt](https://keypal.gitbook.io/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://keypal.gitbook.io/en/user-manual/keypal-2/tutorial/graphic-tutorial/multisig-wallet.md).

# From Zero to One: How Teams Use KeyPal to Manage a Multisig Treasury (Secure Workflow)

#### <mark style="color:$primary;">1. Tutorial Objectives</mark>

1. Create an EVM contract multisig wallet address in TokenPocket (EVM used as example; BTC/Tron/Solana and other heterogeneous chains are also supported);
2. Add multiple KeyPal 2 hardware wallet addresses as Owners and complete collaborative multisig signing in subsequent transactions.

This setup fits <mark style="color:orange;">**team treasuries**</mark>, <mark style="color:orange;">**project fund management**</mark>, and <mark style="color:orange;">**family shared custody**</mark>: it avoids single private-key risk by distributing authorization across multiple people/devices. EVM multisig is essentially smart-contract-based multisig, so on-chain gas is required at creation.

{% hint style="info" %}
TokenPocket multisig is based on Gnosis Safe / Safe{Wallet}.\
You can recover the current multisig contract address in Safe or any wallet compatible with the Safe protocol, and continue multisig management.
{% endhint %}

***

#### <mark style="color:$primary;">2. Prerequisites</mark>

* Latest TokenPocket App installed
* At least 2–3 available signing addresses (preferably held by different people)
* Some addresses should come from [KeyPal 2 hardware wallets (recommended)](https://www.keypal.store/)
* 1 wallet address to pay deployment gas (can be a hot wallet)
* Clear multisig parameters in advance (e.g., 2/3, 3/5)

EVM multisig supports configurable Owners (up to 30) and minimum confirmations; creation is an on-chain contract action and requires gas.

***

#### <mark style="color:$primary;">3. Key Concepts</mark>

**1) Owners**

The set of management/signing addresses for the multisig wallet.\
You can add on-chain addresses exported from KeyPal 2 as Owners.

**2) Threshold**

Minimum number of confirmations required.\
For example:

* 2/3: any 2 of 3 Owners can execute
* 3/5: any 3 of 5 Owners can execute

**3) Transaction Queue**

A multisig transaction is not executed immediately after initiation.\
It enters a queue first, then executes after reaching the signature threshold.

***

{% stepper %}
{% step %}

### <mark style="color:$primary;">Hands-on Steps (EVM Contract Multisig)</mark>

**Step 1: Open multisig wallet creation**

Open TokenPocket → top-right “Wallet” → “Multisig Wallet”.

<figure><img src="https://1097923530-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVKafggIi43De3eRpDPwS%2Fuploads%2FvuNwI0p6XjYYsqPeFDpX%2F%E5%9B%BE%E7%89%87.png?alt=media&amp;token=667e3661-3e08-4ba2-a8f1-ec37288ceefd" alt="" width="375"><figcaption></figcaption></figure>

**Step 2: Choose EVM chain**

Select the chain where you want to deploy multisig (e.g., Ethereum / BNB Chain / Arbitrum / Base).\
Prefer the chain where your main treasury assets are located to reduce cross-chain ops complexity.

<figure><img src="https://1097923530-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVKafggIi43De3eRpDPwS%2Fuploads%2F34K9AKCs8jWEzFWEi1Bl%2F%E5%9B%BE%E7%89%87.png?alt=media&amp;token=b4a2de3d-c3df-48f6-afdc-6770e06469bf" alt="" width="375"><figcaption></figcaption></figure>

**Step 3: Configure multisig parameters**

Fill in:

* Multisig wallet name: local display only, not on-chain
* Owners: add multiple signing addresses (include KeyPal 2 addresses here)
* Minimum confirmations: e.g., 2/3, 3/5
* Payer wallet: address used to pay deployment gas

<figure><img src="https://1097923530-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVKafggIi43De3eRpDPwS%2Fuploads%2FrKq2CwG3V0Wd4ZPVXbY0%2F%E5%9B%BE%E7%89%87.png?alt=media&amp;token=d6db2861-f0e6-4e0d-81dd-efeb78d49708" alt="" width="375"><figcaption></figcaption></figure>

**Step 4: Generate and create**

After confirming details, create multisig and complete the on-chain transaction.\
Once confirmed, you get a contract multisig address (your team treasury address).

<figure><img src="https://1097923530-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVKafggIi43De3eRpDPwS%2Fuploads%2FphYn7yLMPwb2aLGjktAr%2F%E5%9B%BE%E7%89%87.png?alt=media&amp;token=2465cf27-f261-4df0-93b2-5522d6e58f76" alt="" width="340"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### <mark style="color:$primary;">Add KeyPal 2 addresses into multisig</mark>

**Option A: Add during creation (recommended)**

In Step 3, put KeyPal 2 addresses directly into Owners.\
After creation, those addresses are native signing members.

<figure><img src="https://1097923530-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVKafggIi43De3eRpDPwS%2Fuploads%2F06ipsn5vPPd2nLm0RHya%2F%E5%9B%BE%E7%89%87.png?alt=media&amp;token=7da912c0-7fb8-4bc6-ad54-3710ebe8ec82" alt=""><figcaption></figcaption></figure>

**Option B: Add after creation via management**

Enter multisig wallet details → Management → submit “Add/Replace Owner” proposal.\
This proposal also follows multisig flow and takes effect after threshold signatures.
{% endstep %}

{% step %}

### <mark style="color:$primary;">How to sign with KeyPal 2</mark>

Standard signing flow (transfer example):

1. Any Owner initiates a transaction (transfer/contract call);
2. Transaction enters queue (Pending);
3. Other Owners confirm one by one;
4. KeyPal 2 holder verifies on hardware and signs (via BLE/QR based on your setup);
5. Once threshold is met, transaction is executed on-chain.
   {% endstep %}

{% step %}

### <mark style="color:$primary;">Parameter Recommendations</mark>

**Small Team (3 people)**

* Owners: 3
* Threshold: 2 (2/3)
* Good for: balance of efficiency and security

**Core Treasury (5 people)**

* Owners: 5
* Threshold: 3 (3/5)
* Good for: medium-to-large pools

**High-Value Vault**

* Owners: 5–7
* Threshold: 4 or above
* Combine with: at least 2 KeyPal 2 addresses + geographically separated custody
  {% endstep %}

{% step %}

### <mark style="color:$primary;">Security Best Practices</mark>

* Do not place all Owners on the same device type (mix hot wallets and hardware wallets)
* Keep KeyPal 2 devices under different custodians; avoid one person controlling multiple keys
* Use two-step execution for large transfers: small test first, then formal transaction
* Verify before every signature: destination address, amount, chain, gas
* Reserve one emergency Owner for device failure/personnel changes
* Avoid N/N thresholds (e.g., 3/3), otherwise losing 1 key may permanently lock funds
  {% endstep %}
  {% endstepper %}
