brc-20 token standard explained

What are BRC-20 tokens on Bitcoin?

Note: The BRC-20 ecosystem has changed a lot since we wrote this post. However, Domo linked it from the brc-20 gitbook, so we are keeping it as-is for historical purposes.

The BRC-20 token standard is an experimental fungible token standard for Bitcoin created by Twitter user, @domodata on March 8th, 2023.

It utilizes Ordinal inscriptions of JSON data to deploy token contracts, mint tokens, and transfer tokens.

The name, “BRC-20” is a play on Ethereum’s ERC-20 token standard, although BRC-20 is much simpler and is constrained due to the limitations of the Bitcoin blockchain. You can read more about the details of the token standard here or here.

As the creator has noted, it’s just an experiment. The tokens are not intended to be worth anything–though degen speculators may see things differently.

First BRC-20 Token (ordi)

The first token deployed “ordi” token, with a limit of 1,000 tokens per mint and max of 21,000,000 tokens.

{ 
  "p": "brc-20",
  "op": "deploy",
  "tick": "ordi",
  "max": "21000000",
  "lim": "1000"
}

Ordinal wallets such as Unisat were quick to deploy tooling for the BRC-20 standard, and in less than 18 hours, all 21,000,000 ordi tokens had been minted, with pending mints for an additional 1,500,000 ordi tokens that were not within the limit.

unisat brc-20 tool
Unisat BRC-20 Minting

This tooling also contributed to the deployment of other BRC-20 tokens, with names like “meme,” “punk,” and “doge”–with the excitement around BRC-20 leading to over 30,000 Ordinal inscriptions in a single day: a new record.

dune analytics showing huge spike in ordinals text inscriptions on March 8th, 2023

Much to the frustration of some Bitcoiners, it also massively increased Bitcoin transaction fees.

Some Tips for Minting BRC-20 Tokens

Choose your inscription service wisely.

The token standard specifies that whichever address receives the inscription first holds the tokens. So if you use an inscription service that mints to itself before sending the inscription to you, the inscription service will be the rightful owner of the tokens.

We recommend and use Unisat (you can read their full guide here).

You must use the transfer function to transfer tokens.

This goes hand-in-hand with the above. You cannot transfer tokens by transferring the inscription. You must use the transfer function as specified in the token standard.

You can see specific examples of how to use transfer functionality from the BRC-20 creator here.

There will be tools to transfer tokens soon (brc-20.io has even teased an exchange). But for now, you can format the JSON transfer inscription yourself, inscribe, and send the inscription as specified in the standard linked above.

Then you can use a tool like Unisat to make sure your transfer was executed properly and view a list of all holders and their respective token holdings.

unisat.io brc-20 transfer transactions for ORDI shown

Make sure there are tokens left before you mint.

In every token deployment, a “max” value and a “limit” value (token limit per inscription) is specified. Once that max value is reached, you cannot mint any more tokens.

You can track the number of tokens minted for any ticker at brc-20.io, which claims to update once per minute.

Or if you prefer, you can use the search function on Unisat.

Search for your desired token ticker and look at the mint percentage on the deploy transaction.

brc-20 mint percentage indicator on unisat

But keep in mind, if a token is close to being minted out, it is possible that all the tokens will be minted out before your transaction(s) can go through.

What’s next for BRC-20?

The community–and builders like Unisat–are running with the BRC-20 standard even though the creator has pointed out repeatedly that it’s just an experiment, it has issues, and the tokens may not be worth anything.

Update: You can now buy and sell BRC-20 tokens in the Ordswap Discord with escrow.

So while there’s room for improvement and a better standard, it’s likely that we’ll see tooling to index and manage BRC-20 tokens better as well as more degenerate speculation from users. Users could ascribe value to BRC-20 tokens even if a better standard is deployed.

What would be required for a better standard?

For one, being able to distribute tokens in the deploy transaction (e.g. to the token creator). Another thing that has come up on Twitter is using a data format that wouldn’t consume as much block space as JSON.

For what it’s worth, the creator of BRC-20 has expressed interest in developing a better fungible token standard on Bitcoin, so we may see these things come to fruition.

BRC-20 Integrations

If you’d like to know which applications have integrated the BRC-20 standard, we are tracking them here.

Summing Up

BRC-20 is an interesting experiment in creating a fungible token standard for Bitcoin with a bunch of flaws. Still, we are likely to see a lot of tooling pop up to deploy, mint, send, and receive BRC-20 tokens.

As the Ordinals space is evolving rapidly, we expect things to change a lot from here.

Share Post

Read More