Introduction to NATs and $NAT
A Non-Arbitrary Token (NAT) is a fungible token whose supply is determined by Bitcoin’s on-chain data instead of arbitrary human decision. This is a departure from what has been the status quo for as long as cryptocurrencies have existed: supply and monetary policy being chosen by decree.
For those familiar with Bitcoin’s Bitmap metaverse, here is a comparison that should be easy to grasp using the first NAT token, called $NAT or $DMT-NAT as an example:
The community refers to this general concept of creating digital substance from digital matter as Digital Matter Theory (DMT).
Conceptually, creating an NAT is similar to mining a natural element like gold and minting it into coins. Gold was not created. It was discovered. Similarly, nobody creates the pattern behind an NAT. They simply discover the pattern, create the mapping and the market decides its value. We’ll show how this is done later.
Because the supply of $NAT is derived from the bits field in each Bitcoin block, there is more $NAT to be claimed with each new block, and whoever mints the new block’s $NAT first wins. Mint inscriptions look like this:
{
"p": "tap",
"op": "dmt-mint",
"dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0",
"tick": "nat",
"blk": "800000"
}
Most of these fields will look familiar to anyone familiar with brc-20 tokens. The “dep” field is an addition and refers to the deploy inscription for the $NAT token, which in turn refers to an inscription referring to field 11 (bits). The “blk” field refers to a specific block to claim the token supply of. And again, this is first-come-first-serve.
Rewarding Miners with NATs and Bitmap
Because a new Bitmap and $NAT mint can be claimed with each new Bitcoin block, some have theorized that these assets will effectively subsidize miners in the future as the block subsidy continues to decrease.
Miners can mint these assets for themselves and prioritize their own transactions at basically zero cost.
Here is a graphic we created to show how this dynamic could start impacting the “block reward” when/if miners begin claiming these assets:
When we created this graphic, one Bitmap was worth about $200 USD and one block’s worth of $NAT was worth about $60 USD, essentially increasing the block reward by 0.01% for any miner who mints them.
You might reasonably ask, “Why would this have value? Why would I want a token with an inflationary supply that miners dump regularly?” We’ll cover one of the giga bull cases in a bit, but our basic answer is: Maybe it won’t have much value. Maybe it will be worth nothing. But use-cases are being developed, and the dynamic of the supply increasing and miners selling is no different from most cryptocurrencies.
For example, dogecoin’s supply increased about 5% in the last year because of block rewards while $NAT supply increase is currently a little under that (and slowing down).
So we don’t see that as a major issue and do have a small bag. In Ordinals, we have repeatedly seen that discovery precedes utility and it’s hard to assess the value of something new at first glance.
Supply Increase of $NAT
Right now, $NAT issuance is around 4.8% per year. But because the bits value decreases as mining difficulty goes up and $NAT supply continues to grow, the absolute and relative issuance rates tend to go down over time.
Side note: as with BRC-20 tokens, the existence and integrity of NATs is entirely dependent on off-chain indexers–in this case, Trac’s TAP protocol indexer. No token on Bitcoin other than bitcoin itself has protocol-level support.
The $NAT Bull Case
Before moving on to the technical details of NATs, we’ll briefly introduce one of the popular $NAT bull cases.
Some have compared the first Non-Arbitrary Token, $NAT, to metaverse tokens like $MANA and $SAND, which have each reached $1B-$2B market caps (as of March 14th 2024, $NAT is sitting around $33m).
According to this theory, $NAT is the rightful fungible counterpart to non-fungible Bitmaps and should be valued relative to the Bitmap market cap similar to $SAND / Sandbox NFTs (12.76X) and $MANA / Decentraland NFTs (13.07X).
Because the Bitmap market cap is $170m, that would equate to a $2.2B market cap for $NAT at a 13X multiple.
This is a very controversial thesis at the moment as many tokens have tried to become the token for Bitcoin’s Bitmap metaverse. The basic argument in favor of $NAT is that because Bitmap is non-arbitrary (derived from block data), its companion token should also be non-arbitrary. And simply, $NAT was the first like Bitmap was the first.
Others believe that a proper companion token to Bitmap should only be allocated to Bitmap holders whether arbitrary or non-arbitrary.
We have no opinion how this debate will resolve or whether this valuation method makes sense. DYOR.
The Underpinnings of a NAT
So how is an NAT created?
Step 1: Find or create a suitable element
Although the same element may be used to create unlimited NATs, an element can only be registered once.
To register an element, we inscribe an ordinal that follows this format:
<name>.<pattern>.<field>.element
Format Explained
- “name” is an arbitrary name for the element
- “pattern” is a string pattern (optional) that narrows down the element to a subset of blocks where the specified <field> must contain the pattern
- “field” is an integer from 0 to 37, each referring to one of Bitcoin’s data fields like block_hash, bits, time, etc. See the full list here.
- “.element” must always be included by default
For example, here is the inscription that registered the dmt element, which $NAT is based on:
dmt.11.element
This basically says, “register an element called dmt which refers to field 11 (bits)”.
You may notice there is no <pattern>. This simply means that every block will contain the dmt element as we are not narrowing it down at all.
If the creator had instead inscribed “dmt.0.11.element” then the dmt element would only be found in blocks where field 11 contains a “0” character.
Again, an element can only be registered once. So if we inscribed newelement.11.element, it would not be recognized as valid. However, we could register something like newelement.666.11.element as long as nobody else has already registered an element with that pattern.
There is basically an unlimited number of possible elements, each of which have different properties. It is the responsibility of the NAT deployer to choose a suitable pattern. Pattern selection is beyond the scope of this post, but needless to say things can get quite complicated and unpredictable.
We can also get very silly with this. For example, here is a hypothetical element we could create that will exist only once:
block0.000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f.0.element
This element we’ve named “block0” would only be found in block 0, whose hash (field 0) matches this pattern.
Step 2: Deploy the token
Next, we need to deploy a token mapped to a digital element.
Here is the $NAT deploy inscription as an example:
{
"p": "tap",
"op": "dmt-deploy",
"elem": "63b5bd2e28c043c4812981718e65d202ab8f68c0f6a1834d9ebea49d8fac7e62i0",
"tick": "nat",
"dt": "n"
}
Ok, so we’re deploying a token:
- With the TAP protocol
- Called nat
- Referring to the dmt element’s inscription ID (elem parameter).
- The “dt” field stands for datatype, which is set to “n” for numeric. This is important because field 11 (bits) could also be “h” for hexadecimal.
Step 3: Mint the token
Now that our token is deployed, we can claim it for any block which contains the element it is anchored to (for field 11, which $NAT is derived from, this means every block).
Here is what a mint inscription looks like:
{
"p": "tap",
"op": "dmt-mint",
"dep": "4d967af36dcacd7e6199c39bda855d7b1b37268f4c8031fed5403a99ac57fe67i0",
"tick": "nat",
"blk": "800000"
}
The amount of tokens awarded for a mint inscription will depend on the value in the field the token supply is anchored to.
The bits field for block 800000 is 386,218,132, so that is the number of $NAT tokens that would be awarded for that block.
Quick note on semantics: we say that an NAT that is fully claimed is “blocked out.”
Check out mscribe for a full list of NATs, elements which have been registered, etc.
Unique Non-Arbitrary Tokens (UNATs)
In addition to NATs, we also have UNATs–”Unique Non-Arbitrary Tokens.” These can be thought of as the non-fungible counterparts to standard (fungible) NATs.
Basically, we take on-chain data and use it to deterministically generate an NFT’s traits. In our opinion, Bitmap was the first to do this. But implementations differ a lot between Bitmaps and “official” UNATs like Natcats (the first UNAT PFPs).
Because the standard for generating UNATs is a lot less formalized, we’re not going to get into the details at this point.
At a high level, any NAT mint inscription can also become a UNAT, which is tied to the mint inscription itself as opposed to the NAT token balance, which is tied to the address that minted the NAT tokens and must be transferred similar to brc-20 tokens.
If you’re interested in learning more about UNATs, the $dmt-natalias Gitbook is an excellent starting place.
We are currently working on natpool.space, a fork of mempool.space where you will be able to view all “Digital Substance” created in each Bitcoin block including NATs and UNATs.
Here’s a sneak peak:
That’s all for now.
We may update this post as the NAT/UNAT space evolves.
Summing Up
Non-Arbitrary Tokens (NATs) are a new kind of token whose supply is determined by on-chain data instead of arbitrary human decision. Whether this is a significant development remains to be seen, but the concept is evolving quickly and the community is very active. NATs may come to subsidize Bitcoin miners in the future as the block reward decreases.