Proposal for RMRK token sufficiency on Statemine

2yrs ago
13 Comments

The RMRK team has been at the forefront of NFT innovation for the past year, inspiring both collaborators and clones in and outside of the Dotsama (Polkadot and Kusama) ecosystem.

Based on our growing social media followership and community engagement as well as the number of projects being launched on the current version of RMRK and planned on the new iterations, there is a clear demand for the technology that we are building. Since we started in April 2021:

  • 6700 collections live
  • Total volume of over 500’000 KSM including secondary sales
  • A total of over 30000 unique accounts have listed NFTs on RMRK’s platforms, resulting in current numbers of over 16500 distinct owners of RMRK1 NFTs and over 28500 distinct owners of RMRK2 NFTs: a total of over 35000 currently active collectors

The NFT 2.0 functionality we have pioneered is also seeing heavy use. To date:

  • Almost 100’000 multi-resource NFTs have been launched, NFTs that are multiple things at the same time (a song with a visualization, a profile pic with a static output and a composable one, an ebook that has an audio book counterpart).
  • Over 50’000 equippable NFTs have been launched, with 50 new equippable collections underway and in active development. These are NFTs that can be placed into other NFTs, but are otherwise stand-alone. They are often cross-collection compatible, ushering in a “global item economy”.

With our EVM and Rust versions in MVP stage, we are on the precipice of being integrated with the majority of the Dotsama ecosystem chains.

Thus far, the technology has been largely independent of $RMRK token use, allowing free and ungated experimentation, building, and ecosystem expansion for both partners and competitors in any direction they choose - with or without our token, and yet, looking at RMRK token activity, there is a clear community demand for more utility and easier use:

  • over 4000 holders on Moonriver, Bifrost, Karura
  • over 4300 diverse holders on Statemine alone
  • Tens of thousands of holders on Kucoin and Gate.io
  • over 11% of all RMRK has been bridged over to Moonriver
  • ~35 million USD in weekly volume on Kucoin alone

However, with the soon to be released new utilities of the RMRK token, we are encountering multiple pain points related to the token’s presence on the Statemine common good chain.

Notably, our community are experiencing difficulties with regards to transfers, withdrawals, and trading, and these experiences are not only impacting the use of centralized and decentralized exchanges, but also encumbering the development of our Skybreach metaverse, the intended crown jewel of our project, and a value add for DotSama.

The Problem

Statemine is a common good parachain in the Kusama ecosystem intended as a common ledger of basic balances of fungible and non fungible tokens. Minimalism is at its core - it lacks programmability on purpose and serves as a “home” for canonical balances of chain-less tokens like RMRK, or Parity’s company retreat attendance NFTs.

To protect against spam, Statemine uses two methods:

  1. It requires a deposit for every new class, a class being a collection of NFTs, or a type of fungible token (e.g. RMRK).
  2. It requires an existential deposit of KSM before an account can be “primed” in order to be able to receive any non-KSM tokens on the network.

This means that in order to receive a token on Statemine, an address first needs to have an initial balance of KSM.

