Skip to main content

NFT Chain Keys Smart Contract

The NFT Chain Keys smart contract makes the ownership of remote accounts both provable and transferrable. This new paradigm allows you to create new end-user experiences that leverage provable and transferrable remote accounts as a core primitive.

Contract overview

The MPC Account Recovery smart contract provides a sign method that accepts a path parameter. This allows one predecessor account to have access to an effectively unlimited number of MPC keys.

The NFT Chain Keys contract takes advantage of this property and allows secure transfers of MPC keys between users, using the NEP-171 NFT contract standard. The contract also implements new functionality to enable chain key management features.


The essence of Multi-Party Computation (MPC) is to enable independent parties to perform shared computations on private information without revealing secrets to each other.


Besides the NEP-171 contract standard, the NFT Chain Keys contract complies with a full suite of NEP standards:


Please refer to the smart contract GitHub documentation for usage information:

  • Creating new key tokens: mint unlimited new NFT chain keys, as long as the account has sufficient storage.
  • Issuing signatures: generate new signatures based on a submitted payload.
  • Approvals: implement a separate set of approval management functions for using NFTs, which operate similarly to NEP-178.
testnet contract

If you want to try things out, this smart contract is available on nft.kagi.testnet.

Use Cases for NFT Keys


The ideas presented in this section are just initial concepts, and shouldn’t be considered as fully fledged solutions.

Remote Account Marketplace

NFT Keys enable users to buy, sell, and trade remote accounts within a marketplace-style application. For instance, Alice, possessing a set of remote accounts with value and history, can mint an NFT key and list these accounts for sale on the marketplace. Potential buyers, like Bob, can browse the value of Alice’s accounts and choose to make a purchase. If Bob decides to proceed, they would simply need to acquire ownership of the original NFT key from Alice in exchange for payment, such as in $NEAR. Once the transaction is completed, ownership of the accounts transfers to Bob.

Bridgeless Multi-Chain DEX

You can create a Multi-chain DEX without bridging by combining Chain Signatures with NFT Keys. Users wishing to swap asset $A for asset $B would initiate the swap on the bridgeless DEX. Supported by liquidity providers (Automated Market Makers) across multiple chains, the DEX facilitates these swaps. Here's how it works:

  • A user proposes the swap, specifying asset $A in remote account X for asset $B in remote account Y.
  • The liquidity provider receives asset $A from the user and sends the equivalent amount of asset $B to a newly created remote account Y, along with a minted NFT key.
  • The NFT key is then sent to the user to complete the swap.

Although liquidity providers still need to leverage bridging to settle assets between different pools, users of this exchange type are exposed to reduced bridge risk.

Was this page helpful?