MRC402(NFT)

MRC-402 is Token like NFT

Support mixed assets for NFT.

MRC402 supports the mixed assets and shares some portion of commission to a copyright holder or a profit share holder on Sales/Auction.

It supports to create Token/MRC402 and Mint and Burn by QR Code or Deeplink on MetaWallet webpage.

Here is the MRC402’s main features.

Mixed Assets

You can create the NFT with combining several tokens not only one token.

  • James set as 5 Metacoin and 10 JamesToken(MRC010) per one NFT as initial assets then create 100 JamesNFT.

  • It’s withdrawn the 500 Metacoin(5MTC*100), 1000 JamesToken(10 JamesToken * 100) from creator’s wallet.

  • It’s valued of 5 Metacoin, 10 JamesToken on 1 JamesNFT.

  • If a user who has got JameNFT melt it or James who create the JamesNFT burn it, you can get the amount of melted or burned * 5 Metacoin, 10 JemaesToken(MRC010).

Copyright Information

NFT is usually used in work of art.

However, there are so confused to users who want to own the NFT. because it is unclear which art is based on.

In MRC402, copyright information can be set only once when NFT is created.

It will ensure that those who wish to own the NFT recognize which work they have by reference this information.

Burn

Burn will reduce the total issuance and it can do by an issuer only.

If there is an initial asset, it will be returned equal to the burned amount * the initial asset.

Mint

Mint will increase the total issuance and can only be issued by issuer.

If there is an initial asset, it will be reduced from the creator’s wallet by the amount of mint * initial asset.

Transfer

MRC402 can send multiple NFTs on transaction not like MRC401.

Melt

Users who has got NFT can do the Melting.

But, If you specify a date that Melting function can be executed on creating the NFT, you can not do Melting before that date.

  • James sends 100 MTC to Mary with a lockup until January.01.2025.

  • Mary can not give 100 MTC to someone until that date.

  • But, If James send to Mary it after setting the initial asset as 100 MTC and melting point as January.01.2025 and issuing 1 MRC402 Mary can transfer to someone at any time and the user who has got it get 100 MTC with melting after January.01.2015.

It has the same effect as a lockup and can also be used as a transferable token.

Support various media

It can publish the NFT by MP4 files as well as images.

It saves in zzal.io because the storing in blockchain consumes excessive traffic and capacity.

zzal.io is a service that stores with distributing images and videos.

Support Platform

  • We open a website “HotDeal.io” that supports NFT trading and provides a variety of information related trading NFT.

  • It can be expected to get advertising and transaction fees.

  • ADV can be carried out in various support methods.

  • If you want to get the commission at a certain percentage on the transaction, sellers send the NFT to “HotDeal.io”,

  • “HotDeal.io” send to the seller with deducted the commission after getting the transaction amount from buyers.

  • After all, it becomes subordinate to a web service called “HotDeal.io” not a decentralized transaction.

If it sell/auction in Metacoin Network after fill out the platform name, commission rate and receiver’s address for commission on registering MRC402,

Trading is made on the Metacoin Network. The fee is distributed according to the information.

Support ShareHolder

You can enter the copyright holder on creating NFT or a user who receive the commission on trading.

We called it “ShareHolder”.

ShareHolder can put the address and commission rate up to 5 addresses.

It’s set up at the time of initial creation and can not be changed.

It supports multiple copyright holders and give stable profits on the Metacoin Network.

It helps you to be more creative.

Create MRC402 Token

POSThttps://rest.metacoin.network:20923/mrc402
Query parameters
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402?name=text&creator=text&url=text&imageurl=text&allowtoken=text&category=text&description=text&itemurl=text&itemimageurl=text&data=text&tkey=text&signature=text', {
    method: 'POST',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

GET MRC402 Token

GEThttps://rest.metacoin.network:20923/mrc402/{mrc402id}
Path parameters
mrc402id*string

MRC402 Token ID

Example: "MRC400_db7da6bc848ba62e621aede40f75dc760_0000000000000000000000000000000000000001"
Response

successful operation

Body
ownerstring
Example: "MTPBF7OHamYp0luagfi2RcleKFyQf2qU9d530ee2"
namestring
Example: "MRC400 Project"
urlstring
Example: "https://metacoin.mrc400project.com/"
image_urlstring
Example: "https://metacoin.mrc400project.com/image/logo.png"
allow_tokenstring (int32)
Example: 0
categorystring
Example: "PFP type NFT"
datastring
descriptionstring
Example: "This project is MRC400 base PFP"
item_image_urlstring
Example: "https://metacoin.mrc400project.com/image/mrc401/{id}"
item_urlstring
Example: "https://metacoin.mrc400project.com/mrc401/{id}"
socialmediastring
partnerstring (json_encode)
createdateinteger (UnixTimestamp (UTC))

MRC400 Token generation time.

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/{mrc402id}', {
    method: 'GET',
    headers: {},
});
const data = await response.json();
Response
{
  "owner": "MTPBF7OHamYp0luagfi2RcleKFyQf2qU9d530ee2",
  "name": "MRC400 Project",
  "url": "https://metacoin.mrc400project.com/",
  "image_url": "https://metacoin.mrc400project.com/image/logo.png",
  "allow_token": 0,
  "category": "PFP type NFT",
  "data": "text",
  "description": "This project is MRC400 base PFP",
  "item_image_url": "https://metacoin.mrc400project.com/image/mrc401/{id}",
  "item_url": "https://metacoin.mrc400project.com/mrc401/{id}",
  "socialmedia": {
    "facebook": "https://facebook.com/demo",
    "homepage": "https://homepage.com"
  },
  "partner": {
    "MTrqP2QkpBgBfNwgXsyGk3aWKtt3lQp369797277": "partner",
    "MTL97iMddTPADBUethWmlIzx3e6mawn724e865aa": "creator",
    "MT7LMaOd9bREtTUP23m0Ge83yA7VNzhUf0399772": "saller"
  }
}

