# Mimir Introduction

Mimir is dedicated to providing advanced multisig account management solutions. We've focused on key features that significantly enhance user experience within the Polkadot network:

1. **Support for Various Polkadot Account Types:** Mimir accommodates a diverse range of account types, including Flexible Multisig, Static Multisig, Nested Multisig, and Extension Wallets.
2. **More convenient interaction experience**: Mimir provides users with various easy-to-use tools to simplify transaction initiation, such as Call Template, Batch Transaction, and Proposer.
3. **Third-Party Application Integration:** Users can directly access applications using their multisig identities. We currently support 10+ applications cover staking, OpenGov, identity and etc.

Mimir is funded by Polkadot Treasury


# Mechanism

**Multisig:**

{% content-ref url="/pages/etuILnkKunYRG7pqyp2k" %}
[Multisig Introduction](/product-introduction/mechanism/multisig-introduction)
{% endcontent-ref %}

**Proxy:**

{% content-ref url="/pages/A2zLxwGNZaQwYnwCuN2O" %}
[Proxy Introduction](/product-introduction/mechanism/proxy-introduction)
{% endcontent-ref %}


# Multisig Introduction

&#x20;A multisig is composed of one or more addresses and a threshold. The threshold defines how many signatories (participating addresses) need to agree on submitting an extrinsic for the call to be successful.

For example, Alice, Bob, and Charlie set up a multisig with a threshold of 2. This means Alice and Bob can execute any call even if Charlie disagrees with it. Likewise, Charlie and Bob can execute any call without Alice. A threshold is typically a number smaller than the total number of members but can also be equal to it, which means they all have to agree.

Multi-signature accounts have several uses:

* Securing your stash: use additional signatories as a 2FA mechanism to secure your funds. One signer can be on one computer, and another can be on another or in cold storage. This slows down your interactions with the chain but is orders of magnitude more secure.
* Board decisions: legal entities such as businesses and foundations use multisigs to govern over the entity's treasury collectively.
* Group participation in governance: a multisig account can do everything a regular account can. A multisig account could be a council member in Kusama's governance, where a set of community members could vote as one entity.

<figure><img src="/files/XMLnACJYfIqg5HI7LdtW" alt=""><figcaption></figcaption></figure>

**Reference**

{% embed url="<https://wiki.polkadot.network/docs/learn-account-multisig>" %}


# Proxy Introduction

### Proxy:

