The Polymesh Wallet Extension, Addresses, and Keys

What is the Polymesh wallet?

The Polymesh Wallet enables you to manage your Polymesh accounts and interact with Polymesh and Polymesh decentralized apps (dApps).

Currently, the Polymesh Wallet is available as a Google Chrome extension and supports Google Chrome as well as Chromium based browsers (such as Brave).

the polymesh wallet lets you...
Create and manage your keys
View and monitor POLYX balances of each key
Securely sign transactions
Control transfers of POLYX and digital assets to and from your accounts
Connect to the Polymesh Portal and other Polymesh dApps

Interact with the Polymesh ecosystem

The Polymesh Wallet isn’t an ordinary crypto wallet. It's a specific wallet for use within the Polymesh ecosystem only, designed for managing keys and signing transactions.

We’ve architected the wallet to be very light, and so you need to use one of the Polymesh UI’s (e.g. the Polymesh Portal) to perform any on-chain interaction. 

Download the wallet

Manage Polymesh accounts, security tokens, and POLYX

Commonly asked questions

Take a look below at some commonly asked questions about the Polymesh Wallet extension, addresses, and keys.

Have a question that isn’t covered below? Browse our community forums or get direct help by submitting a ticket.

What is a Polymesh Account and why do I need one?

Simply put, you need a Polymesh Account to access the Polymesh blockchain – whether you plan to use it for creating and issuing security tokens, staking, or steering the chain by participating in governance. 

An “Account” on Polymesh functions like a username, representing users digitally. You’ll sometimes see it called a DID (short for “Decentralized ID”) as well. Note that this is different from a uID (or “unique ID”) which represents the real-world identity a DID is tied to. Users can have more than one Polymesh Account or DID, but no one should have more than one uID.

How can I create a Polymesh Account?

The first step to creating a Polymesh Account is to download the Polymesh Wallet extension from the Google Chrome Store. You’ll be prompted to create a Polymesh Account once you open the wallet extension, or you can connect a Ledger hardware wallet instead. 

You can choose your Account name for reference off-chain and password. The system will then automatically generate a DID, which is a large number sufficiently obfuscated to protect your privacy. 

From there, you can navigate to onboarding.polymesh.network to verify your identity through one of our designated CDD providers. Learn more about identity on Polymesh.

Can I have multiple accounts on Polymesh?

You can hold as many accounts in the Polymesh Wallet as you like. You can use as many of these accounts on Polymesh as you like as well, provided you complete the CDD process for each. Note that if you use the same CDD provider for identity verification, they may connect your various accounts to the same identity or uID. 

If needed, you can also hold multiple accounts for yourself and your various business entities. The Know Your Business (KYB) process is more detailed and involves more manual processes - to onboard a business via KYB, please email [email protected].

I forgot my password. Can I recover my account?

Your account can be restored if you’ve kept a copy of the recovery phrase provided when you created your account. If you no longer have access to that recovery phrase, your account (and any POLYX tokens) unfortunately can’t be restored this way. 

If you do have your recovery phrase, you’re in luck! All you need to do is remove the wallet extension from your browser, reinstall it, and then click on “restore account with recovery phase”. For help, see our developer portal.

Can I back up or export my account to a new wallet?

Yes! You can backup and restore Polymesh Accounts through a JSON file, which is a file on your computer that’s locked with a password. Accessing your account on a new wallet via the JSON file will require you to remember the password used to export the JSON file (which is also your wallet password).

What is a wallet address? Is it the same as an account or DID?

The answer depends on whether we’re talking about POLYX or security tokens. Unlike most other blockchains which have only one address for sending and receiving tokens on-chain, Polymesh has two types of addresses. 

The first is the account or DID (the address beginning with 0x). This is the address you’d provide when exchanging tokens such as security tokens or stablecoins on Polymesh.

The second is the key (the address beginning with 2). On Polymesh, POLYX is held at the key level, so this is the address you’d use for any POLYX transactions. 

Are wallet addresses case sensitive?

No for DIDs, yes for keys. 

DIDs use numbers (0 through 9) and letters (A through F) and are case-insensitive, meaning it doesn’t matter if something is capitalized (although it will be written in the wallet as lower-case). For example, an address written as 0xabc or 0xABC would both point to the same account. 

In contrast, keys are case-sensitive, meaning capitalization does matter. This acts as a checksum to help detect errors.

For best practices, always copy and paste. Never type addresses, keys, or DIDs manually. And remember... if you send POLYX to the wrong address, it's gone forever.

What is a Polymesh key?

Keys provide access to your account on the Polymesh blockchain and are used to represent signing authority, like a signature or seal. 

Unlike most blockchains, on Polymesh every on-chain transaction must be tied to an on-chain identity, which is referenced by a DID.  The key is the mechanism which controls identity, connecting on-chain transactions with a DID and, consequently, to the off-chain uID (the unique identity) that owns it. 