With a relatively straightforward implementation of the Teleport function in the default Polkadot JS UI, this is generally not a problem for individual crypto native users. However, it poses an enormous challenge for non-crypto-natives, for multi-signature and hardware-wallet-using investors, and for centralized exchanges. Let’s explore each:

  1. Non crypto natives have a hard time navigating the Polkadot JS UI. For these users, the interface is overwhelming and confusing, and no dedicated wallet exists for this particular case of “feeding Statemine accounts with KSM on Kusama'' that would also be usable in other contexts. As such, the only option right now is the admittedly frightening power-user-oriented Polkadot JS UI.
  2. Multi-signature accounts and hardware wallets also suffer from a lack of usability in the Dotsama system, and using them for everyday interactions is often quite difficult. n particular, multisigs are only available on Polkadot JS UI and their use often feels like a black box, especially for non-technical users as they need to wrangle terms such as multisig deposit amounts and call data vs call hashes. Ledger has been notoriously slow in implementing timely support for Kusama and Polkadot, and more recently Statemine, which is complicated further by the fact that these applications are, due to the size of the chain metadata, so large that one usually needs to uninstall all but one app on a Ledger Nano S device.
  3. Arguably the biggest problem of all which trickles down into all other areas are centralized exchanges. They are used to thinking about token transfers through a different mental (and technical) model, and as such find it odd and surprising that they are unable to programmatically generate an infinite amount of valid deposit addresses for a user. Because of the existential deposit, a user is expected to prime their deposit address from Statemine itself, an operation inaccessible from Kucoin (since sending KSM there means sending it on Kusama) and so users are required to teleport KSM into an address on Statemine. To the average CEX user, this is simply an impossibility. This is admittedly a Kucoin UX problem, but it is not being made easier by the fact that (mostly) throwaway addresses (deposit addresses) need to be continuously topped up, lest their balance go too low to accept new token deposits. Gate.io has the same problem.

All told, the RMRK team has answered over 12’000 support requests from confused users about the RMRK token and its use on Statemine in the past six months. That is only the number of those we as a team replied to - those who figured it out with the help of our ambassadors and community are not counted.

The Solution

There are two possible solutions to dramatically improve the usability of RMRK tokens.

  1. Give RMRK sufficiency.
  2. Move the RMRK token off of Statemine.

Despite our token already being bridged to Karura, granted sufficiency there, and made usable for paying transaction fees, where possible we would prefer to stay neutral. Thus, our preference is option 1.

Sufficiency

Sufficiency is the concept of allowing a token on Statemine to exist and be used without accounts needing an existential deposit of KSM to accept the token.

This is achieved through a governance proposal passed through the Kusama council or public referendum, and entails “flipping a switch” on the Statemine end.

RMRK has completed the initial phases of our project, and we will soon be further expanding our scope with the launch of a metaverse and accompanying marketing efforts. Consequently, many of the issues identified will be further compounded by further growth of our project. As such, we strongly believe that it is in everyone’s best interest to make RMRK sufficient on Statemine as this, apart from making use orders of magnitude simpler, will allow us to:

  • Move RMRK NFTs to Statemine, preventing Kusama node hard-drive bloat
  • Allow trading of NFTs with RMRK tokens as currency
  • Focus on supporting Statemine’s native NFTs as well
  • Deliver the promised token utility without solely migrating to more programmable chains

Our proposal is to make RMRK sufficient through an external governance call, subject to community vote.

Call data on Statemine:

0x32122000d1bc4259aeb77874ee7ca72a9763d6385763068b56bf47fcabd0d854311ab7c100d1bc4259aeb77874ee7ca72a9763d6385763068b56bf47fcabd0d854311ab7c100d1bc4259aeb77874ee7ca72a9763d6385763068b56bf47fcabd0d854311ab7c100d1bc4259aeb77874ee7ca72a9763d6385763068b56bf47fcabd0d854311ab7c1821a06000100

Hash on Statemine:

0xe5183c1d4c58c6c5ab41b37d753eb6798d7e8f8176af5c8561f7ed8805fd7bab

Call data on Kusama:

0x630001000100a10f0204060302286bee350232122000d1bc4259aeb77874ee7ca72a9763d6385763068b56bf47fcabd0d854311ab7c100d1bc4259aeb77874ee7ca72a9763d6385763068b56bf47fcabd0d854311ab7c100d1bc4259aeb77874ee7ca72a9763d6385763068b56bf47fcabd0d854311ab7c100d1bc4259aeb77874ee7ca72a9763d6385763068b56bf47fcabd0d854311ab7c1821a06000100

Hash on Kusama:

0xb42f79bdb3eb16cb3d8d00bdafa4b41eee6e29813f3e098769b9ff0218c6be99

We would like to thank Raul Romanutti for help with this proposal!

Up
Comments
No comments here