# License Delegation Guide

After purchasing a [**BK license**](https://docs.ackinacki.com/for-node-owners/protocol-participation/block-keeper/license), it does not become active automatically. To activate its participation in the protocol and start receiving rewards, the license must be delegated to a node that will perform validator functions.

Failure to do so may result in the License Stake not validating, loss of reputation, or loss of other privileges.

In order for the licenses to be added to the zerostate and start getting rewards from the 1st block, this delegation has to happen before the network launch.

{% hint style="info" %}
A maximum of **20 (twenty)** licenses can be delegated to a single node.
{% endhint %}

You can find more details about working with licenses [here](https://docs.ackinacki.com/for-node-owners/protocol-participation/block-keeper/license/working-with-licenses).

## Delegation via Acki Nacki Dashboard

To use the dashboard, you need to register and obtain [License Owner Keys](https://docs.ackinacki.com/glossary#license-owner-keys) .&#x20;

To do this, follow [the onboarding guide for the dashboard](https://docs.ackinacki.com/for-node-owners/protocol-participation/block-keeper/license/license-delegation-guide/dashboard-onboarding).

{% hint style="warning" %}
If, after completing the registration, you don't see your licenses on the **Licenses** tab, contact a Gosh representative through any publicly available channel or community group, and provide them with your `License Owner's public key`.
{% endhint %}

You can delegate your licenses directly through the [Acki Nacki Dashboard](https://dashboard.ackinacki.com/licenses) in two ways:

* [By submitting a request to one of the official Node Provider partners](#request-delegation-via-node-provider)
* [By manually entering a Custom Node Provider’s public key](#delegate-using-a-node-providers-public-key), if you already know which Provider you want to delegate to.

### **Request Delegation via Node Provider**

After registering in [the dashboard](https://dashboard.ackinacki.com/licenses), go to the **`Licenses`** tab and click the **`Delegate`** button.

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2FajIcvkjvPtArpCATLs5c%2Fbutton%20Delegation.jpg?alt=media&#x26;token=1c5a5007-fbe9-4391-beb7-bede9c070019" alt=""><figcaption></figcaption></figure>

Choose a Node Provider to whom you want to delegate your Licenses:

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2FZM0TYdtPSubjPd1MsRnq%2Fimage.png?alt=media&#x26;token=14f7a900-326a-4824-b9ef-0d2b7d94b829" alt="" width="375"><figcaption></figcaption></figure>

and submit a delegation request by filling in the following fields:

* **Block Keeper Licenses amount** – specify the number of available licenses you want to delegate to this provider’s nodes.
* Also provide your contact details so the Node Provider can get in touch with you:
  * **`Name`**
  * **`Email`**
  * **`Telegram`**

Confirm the entered information by entering your passcode in the **`Passcode`** field.

Contact the selected Node Provider to agree on the delegation fee and complete the payment process, then confirm by checking the box.

{% hint style="warning" %}
Be sure to contact the selected Node Provider to coordinate and complete the delegation payment.
{% endhint %}

Confirm this by checking the box.

Then click the **`Sign and send request`** button:

{% hint style="info" %}
By doing so, you confirm that you are intentionally delegating your licenses to this Node Provider. This action generates a `delegation_sig`, which is required to validate the delegation.
{% endhint %}

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2F6XqyG3DmAbAKsKbE6BPv%2Frequest.jpg?alt=media&#x26;token=9aebfdf1-4133-4915-8cf4-a0166dfe2165" alt="" width="304"><figcaption></figcaption></figure>

You will see a confirmation that your request has been signed.

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2FWAVkAgsh8MZ4bHOarusk%2Frequest_accepted.jpg?alt=media&#x26;token=68effc31-f5b3-4c8b-aefb-e2c7c17aa015" alt="" width="254"><figcaption></figcaption></figure>

Once the request is signed, the **`Provider`** column will display the name of the Node Provider to whom you delegated your licenses, and the counter at the top will update to reflect the increased number of delegated licenses:

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2FTjbigtBfNzqW1JC8mUcN%2Ftab_license_after_deleg.jpg?alt=media&#x26;token=cf045f10-7414-4d0e-8049-5d481a91118f" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Inform your Node Provider about the delegation and share your `License Owner public key` with them. This is important for data verification.**
{% endhint %}

Now proceed to [the next step after delegation](#next-steps-after-delegation).

### **Delegate Using a Node Provider’s Public Key**

If the Node Provider has shared their public key with you, then after registering in the dashboard, go to the **Licenses** tab and click the **Delegate** button:

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2Fn6IP1WwosMfruItbAuKs%2Fbutton%20Delegation.jpg?alt=media&#x26;token=6da8e4bd-0cd1-4b73-85f1-5c9e3681b400" alt=""><figcaption></figcaption></figure>

In the list of Node Providers that appears, click the **Custom** button:

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2FqEO9jlhgknUipNOkQyuI%2Fproviders.jpg?alt=media&#x26;token=b7624bcb-b476-4d07-be4a-ea0b0103ee0a" alt="" width="375"><figcaption></figcaption></figure>

Please fill out the delegation form, enter your passcode to confirm the delegation, and click `Sign Delegation`

{% hint style="info" %}
By doing so, you confirm that you are intentionally delegating your licenses to this Node Provider. This action generates a `delegation_sig`, which is required to validate the delegation.
{% endhint %}

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2Fzds85xxaCRcsqu9sBalq%2Fcustom_delegate.jpg?alt=media&#x26;token=ed638aa2-9058-4c94-a5ad-f37d554b7357" alt="" width="312"><figcaption></figcaption></figure>

You will see a confirmation that your request has been signed.

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2FjYfQFHtJ4TY9WFyfj4WT%2Fcustom_accepted.jpg?alt=media&#x26;token=bc6c74b8-793a-4618-a4d4-5112e74f1106" alt="" width="310"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Inform your Node Provider about the delegation and share your `License Owner public key` with them. This is important for data verification.**
{% endhint %}

## Self-Delegation (Node Owners)

If you are both a License Owner and a Node Owner (Node Provider), you can delegate your licenses directly to your own node.

You can do this **Using the Dashboard** by specifying the `Node Provider public key` you generated, [as described in the section above](#delegate-using-a-node-providers-public-key).

## Next Steps After Delegation

At this stage, preparations for the network launch are underway. For licenses delegated during this phase to be included in the [Zerostate](https://docs.ackinacki.com/glossary#zerostate), the node to which you delegated your license must join the [Decentralized Network Starter Protocol (DNSP)](https://docs.ackinacki.com/protocol-participation/block-keeper/join-dnsp-gossip).&#x20;

Once the DNSP client is launched by your Node Provider, the license will show an `Online` status in the Dashboard (this feature is still in development).

## **Revoke License**

**Before revoking the delegation of your license, please notify your Node Provider.**&#x20;

{% hint style="danger" %}
A delegation signature on a running node  is only invalidated by a newer delegation signature on another running node.
{% endhint %}

{% hint style="danger" %}
If a Node Provider had already started a node with your license - ask  to remove your license from the node
{% endhint %}

**If you signed the delegation via Dashboard** - also revoke the delegation to delete the signature - click on the name of the Node Provider to whom the license has been delegated.

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2F2oWwnAyYNcIsA68BNqVU%2Frevoke_button_node_provider.jpg?alt=media&#x26;token=b83c1ca7-1035-4bb4-84c3-48be8ab06cf8" alt=""><figcaption></figcaption></figure>

Confirm your decision by checking the box and clicking the **`Revoke Delegation`** button:

<figure><img src="https://2264326627-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FahUdZU2HOHQjENWKWyJo%2Fuploads%2FrWWY1ADy5YADLGOfNwIo%2Frevoke.jpg?alt=media&#x26;token=66571500-7868-4751-a1d0-e34177742c3f" alt="" width="315"><figcaption></figcaption></figure>

You will see the changes reflected in the Dashboard, The "Provider" column will be empty

You can now delegate your license again. Remember, if the license is not delegated, it will not generate any rewards.