On Polymesh, every transaction must be signed by a key which is associated with an on-chain identity (a DID) and allowed to sign on its behalf. Since a key is an authentication method for identity, each key can only be associated with one DID. However, users can have multiple keys under one DID (just as they can have multiple DIDs). 

POLYX balances are held at the key level, while all other assets are held at the Account level– hence you’d need a key to exchange POLYX between accounts, but only need a recipient’s DID to send security tokens (although the recipient would need to accept the transaction by signing with their key). 

For more information on keys (including public/private keys and multi-sig wallets) please visit the developer portal

What’s the difference between a primary and secondary key?

Users can have multiple identities or DIDs on Polymesh, and multiple keys associated with each DID (although keys can only be associated with one DID). However, not all keys are of the same kind.

A DID can have exactly one primary key. The primary key is the key with most authority and has full permissions to a user’s identity at the portfolio, asset, and action granularity. It becomes associated with a DID upon creation by a CDD provider. 

Users can optionally configure secondary keys to permit access to specific things on-chain. Like primary keys, a secondary key can sign transactions on behalf of an identity, but its permissions are limited to only certain actions, portfolios, or assets. Secondary keys can be added or removed by the primary key of its identity at any time. Learn more about secondary keys.

If you think of the DID as a locked desk, the primary key would be the master key that can open every drawer (permissioning everything on-chain), while the secondary keys can be configured to let you only into certain ones (permissioning only specific things on-chain). 

How do I assign a secondary key?

To assign a secondary key, you’ll first need to create another key in the wallet. Simply open the wallet extension and click ‘+ Add a Key’. 

Initially, your key will be unassigned. You can assign it by following these instructions for assigning a secondary key on the Polymesh Portal.

Read more about secondary keys on the developer portal.

Can I remove a secondary key?

Yes! Secondary keys can be removed from a DID using the associated primary key by going to the Polymesh Portal > Overview > Details modal. Select a key and then "remove" or "leave identity."

Can I change my primary key?

Yes! Follow these instructions on how to swap primary keys. Note that the secondary key you wish to make primary should be in your wallet and unassigned. You can remove the primary or secondary key on the Polymesh Portal > Overview > Details modal. Select a key and then "remove" or "leave identity."

How can I check if my wallet contains a uID?

First, open the Polymesh Wallet extension. You’ll see a button saying “View details”. Click on it and confirm it shows “Your investor uID”. 

If it doesn’t, it means you haven’t fully onboarded. Simply return to the onboarding portal to complete your onboarding and save your uID in your Polymesh Wallet extension.

I accidentally rejected the wallet’s approval request for an application. How can I fix this?

For security purposes, Polymesh applications must ask for permission to connect to the Polymesh Wallet extension. If you accidentally rejected the approval or can’t connect your wallet, don’t worry! The fix is easy. 

Just open your wallet, and click the three dots in the upper right corner. Next click “Manage connected dApps”. You’ll see a list of Polymesh Applications. Make sure the slider is toggled to the right to allow the desired application access to your wallet.

I’m holding security tokens, but why can’t I see them in the wallet?

Currently, the Polymesh Wallet only allows you to see the amount of POLYX you hold. You won’t be able to see any security tokens you’ve created or received on Polymesh. This is because the Polymesh Wallet wasn’t designed to be like other crypto wallets; it’s designed to be a light wallet, used for signing transactions and managing keys.

To see your security tokens, you’ll have to access your Polymesh Account through a Polymesh interface such as the Polymesh Portal.

Why can’t I send tokens from my wallet?

The Polymesh Wallet is only a light wallet for key management and organization; you can’t send or receive security tokens through the wallet extension itself. Instead, all interactions with the blockchain must be mediated through one of the Polymesh interfaces. To send and receive security tokens, you’ll need to use a platform such as the Polymesh Portal

What is the Polymesh Portal and can I access it through the wallet?

The Polymesh Portal is an interface for interacting with an account on Polymesh. Use it to get a snapshot of your Polymesh assets or manage assets, portfolios, settlements, permissioned actions, account claims, distributions, and more.

The Polymesh Portal is accessible via mobile or desktop at https://portal.polymesh.network/.

Is there a fee to connect the wallet with the Polymesh Portal?

No! Connecting the Polymesh Wallet to the Polymesh Portal or any other Polymesh interface is completely free. 

How can I programmatically retrieve accounts from the wallet?

You can retrieve wallet accounts from the Polymesh Wallet the same way as you would the Polkadot Wallet. First, the dApp has to become aware of the wallet extension using web3Enable. From there it can get all the accounts using web3Accounts. It’s possible that these accounts are from different wallets other than the Polymesh Wallet, so it can be necessary to verify their source in the account’s meta.source property to ensure they are from “polywallet”.

View a practical example of this in a React app, or refer to Polkadot documentation to find more examples and recipes.

Have you used the Polymesh Wallet? We'd love to hear from you!

Community feedback is important to us. If you've used the Polymesh Wallet, leave us a review on the Chrome Web Store letting us know which features you love and where we can improve.