BRC-20: All About ORDI, PEPE, and Other Tokens on Bitcoin
Table of Contents
The new BRC-20 token standard on Bitcoin doesn’t have any utility – and isn’t even a real token standard. But that hasn;t stopped the total BRC-20 market cap from reaching $600 million. What’s causing all the hype around memecoins inscribed as Bitcoin Ordinals?
- BRC-20 is an experimental fungible token standard on Bitcoin, created by the analyst Domo (@domodata) and inspired by the Sats Names project and an idea by @redphonecrypto. BRC stands for “Bitcoin Request for Comment”, similar to Ethereum Request for Comment (as in ERC-20).
- BRC-20 are a type of Ordinal inscriptions: NFT-like objects (“digital artifacts”) recorded directly on the Bitcoin blockchain.
- BRC-20 appear as small, human-readable JSON files, with parameters like token name, maximum supply, and limit per mint. You need to create a new Ordinals inscription to create, mint, or transfer a token.
- UniSat wallet is the main tool for deploying and minting new BRC-20. You can even create one yourself, as long as you come up with a 4-letter ticker that nobody has used yet. A single transaction can cost over $15-20 in fees, though.
- BRC-20 are traded on Ordinals marketplaces like OrdinalsWallet and UniSat, as well as on centralized exchanges, such as Gate.io and BitGet. You can’t buy them on any DEX, because they aren’t “real” fungible tokens; any BRC-20 sale is essentially an NFT listing.
- The best-known BRC-20 assets are ORDI ($385 million market cap as of May 15), PEPE, and MEME. (BRC-20 PEPE is not to be confused with PEPE, the popular memecoin on Ethereum.)
- Domo, the creator of BRC-20, stressed that BRC-20 would be worthless, but their market cap reached $1 billion by May 10 (though it later dropped to $540 million). Daily trading volume reached $200 million.
- For some, BRC-20 tokens are proof that the Bitcoin network can have use cases beyond transferring and storing value. For others, they are just a source of congestion and high fees that negatively impact every BTC user.
- Indeed, the BRC-20 craze pushed BTC network fees beyond $30 and caused 400,000 queued transactions to accumulate in the mempool by May 7. Binance even halted BTC withdrawals due to congestion. The situation benefited miners, however, with transaction fees exceeding block rewards for the first time ever.
- Being very experimental, BRC-20 aren’t efficiently designed. But they may pave the way for more advanced future token protocols on Bitcoin, such as Taro.
Bitcoin Ordinals: a Refresher
Bitcoin Ordinals are satoshis (small units of BTC) inscribed with data: text, images, and even videos. The Ordinals protocol was launched in January 2023 by the developer and Bitcoiner Casey Rodarmor. We just published a massive article on Ordinals, so check that out first if you haven’t already.
You can inscribe anything on a satoshi, as long as it’s less than 3 MB. Anyone can do it using tools like Gamma.io or Ordinals Wallet – all you need is a Bitcoin wallet that supports Ordinals and has enough BTC to pay the gas fee.
Ordinals are very different from NFTs on Ethereum, Aptos, Solana, etc. They don’t require smart contracts, and all their metadata is recorded directly on the Bitcoin blockchain. Founder Casey Rodarmor calls them digital artifacts and fans think that they are better than NFTs, because an Ordinal is truly decentralized, immutable, and secure.
They combine fungible and non-fungible features, because every inscribed satoshi is still a satoshi that can be used as part of a BTC payment. Incidentally, this is why you should never send an Ordinal to a CEX or a regular Bitcoin wallet: it will be irretrievably lost among all the other satoshis.
There are already over almost 7 million Ordinals in existence, and many popular collections, such as BTC DeGods, Bitcoin Punks, and Taproot Wizards. They are sold on marketplaces like Magic Eden, OrdinalsWallet, and OrdSwap.
Minting Ordinals isn’t cheap. Inscription fees depend on two things:
1) Preferred speed: you can set a higher fee per byte, and miners will pick your transaction faster. With a low fee like 4-5 sat/byte (around $10-15 per piece), it can take two weeks to confirm an inscription.
2) The size of the inscription: you pay per byte of inscribed data, so text costs much less than an image.
Now think about this: what if you inscribed very similar data on thousands of sats, like “1000 PEPE” or “500 SHIB”, and then trade them? Wouldn’t it make them a bit like tokens on other blockchains? This is the idea behind BRC-20.
BRC-20: the Meaning of the Name and the Creator, Domo
BRC-20 is an experimental format for inscribing satoshis using the Ordinals protocol in order to make them function somewhat like fungible tokens.
The acronym BRC stands for “Bitcoin Request for Comment” – based off ERC-20 tokens on Ethereum (Short for Ethereum Request for Comment #20) . (ERC is a protocol that Ethereum developers use to suggest an improvement, and this token standard was the 20th such proposal.).
Bitcoin doesn’t have “requests for comment”. The name “BRC-20” is just a play on ERC-20 – in fact, it’s more a meme rather than a real token standard.
Domo cited a couple sources of inspiration for BRC-20:
- Sats Names - a protocol that resembles Ethereum Names Service and also uses Ordinals;
- @redphonecrypto - a crypto expert who first proposed BRC-20 and their data structure in a tweet but didn’t implement it.
Note: don’t confuse BRC-20 on Bitcoin with BRC-20, the token standard of the much-shilled Bitgert blockchain! (Bitgert claims to be “the fastest blockchain,” but in fact has slow finality, is very centralized, and charges a hefty transaction tax.)
How do BRC-20 Tokens Work?
BRC-20 JSON Format and Structure
BRC-20 are Ordinal inscriptions on the Bitcoin blockchain.What is inscribed is JSON data – pairs of property names and values with double quotation marks. In the case of BRC-20, the properties are:
- protocol (“p”): this is always “brc-20”;
- operation type (“op”): can take values “mint’, “deploy”, or “transfer”;
- token name (“tick”): for example, “ORDI” or “PEPE”.
- maximum supply (“max”): a number, like “21000000”;
- limit of tokens that can be minted in one transaction (“lim”): a number like “1000”. BRC-20 creators can also omit this parameter to make it possible to mint any number of tokens (up to the max supply) in one go.
- number of decimals (“dec”): set to 18 by default, but creators can change this.
Creating and Minting New BRC-20
One can create a new BRC-20 using the “deploy” function. This in itself is also an Ordinals inscription, like Domo’s own $ORDI deployment. The “first is first” rule is applied: you can’t deploy a token under a ticker that has already been used by someone else. This is different from Ethereum and other blockchains, where there can be multiple tokens with the same symbol, giving rise to lots of scams.
Once a token is initialized, the creator (or someone else) can mint the first batch. It can’t be more than the “lim” value.
Anyone can mint batches of the new token until the “max” supply limit is reached. The “amount” parameter (“amt”) is used to set the number of tokens in a batch, though most users set “amt” equal to “lim”, since the cost of minting is the same for 100, 500, or 1000 tokens.
The last mint inscription before the limit gets whatever is left. Before minting, check on UniSat or BRC-20.io that the maximum supply hasn’t been reached yet.
Example: Suppose “max”=1,000,000, “lim”=1,000, and the total current supply is 999,500. If you make a mint inscription for 1,000 tokens, you’ll get just 500. Anyone else inscribing a “mint” transaction after that won’t receive any balance.
Whichever address a “mint” function is inscribed to receives a balance, so it’s important to use tools that can inscribe directly to your address, such as UniSat wallet. Do NOT use popular Ordinals inscription services that first inscribe to their own address and then send the Ordinal to the user (such as Gamma.io). If you do, the service will end up holding the BRC-20 balance instead of you.
When using services like UniSat.io, you won’t have to write all the JSON code yourself, just fill in values in fields.
To send BRC-20 tokens to another address, a user first needs to make an inscription with the “transfer” function to their own address. The “amt” parameter is used to specify the number of tokens to be transferred: it should be no more than the available balance in the wallet.
This inscription can then be sent to the Ordinals-compatible address that should receive the tokens. You can make several transfer inscriptions with different numbers of tokens. For example, if you first minted 1000 tokens, you can make transfer inscriptions for 200, 500, and 300 (1000 in total). But if you mint transfer inscriptions for 200, 500, and then 400 tokens (the sum is 1100), the last one will be invalid: you can send it to someone, but the token transfer won’t work.
You can’t transfer BRC-20 tokens by sending the original mint inscription to another address. You can’t re-use a transfer inscription, either. A new transfer inscription has to be created every time – and yes, this means more gas fees.
March 5: @redphonecrypto proposes a hypothetical BRC-20 token standard with JSON data, loosely based on Sats Names.
March 8: Domo deploys a test BRC-20 token, ORDI. A few hours later, someone uses the new format to create a second token, MEME.
Incredibly, the supply of ORDI reaches the 21,000,000 limit on the same day as people rush to mint.
Hype begins on Twitter, with new tokens created (PUNK, DOGE, etc.).
30,000 new Ordinal inscriptions are minted on the Bitcoin network in a day – a new record. Bitcoin transaction fees spike from $2 to $2.90.
May 5: UniSat made its BRC-20 indexing tool open-source. This makes it much easier to build new marketplaces, data aggregators, and other tools for BRC-20.
400,000 unprocessed transactions accumulate in the Bitcoin mempool queue, causing Binance to halt BTC withdrawals.
May 8: Gate.io lists ORDI, MEME, PEPE, VPMX, and BANK, becoming the first-ever CEX to feature BRC-20.
BTC transaction fees exceed mining rewards (6.25 BTC per block) for the first time in history.
The average transaction fee rises to $30 for the first time since April 2021.
May 9: BRC-20 market cap reaches $1 billion.
May 15: Total Ordinals fees reach $35 million.
BRC-20 Market: Top Tokens, Marketplaces and Exchanges
As of May 15, there were a mind-boggling 18,000 BRC-20 tokens, and the total daily volume surpassed $200 million, up from just $10 million a couple of weeks earlier.
Around 30 assets have a market cap over $1 million, and almost all of those were fully minted.
The biggest were $ORDI ($385M market cap on May 15), $VPMX ($25M), $PEPE ($18M), and $MEME ($11M).
Most of these big assets have a 1,000 token limit per mint, though some (like MEME and PUNK) are limited to just 1.
The best resource on these assets is probably BRC-20.io. It lists thousands of BRC-20 tokens and the current supply of each and the limit per mint. For the biggest ones, it lists the price, market cap, a list of marketplaces, and 24H trading volume.
There are a few CEX exchanges where you can buy BRC-20, including Gate.io, Bitget, Bitmart, BingX, and others. On Gate.io, you can buy ORDI, MEME, PEPE, BANK, and VPMX with BTC or USDT. It is possible to transfer BRC-20 between Ordinals wallets like UniSat and Gate.io. However, once your PEPE or ORDI arrive on the CEX.
Also, don’t be misled by the information on Gate.io:
In fact, ORDI was created by one person (Domo) and doesn’t have ANY “development team”. It doesn’t have any tokenomics, either, and no clear way of how it could be “turned mainstream”.
Popular decentralized marketplaces include:
- UniSat Marketplace: currently you have to be an OG member or hold enough points to buy or sell.
- OpenOrdex: can be difficult for newbies to use as it doesn’t have a separate BRC-20 section or an easy way to view the price per token.
- BRC-20.io Market: not a DEX, but a marketplace where you can publish a link to your sale listing on OrdinalsWallet or OpenOrdex.
The price for the same token can vary dramatically: for example, on May 15, $ORDI listings on OrdinalsWallet ranged from $18 to $27,000, while the price on Gate.io was $16.53.
Can You Make Money Launching New BRC-20 Tokens?
Creators don’t earn anything when their BRC-20 are minted by other users. It’s not a way to raise funds for a project, and there aren’t any royalties, either. The only way for the deployer to earn a profit is to sell their own BRC-20 balance if the price rises.
Of course, you can mint many batches of your token. But you’ll pay a lot in network fees and there is zero guarantee that there will be demand. There are already thousands of BRC-20 assets you’ll be competing with.
In other words, it’s difficult to make money deploying a new BRC-20. As a learning exercise, though, creating and minting a new BRC-20 can be useful and fun (though expensive).
The BRC-20 Craze Begins
The BRC-20 trend is unfolding like a classic memecoin craze. Tokens are routinely pumping and dumping by 99% in a day.
Twitter is suddenly filled with BRC-20 token shills, memes featuring Domo, and users asking typical newbie questions like “is this token legit?” and “who is the developer?” As always, there are some fake BRC-20 scams on Uniswap, too --beware!
Before you mint or buy any BRC-20, remember Domo’s warning: they are designed to be worthless. Like the famous PEPE on Ethereum, BRC-20 have no utility whatsoever, so any demand and price rallies are purely speculative. There are no plans to integrate BRC-20 into any future product, and they don’t even have NFT art.
Another warning: many BRC-20 have the same ticker as tokens on other chains ($DOGE, $SHIB, $RARE), but they aren’t related to them in any way. You can literally take any ticker (ETH, USDT, etc.) and use it for a new BRC-20.
How to Deploy and Mint BRC-20 with UniSat: a Tutorial
Unisat is an Ordinals wallet that you can use for inscriptions. It has sections for deploying, minting, and sending BRC-20, as well as a BRC-20 marketplace.
Pay attention to the fees! At the time of writing, the standard deployment fee was around $20, but at peak network congestion, it can exceed $100. If you think the fee is too high, wait several hours or check back the next day.
Important: Choose the Recipient Wallet Carefully
Ordinal inscription services have a crucial quirk: you can pay the fees from one wallet address and receive the inscription to another.
On Ethereum, Aptos, Solana, etc. we are used to the same wallet address being used for payment and receiving the mint. For example, if you mint an Aptos NFT on Topaz, you’ll send APT from a Pontem Wallet address and the NFT will land in the same wallet. But this is not the case with Ordinals and BRC-20.
When you inscribe a regular Ordinal or BRC-20, the service (UniSat, OrdinalsWallet, Gamma.io, etc.) will ask you for an address where the inscription should be sent. Then you’ll be given an address where you should send the payment.
So, for example, when minting BRC-20 on UniSat, you don’t even need a UniSat wallet. You can send the payment from any BTC wallet (even a CEX) and provide an OrdinalsWallet address as the destination.
On the other hand, each Ordinals marketplace supports only certain wallets. For example, you can use a UniSat wallet with the UniSat marketplace, but the problem is that to trade on that marketplace, you need an OG Pass or 20 UniSat points. But if your inscription is in a UniSat wallet, you won’t be able to list it on the OrdinalsWallet marketplace, either, because it supports only – you guessed it – OrdinalsWallet!
This means that you should first choose the marketplace where you plan to sell your BRC-20, and only then create a wallet supported by that marketplace.
For beginners, we suggest using UniSat to deploy or mint BRC-20 and providing an OrdinalsWallet address as the destination. You’ll need to create an OrdinalsWallet and then start with UniSat, which has the most sophisticated set of BRC-20 tools, including an indexer. As for the inscription fee, you can pay from TrustWallet, Exodus, KuCoin, Binance – wherever you hold BTC.
Learn more about Ordinals wallets and marketplaces in our detailed Ordinals guide.
Create a New BRC-20
- Create a BRC-20-compatible wallet (OrdinalsWallet is recommended).
- Go to Search on UniSat and check that the token name you chose hasn’t been used yet.
- In Inscribe, go to BRC-20, switch to Deploy, and fill in the fields (tick, max supply, limit per mint).
- Paste your UniSat address and select a fee (Economy, Normal, or Custom).
- Send the payment to the displayed address from any BTC wallet (even a CEX).
- Wait for the inscription. It can take hours or days to arrive, but you can track the status in Mempool.space or Blockchair.
- To mint some of the tokens you’ve just created, go to Inscribe -> BRC-20 -> Mint. Fill in the fields (tick, amount). Turn on Repeat to mint several batches (each will be a different inscription, so you’ll pay more in gas fees).
- To mint any other token, go to the BRC-20 section, check that the supply hasn’t reached the limit yet and what the limit per mint is. On the token’s page, click Mint Directly and choose the number of mints.
- Paste your BRC-20 address that can accept Ordinals select a fee (Economy, Normal, or Custom). If the network is congested, prepare to pay $30 or more.
- You can pay the invoice using UniSat or any other BTC wallet (even a CEX). The inscription will be sent directly to the recipient address you provided, and this address will hold the BRC-20 balance. Be patient: depending on the fee, it can take days or even a week.
How to Buy BRC-20
We’ll use OrdinalsWallet as an example, as it’s beginner-friendly and has the biggest volume.
- In the BRC-20 section, locate the asset you want to buy.
- Choose a listing. Unfortunately those with the lowest price per token often contain large batches, so if your budget is limited, you may have to settle for an unfavorable price or look for another token. For example, as of May 10, you had to spend at least $900 to buy PEPE at $0.60, while the best listing under $200 was priced at $0.78 per PEPE.
- Make sure you have enough BTC in OrdinalsWallet to pay for the listing plus network fees. You can also buy BTC with MoonPay in OrdinalsWallet. (By the way, Pontem Wallet on Aptos also has a MoonPay integration to buy APT with a bank card.)
- Back on the listings page, click Buy Now. Enter the wallet password, then click Buy Now again.
- Once the transaction is processed, the tokens will appear in the wallet (BRC-20 section).
- To send BRC-20 tokens to another address, go to the BRC-20 section in the wallet and click Create Transfer Inscription. Fill in the amount, choose the fee, and confirm.
What’s Next for BRC-20?
Domo himself wrote that his experiment should serve as a base for others to develop better fungible standards on Bitcoin. What would the successor of BRC-20 look like? Users have pointed out a couple of features:
1) Not using JSON. Inscriptions with JSON take up a lot of block space; the only advantage is that it’s a human-readable standard. But if we get special dApps for minting tokens, data won’t need to be human-readable. Programmer John W. Ratcliff pointed out that the same data that takes 89 bytes in a BRC-20 could fit into just 19 bytes using a binary format that can be coded in 30 minutes.
2) Possibility to mint an initial batch of tokens together at the same time with deploying the token (and not as a separate mint transaction).
3) Combining transactions into batches to lower the fees and scale the protocol.
4) A new sidechain that would use the same data storage mechanism as Ordinals but without relying on inscriptions, etc.
The Quest for Tokens on Bitcoin
Domo stressed that “people much smarter” than him have been and are experimenting with fungible assets on Bitcoin. Let’s see why it’s such a challenge and what kind of solutions are out there, except for BRC-20.
Bitcoin was created as “electronic cash,” a way to transfer value without banks -- not as a foundation for an ecosystem of dApps. On its own, Bitcoin doesn’t support complex smart contracts and doesn’t have fungible token standards.
That being said, Bitcoin’s Script language is used for simple smart contracts on the base layer, such as multisig or time-bound transactions. But you need much more than that to create an altcoin.
Just like Ethereum has Layer 2 solutions (Arbitrum, zkSync, etc.), Bitcoin has its own L2s. Some of them support smart contracts and have a much higher processing capacity, for example:
- Stacks, with smart contracts in the Clarity language, NFTs, and DeFi dApp. Stacks is better described as Layer 1.5, though, because it has a blockchain of its own, though it’s connected to the main Bitcoin network
- Rootstock, an EVM-compatible sidechain that uses Solidity and can run Ethereum dApps.
Still, issuing tokens on a separate chain that is somehow anchored to Bitcoin isn’t the same as enabling new assets on the Bitcoin blockchain itself. For that, the community had to wait for Taproot, a crucial upgrade that happened in November 2021.
Taro is a protocol for creating fungible assets on Bitcoin and sending them over the Lightning Network. Domo cited it as an example of a more efficient implementation of tokens than BRC-20.
Taro relies on Taproot, a 2022 Bitcoin upgrade that made it possible to write arbitrary information in the witness part of every block. The name Taro is an acronym for “Taproot Asset Representation Overlay”. Without Taproot, there would be no Ordinals, either: read more about this upgrade in our article on Ordinals.
Ordinals and BRC-20 are an unprecedented experiment in the Bitcoin ecosystem, and we’ll keep bringing you updates on this new market. Pontem itself has many exciting updates coming up, so give us a follow on Twitter, Discord, and Telegram!
Pontem Network is a product studio building foundational dApps for Aptos. Our products include: