---
description: Delegate control to another account.
---

# Rekey an Account

Rekeying is a powerful Algorand protocol feature that delegates control to another account. As an account holders you can keep a public address but assign different private keys. After rekeying, the _'Rekeyed-to'_ account gains full control over the original account.

Common use cases are:

* Changing the ownership of an account
* Securing a potentially compromised account with [new signing keys](#how-to-rekey-an-account-hot-wallet)
* Securing a hot account with a [Ledger device](#how-to-rekey-an-account-ledger)

## How to Rekey an Account (Hot Wallet)

1. **Select the account you want to rekey.** From the account side bar, swipe left on the account and tap edit.
2. **Assign the account you want to be in control.** Tap the 'Rekeyed to' field and select the desired account. Make sure this account is secure. When in doubt, create a new account for this.&#x20;
3. Tap "Rekey", then double-check the request in the preview and confirm.&#x20;
4. **Done** - You should now see a small rekey symbol next to the original account in the account list. The "Rekeyed to" field should also be populated and point to the account in control. Any signing transaction will be delegated to this newly assigned account.

<figure><img src="https://2700986753-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ffh76vAP0mxS5OTGmmuCv%2Fuploads%2FqWoMKtPrD3EOasOThwYZ%2FRekey%20Account%201.png?alt=media&#x26;token=b56bac96-766f-4d74-8e86-5fc1aa986ee0" alt=""><figcaption></figcaption></figure>

Select _'Edit'_ and _'Rekeyed to'_ to begin the process. In the Rekey account view, choose the account you want to be in control.



<figure><img src="https://2700986753-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ffh76vAP0mxS5OTGmmuCv%2Fuploads%2FX8bNkORcebjj2UZVnARd%2FRekey%20Account%202.png?alt=media&#x26;token=6a7061a6-590a-45d7-9678-f5be419d26ff" alt=""><figcaption></figcaption></figure>

When you're ready, select _'Rekey account'_ and swipe to confirm on the following screen:

You should now see a small rekey symbol next to the _original_ account in the account list. The _'Rekeyed to'_ field should also be populated.

You can confirm the rekey was successful by setting up a swap and ensuring the _'Rekeyed to'_ field is shown before you swipe to confirm the transaction:

<figure><img src="https://2700986753-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ffh76vAP0mxS5OTGmmuCv%2Fuploads%2FgNhsZpTTNRGvy2RYP46c%2FRekey%20Hot%20Wallet%203.png?alt=media&#x26;token=dbab2eea-12b9-4d31-95f7-b791b53eec1e" alt=""><figcaption></figcaption></figure>

Watch the video below if you need any additional help with this process:

{% embed url="https://youtu.be/Fa2E8Rv4H28" %}

{% hint style="info" %}
The _'Rekeyed-to'_ account has full control over your _original_ account. Only the account in control can undo the rekey operation. Without access to the _'Rekeyed-to'_ account, your _original_ account becomes inaccessible.
{% endhint %}

{% hint style="info" %}
To backup and restore a rekeyed account you need to safekeep the mnemonic (seed phrase) of both accounts, _original_ and _'Rekeyed-to' account_.&#x20;
{% endhint %}

## How to Rekey an Account (Ledger)

For added security, you can rekey your account to a Ledger. If you need help creating a Ledger account, review how to add a Ledger account on Defly Wallet [here](../add-an-account#create-a-ledger-account).

Select 'Edit' and 'Rekeyed to' to begin this process. In the Rekey account view, choose the Ledger account, select "Rekey account", and swipe to confirm the action:

<figure><img src="https://2700986753-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ffh76vAP0mxS5OTGmmuCv%2Fuploads%2FrDJ5I6aSxLxpuIImI0YJ%2FRekey%20to%20Ledger.png?alt=media&#x26;token=01c6b72f-e0b3-4615-9838-029e3bed537d" alt=""><figcaption></figcaption></figure>

You can confirm the rekey was successful by setting up a swap and ensuring the _'Rekeyed to'_ field shows the Ledger account (before you swipe to confirm the transaction):

<figure><img src="https://2700986753-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ffh76vAP0mxS5OTGmmuCv%2Fuploads%2FoVOftAiE0x4xWl2Be7Lt%2FRekey%20to%20Leder%202.png?alt=media&#x26;token=df2374a4-da36-451c-b60d-ce4991f9dcdb" alt=""><figcaption></figcaption></figure>

Connect your Ledger and confirm the transaction on this device. If the rekey was successful, the transaction will go through as expected.

## Can a rekey operation be fully reverted?

Yes. To fully revert rekeying follow the same procedure and use the _original account_ as the _rekey-to account._ In other words, you simply rekey the _original account_ to itself.

{% hint style="info" %}
Only the _'Rekeyed-to' account_ can authorize another rekeying operation. It is also the only account that can revert the rekeying.
{% endhint %}

## Technical details

For more information, please checkout: [https://developer.algorand.org/docs/get-details/accounts/rekey/](https://developer.algorand.org/docs/get-details/accounts/rekey/)
