MayaScan
MayaScan

MRC-20 DOCS

Revolutionizing Token Transactions on Maya

MRC-20 Coins on Maya

What is MRC-20?

MRC-20, an innovative advancement within the Maya ecosystem, is set to redefine the way users engage with tokens on the blockchain. Drawing inspiration from the ERC-20 standard on Ethereum and Bitcoin's Ordinals, MRC-20 introduces a groundbreaking framework that seamlessly integrates token deployment, minting, transfer, selling, and buying, all facilitated through memos and ordinal theory. Fully indexed and supported by MayaScan.

At the heart of MRC-20 lies the incorporation of ordinal theory, a concept akin to ordinals on Bitcoin but tailored to the unique environment of the Maya Protocol. This empowers MRC-20 with a robust and secure framework for managing token interactions and ensures the preservation of network integrity.

Concept

Experiment to see if ordinal theory can facilitate fungibility on the Maya Protocol and allow users to:

Available operations

Deploy a new MRC-20 token

TX Type

SEND

Recipient

self

MRC-20:deploy:[ticker]:[supply]:[mint-limit]:[mint-price]

Key

Req?

Description

ticker

YES

The name of the token, no special characters, up to 4 characters long.

supply

YES

The maximum supply of the token. 10 decimals. (ie: 1 token = 10000000000)

mint-limit

NO

If letting users mint their own tokens, it specifies the max amount of tokens that an address can mint. 10 decimals

mint-price

NO

If letting users mint their own tokens, it specifies the "price per token" (in CACAO). Minters will have to send `mint-price * mint-amount` in CACAO to the deployer address in order for the mint to go through.

RULES

  • The ticker must be unique. Duplicates will be ignored

  • The ticker is NOT case sensitive (eth = ETH = eTh)

  • The ticker should not mirror existing crypto coins (BTC, ETH, KUJI, DASH, KUJI...), these will be ignored.

  • If the ticker contains invalid charactes or is longer than 4 characters it will be ignored.

  • If the supply is greater or equal to 1 trillion it will be ignored (token won't be deployed)

  • If the mint limit is greater than the supply, it will be ignored (the token will be deployed be the mint limit will be ignored).

Set the MINT PRICE of a MRC-20 token

TX Type

SEND

Recipient

self

MRC-20:set-mint-price:[ticker]:[mint-price]

Key

Req?

Description

ticker

YES

The name of the token that is being updated.

mint-price

YES

The new mint price per token (in CACAO).

RULES

  • The ticker must exists

  • The MRC-20 token must have been created by the same address that is trying to update it

Mint an arbitrary amount of tokens

TX Type

SEND

Recipient

DEPLOYER

MRC-20:mint:[ticker]:[amount]:[recipient]

Key

Req?

Description

ticker

YES

The name of the token that is being minted.

amount

YES

The number of tokens that are being minted.

recipient

NO

The owner of the newly minted tokens.

RULES

  • The ticker must exists

  • The amount of tokens previously minted must be less than the requested amount

  • The mount of tokens to mint must be less or equal to the `mint-limit` initially specified by the token's deployer

  • The optional recipient must be a valid MAYA address

Transfer an amount of MRC-20 tokens

TX Type

SEND

Recipient

BENEFICIARY

MRC-20:transfer:[ticker]:[amount]

Key

Req?

Description

ticker

YES

The name of the token that is being transferred.

amount

YES

The amount of tokens that are being transferred.

RULES

  • The ticker must exists

  • The amount must be lower or equal to the amount of tokens held by the sender

  • If there's is a sell order in place the number of tokens being sold is discounted from the amount of tokens being held by the address

Create a sell order

TX Type

SEND

Recipient

self

MRC-20:sell:[ticker]:[amount]:[price]

Key

Req?

Description

ticker

YES

The name of the token that is being sold.

amount

YES

The amount of tokens that are being sold.

price

YES

The price (in CACAO) at which the tokens are being sold for.

RULES

  • The ticker must exist

  • The amount must be lower or equal to the amount of tokens held by the seller

Cancel a sell order

TX Type

SEND

Recipient

self

MRC-20:cancel:[ticker]:[hash]

Key

Req?

Description

ticker

YES

The name of the token that is being updated.

hash

YES

The tx hash that created the sell order.

RULES

  • The ticker must exist

  • The tx hash must exist

  • The sell order must have been created by the address canceling it

  • Canceling the order will only return the tokens that have not been sold already

Buy MRC-20 tokens from the order book

TX Type

SEND

Recipient

SELLER

MRC-20:buy:[ticker]:[amount]:[hash]

Key

Req?

Description

ticker

YES

The name of the token that is being bought.

amount

YES

The amount of tokens that are being bought from the order book.

hash

YES

The hash of the tx from the order book listing.

RULES

  • The ticker must exist

  • The amount must be less or equal to the amount being sold

  • The hash must exist

Burn MRC-20 tokens

TX Type

SEND

Recipient

self

MRC-20:burn:[ticker]:[amount]

Key

Req?

Description

ticker

YES

The name of the token that is being burnt.

amount

YES

The amount of tokens that are being burnt.

RULES

  • The ticker must exist

  • The amount must be less or equal to the amount being held by the user burning the tokens

Final thoughts

In summary, MRC-20 represents a pivotal evolution within the Maya Protocol, introducing a standardized approach to token operations through memos and ordinal theory. By fusing these elements, MRC-20 opens the door to a new era of token engagement, reinforcing Maya's position as a trailblazer in the realm of blockchain innovation.