1 of 12

2 of 12

Agenda

Abstract

Prior art, Projected prior art, Context:

Why is it needed? What is the business case?

Trade-offs

Proposed Architecture and Scope

3 of 12

Abstract

Interoperability is a key value proposition for Polkadot. XCM delivered on this promise, allowing Polkadot’s parachains to freely exchange messages. However, NFTs are not covered by the existing XCM. Our team has embarked on the path to deliver this capability, to ensure completeness of Polkadot’s vision and allow its diverse tech stacks to work together and move NFTs from one parachain to another in the completely decentralized and secure way. Polkadot currently has 4 known Substrate NFT pallets in production, as well as EVM and Ink! NFTs on its parachains. NFT XCM therefore has a task not only to ensure easy transfers of NFTs between parachains, but also to serve as an common denominator - a standard way for parachains to understand each other.

We have completed comprehensive discussions with Core Developers of Polkadot, closely collaborated with Parity’s NFT and XCM teams to deliver the specification for the NFT XCM and the Proof of Concept - first ever NFT XCM exchange between Karura and Quartz, which completed Milestone 1 of this proposal. Further milestones proposed intend to create a production version of the solution that works on Substrate parachains, as well as attempt to create versions for EVM and Ink! In collaboration with all affected parachains and the whole ecosystem.

4 of 12

Prior art

Currently NFTs cannot be transferred from one parachain to another, except in a very specific and centralized way. One can not create a valuable collection in some game and use the NFTs as a collateral for loans on Polkadot DeFi parachains, for example. Attempts at point to point NFT bridges are short term fixes for one off projects, not working for Web3 goals.

Some external bridges are being put in place that may solve part of the problem, but they are designed mainly for communication with chains external to Polkadot and do not have the industrial strength, ease, speed and security that XCMP/HRMP as a protocol can deliver.

Work in progress on AssetHub can only deliver transfer of NFTs created on AssetHub, and as such does not hold universal value for the Polkadot ecosystem. Using that as the basis NFT projects created on any other parachain (vast majority of NFTs) do not have and will not have interoperability.

Therefore, we state that without solving for NFT XCM, Polkadot will not deliver on its mission, and will not serve as the best in class blockchain ecosystem.

5 of 12

Why

We see the need for the NFT XCM in 2 categories:

a) Interoperability (ability to move assets between chains) is a core value proposition of Polkadot. NFT XCM is needed to finish the job of interoperability that Polkadot promised, since NFT interoperability does not exist now in the ecosystem

b) As for specific use cases that may use the NFT in the near future, here are just a few examples:

i) NFT produced on one parachain needs to have access to a number of dApps if they are to have utility, and most will be on another parachain. DeFi chains don't do NFTs, and how else to combine them if not by sending an NFT from a host chain to a DeFi chain for collateral for a loan, for example. Only Centrifuge can do that today (maybe Moonbeam), but most parachains can't, including AssetHub.

ii) How do you launch DED NFTs? On AssetHub? You can't have games on AssetHub. You can't have DeFi on AssetHub. You can't have anything on just one parachain. You need many parachains if you're Polkadot. And for them to talk to each other, you need NFT XCM.

iii) We have minted Carbon Offset NFTs. With XCM, those can be used in any parachain to offset their carbon footprint for the parachain itself or for its dApps.

6 of 12

Trade-Offs

  1. Implementing this proposal will not prevent any other potential solutions that solve same/similar problems, partially or in whole.
  2. Any alternative solutions have a lower potential for ease of use, cost, scale, scope and other parameters.
  3. If Spree is implemented, our NFT XCM will complement it and accelerate the adoption.

7 of 12

Proposed Architecture and Scope

Create on-chain and off-chain tools to enable easy NFT XCM integration, and a uniform XCM NFT transfer interface for use across most of the ecosystem parachains and their dApps.

8 of 12

Proposed Architecture and Scope

Proposed scope

  • XNFT Pallet – an XCM adapter for most known NFT pallets
  • Fee estimation RPC API
  • Asset Recovery implementation (RFC-37)
  • UI Integration SDK (API Library)
  • Transfer example(s), documented, reusable

Implementation steps

  • Parachains will need to integrate our solution into their runtimes and run forkless upgrades to enable XCM transfers via XNFT pallet

Google drawing source

9 of 12

Final Steps to Making x-chain NFT Transfers Live

On Relay layer

  • None

What each parachain needs

  • Enable XCM v3+
  • Include XNFT pallet with appropriate configuration to work with the NFT solution of the parachain
  • Include XCM fee estimation Runtime API

What application devs need to use it

  • The JS library we’re going to deliver

What users need to use it

  • Up to app developer discretion

10 of 12

Milestones and deliverables

  1. R&D of what an NFT transfer essentially means. Transfer POC Karura <> Quartz (status: finished in 2023)
  2. Generalized XNFT Pallet, XNFT pallet integration for several ecosystem NFT pallets, fee estimation Runtime API, UI Tools (Client API, SDK, example UI), R&D of Asset Transactors for EVM. 6-9 months
  3. Asset Transactors for EVM parachains, R&D of Asset Transactors for Ink!. 3-4 months
  4. R&D and clarification of XCM NFT metadata operations 3-4 months

Future: Cross-consensus metadata operations

11 of 12

Budget

Grand total

Developers

Arch. + PM

Mgt

Hours

6860

1250

240

Cost per hour, USD

$100

$100

$150

$686,000

$125,000

$36,000

$847,000

Milestone

Item

Hours

Developer

Arch. + PM

Mgt

Milestone 1

Work completed in 2023

1640

160

40

1840

Milestone 2

For details see the budget section of the proposal

3940

770

80

4790

Milestone 3

For details see the budget section of the proposal

640

240

80

960

Milestone 4

For details see the budget section of the proposal

640

80

40

760

Over $150k is dedicated to external team work - EVM, Ink!, Use case bounties and Education materials

12 of 12

Dependencies

Protocol level work is completed.

Parachain that wants to have NFT XCM functionality will need to:

Review pallet code and run the prepared tests to ensure it works on their parachain

Deploy Fee Estimation Runtime API

Audits - AssetHub is expected to deploy the xNFT pallet first, part of their process is a thorough review and audit. After that other parachains should be safe to deploy the pallet.

Maintenance - ORML approach will be used (or the code can be actually moved there). Tests will need to be updated, which will be open to public contributions. CI work should go along with it. Documentation will allow easy knowledge acquisition for others to do any maintenance work. Move to Polkadot SDK repo will be proposed and discussed.