Transfer ownership of the MRC402 token to another user.

POSThttps://rest.metacoin.network:20923/mrc402/transfer/{mrc402id}
Path parameters
mrc402id*string

MRC402 Token ID

Query parameters
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/transfer/{mrc402id}?fromAddr=text&toAddr=text&tkey=text&signature=text', {
    method: 'POST',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

Sell MRC402 Token

  • Sell ​​MRC402 tokens.
  • If other users purchase tokens, they will receive the specified amount of sales.
  • If sell_fee is 10, 10% of the transaction amount will be transferred to the MRC400 token holder designated in the MRC402 token, and only 90% of the fee excluding the 10% fee will be received by the MRC402 token holder.
  • If the value of sell_fee is 0, no commission is paid.
POSThttps://rest.metacoin.network:20923/mrc402/sell/{mrc402id}
Path parameters
mrc402id*string
  • MRC400 Token ID
  • The mrc400 token ID of the mrc402 item specified in itemdata.
Query parameters
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/sell/{mrc402id}?tkey=text&signature=text', {
    method: 'POST',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

MRC402 token sale canceled

POSThttps://rest.metacoin.network:20923/mrc402/unsell/{mrc402_dex_id}
Path parameters
mrc402_dex_id*string
  • MRC402 DEX ID
Query parameters
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/unsell/{mrc402_dex_id}?tkey=text&signature=text', {
    method: 'POST',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

Buy MRC402 Token

POSThttps://rest.metacoin.network:20923/mrc402/buy/{mrc402id}
Path parameters
mrc402id*string

MRC402 Token ID

Example: "MRC400_dd1605be6960d9d6ba7bbeed9da033980_0000000000000000000000000000000000000001"
Query parameters
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/buy/{mrc402id}?tkey=text&signature=text', {
    method: 'POST',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

Melt MRC402

  • Melt the MRC402 token.
  • Once melted, the item cannot be transferred or sold to others.
  • When the MRC402 Token is created, it will be received in the owner's wallet as much as the initial_price.
  • If the meltint_fee is 10, 10% of the initial_price will be transferred to the MRC400 token holder specified in the MRC402 token, and only 90% of the fee excluding the 10% fee will be received by the MRC402 token holder.
  • If the value of meltint_fee is 0, no fee is paid.
POSThttps://rest.metacoin.network:20923/mrc402/melt/{mrc402id}
Path parameters
mrc402id*string

MRC402 Token ID

Query parameters
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/melt/{mrc402id}?tkey=text&signature=text', {
    method: 'POST',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

Auction MRC402 Token

  • Auction ​​MRC402 tokens.
  • You can cancel an auction using the /mrc402/unauction protocol.
  • If there is a bidder, the auction cannot be canceled.
  • If sell_fee is 10, 10% of the transaction amount will be transferred to the MRC400 token holder designated in the MRC402 token, and only 90% of the fee excluding the 10% fee will be received by the MRC402 token holder.
  • If the value of sell_fee is 0, no commission is paid.
POSThttps://rest.metacoin.network:20923/mrc402/auction/{mrc402id}
Path parameters
mrc402id*string
  • MRC402 Token ID
Query parameters
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/auction/{mrc402id}?tkey=text&signature=text', {
    method: 'POST',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

MRC402 token auction canceled

  • If there is a bidder, the auction cannot be canceled.
POSThttps://rest.metacoin.network:20923/mrc402/unauction/{mrc402_dex_id}
Path parameters
mrc402_dex_id*string
  • MRC402 DEX ID
Query parameters
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/unauction/{mrc402_dex_id}?tkey=text&signature=text', {
    method: 'POST',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

Bid MRC402 Token

POSThttps://rest.metacoin.network:20923/mrc402/bid/{mrc402id}
Path parameters
mrc402id*string

MRC402 Token ID

Example: "MRC400_dd1605be6960d9d6ba7bbeed9da033980_0000000000000000000000000000000000000001"
Query parameters
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/bid/{mrc402id}?tkey=text&signature=text', {
    method: 'POST',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

Finish MRC402 token auction

  • Process the auction closing.
  • This replaces the JobScheduler inside the BlockChain.
  • It can be called without permission or signature, and the auction is closed according to the already established procedure.
  • If you call it before the auction end time, you will get an error.
  • If you call for an auction that has already ended, you will get an error.
GEThttps://rest.metacoin.network:20923/mrc402/auctionfinish/{mrc402id}
Path parameters
mrc402id*string

MRC402 Token ID

Example: "MRC400_dd1605be6960d9d6ba7bbeed9da033980_0000000000000000000000000000000000000001"
Response

successful operation

Body
transaction_idstring

Transaction ID

Request
const response = await fetch('https://rest.metacoin.network:20923/mrc402/auctionfinish/{mrc402id}', {
    method: 'GET',
    headers: {},
});
const data = await response.json();
Response
{
  "transaction_id": "text"
}

Last updated