# Implementing NCT in an NFT Project **Technical Details** * NCT is a standard ERC20 token with minting functionality * NCT is the native naming token used by Hashmasks. * Verified Contract Address: https://etherscan.io/address/0x8a9c4dfe8b9d8962b31e4e16f8321c44d48e246e ## Smart Contract Implementation **Parameters:** 1. Cost of name change: **N** amount of NCT 2. Your NFT contract: **Z** **Implementation Overview:** * In the name change function of your NFT contract **Z**, transferFrom function on the NCT contract needs to be called with **msg.sender** as ***from***, **Z** address as ***to*** and **N** as ***amount***. * (If you decide to burn the NCT) In the next step, call the **ERC20 burn function** on the NCT contract with **N** as the ***amount***. * Write the remaining logic for naming the NFT. You may need to write additional logic before calling the **transferFrom**, depending on your requirements. * Check https://etherscan.io/address/0xc2c747e0f7004f9e8817db2ca4997657a7746928#code#F7#L311 for reference on how Hashmasks does it. ## UX Implementation Frontend implementation is also pretty straight forward. Here's the flow in a nutshell. * User calls approve function with **Z** as ***spender*** and **N** as ***amount*** * User calls the change name function on **Z** with the new name and tokenId (Their NFT index) as parameters.