Proxies allow users to use an account (it can be in cold storage or a hot wallet) less frequently but actively participate in the network with the weight of the tokens in that account. Proxies are allowed to perform a limited amount of actions related to specific [substrate pallets](https://docs.substrate.io/reference/frame-pallets/) on behalf of another account.

Refer-><https://wiki.polkadot.network/docs/learn-guides-accounts-proxy>


# Why Multisig/Proxy Matters In Polkadot

Proxy

In the blockchain world, **account security and fund governance** have always been core infrastructure. Whether it’s personal high-value assets, institutional treasuries, or DAO governance vaults, virtually every chain relies on **Multisig** and **Proxy** tools.

## Industry Context: The Universal Importance of Multisig

In the Ethereum ecosystem, multisig has become the de facto standard:

* Around **1% of all ETH** is managed through multisig accounts.
* Leading DAOs (such as MakerDAO, Uniswap, and Aave) rely on multisig or similar account systems to safeguard massive treasuries and governance powers.
* For cross-chain bridges, protocol treasuries, and venture funds, multisig is seen as an irreplaceable security baseline.

In short, multisig is a **prerequisite for a blockchain to mature**.

## Polkadot: Native Support, Stronger Commitment

Unlike many chains that depend on third-party smart contracts, Polkadot natively includes the **Multisig Pallet** and **Proxy Pallet**, demonstrating its strong emphasis on account security and governance.

* On Polkadot, **around 5% of all DOT is managed via multisig**, a higher ratio than Ethereum’s ETH.
* Thanks to parachain interoperability, one multisig account can be recognized and used across multiple chains. This level of flexibility is rare in other ecosystems.

Multisig and proxy are thus **infrastructure-level modules** in Polkadot.

## User Advantages in Polkadot

1. **Easier creation**: Multisig can be set up without deploying extra contracts.
2. **Cross-chain compatibility**: A single multisig account can be reused across parachains.
3. **Proxy + Multisig combination**: Enables easier adjustment of members and thresholds.
4. **Support for nested structures**: Complex account setups can be built to maximize security.

These features make Polkadot’s multisig not only a security tool, but also a governance enabler.

## Challenges Remaining

Despite its advantages, Polkadot’s multisig and proxy system still faces challenges:

**Usability Issues**

* Multisig accounts often struggle with compatibility in third-party applications.
* The rules are complex, raising the entry barrier for new users.
* While nested multisigs are powerful in theory, they are difficult to use in practice.

**Security Concerns**

* Signing risks remain, with the possibility of blind signing; cross-platform verification is still needed.
* No built-in simulation of multisig transactions, leading to wasted fees from failed executions.
* Lack of widespread best practices for advanced account architectures that maximize security.

## Conclusion

In the Polkadot ecosystem, multisig and proxy are both **safeguards and governance pillars**. They secure treasuries, enable collaborative control, and provide flexibility. But for **mass adoption**, improvements in usability and advanced security tooling are essential.


# Omni UX

Mimir is the first multi-sig product that provides an omni-chain experience.

Managing multisig transactions across different chains requires switching networks and interfaces, making the process fragmented and inefficient.

Mimir's Omni UX enables seamless cross-chain multisig management within a single interface, reducing operational friction and simplifying asset management.

## Connect not select

On the network selection page, simply toggle on the networks you wish to connect to. Mimir will automatically establish connections to these networks, and afterward, you’ll be able to initiate on-chain transactions across them without any need for manual network switching.

<figure><img src="/files/Yo5hXyC6UCxn3msaB9e7" alt=""><figcaption></figcaption></figure>

🟢: Connected

🟡: Connecting

🔴: Disconnected, you can try reconnecting or switch to a different RPC.&#x20;

## Initiate transaction with less limit

No need to switch networks—just select the appropriate network when sending the transaction.

<figure><img src="/files/s8D5955t2hC7LCnHQ87g" alt="" width="375"><figcaption></figcaption></figure>

You don't need to manage networks within Mimir—simply switch networks directly within the application. Mimir will build the transaction on the correct network for you.&#x20;

{% hint style="warning" %}
As long as the network is supported by Mimir, you don’t need to worry about being connected—Mimir will automatically handle the connection.
{% endhint %}

<figure><img src="/files/0N3RYOPYQeFF98BNy04w" alt=""><figcaption></figcaption></figure>

## Handle transactions together

The Pending Transactions page will display all pending transactions across the connected networks. You can select the networks you need— the number in parentheses indicates how many pending transactions are on each network.

<figure><img src="/files/9QuPFYj87GMDDwR14jPr" alt=""><figcaption></figcaption></figure>


# Switch to Solo mode

If you're not comfortable with the Omni version or encounter any issues, you can click the "Omni" label at the top left to switch back to Solo mode.

<figure><img src="/files/mZ0jLwcexZAYLJwSvLLd" alt=""><figcaption></figcaption></figure>

Of course, we’d love to hear your suggestions for improving the Omni version.\
If you have any ideas, feel free to reach out to us anytime!

Telegram: <https://t.me/mimirglobal>

Email: <hello@mimir.global>


# Address Format And Identity

Address display depends on the network, but under the Omni UX, your address presentation and on-chain identity still rely on a specific chain.\
In Mimir, by setting a default address format, you can control which address and Identity you want to display.

## Set Default Address Format

Click the copy button to open the address selection sidebar for copying.

<figure><img src="/files/y57eaDXV3b8yL7jTwb0w" alt=""><figcaption></figcaption></figure>

Click the 🌟 to set the address you want to display as the default—you can update it anytime from here later.

<figure><img src="/files/1MGkHbyHDZjfNUcuWz9C" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
If you select system parachains or the Relay Chain, Mimir will ensure that the People Chain remains connected.\
This is to retrieve Identity data for better account display. Unless you have a specific reason, we recommend keeping it connected.
{% endhint %}


# AI Assistant - Mimo

Mimo helps you navigate, understand, and operate Mimir’s features quickly and easily.

## Where is Mimo

Starting from version 2.30.0, you can see a ✨ button at the bottom right corner of the page. Click it to start a conversation with Mimo.

<figure><img src="/files/VkqrNSODymuA51Onfsgr" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/sCATPKSyZZEkPeDmv9mY" alt=""><figcaption></figcaption></figure>

You can drag the chatbox or the ✨ to any position on the page.

<figure><img src="/files/6bC7WiJkQ21UtYpnj0UO" alt=""><figcaption></figcaption></figure>

## What can Mimo do?

Mimo is your multisig AI assistant, it can help you with

### 1. Help you complete some interactions

Mimo can help you complete some common functions, including&#x20;

* Create new multisig
* Create new proxy
* Create a pure account
* Build a transfer transaction
* Build a batch transfer transaction

You can complete these functions simply through conversation, without any manual operations.

**Example prompt:**

Hi, i want to create a new multisig with \[address1] and \[address2]. Name is mymultisig. Threshold is 2.

### 2. Navigate to apps

You just need to tell Mimo what you want to do, and Mimo will find the most suitable app and help you direct to it.

For some commonly used features of certain apps, we’ve also added special refinements. For example, you can directly tell Mimo which proposal you want to vote on, and Mimo will navigate straight to that proposal without needing to start from the homepage.

**Example prompt:**

Hi, i want to vote on 1572.

<figure><img src="/files/gVynuixf7Sfc6UJMVnXY" alt="" width="305"><figcaption></figcaption></figure>

### 3. Answer your questions

Multisig and proxy both have some hidden rules, and Mimo can help answer some of your questions. You just need to ask, and Mimo will give you the answer.

**Example prompt:**

What is proxy deposit?

### 4. Quick setting

Mimo can quickly help you configure some Mimir features, including:

* Connecting/disconnecting specific networks
* Modifying address formats
* Hiding accounts
* Setting RPCs, etc.

**Example prompt:**

Disconnect all assethubs

<figure><img src="/files/IMws8RA0TLpMhVBJNzTE" alt="" width="293"><figcaption></figcaption></figure>

## Limitations

* Cannot execute transactions for you (only guide).
* Cannot provide token prices, financial advice, or unrelated chat.
* General chat is not available.
* ✨We still can’t achieve precise handling of networks, and if there are AI experts in the community, we’d love to seek your help.


# Asset Hub Migration

## What is Asset Hub Migration?

The main goal is to migrate all the **staking**, **governance** and **balances** functionality from the Relay Chain to Asset Hub.

### Timeline

**Westend->Westend Asset Hub:** May, 15th

**Paseo -> Paseo Asset Hub:** July, 7th (Delayed)

**Kusama -> Kusama Asset Hub:** Oct, 7th

**Polkadot -> Polkadot Asset Hub:** Nov, 4th

## What happened after the Asset Hub Migration?

### Accounts on relay chain

| <p><br></p>                           | Account                        | Assets               | PendingTransactions | Account Deposit                            | Transaction Deposit                          |
| ------------------------------------- | ------------------------------ | -------------------- | ------------------- | ------------------------------------------ | -------------------------------------------- |
| Multisig                              | Both on Relaychain & Asset Hub | Migrate to Asset Hub | Discard             | -                                          | Migrate to Asset Hub and refund to initiator |
| Normal Proxy                          | Only on Asset Hub              | Migrate to Asset Hub | -                   | Migrate to Asset Hub and refund to creator | -                                            |
| Pure Proxy(Include Flexible Multisig) | Only on Asset Hub              | Migrate to Asset Hub | Discard             | Migrate to Asset Hub and refund to creator | -                                            |
| Time-Delay Proxy                      | Only on Asset Hub              | Migrate to Asset Hub | Discard             | Migrate to Asset Hub and refund to creator | Migrate to Asset Hub and refund to initiator |

**History data won't be effected.**

### e.g

* I have one single-signature account created a multisig with **pure account**.
* I have **submitted a multisig transaction** before Assethub Migration

| DOT                        | Total | Free | Proxy Reserved       | Multisig Transaction Reserved |
| -------------------------- | ----- | ---- | -------------------- | ----------------------------- |
| Before Asset Hub Migration | 30    | 10   | 10(1 Proxy Relation) | 10(1 Pending)                 |
| After Asset Hub Migration  | 30    | 29.9 | 0.1                  | 0(Discarded)                  |

* Once i want to kill this proxy on Asset Hub, 0.1 reserved will be refunded to creator's account on **Asset Hub** .

### The better user experience on Asset Hub will include:

1. 100x reduction in existential deposit (from 1 DOT to 0.01 DOT).
2. Significantly lower (over 10x) transaction fees.
3. More assets like USDT/USDC (and all other ecosystem tokens) available to users because wallets will integrate with Asset Hub instead of the Relay Chain.
4. Unified access to DOT, assets, staking, and governance.
5. Ability to pay fees in any asset.
6. Direct access to our trustless bridge with Ethereum.

## Why is Polkadot doing this?

Polkadot’s multi-chain architecture has led to challenges for many applications and integration partners who do not yet have the tools from Parity to support these chains. An example is having assets like USDT and USDC on Asset Hub and staking on the Relay Chain. By consolidating the most commonly used logic in one chain, Polkadot hope to provide a better experience for service providers, application developers, and their end-users.Most services like wallets, tools, exchange integrations, and staking and governance dashboards will only need to connect to Asset Hub (exceptions will include some Coretime and Identity functionality), which will bring a better developer and user experience to Polkadot.

More Info: <https://www.parity.io/blog/polkadot-smartcontract-platform>

## FAQs

<https://docs.google.com/document/d/1XR3vL2p4QV0wC7FrlC8eN-q62BqNFTFElbj21wEmMGg/edit?tab=t.6yd3zdf50r9d>


# Accounts

{% hint style="info" %}
Mimir aims to be the launcher for users in the Polkadot ecosystem, therefor Mimir's account design is more aligned with the Polkadot ecosystem. Unlike Safe, extension wallets and multisig wallets will be on the same level in Mimir.&#x20;

Once a user selects an account, all subsequent transactions and application accesses will be conducted under that account as the main entity.
{% endhint %}

**Currently, the account entities we support include: Extension Account, Static Multisig, and Flexible Multisig.**

<figure><img src="/files/8QB0gcpDnE01M8qLILaH" alt=""><figcaption></figcaption></figure>

## 1. Extension

Mimir allows interactions with all single-signature accounts in the Polkadot ecosystem extension wallets. Currently, we support [Polkadot.js](https://polkadot.js.org/extension/), [Subwallet](https://www.subwallet.app/download.html), and [Talisman](https://www.talisman.xyz/download). All accounts in the extension wallets authorized by the user will be displayed under the Extension Wallet section.&#x20;

Users can access applications in Dapps using this wallet and interact with them using the extension wallet as the main entity.&#x20;

Some quick operations, such as transfers, can also be easily completed.

## 2. Multisig

In Mimir, multisig accounts are currently offered in two forms: Static Multisig and Flexible Multisig. They share some common rules:

1. Mimir supports multisig wallets as members of another multisig, which can greatly expand the real-world business scenarios of multisig.
2. The created multisig is visible to all multisig members (including members of nested multisigs).
3. If a member user needs to operate on a particular multisig (including initiating and approving transactions), please select that multisig in the account options.

### 2.1 Account Visibility

<figure><img src="/files/LS5YEwPLjtqT9rvaR1TE" alt=""><figcaption></figcaption></figure>

A, as a multisig account, wants to send 10$DOT to B. C is a multisig composed of E and F, and A is a multisig composed of C and D. E, F, and D are all single-signature accounts.

If the user holds accounts E or F, after logging into Mimir, they can enter multisigs A and C.&#x20;

If the user holds account D, after logging into Mimir, they can enter multisig C.

### 2.2 Static Multisig

Static Multisig is generated based on the Multisig Pallet, which is a native Pallet of Substrate.&#x20;

**Its advantages are:**&#x20;

1. During the creation process, users do not need to pay any fees.
2. It only needs to be created once and can be shared across the entire Polkadot ecosystem.
3. Users will get the same address as long as they create it based on the same threshold and members.&#x20;

**Its disadvantage is:**&#x20;

1. Once created, the members and threshold cannot be changed.

**Reference:**&#x20;

{% embed url="<https://wiki.polkadot.network/docs/learn-account-multisig>" %}

### 2.3 Flexible Multisig

Flexible Multisig is an account type formed by the combination of the Proxy Pallet and the Multisig Pallet. Essentially, it is a Pure Proxy with only one Static Multisig acting as its proxy.&#x20;

**Its advantages are:**

1. After successful creation, users can still modify members and thresholds (with the agreement of members reaching the threshold).
2. Even with the same members and thresholds, different multisig addresses can be obtained.&#x20;

**Its disadvantages are:**

1. Multiple transactions are required during the creation process, and a certain Reserve Fund needs to be prepared.
2. Each creation is only effective in the currently selected network

### 2.4 Proxy

#### Normal Proxy

When a proxy account makes a transaction, Polkadot filters the desired transaction to ensure that the proxy account has the appropriate permission to make that transaction on behalf of the proxied account. For example, staking proxies have permission to do only staking-related transactions.

#### Pure Proxy

Pure proxies are new accounts that are *created* (not assigned) by a primary account. That primary account then acts as *any* proxy on behalf of the pure proxy. Pure proxies are **keyless non-deterministic accounts** as they do not have a private key but they have an address that is randomly generated. Also, in some sense, nobody owns a pure proxy as nobody has a private key to control them.

#### Proxy Types

When a proxy account makes a transaction, Polkadot filters the desired transaction to ensure that the proxy account has the appropriate permission to make that transaction on behalf of the proxied account. For example, staking proxies have permission to do only staking-related transactions.

When you set a proxy, you must choose a type of proxy for the relationship with the proxied account.

* **Any**: allow any transaction, including balance transfers. In most cases, this should be avoided as the proxy account is used more frequently than the cold account and is therefore less secure.
* **Non-transfer**: allow any type of transaction except [balance transfers](https://wiki.polkadot.network/docs/learn-transactions#balance-transfers) (including [vested](https://wiki.polkadot.network/docs/learn-transactions#vested-transfers) transfers). Hence, this proxy does not have permission to access calls in the Balances and XCM pallet.
* **Governance**: allow to make transactions related to governance.
* **Nomination pool**: allow transactions pertaining to [Nomination Pools](https://wiki.polkadot.network/docs/learn-nomination-pools).
* **Staking**: allow all staking-related transactions. The stash account is meant to stay in cold storage, while the staking proxy account makes day-to-day transactions like setting session keys or deciding which validators to nominate. Visit the [Advanced Staking Concepts page](https://wiki.polkadot.network/docs/learn-staking-advanced#staking-proxies) for more detailed information about staking proxies.
* **Identity Judgement**: allow registrars to make judgments on an account's identity. If you are unfamiliar with judgment and identities on chain, please refer to [this page](https://wiki.polkadot.network/docs/learn-identity#judgements). This proxy can only access `provide_judgement` call from the Identity pallet along with the calls from the Utility pallet.
* **Cancel**: allow to reject and remove any time-delay proxy announcements. This proxy can only access `reject_announcement` call from the Proxy pallet.
* **Spokesperson**: Kusama-specific proxy type that only allows `remark` or `remark_with_event` calls.
* **Society**: Kusama-specific proxy type that only allows [society-related](https://wiki.polkadot.network/docs/maintain-guides-society-kusama) calls.


# Advanced - Nested Multisig

* Mimir supports Nested Multisig accounts where a Multisig can include other Multisigs as its members. Users have the flexibility to choose between Flexible Multisig, Static Multisig, or EOA (Externally Owned Accounts) as members of a Multisig account. They can also structure these accounts in any hierarchical layering as needed.
* In the future, Mimir plans to integrate Proxy, enabling a hybrid architecture of Proxy and Multisig accounts.

<figure><img src="https://lh7-us.googleusercontent.com/HD8lD8U-ywnoijzWzb5Cl0qKvSvIPi8BJgSibG7WvQRQfvSgnCPWbP_1zHFf23ZNiF4NhLYnTkfDsOyezqbje1M4Cz1Mn_mI5RyUuCcpro4E5l47f98Y6Htv-rznjRtnh0DWoRYY5ChBTtF7QWTqzA" alt=""><figcaption></figcaption></figure>

**Its advantages are:**&#x20;

1. You can combine Flexible Multisig, Static Multisig and Extension wallet at any level.
2. More suitable for enterpise.
3. You can create Nested Multsig as Flexible Multisig and Static Multisig.

**Its disadvantage is:**&#x20;

1. Need more steps to finish transaction.


# Advanced - Time Delayed Proxy

Users can add a layer of security to proxies by giving them a delay time. The delay will be quantified in blocks. Polkadot has approximately 6 seconds of block time. A delay value of 10 will mean ten blocks, which equals about one minute delay.

The proxy will announce its intended action and will wait for the number of blocks defined in the delay time before executing it. Within this time window, the intended action may be canceled by accounts that control the proxy.

<figure><img src="/files/rv5D1kSB8auhdFqv1K8R" alt=""><figcaption></figcaption></figure>


# Dapps

{% hint style="info" %}
Mimir's Dapp serves as the gateway for Mimir to interact with other applications. Once a user selects an account (whether it's a single-signature or multisig), they can use that account to perform various operations within the ecosystem through the multiple applications listed in Dapp.&#x20;
{% endhint %}

## **Supported Mimir Apps**

<figure><img src="/files/km9xkhi4RPLAj5cpTEww" alt=""><figcaption></figcaption></figure>

**Commen Use**: [DOTConsole](https://app.mimir.global/explorer/https%3A%2F%2Fdotconsole.app%2F%3Fchain%3Dpolkadot?network=polkadot), [Apps](https://app.mimir.global/explorer/https%3A%2F%2Fapps.mimir.global%2F%3Frpc%3Dwss%253A%252F%252Fpolkadot-rpc.publicnode.com?network=polkadot)

**OpenGov**: [Subsquare](https://app.mimir.global/explorer/https%3A%2F%2Fpolkadot.subsquare.io%2F?network=polkadot)

**Identity**: [Polkaidentity](https://app.mimir.global/explorer/https%3A%2F%2Fapp.polkaidentity.com%2F?network=people-polkadot)

**Bounty**: [Bounty Manager](https://app.mimir.global/explorer/https%3A%2F%2Fbountymanager.io%2F?network=polkadot)

**Staking**: [Staking](https://app.mimir.global/explorer/https%3A%2F%2Fstaking.mimir.global%2F?network=polkadot)

**XCM**: [Bifrost App](https://app.mimir.global/explorer/https%3A%2F%2Fbifrost.app%2F?network=bifrost-polkadot)

**Defi**: [Bifrost App](https://app.mimir.global/explorer/https%3A%2F%2Fbifrost.app%2F?network=bifrost-polkadot)

**Storage**: [CrustFiles](https://app.mimir.global/explorer/https%3A%2F%2Fcrustfiles.io%2F?network=crust)

## Third-Party Dapp

Many teams are also working on productization, such as Subsquare and Polkaidentity.&#x20;

We will also integrate these Polkadot ecosystem applications, which can significantly lower the barriers to user interaction and have already achieved great success.&#x20;

We also hope to connect with more and more applications, expanding the scope of these applications. Not only single-signature users can experience it, but multisig users can also enjoy this convenience.

**List your Dapp: <hello@mimir.global>**


# Transaction

{% hint style="info" %}
Approval processing for multisig transactions and historical records will all be conducted in the Transaction Section.
{% endhint %}

## 1. Authority

Due to the inherent mechanism of multisig, all multisig members have transaction approval permissions for that multisig.&#x20;

If there are nested multisigs, then the members of the lower-level multisig also have transaction approval permissions for the highest-level multisig.

<figure><img src="/files/0DS7EfocTd2sNPiYm7lR" alt=""><figcaption></figcaption></figure>

### Initiator

Given this setup, if there's a desire to initiate a transaction from A to B transferring 10 $DOT, any of the single-signature accounts E, F, or D can act as the initiator for this transaction.

To initiate this transaction, holders of E, F, and D need to select and enter the A account. Then, they can initiate the transfer transaction and set themselves as the Initiator to start the approval process for this transaction.

> The Multisig Pallet requires that when initiating a multisig transaction, a portion of funds must be locked. These funds will be returned once the transaction is successfully executed or cancelled. On the Polkadot network, the requirement is **20 $DOT**, while on the Kusama network, it's **0.2 $KSM**.

### Approver

If the transaction is initiated by D, then both E and F can act as Approvers to agree and execute this transaction.

Both E and F need to select the A account as the operating account in order to view this transaction. After that, they can choose themselves as the Approver to approve the transaction.

### Canceller

If the transaction is initiated by D, then E and F can only choose to either approve or ignore the transaction. Only D has the authority to cancel this transaction.

## 2. Transaction Details

Currently, Mimir only supports the parsing of transactions initiated through Mimir. Therefore, we recommend that you and your members use Mimir as the multisig transaction tool to ensure smooth completion of transactions.

Transaction details include:

1. The current approval status of the transaction.
2. The content of the transaction (e.g., how much money was transferred to whom, how much $DOT was staked for a particular node, etc.)
3. Transaction-related parameters including Tx hash, Call Hash and Call Data.


# Watchlist

In Mimir, you can not only view all your multisig and proxy accounts but also add other users' accounts to your **Watchlist** to stay updated on their activities.

## Add to Watchlist

Click on the account to open the account sidebar.

<figure><img src="/files/EGF5ukb6PxCaHWNoet6W" alt=""><figcaption></figcaption></figure>

Search any address you want to take a look.&#x20;

e.g W3F 12RYJb5gG4hfoWPK3owEYtmWoko8G6zwYpvDYTyXFVSfJr8Y

<figure><img src="/files/N5oQCKldPoKp85n3j1xz" alt=""><figcaption></figcaption></figure>

You can directly click '+' to add to watchlist.

<figure><img src="/files/J5PFjDvLUVvNqT4nFRnX" alt=""><figcaption></figcaption></figure>

Then you can click this account to see the detailed information. Including pending transactions and history.

<figure><img src="/files/ILdyb9cTIeKqOKVMVPS3" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/V3qFdk7AzNA2N4uKFYOV" alt=""><figcaption></figcaption></figure>


# Batch

Batch transactions allow users to bundle multiple operations into a single transaction. This significantly reduces gas fees and simplifies transaction complexity, making it highly beneficial for users performing complex interactions.&#x20;

## Batch

Click batch above to open side bar.

<figure><img src="/files/f4bcn6EnJN5HbuPOYApk" alt=""><figcaption></figcaption></figure>

Batch sidebar:

<figure><img src="/files/aiW5bkU24wI3VymS9ken" alt="" width="375"><figcaption></figcaption></figure>

➕ Duplicate: duplicate a same transaction in Batch

🗑️ Delete: delete a transaction you don't need.

Select transactions you want to submit and confirm.

<figure><img src="/files/dHPmaUreWnzoXEaaAqi0" alt=""><figcaption></figcaption></figure>

You will put them together in one transaction.

## Add to Batch

Found 'Add to Batch' when submitting a transaction. You will add it in batch side bar(Locally).

Batch can be nested in another batch transaction.


# Proposer

**Proposer** is a role newly introduced by Mimir for multisig accounts, specifically for initiating transaction proposals, but it cannot directly approve or reject transactions.

Once a proposal is submitted:

* **If any member approves it,** the transaction will proceed through the normal execution process.
* **If any member rejects it,** the transaction will be voided and will not be executed.

{% hint style="info" %}
Members can also be proposers at the same time.
{% endhint %}

## Set a Proposer

<figure><img src="/files/lV0bG21SGlp703NC3cOL" alt=""><figcaption></figcaption></figure>

Click "Setting" on homepage. Both the ⚙️ beside name and Setting in side bar are ok.

<figure><img src="/files/Cun92JC0tjuq32JH759S" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/b4ZbkLQUyF3k9QOVzVji" alt=""><figcaption></figcaption></figure>

Scroll down and you will find Proposer setting.

<figure><img src="/files/nmipdVTX23zbTa81hKG9" alt="" width="375"><figcaption></figcaption></figure>

Follow the guide to finish setting:

1. Proposer: The address you want to be the proposer of your multisig.
2. Signer: Select the memeber you want to sign the message(It's not a transaction).

## Submit a transaction propose

Keep proposer account connected and select the multisig account proposer can manage.

Proposer can submit any transactions as memebers do, whatever it's a third-party app/batch transaction/template transactions.

<figure><img src="/files/cPTSm5PUTh4xoQiHxYIG" alt=""><figcaption></figcaption></figure>

The proposer only needs to select corresponding permission when signing.

It is not a transaction as well.

## Handle propose

<figure><img src="/files/qdkyHPYP05bMe92hTjgA" alt=""><figcaption></figcaption></figure>

Transactions initiated by a proposer will be displayed in the **Pending** page in the format shown above.

At this stage, further action is required from the members.

Once a member approves, the transaction will proceed through the normal multisig process.

## Other Features

In addition to Members, Proposers can also use the Batch API to submit transactions to Mimir.

If you want to reduce the risk of a Member's private key being compromised, you can use a new account as a Proposer to utilize the Batch API functionality. Since Proposer don't have to submit transactions, no funds are required.

Batch API Detail:

{% content-ref url="/pages/pgPZpoToikp5c4hMZChO" %}
[Batch API](/developer/batch-api)
{% endcontent-ref %}


# Call Template

While Mimir already supports over 10 applications, covering key areas such as governance, staking, bounty management, and identity, many developers and users have unique, recurring transaction needs that are not fully addressed. As a result, they often rely on manual transaction assembly in PolkadotJS, repeatedly constructing similar transactions to perform routine operations.

Even within supported use cases, repetitive manual interactions can lead to inefficiencies and a suboptimal user experience.

To address this, Mimir introduces Call Template, a feature designed to streamline repetitive transactions. Instead of reconstructing a transaction from scratch each time, users can save transaction templates, make necessary parameter adjustments, and execute them with minimal effort. This significantly improves efficiency and reduces friction in on-chain operations.

## Template Sidebar

<figure><img src="/files/zLeXx7IYl5Es8EmUaXUF" alt=""><figcaption></figcaption></figure>

Click the button above to open the Template sidebar.

<figure><img src="/files/iITsT8aW3wYA9ASXKPsp" alt="" width="346"><figcaption></figcaption></figure>

## Add New Templates

1. Directly click add new in Call Template page, provide Call Data and set a name for it.

<figure><img src="/files/lgy060SJnsdrB20p1vwM" alt=""><figcaption></figcaption></figure>

2. While submitting a transaction, you can click Add to Template.

<figure><img src="/files/wcMnUCHSHXK07n6MTc6G" alt=""><figcaption></figcaption></figure>

3. Find some common-used transactions in history page, then add it.

<figure><img src="/files/nJkqUfj7wAfjGpU7P3Sf" alt=""><figcaption></figcaption></figure>

## Submit transaction template-based transaction

1. Click Extrinsic on homepage, then view Call Template, copy the Call Data. (For same transactions)

<figure><img src="/files/0zc3Hf302dZiEQZG9j96" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/IL3af1UWOurwITWCrXOv" alt=""><figcaption></figcaption></figure>

2. Click DOTConsole in Call Template, then edit the parameter, submit! (For transactions that need adjustments.)

<figure><img src="/files/0vBtlaPzntulHjwuTzoS" alt=""><figcaption></figcaption></figure>


# Multi-Sig Governance in Polkadot

Mimir now supports the Polkadot network and the Subsquare application, meaning users can directly use their multisig accounts to participate in the governance of the Polkadot ecosystem. This article will introduce how to complete this process quickly and conveniently.

## Guide

If users wish to use Subsquare through a multisig account, they can follow these steps:

1. Create new multisig wallet in Mimir or import from other DAPP.

Mimir has completed the synchronization of all multisig wallets on the Polkadot network, including all balance static multisigs and some Proxy-based flexible multisigs. You just need to authorize the extension wallet containing the members to automatically complete the synchronization.

2. Enter App and find Subsquare.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=ZTc5MTJlZTM2MzhjYTMyNDkzNjI4YTNhMTliMzAyYzdfR0pRSnRYU0FNM3VDcFZMSDRsenlpc1drb0FhS3lNMW5fVG9rZW46Q2NuTmJ4U1JNb0lqSVF4dGI4MGNLYXVTbkJmXzE3MDk4ODM2ODE6MTcwOTg4NzI4MV9WNA" alt=""><figcaption></figcaption></figure>

3. Upon entering, you will see that the multisig wallet is connected. After confirming that there are no errors, you can click on 'Referenda', then goes to 'Middle Spender', find #462 proposal.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=ZWM1ZWU1NjI4ZDMwYzQ3MGI0ZTFjZGYzZjQyOGRkMmFfa1Q5TkJZS3JyVlF1NDJobDQyYW1CQzJIWmdhTGs5VnNfVG9rZW46UVJQS2JoSjdvbzY4bmV4NE5qRWNhMG04bmdoXzE3MDk4ODM2ODE6MTcwOTg4NzI4MV9WNA" alt=""><figcaption></figcaption></figure>

4. Click on "Vote," select "Aya," enter the amount of DOT you wish to support and the multiplier (lock-up period), then click confirm.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=Yzk5NjFhNDQ2NzgzZWM5NDc1Zjc4ZDhkNzQ4NmQ4ZjFfQWpqRk9xTWdmaU96d3IwRWRKVTBIQ0FoZXZScjd5ZlNfVG9rZW46SURjamJXWENmb1VIa1V4aUMyUWNGM29pbm1jXzE3MDk4ODM2ODE6MTcwOTg4NzI4MV9WNA" alt=""><figcaption></figcaption></figure>

5. After clicking 'Confirm', you can initiate the transaction to submit the Proposal

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=OGIwZWZlOTRmZTczNGUzOWE2ZmZiZDM1MjBkNTU2ODlfM3R0MHdUYnVZVFBya2J2dmhmYVZ6TFVRbHE3V0hxcTFfVG9rZW46Vno2dmIxWnhPb2ZwN3N4SkFQcmNhYXR4bmljXzE3MDk4ODM2ODE6MTcwOTg4NzI4MV9WNA" alt=""><figcaption></figcaption></figure>

6. Other members of the multisig can find the corresponding transaction in 'Transaction->Pending' and perform the Approve operation

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=MmQzYWFlMDcwMjdiZGJjY2FkMjEwYjA5MTZiODA0NDRfbERyeklpR3pYOVEwU2VkM2YxVEZudDlNYXdTWkp5Q2xfVG9rZW46SjVUS2JHWURCb0tHTXd4QVNJV2M2TVVnbnJoXzE3MDk4ODM2ODE6MTcwOTg4NzI4MV9WNA" alt=""><figcaption></figcaption></figure>

7. Once the threshold is reached, the transaction is completed on-chain and can be found in the corresponding Track

<br>

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=MzA1OTYwMWVhMzU3N2Q0ZjQ4NzU4ZTU2ZjUyNzk3MTJfSVNTTXFzSkVHMENYa1AwcVIyWUU0dzJSaWJnemxmTm5fVG9rZW46R2xRbWJBMWZ3b1NsREV4WktvTmM4OFlZbk4zXzE3MDk4ODM2ODE6MTcwOTg4NzI4MV9WNA" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=ZTYxOGFjMzUyMGQyMTVkOWJhOWJlNDIyNjE5MGNhNGZfbFpyZ2hNNVVjMlpMdGN2Q1dQSWd5c3F3azlQWXR6dmRfVG9rZW46Q0s2Q2JzWVBSb2E5MTR4RTRRNGN3MGFzbnpiXzE3MDk4ODM2ODE6MTcwOTg4NzI4MV9WNA" alt=""><figcaption></figcaption></figure>


# Participate Polkadot Native Staking

Mimir has now integrated with the Polkadot Staking Dashboard. Previously, multisig users looking to perform staking operations had to rely on manually constructing transactions, a complex and cumbersome process. The introduction of the Polkadot Staking Dashboard significantly streamlined staking for users, albeit exclusively for single-signature accounts.With Mimir's successful integration, multisig accounts can now easily participate in staking operations.

## **Participate in Polkadot Native Staking through Mimir**

1. Click "Apps" and select "Staking" (at this point, you can click the 🌟 button to favorite it and place it on the Home page).

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=MzhkZDBhMGZmZTg4NzVlZDQyNGIxNjVhNmExMTliNDJfYjBQNDc2a1huNjRMbUJDVDBISmZkdHdSdDhkMEU3RkNfVG9rZW46VDZQTmJvekxab2k5cnp4dXdIV2M0YmdPbmtiXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>

2. Click on "Account" in the top right corner to check if it's connected to Mimir.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=YWYxOGI5M2I1ZTZlOGU5OWYyYjBlM2VhZWVkY2E4ZDRfRkdVcXBuQ2Z0WmZsZXU2TGRWVXpZekp1YzMzRThWZ0dfVG9rZW46R0dzRWJxeVd6b04wR2d4ZFI0amNkQ3BNbjdjXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>

3. Select "Go to Account" and choose the account connected through Mimir.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=MjJlZmU5ZjY0YzgwM2ZhMmUwM2JmYTY2YjE3NTMxZWJfR3d1UWlaS1laUDJLUWZjNGtsT1MxbXd2YTF3aGI4cXNfVG9rZW46UGtMZmJWRm9Hb2lTb2V4Q3VnSmNJT1dxbmNmXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>

4. After completing the connection, you can view the current user's Staking Dashboard.

**Subsequent operations can be performed as desired. For example, to add a Bond amount:**

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=ZjgxNTA5OTZjMTkzZTU0OWRlMzk4NjY0ZWM0NDA3NTlfRE1Pbk9GNk8zbE9HM2JWdXZrSTRXYko2NkVRVlE0SnpfVG9rZW46S2NYbWJFWFd6bzBPOGx4SmlZYmN2Z3BCbk5kXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>

5. Enter the Pool, click the ➕ button.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=YWVmYTlhOTk2YjUxMmZlOWJlMzA0YTJiMDZlZWFkYjdfVk82OHliMklRV1ltOFRJa1prMkFPaWRIUzFRczRoRXVfVG9rZW46SWlFc2JLcGZrb2Q1ZVV4ZkZmU2N6cE5WbjNmXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>

6. Enter the amount you wish to add to the stake.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=MzEwNWYxZjQ2ODZkYWJlZjNhMzI2YzgxZTUxNGUzYTZfUmROdHF6MzFRY3d0SnhqUmFrZ295ckNJOWhSOVBBZHNfVG9rZW46UThndmI3dUtTb3B4a3V4bExRRGMzQmlxbmFkXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>

7. Click "Submit" to initiate the transaction.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=MzJiZjRhNjA0OWRjOGIzZmE2MjE2MzI1MTBiZjRlODRfTWt4a3F3cTk5bFVKV05IZVNEN3MyQkt1TTk3MERDdmlfVG9rZW46SHQxamJ0NHRmb1REcUV4NmttQWNUSXM2blFiXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>

8. The transaction will also be displayed in the sidebar. Clicking on it will expand to show all transactions in a pending state associated with that application.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=NzllODU5YmUxYTMwNTNkZTMxMDM2Yzg2M2FmMWRjYzhfeVVTblpGVFlSU1lhUU1XNklWUzlhVkRIT1A5aXc2U21fVG9rZW46TkJ3OWJGVXFzb0piS2N4SWRjU2NSeFRKblFoXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>

9. Once the agreeing members reach the threshold, the transaction can be initiated successfully.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=YzVlZGIyMGVkZWExNTJlMjc5MmMxMTRiN2E1YzM1OWJfcUljdGFqSFFlSk1aaWtjUU80ZkxRU2d2TVV0ZHJCOFJfVG9rZW46SjRJcGJITWlrbzZsdVZ4SFltRWNaNjZzbnVnXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>

10. If you possess enough DOT (at least 250 DOT), you can directly take on the role of a nominator.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=ZjhkZDc5NGQwZjdkYjg0Yzk2Mzk1MmQ4ZmU0ZTgzY2JfOWM4azBBWXYyTzdvb2F4T2lrSzdGMHFSQ2NXRHZsUHpfVG9rZW46Wk0ybWJzVmtvb0xGa1J4S29HTmM4eTdobjBiXzE3MDk4ODM3NzU6MTcwOTg4NzM3NV9WNA" alt=""><figcaption></figcaption></figure>


# Customize RPC

Due to factors like region or network conditions, the default RPC connections might occasionally fail—especially with the launch of the Omni UX, where multiple network connections make the issue more noticeable.

To address this, we’ve added a customized RPC setting. You can find the entry at the top right of the network connection page or access it through the settings menu.

## Customize RPC

**Network**

<figure><img src="/files/6Mt0LuigVFso8oECnwvM" alt=""><figcaption></figcaption></figure>

**Setting**

<figure><img src="/files/OfAWqtZlzxzn0MKgE7SX" alt=""><figcaption></figcaption></figure>

We've listed some node options for you, but you can still add a custom node directly by entering it into the input field.


# Remote Proxy

Instead of setting up proxy accounts again and again on each parachain, remote-proxy module allows you to create it once on the Relay Chain — then compatible parachains can automatically inherit that proxy.

## Supported Network

Kusama <> Kusama Assethub

## Set up

No extra steps are needed — once you create a proxy on the Relay Chain (including both standard and Pure Proxies), you're good to go.

## Check Remote Proxy

You can create the proxy as usual on the Relay Chain.

<figure><img src="/files/PCN1EgRe7Lmj0Mi0ouHf" alt=""><figcaption></figcaption></figure>

Then switch to any parachain that supports Remote Proxy and view the account structure. Remote Proxy relationships will be shown with dashed lines.

<figure><img src="/files/cTn4h87CFdnKv2Ss8Anm" alt=""><figcaption></figcaption></figure>

Mimir already supports various forms of nesting.

<figure><img src="/files/AJY0mSl6BbCGxRDxBvxw" alt=""><figcaption></figcaption></figure>

## Use Remote Proxy

From there, you can use Remote Proxy just like any regular proxy account — to send or receive funds, participate in governance, staking, or any other supported actions. Without worrying about asset loss.

<figure><img src="/files/2M7HwuKiKhVuCBIvhx6h" alt="" width="375"><figcaption></figcaption></figure>


# Create Multisig

After entering Mimir, you can create a multisig wallet. If you don't create one at the beginning, you can also create it later under the account selection.

## Static Multisig

Please fill in the following basic information to proceed with the creation:&#x20;

<figure><img src="/files/B4JNlMjwoOvIboPX8zt2" alt=""><figcaption></figcaption></figure>

**Multisig Name:** All multisig members will see this name.&#x20;

**Multisig Members:** Members that make up this multisig. You can directly copy the address and click 'Add' to include them. If the member is already in your address book, you can directly click the plus sign to add.&#x20;

{% hint style="info" %}
Note: Please ensure that the multisig members include at least one of your local Extension Wallets; otherwise, the creation cannot be completed.&#x20;
{% endhint %}

**Multisig Threshold:** The number of approvals required for a transaction to be executed.

If you only fill in the above information and keep the Flexible Multisig switch turned off, you will create a Static Multisig based on the Multisig Pallet, and its members and threshold cannot be changed.&#x20;

## Flexible Multisig

If you turn on the Flexible Multisig switch, you will create a multisig that allows for modifications to its members and threshold.

Before completing the creation, you need to execute two transactions as prompted to finalize the creation:

<figure><img src="/files/jyUcA2AvNi9lAKEJK2Ir" alt=""><figcaption></figcaption></figure>

1. Create a Flexible Multisig address.

<figure><img src="/files/Sm1FhN5cmCmcIZd1HDQ6" alt=""><figcaption></figcaption></figure>

2. Set members. Please ensure that you complete the above two transactions; otherwise, the creation will not be successful.

{% hint style="info" %}
Note: During the creation process, make sure that the Extension Wallet used for creation has a sufficient balance to cover the amount required to be locked according to the Pallet.
{% endhint %}


# Create Nested Multisig

## Creation:

When you want to create a nested multisig, you simply need to select a multisig account as a member of another multisig account.

{% hint style="info" %}
You can create Nested Multsig as Flexible Multisig and Static Multisig.
{% endhint %}

<figure><img src="/files/8uXysvt7bdK3G8c7bfLL" alt="" width="375"><figcaption></figcaption></figure>


# Create Proxy

#### Normal Proxy Account Operations

A normal Proxy account is a binding relationship between accounts, not a new account, but an adjustment of operational permissions.<br>

**Binding Proxy Account**

Users can create a proxy relationship through the sidebar by selecting **Create New**.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=OTgyZWJlOGZhM2VkN2IyMGYyY2RkYWRmODUyODZmMTJfQWd4Q2NLa21WZkh4bTM5YlJ3ZXJVSGNGSGNtUXFSak1fVG9rZW46Q1JxMGJENjRXb2FHOWZ4VjBQQWNCUTlibkJiXzE3MzAxMDIwNTU6MTczMDEwNTY1NV9WNA" alt=""><figcaption></figcaption></figure>

After clicking, you will enter the proxy account binding page.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=ZDAzNzdjZGI0Y2ExYWFmNWIyZjlkY2RlMzdjZTc2Y2FfcGZUeE9CVGliTDI3NlViWWVsbUNRV0Y2clkyN2RPaGVfVG9rZW46TXdWaWJlakpvb0tKZW54TGF3TmNTTk9zbmdkXzE3MzAxMDIwNTU6MTczMDEwNTY1NV9WNA" alt="" width="375"><figcaption></figcaption></figure>

**Proxy Account**: The account with proxy rights

**Proxied Account**: The account that grants proxy rights

**Proxy Type**: Types of proxy permissions, which include:

**ANY**: Full proxy rights, capable of performing any operation

**Non-Transfer**: All proxy rights except moving assets

**Staking**: Rights to perform Staking Pallet-related operations

**Governance**: Rights to participate in governance, vote, and submit proposals

**Auction**: Rights to perform Coretime auction-related operationsDuring the proxy process, the Proxy Account receives the selected permissions from the Proxied Account's Proxy Type.<br>

**Note**:

* This process requires initiating a transaction and making a deposit for each Proxy Account.
* Users can bind multiple Proxy Accounts at once, but once added, the Proxy Accounts cannot be modified.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=MzU0MjA1ZjhmZGE0ZjYzOWUyN2JmMjkzY2ExNjc1M2JfemE1RjlWM3N6OGk3cVg4UXNNdVp1R2JmenRLQnBNdnpfVG9rZW46Q2FHNGJjdktzb2FqM1d4UnhCSWNvR3pybldiXzE3MzAxMDIwNTU6MTczMDEwNTY1NV9WNA" alt="" width="375"><figcaption></figcaption></figure>


# Create Pure Proxy

**Pure Proxy Creation**

In the account sidebar and the new welcome page, users can select **Create Pure Proxy** to create a Pure Proxy.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=YmEzODVkMmM5YWM2YjZjMzkzZTJmOTUwOTU4YjE1Yjlfc0ozaWRLRmd2ek1Fa0N1dlVtcFRPVHhrZjJiVDg0ZDJfVG9rZW46QmN4ZmJocXJWbzhpSUd4T0xRSGNSZXlUbk9nXzE3MzAxNjQ5NDY6MTczMDE2ODU0Nl9WNA" alt=""><figcaption></figcaption></figure>

After clicking, you will be taken to the creation page.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=NTllYmMxZDVmOTU5NDhiZjg4YjRkMzk3MGVhNDg3YTBfd3lac291Wjg5QmJ0RlExS1ZBaDZocnJBeXRSNkpHWjNfVG9rZW46R0N4eGJ1aFpDb0ljSlV4NG9DbmNqMnVVbm1JXzE3MzAxNjQ5NDY6MTczMDE2ODU0Nl9WNA" alt="" width="375"><figcaption></figcaption></figure>

**Proxy Account**: Users can choose any local EOA or multisig account as the proxy account.

**Proxied Account**: This is a newly generated address and cannot be selected. It is the main entity of Pure Proxy.

Other parameters are the same as for a normal Proxy.&#x20;

When users set up a Pure Proxy with specific permissions (not set to ANY), assets in this account cannot be transferred. Additionally, users cannot add or remove new proxies. Please ensure your assets are secured.


# Import Multisig

Mimir will synchronize the multisigs associated with the Extension Wallets you've authorized locally.&#x20;

However, during this process, there may be some edge cases that require you to manually import the multisig.

## Import through creation

If you wish to recover a Static Multisig and you remember all the member addresses and the threshold, you can directly create a Static Multisig with the same parameters to recover that multisig.


# Initiate Transactions

{% hint style="info" %}
When initiating a transaction, switch to the desired account. Transactions initiated in Mimir using the Extension Wallet, which interact via the extension and don't require approval, won't be detailed here.&#x20;

The focus will be on initiating a transaction with a multisig account.
{% endhint %}

<figure><img src="/files/t0TNEhOoAYj4cOaoZr1T" alt=""><figcaption></figcaption></figure>

To illustrate, let's use a transfer transaction as an example.

1. Ensure you've selected the multisig account you want to use for the transfer.
2. Use the Transaction Dapp in the application to make the transfer. Enter the amount and recipient.

<figure><img src="/files/NT6OXq0UVonaRUVE8d7X" alt=""><figcaption></figcaption></figure>

3. Choose a local Extension Wallet that's a as the transaction initiator.
4. If you don't want to execute immediately or have multiple transactions you want to bundle for execution, you can add them to the Cache.

{% hint style="info" %}
The Multisig Pallet/Delayed Proxy requires funds to be locked during pending status. These funds are returned after the transaction succeeds or is canceled. It's $20 DOT on the Polkadot network and $0.2 KSM on the Kusama network.
{% endhint %}

After clicking 'confirm' and signing in the extension, the transaction initiation is complete.


# Manage Transactions

After accessing the Transaction page, users can view the list of pending transactions for the selected account in the Pending section.

All members can view the transaction details and progress, and decide how to handle it.

<figure><img src="/files/KGuuMVoLk3SwvaMjqEFk" alt=""><figcaption></figcaption></figure>

## Function

### Approve

Agree to execute the transaction and choose an Approver from the local wallet.&#x20;

The 'Approve' button remains clickable until the last local Approver also agrees to the transaction.

### Cancel

If you initiated the transaction, you can choose to cancel it. Once canceled, it moves to the 'History' and others can't approve it anymore.

### Restore

<figure><img src="/files/mcz1wsxc7alLxq0vJTL5" alt=""><figcaption></figcaption></figure>

If this transaction was initiated through another application, you can enter the Call Data to restore the transaction.

## Information

### Process

The 'Process' section shows the current progress of the transaction, displaying the approval status of multisig members.&#x20;

<figure><img src="/files/6se0UOadaAdVGpQLp87Y" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/NvWxilHMxrhJ2NVsKHeg" alt=""><figcaption></figcaption></figure>

If this transaction involves nested multisig accounts, users can click on "overview" to view the details.

### Transaction

It includes the specific details of the transaction, the method called, and its parameters.

### Call Information

It contains the transaction's Call Hash, Call Data, and initiating Tx Hash. Users can verify the transaction using third-party tools.

<figure><img src="/files/vkfTQ1qS1MoZp4tY7PsM" alt=""><figcaption></figcaption></figure>

If this transaction is part of a nested multisig hierarchy, users can also view the final execution address.


# Manage Delayed Proxy Transactions

Proxied Accounts with a delay will have a Pending Transactions page. The Proxy Account can remove transactions on this page, while the Proxied Account can deny transactions.

<figure><img src="https://lvaum5an0ad.feishu.cn/space/api/box/stream/download/asynccode/?code=ZTJjZWZmMmM3ODFiMzdhZWZhMzUxM2I1MjI5M2E2MWFfTGZYMkJuUUZZTU5hRmxLRFgwZDFJZVJqNm9mVU5OdW1fVG9rZW46V1RhVWI0bWljb3FoUHl4cjg3amNtc0Z4bmFnXzE3MzAxNjY1MDI6MTczMDE3MDEwMl9WNA" alt=""><figcaption></figcaption></figure>

Once the Review Window ends, if there are no valid objections, an additional execution step is required to send the transaction to the blockchain.


# Call Data Verification

Polkadot & parachains use Polkadot-SDK, ensuring all transactions have on-chain metadata—no unreadable 0xbytes. If you don’t fully trust calldata during execution, Mimir also provides additional verification tools to help you ensure transaction security.

<figure><img src="/files/lWKmZa8L2IL6AvoX330W" alt=""><figcaption></figcaption></figure>

Click **View Detail** next to Call Data to open a detailed view displaying the full Call Data JSON file.

You can compare all parameters, method names, and other details to ensure they match the expected transaction. If anything is incorrect or unexpected, **DO NOT** approve the transaction.


# Transaction Simulation

Chopsticks is a transaction simulation tool developed by Acala. It allows you to locally simulate a transaction execution and provides the resulting output.

We recommend performing a transaction simulation both **when initiating a multisig transaction** and **when the last member approves it**.

<figure><img src="/files/K3nsbYWW563ayVMNtiL9" alt=""><figcaption></figcaption></figure>

By running a simulation, you can:

1. Verify whether the transaction will execute successfully. If the transaction is likely to fail, further execution can be avoided, preventing unnecessary gas fees.
2. Ensure the transaction result matches expectations. If the outcome is different from what was intended, consider reconstructing the transaction and verifying frontend security before proceeding.


# Batch API

If you frequently need to assemble and send transactions and have some development experience, **Mimir** allows you to use the **API** to construct transactions. You can then **restore** the assembled transactions into a **Batch** on the Mimir platform and proceed with execution from there.

## 1. API

<https://hackmd.io/mVU890iUT0iktpGqeBc_7w?view>

**Who can use?**

All members and all proposers! If you want to reduce the risk of a Member's private key being compromised, you can use a new account as a Proposer to utilize the Batch API functionality.

{% content-ref url="/pages/Om6nPEY2SB3THKMvjJIL" %}
[Proposer](/advanced/proposer)
{% endcontent-ref %}

## 2. Restore Transactions

After submitting the transaction via API, log into the multisig account on Mimir and locate the **Batch** button.

<figure><img src="/files/UcvpE86VQqWKfnC4JcGS" alt=""><figcaption></figcaption></figure>

After clicking it, you will find the **Restore** button.

<figure><img src="/files/0n6ANUA5wYAnWRlTkWIW" alt="" width="375"><figcaption></figcaption></figure>

Uploaded transactions can be found.

<figure><img src="/files/uYssdPsPGh8Q24kbMtMD" alt="" width="375"><figcaption></figcaption></figure>

You can restore these transactions.&#x20;

{% hint style="info" %}
But you should notice, all these transactions will be delete after been submitted on chain.
{% endhint %}

<figure><img src="/files/nvAzyKcoGLL03p1OJ1Go" alt="" width="375"><figcaption></figcaption></figure>

You can found all these transactions in Batch. You can submit all of them together.


# Mimir SDK

If you are interested in integrating your application with Mimir, please refer to the following documentation and feel free to contact us for further assistance.

{% embed url="<https://github.com/mimir-labs/mimir-apps-sdk>" %}

## Add to existing apps

To integrate the apps with Mimir, it needs to be opened within Mimir's built-in web page (iframe) and requires the use of Mimir's injected library to inject Mimir's account. Therefore, for the apps, Mimir's multisig account can be used in the same way as the accounts in the extension wallet, such as [polkadot-js/extension](https://github.com/polkadot-js/extension).

## Introduction

Integrating your application with Mimir requires it to be opened within Mimir's built-in web page (iframe) and utilize Mimir's injected library to access Mimir's account. This integration allows your application to use Mimir's multisig account similarly to accounts in the extension wallet, such as [polkadot-js/extension](https://github.com/polkadot-js/extension).

### Installation

To integrate Mimir into your application, install the necessary packages using either `yarn`, `pnpm` or `npm`:

#### Using Yarn

```
yarn add @mimirdev/apps-inject
```

#### Using NPM

```
npm install @mimirdev/apps-inject
```

#### Using PNPM

```
pnpm add @mimirdev/apps-inject
```

### Security Considerations

Ensure that transactions are verified for safety. Mimir wraps transactions in `AsMulti`, so it's crucial to confirm that the wrapped transaction matches the expected transaction. Mimir's code is open source, ensuring transparency and security.


# PolkadotJS App

### Integration For PolkadotJs

Follow these steps to integrate your application with Mimir:

#### 1. Inject SDK into Your Application

Substrate-based wallets inject an object into `window.injectedWeb3` for interaction. Mimir follows this approach but uses an iframe, so direct injection into the window object isn't possible. Instead, use the provided npm package for injection.

**Check if Opened in an Iframe**

First, determine if the application is opened within an iframe:

```
const openInIframe = window !== window.parent;
```

**Check if Opened in Mimir's Iframe**

Use the following function to check if the application is opened within Mimir's iframe:

```
import { inject, isMimirReady, MIMIR_REGEXP } from '@mimirdev/apps-inject';

const origin = await isMimirReady();

if (!origin) {
  // Not opened in Mimir
  return;
}

// Verify if the URL matches Mimir's pattern
if (MIMIR_REGEXP.test(origin)) {
  // Inject Mimir into window.injectedWeb3
  inject();
  // Now you can use polkadot extension functions
}
```

#### 2. Retrieve the Multisig Account

Mimir implements the same interface as [polkadot-js/extension](https://github.com/polkadot-js/extension), allowing you to obtain multisig accounts similarly to other plugin wallets.

**Example Code**

Use the following code snippet to obtain the multisig account:

```
import { web3Accounts, web3Enable } from '@polkadot/extension-dapp';

const injected = await web3Enable('your app name');
const accounts = await web3Accounts();
```

#### 3. Sign and Send Transactions

To send a `transferKeepAlive` transaction using Mimir's multisig account, follow these steps:

**Example Code (for @polkadot/api >= v15.0.1)**

```
import { web3FromSource } from '@polkadot/extension-dapp';
import { checkCallAsync } from '@mimirdev/apps-sdk';

// ... existing code ...

const injected = await web3FromSource(source);

assert(injected, `Unable to find a signer for ${address}`);

const isMimir = injected.name === 'mimir'

let tx = api.tx.balances.transferKeepAlive();

// ⚠️Note withSignedTransaction is required
tx.signAndSend(injected.signer, { signer: injected.signer, withSignedTransaction: true }, (results) => {
  console.log(results);
});
```

**Example Code (for @polkadot/api < v15.0.1)**

```
import { web3FromSource } from '@polkadot/extension-dapp';
import { checkCallAsync } from '@mimirdev/apps-sdk';

// ... existing code ...

const injected = await web3FromSource(source);

assert(injected, `Unable to find a signer for ${address}`);

const isMimir = injected.name === 'mimir'

let tx = api.tx.balances.transferKeepAlive();

// ⚠️Note that the following logic will only be executed when injected.name === 'mimir'.
if (isMimir) {
  const result = await injected.signer.signPayload({
    address: address,
    method: tx.method.toHex(),
    genesisHash: api.genesisHash.toHex()
  });

  // Retrieve the method returned by Mimir.
  const method = api.registry.createType('Call', result.payload.method);

  // check the original transaction's call, after being wrapped by `AsMulti`, is matches the tx call
  // `address` is get from mimir wallet
  // ⚠️Note: this is not required if you trust mimir
  if (!(await checkCallAsync(api, method, result.payload.address, tx.method, address))) {
    throw new Error('not safe tx');
  }

  // Reconstruct a new tx.
  tx = api.tx[method.section][method.method](...method.args);

  // add signature to tx
  tx.addSignature(result.signer, result.signature, result.payload);
}

tx.send();
```


# Polkadot API(PAPI)

### Integration For PAPI

#### 1. Inject SDK into Your Application

Substrate-based wallets inject an object into `window.injectedWeb3` for interaction. Mimir follows this approach but uses an iframe, so direct injection into the window object isn't possible. Instead, use the provided npm package for injection.

**Check if Opened in an Iframe**

First, determine if the application is opened within an iframe:

```
const openInIframe = window !== window.parent;
```

**Check if Opened in Mimir's Iframe**

Use the following function to check if the application is opened within Mimir's iframe:

```
import { inject, isMimirReady, MIMIR_REGEXP } from '@mimirdev/apps-inject';

const origin = await isMimirReady();

if (!origin) {
  // Not opened in Mimir
  return;
}

// Verify if the URL matches Mimir's pattern
if (MIMIR_REGEXP.test(origin)) {
  // Inject Mimir into window.injectedWeb3
  inject();
  // Now you can use polkadot extension functions
}
```

#### 2. Retrieve the pjs-signer

You can easily get the polkadotSigner from the extension, similar to how it's done in the [PAPI documentation](https://papi.how/signers#from-a-browser-extension)

```
import {
  getInjectedExtensions,
  connectInjectedExtension,
} from "polkadot-api/pjs-signer"

// Connect to an extension
const selectedExtension: InjectedExtension = await connectInjectedExtension('mimir')

// Get accounts registered in the extension
const accounts: InjectedPolkadotAccount[] = selectedExtension.getAccounts()

// The signer for each account is in the `polkadotSigner` property of `InjectedPolkadotAccount`
const polkadotSigner = accounts[0].polkadotSigner
```

#### 3. Sign and Send Transactions

Once you have the polkadotSigner, you can use it to sign and send transactions. Here's an example using PAPI (version >= 0.9.1):

> **Note**: For PAPI versions below 0.9.1, Mimir cannot be used to send transactions. Please upgrade to PAPI version 0.9.1 or higher to use Mimir's transaction signing capabilities. Also, please read [this PR](https://github.com/polkadot-js/api/pull/5920) for important changes to the transaction signing process.

Here's an example using PAPI version 0.9.1 or higher:

```
import { createClient } from "polkadot-api"
import { wnd } from "@polkadot-api/descriptors"
import { chainSpec } from "polkadot-api/chains/westend2"
import { getSmProvider } from "polkadot-api/sm-provider"
import { start } from "polkadot-api/smoldot"

// create the client with smoldot
const smoldot = start()
const client = createClient(getSmProvider(smoldot.addChain({ chainSpec })))

// get the safely typed API
const api = client.getTypedApi(wnd)

// create the transaction sending some assets
const transfer = api.tx.Balances.transfer_allow_death({
  dest: 'dest address',
  value: 12345n,
})

// sign and submit the transaction while looking at the
transfer.signAndSubmit(polkadotSigner);
```


# ReactiveDOT/DOTConnect

## DOTConnect

If you are using DOTConnect as your application's login tool, update to the latest version to integrate with Mimir and onboard more multisig users for your application.

More Information:&#x20;

Guide: <https://dotconnect.dev/getting-started>

Github: <https://github.com/tien/dot-connect>

## ReactiveDOT

If you plan to use ReactiveDOT to build your App, it's also easy to integerate Mimir.

More about ReactiveDOT

Guide:

{% embed url="<https://reactivedot.dev/react/getting-started/connect-wallets/#mimir>" %}

Github:

<https://github.com/tien/reactive-dot>


# LunoKit

### React Library for Polkadot Wallet Connections

LunoKit provides a unified wallet connection infrastructure for Polkadot ecosystem, with built-in support for Mimir multisig wallets.

### Integration For LunoKit

#### 1. Install LunoKit Packages

First, install the required LunoKit packages:

```bash
npm i @luno-kit/react @luno-kit/ui @tanstack/react-query
```

#### 2. Configure Mimir Connector

Set up LunoKit with Mimir connector in your application:

```tsx
import { LunoKitProvider, ConnectButton } from '@luno-kit/ui'
import { createConfig } from '@luno-kit/react'
import { kusama, polkadot } from '@luno-kit/react/chains'
import { mimirConnector } from '@luno-kit/react/connectors'
import '@luno-kit/ui/styles.css'

const config = createConfig({
  appName: 'Mimir Example',
  chains: [polkadot, kusama],
  connectors: [mimirConnector()],
  autoConnect: true,
})

function App() {
  return (
    <LunoKitProvider config={config}>
      <ConnectButton />
    </LunoKitProvider>
  )
}
```

#### 3. Connect to Mimir Wallet

Once configured, users can connect their Mimir multisig wallets through the LunoKit interface, which provides a unified experience across different wallet types.

### More about LunoKit

Guide: <https://docs.lunolab.xyz/>

Website: <https://www.lunolab.xyz/>

Github: <https://github.com/Luno-lab/LunoKit>


# FAQs

We listed some FAQs, if you have other questions, feel free to send to <hello@mimir.global>

## 1. What is 'lock' during initiate multisig transaction, is that necessary?

<figure><img src="/files/fz739LRrmBnkXiP7kLPo" alt="" width="375"><figcaption></figcaption></figure>

{% embed url="<https://blog.mimir.global/what-is-multisig-deposit-in-polkadot-4cde18f0a856>" %}

## 2.  What is Proxy? How to use it?

{% embed url="<https://blog.mimir.global/everything-you-need-to-know-about-proxies-in-polkadot-3c7ec0f0bda4>" %}

## 3. Are you safe?

1. Mimir is based on Substrate multisig pallet which is audited very strictly.
2. Refer to SAFETY part, we did a lot to protect your asset.

{% embed url="<https://blog.mimir.global/why-is-mimir-secure-in-polkadot-c1e8e72b5d8b>" %}

## 4. Why we need Mimir? Any use case?

With Mimir, you can easily participate OpenGov, staking and manage bounty in a much safer way!

{% embed url="<https://blog.mimir.global/unlocking-a-new-era-embracing-multi-sig-for-polkadot-opengov-4527fb492238>" %}

{% embed url="<https://blog.mimir.global/expanding-multisig-functionality-engage-in-polkadot-native-staking-9e56eae05086>" %}


# Contact Us

Telegram(Recommended For Help): <https://t.me/mimirglobal>

X: <https://x.com/Mimir_global>

Email: <hello@mimir.global>

Github: <https://github.com/mimir-labs>


