Bitcoin is a peer-to-peer payment system. It was built as a first step to decentralize the finance system. But when it launched, Bitcoin had no ability to create other assets or tokens to build out an alternative financial ecosystem; there was only BTC, a single digital currency that users could trade amongst each other.
However, the Bitcoin protocol isn’t static. Bitcoin Improvement Proposals (BIPs) allow users to suggest possible improvements to Bitcoin. Some go nowhere, some get stuck in development hell, and some eventually get approved and become part of the Bitcoin core.
Taproot, Ordinals, and Inscriptions
The three BIPs of Taproot improved the privacy, scalability, and flexibility in Bitcoin's scripting capabilities. Taproot also allowed arbitrary data lengths. So now, you can start to include a lot more data in any single block, and in any single satoshi (the minimum bitcoin unit—100,000,000 satoshis = 1 bitcoin).
The ability to add arbitrary data in individual satoshis (or sats) led to the creation of ordinals. Ordinals are based on ordinal theory, introduced in January 2023 by Casey Rodarmor. Ordinal theory is a way to track every single satoshi that has ever been mined by giving it a unique ‘ordinal’ number related to when it was mined and its potential rarity.
And thus you have the underpinnings of a non-fungible token built on top of a fungible token. Every bitcoin (and every satoshi) used to be the same, but now you can inscribe arbitrary data onto individual sats, whether it’s an image, text, audio, etc. In other words, you have a new kind of NFT, one that exists directly on Bitcoin. Here’s an example of an image inscription:
But inscriptions aren’t just about inscribing images and creating a form of Bitcoin-native NFT. This innovation paved the way for BRC-20 tokens, which bring fungible tokens to Bitcoin.
What Are BRC-20 Tokens?
“These will be worthless” is not something you see creators normally saying about their creations in the crypto world. But that is what anonymous creator domo said about BRC-20 tokens when they launched in March 2023. Despite the warning, BRC-20 tokens have skyrocketed in popularity, and today BRC-20 transactions dominate activity on the Bitcoin network.
BRC-20 is a token standard that enables fungible tokens to be minted and traded on Bitcoin directly. The standard describes how to use ordinal inscriptions to mint, trade, and track new fungible tokens. Because ordinal inscription allows for text, domo realized that you could inscribe JSON data into sats. These data objects can then be used programmatically to deploy, mint, and transfer new tokens.
What Are Token Standards?
A token standard is a set of rules that tokens follow on a particular blockchain. These rules define how their data is structured and how these tokens can behave. Essentially, a token standard ensures that tokens function in a predictable way within the larger ecosystem.
Token standards are critical for interoperability. As a developer, and a user, you want all fungible tokens and all NFTs to behave the same way. If all tokens adhere to a recognized set of standards (e.g., a fungible token standard, a non-fungible token standard, etc), then it is much easier for wallets, exchanges, and apps to integrate and support new tokens because they simply have to build support for a particular standard and not individualized support for dozens, or even hundreds, of tokens.
One of the most well known examples of token standards is ERC-20, a standard for fungible tokens on Ethereum. BRC-20 is a play on that term, giving users a standard for creating fungible tokens with Bitcoin.
Adoption of BRC-20 Tokens
- ORDI ($80M)
- DFUK ($45M)
- MOON ($28M)
- OSHI ($9.4M)
- ALEX $B20 ($6M)
Over 14,000 BRC-20 tokens have been created, and more are being minted every single day.
Use Cases for BRC-20 Tokens
BRC-20 tokens are still very much in their experimental phase. There are no established use cases yet, but meme tokens have proved popular (surprise surprise). However, it’s easy enough to visualize how fungible tokens on Bitcoin might be used: new DeFi protocols on Bitcoin, swaps, DEXs, staking, tokenization of other assets whether real world or virtual, you name it. Devs are just beginning to explore the possibilities of BRC-20.
However, a current inherent limitation of BRC-20 tokens is that they don’t support smart contract capabilities. The JSON is just a data object that can be used by other software to execute trades, not code for a smart contract itself. The only smart contract capabilities of Bitcoin still live on Bitcoin layers like Rootstock and Stacks.
But BRC-20 tokens could be fundamental in bringing new use cases and activity to the Bitcoin network. Indeed, today BRC-20 accounts for the majority of ordinals activity on Bitcoin, which sometimes is the majority of activity on the entire Bitcoin network.
Two reasons that BRC-20 tokens have caught the eye of devs all over the world is that they offer:
- Simplicity: As you will see below, the JSON objects are simple to write and understand, and then the transfer component relies entirely on the current Bitcoin ecosystem.
- Security: Since these tokens are inscribed on Bitcoin directly, they inherit all of the security of the Bitcoin network.
How to Create a New BRC-20 Token
Say we wanted to deploy a new type of token called "hiro." First, we’d write an inscription in a sat that deploys our BRC-20 token. It would look something like this:
This inscription defines our new token, and the person who deploys the BRC-20 token is the owner of it. The inscription includes:
- <code-rich-text>p<code-rich-text>shows that this is a BRC-20 token for downstream systems.
- <code-rich-text>op<code-rich-text> is the operation, which here is deploy.
- <code-rich-text>tick<code-rich-text> is the four-letter ticker for our new token.
- <code-rich-text>max<code-rich-text> is the maximum supply of our new tokens.
- <code-rich-text>lim<code-rich-text> is the limit of new tokens that can be minted in one go.
So this inscription tells the ecosystem that we’re deploying a new "hiro" BRC-20 token with a maximum supply of 21 million tokens and 1,000 tokens can be minted at one time.
This first inscription doesn’t actually mint any tokens. After deployment, the total number of tokens in supply is zero. To mint some of those tokens, we make a separate inscription:
The first three fields are the same as above, though here the <code-rich-text>op<code-rich-text> is <code-rich-text>mint<code-rich-text>. The <code-rich-text>amt<code-rich-text> is the amount of tokens we want to mint (1,000 in this instance).
The final BRC-20 operation is the ability to transfer the tokens:
Now the <code-rich-text>op<code-rich-text> is <code-rich-text>transfer<code-rich-text>, and we are transferring 100 hiro tokens. Who to? Well, for that we use the regular Bitcoin address system. If we send this satoshi to that user, they will now have 100 hiro tokens.
To buy and transfer BRC-20 tokens, you need a Bitcoin wallet that supports ordinals, such as Leather.
One of the key takeaways from BRC-20 is that we are entering a new era of experimentation on Bitcoin, and it has never been a more exciting time to build on the most decentralized and secure blockchain.
We recently launched support for BRC-20 tokens in our Ordinals API and Ordinals Explorer, and we also rolled out Ordhook, a reliable index for ordinals. These tools are all open source and make it easier to start building with BRC-20.
If you are ready to experiment on Bitcoin, check out our API documentation here.