Skip to main content

RMRK is a multi-chain NFT protocol that is Substrate-based and hosted on Kusama. The token is available on Kusama’s common-good parachain, Statemine. Due to Substrate’s native interoperability RMRK can easily be transferred to Moonriver. Typically RMRK and other Substrate-based cross chain assets have to be interacted with through the Substrate API. However, due to Moonbeam’s commitment to Ethereum compatibility, RMRK lives on Moonriver as a XC-20.

XC-20s are cross chain assets that are native to Substrate that have an ERC-20 token interface. Consequently, users can interact with XC-20s as they would with other fungible tokens, for example, add them to MetaMask and create liquidity pools in DEXs. All XC-20s will have xc prepended to their name. For example, RMRK’s representation on Moonriver is known as xcRMRK. The precompile address for xcRMRK on Moonriver is 0xFFFFFFFF893264794D9D57E1E0E21E0042AF5A0A.

For more information you can check out the Moonbeam documentation pages on XCM and XC-20s.

Currently, you can only transfer RMRK from Statemine to Moonriver, you cannot transfer xcRMRK on Moonriver back to RMRK on Statemine at this time. This functionality will be available in the near future.

This guide will show you how to use the Moonbeam dApp to transfer RMRKs to Moonriver, so you can interact with xcRMRKs on the Moonriver network. This guide can be adapted for other XC-20s as they are onboarded to the network.

Get Started with the Dashboard

To get started with the dashboard, navigate to apps.moonbeam.network/moonriver. MetaMask will pop up and ask you to sign in. Once signed in, you will be prompted to select the account to connect to the dApp and accept permissions.

xcRMRK Tutorial 1

You will also need to connect MetaMask to Moonriver. The dApp will help you switch to the right network, but if you need help, please check out our documentation on connecting MetaMask to Moonriver.

xcRMRK tutorial 2

Upon accepting permissions and changing the network to Moonriver, you will be redirected to the main dashboard where you’ll find details about your accounts balance, last transactions, crowdloan rewards data, cross chain assets (XC-20s), and staking data.

Add xcRMRK to MetaMask

Throughout this guide you’ll be interacting with the xcRMRK token, but you can follow the same steps for any other XC-20 that is supported. Make sure you are connected to the MetaMask account where you want to receive xcRMRK tokens. If so, the first step will be to add the token to your MetaMask:

  1. In the row for xcRMRK, click on add to metamask.
  2. MetaMask will pop-up and prompt you to add the token. Click on Add Token.

xcRMRK tutorial 3

To verify that the token was added successfully, you can open up MetaMask and switch to the Assets tab. From there you should see xcRMRK in the list of assets.

xcrmrk tutorial 4

Deposit xcRMRKs

To transfer RMRK from Statemine to Moonriver, you can use the deposit feature on the Moonbeam dApp. Before you begin, it’s important to note that at this time you can not withdraw the xcRMRK from Moonriver back to RMRK on Statemine. This functionality is currently not yet available.

In order to deposit some xcRMRK tokens, make sure that you’ve created or important an account into the Polkadot.js extension. When creating or importing your RMRK account, make sure that you’ve selected Allow use on any chain.

You’ll also want to make sure that your account has some RMRK tokens available to transfer to Moonriver. Transaction fees are deducted from the total amount transferred, so the fees will be paid on Moonriver in xcRMRK.

To proceed with the deposit, in the row for xcRMRK, click on deposit. You will be prompted to connect the dApp to the Polkadot.js extension:

  1. Click Connect.
  2. The Polkadot.js extension will pop-up and request access to the site. Make sure that the URL requesting access is https://apps.moonbeam.network/moonriver. If so, click on Yes, allow this application access.

xcRMRK tutorial 5

Once you’ve connected the Polkadot.js extension to the dApp, open up the MetaMask extension and make sure you’re connected to the Moonriver account where you would like to receive the xcRMRK tokens.

Next, you can start to fill out the deposit information to transfer RMRK to Moonriver:

  1. Make sure Statemine is selected as the origin chain.
  2. Select the Statemine Address to transfer RMRKs from.
  3. In the Amount field, enter the amount of RMRKs you would like to transfer. Please note that there is a minimum amount listed.
  4. Verify that the account listed is your Moonriver account where you would like to receive the xcRMRK tokens.
  5. Review the transaction details and if everything looks correct, click Send.

xcRMRK tutorial 6

The Polkadot.js extension will pop-up and ask you to confirm the transaction. Enter your password and click Sign the transaction. The transaction will be sent and your xcRMRK balance will be displayed in the dApp. Keep in mind that the transaction fees will be deducted from your xcRMRK balance.

xcRMRK tutorial 7

You can check that your RMRK balance has decreased by using Polkadot.js apps for Statemine. You’ll need to navigate to Network, then choose Assets, and from the asset to query for balances dropdown make sure you select RMRK.app. You can also use a Statemine block explorer such as Statescan.

Now that you’ve successfully sent RMRK to Moonriver, you can interact with the xcRMRK tokens like you typically would with ERC-20 tokens on Moonriver.

Send xcRMRKs within Moonriver

Since you have already added the xcRMRK token to MetaMask, you can start interacting with it as you would with any ERC-20 token. For example, you can send xcRMRK to another Moonriver account. Remember that xcRMRKs can not be transferred back to RMRK on Statemine at this time.

To send xcRMRK to another Moonriver account, you can follow these steps:

  1. Open MetaMask and from the Assets tab click on the xcRMRK asset.
  2. Click on Send.
  3. Choose an account to send the xcRMRK to.
  4. Enter the amount of xcRMRK to send.
  5. Review the transaction details and click Confirm to send the transaction.

xcrmrk tutorial 8

You should see that your xcRMRK balance displayed on the dApp has decreased and the transaction is listed under the Activity tab in MetaMask. The recipient will need to add the xcRMRK token to their MetaMask and then they can feel free to send xcRMRK around the Moonriver network.

And that’s it! Congratulations! You have successfully sent RMRK to Moonriver in exchange for xcRMRK and sent xcRMRK to another account on Moonriver.

Moonbeam Team

Author Moonbeam Team

More posts by Moonbeam Team