# Smart Contract

### NFD Versions

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

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="https://4134825060-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGMXk8EnC6jWr5RrxA1Y5%2Fuploads%2Frv82FtEclvyrxBbxuGAi%2Fimage.png?alt=media&#x26;token=8263bbad-1c29-4dec-8103-e2765696fc68" 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.

***
