# Smart Contract

### NFD Versions

NFDs are currently on `Version 3.7` (V3) of the [NFD Registry contract](/smart-contracts/resolving-nfds/nfd-registry.md).

There were major changes between V1 and V2, as well as V2 and V3.

Prior to `Version 1.16`,  NFDs didn't have Segments.

Prior to `Version 2.11`, NFDs didn't have Vaults.

`Version 2.12` was needed to allow V2 NFDs to mint Segments with renewals.

Any NFD prior to `Version 3.01` is considered a legacy NFD, meaning it doesn't have renewal fees. If a V2 NFD is upgraded to V3, the NFD owner will need to start paying renewal fees. The NFD protocol will never force V1 / V2 owners to upgrade to V3.

***

### Upgradable Smart Contracts <a href="#overview-of-upgradable-smart-contracts" id="overview-of-upgradable-smart-contracts"></a>

NFDs are upgradable and NFDomains takes full-advantage of this as Algorand releases new features. NFDomains pushes updates along with update notes on what has been changed and why.

#### Upgrading your NFDs Smart Contract <a href="#upgrade-smart-contract" id="upgrade-smart-contract"></a>

To upgrade your smart contract, navigate to an owned NFD -> *Edit* -> *Smart Contract* -> *Upgrade Contract*.

<figure><img src="/files/slY3Xi8zLcXVFzBqc2e7" alt=""><figcaption><p>Edit -> Smart Contract</p></figcaption></figure>

***

### Lock / Unlock Smart Contract <a href="#lock-unlock-smart-contract" id="lock-unlock-smart-contract"></a>

To allow maximum user control, users can toggle between locking and unlocking their NFD to upgrades. If you lock your contract, your NFD cannot be upgraded until you unlock it.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nf.domains/platform/manage/smart-contract.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
