It's really important to keep your Algorand digital assets safe and secure. Rekeying is a way to do that by changing the private key of your account without moving your assets. This feature is unique to the Algorand Blockchain. In this article, we will show you how to rekey your account if you’re using the Pera Wallet and Defly wallet. Here are the important things to remember:
- Rekeying is a powerful tool to make your Algorand assets more secure.
- You can use rekeying to change the private key of your account if you think it's been hacked or stolen.
- To use the rekeying feature in Pera Wallet and Defly Wallet, you need to have both your old account and the new account you want to rekey to be added to the wallet.
- Once you've rekeyed your account, remember to keep both the old and new accounts in your wallet.
How to Rekey an Algorand Wallet in Pera?
In order to rekey an account using Pera Web, it is necessary to have both the account that needs to be rekeyed and the new account added to Pera Web. These accounts can be added by either entering the 25-word passphrase or by importing them from Pera Mobile.
To rekey an account in Pera Web, follow these steps:
- Select the account that you want to rekey. This is the account that will no longer be authorized to sign transactions.
- Click on the three dots and select "Rekey Account.
- Read the information in the pop-up window and confirm.
- Select the account that you want to rekey to. This is the account that will be used to sign all future transactions.
- Click "Finalize Rekeying" to execute the rekey process.
- After the process is complete, you will see a success message at the top of the screen, and the accounts will update to reflect the rekeyed state on the home screen.
- Keep both the rekeyed (from) account and the rekey (to) account in your wallet. This is important because you will need both accounts in the same wallet to sign transactions from your original account.
How to Rekey an Algorand Wallet in Defly?
To rekey an account in Defly, follow these steps:
- Select the account you want to rekey from the account sidebar.
- Swipe left on the account and tap edit.
- Tap the "Rekeyed to" field and choose the desired account you want to be in control. Ensure the account is secure or create a new one.
- Tap "Rekey" and double-check the request in the preview before confirming.
- You should now see a small rekey symbol next to the original account in the account list, and the "Rekeyed to" field should point to the new account. Any signing transaction will be delegated to this newly assigned account.
How Rekeyed Wallets Work?
You can use most of the features as usual if you have both the rekeyed account and the new account in your wallet. If you've rekeyed an account and connected it to a dApp, you can continue using it to sign transactions as long as the authorized account it was rekeyed to is also in your wallet. However, if you try to sign a transaction with a rekeyed account without its authorized account in your wallet, the transaction will fail.
There are some limitations to keep in mind:
- You can't remove an account that has other accounts rekeyed to it unless you remove the rekeyed accounts first.
- When importing, you need to import the rekeyed account together with the delegate account or import the delegate account first and then the rekeyed account.
What exactly is a rekey transaction?
You can include a rekey transaction within any transaction by setting the "rekeyTo" parameter in the payload. For more information, you can refer to this link: https://developer.algorand.org/docs/get-details/accounts/rekey/.
Can a rekey operation be fully reverted?
Certainly. You can reverse the rekeying process by following the same steps and designating the original account as the rekey-to account. Essentially, you will rekey the original account to itself. Nonetheless, Pera Wallet does not currently support this feature yet.
Note - The account assigned as 'Rekeyed-to' has the authority to authorize any other rekeying operation and is the only account that can reverse the rekeying process.