🎰MRC-721

MRC721s are Ordinal NFTs that passively generate MRC20s

What is MRC-721?

MRC-721s are Ordinal NFTs that passively mine their associated MRC20. Like NFT collections, MRC721s have a max supply. Anyone can deploy their own MRC721 and set customizable parameters that control the supply, growth, and halving reduction cycles of its MRC20 - a customizable mining ecosystem. There are also the burn and lottery features of mining machines that will be explained below. The launches of MRC721s are completely fair launches and the resulting NFTs can be sold on any Ordinals supported marketplace.

Deployment Parameters for MRC-721 Projects

A sample MRC721 deployment inscription can be found here.

Genesis Parameters for Mining Machines:

  • Machine Name ("name"): Must be in uppercase, up to 20 characters, with no consecutive spaces between words. The currency name must be in lowercase, within 4 characters, with no spaces in between. Only ASCII codes are permitted, and special symbols are not allowed.

  • Maximum Number of Machines ("max"): 1 - 100,000,000 (1 - 100 million).

  • Single Address Limit ("lim"): The maximum number of machines an address can mint, ranging from 1 to n.

Mining Machine Parameters:

  • Total Token Supply ("total"): 1 to \(10 \times 10^{666}\).

  • Initial Yield ("beg"): Ranges from 1 to the total token supply. This is the amount of MRC20 generated per block to all mining machines, split equally.

  • Reduction Cycle ("halv"): 1 to n blocks. This is the number of blocks until each reduction (or halving) cycle.

  • Reduction Rate ("dcr"): 0.000 to 1.000, calculated in percentages, ranging from 0% to 100.0%. This is the percent reduction of token mining rate after each reduction cycle. For example, a dcr=0.5 means that after each reduction cycle, there is 50% less mining output.

Lottery Parameters

The lottery is an optional parameter, denoted with "ltry" key in the inscription JSON. If enabled, a lottery fee is taken out of all block rewards and added to the lottery pool. Every set number of blocks, a random winner will win the lottery! Sample inscription with lottery can be found here.

  • Drainage Ratio ("pool"): Drains after each block, ranging from 0.000 to 1.000, equivalent to 0% to 100.0% being added to the prize pool. For example, if pool = 0.1 then 10% of the block rewards get added to the lottery every block.

  • Prize Interval ("intvl"): Rewards drawn every 1 to n blocks.

  • Winning Probability ("winp"): 0 to 1 (determines if rewards are distributed each round). For example if winp=0.2, every <prize interval> blocks, there is a 20% chance the lottery hits.

  • Reward Distribution Rate ("dist"): Random distribution from the prize pool, ranging from 0 to 1%. For example, if dist=0.5, then 50% of the lottery pool will be distributed to a random winner.

Burn Parameters (leave blank during engraving if invalid):

The burn is an optional parameter, denoted with "burn" key in the inscription JSON. Users may burn MRC20s to improve the mining power (MRC20 generation power) of their mining machines.

  • Units needed for a burn ("unit"): Burn this many units of the MRC20 to increase the power of your MRC721.

  • Boost ("boost"): 0.000 - 1.000, equivalent to 0% - 100.0%. For example, if boost=1, then a burn will upgrade the mining rate of your MRC721 by 100%.

Parameter Example

In this example:

  • "p": "mrc-721"` indicates that this is an MRC-721 protocol.

  • The `"miner"` block contains parameters related to the Inscription mining machine:

    • "name": "Demo 721"` is the name of the mining machine.

    • "max": "100"` indicates the maximum number of mining machines.

    • "lim": "5"` represents the upper limit for the number of inscriptions an address can mint

  • The "token" block encompasses parameters for mining:

    • "tick": "coin"` represents the token symbol.

    • "total": "2100000000000000"` is the total token supply.

    • "beg": "20000000000000"` denotes the initial yield of tokens, aka total tokens mined per block

    • "halv": "100"` is the number of blocks per halving cycle

    • "dcr": "0.30"` means 30% less mining output per halving cycle

  • The "ltry" block includes lottery parameters:

    • "pool": "0.001"` is the drainage ratio, ie 0.1% of the block rewards are added to the lottery

    • "intvl": "900"` is the interval for the lottery, ie a lottery occurs every 900 blocks

    • "winp": "0.10"` indicates the winning probability, ie 10% of lottery draws result in a win

    • "dist": "0.60"` denotes that 60% of the lottery pool will be awarded to a winner

  • The "burn" block covers burning parameters:

    • "unit": "8000000000"` represents amount of tokens required for a burn upgrade

    • "boost": "0.05"` is the increase in hashrate (5%) per burn upgrade

Last updated