What are BRC-20 tokens, and how are they different from ERC-20 tokens?

ERC-20 tokens are smart contracts that every Ethereum node runs, while BRC-20 tokens are JSON notes inscribed on Bitcoin whose balances exist only in the off-chain indexers that read them. That single difference shapes their cost, speed, programmability and risks.

By Sonic Wallet Editorial Team· Updated · 12 min read

Key takeaways

  • BRC-20 and ERC-20 are both standards for interchangeable tokens, but they work in opposite ways. An ERC-20 token is a smart contract that every Ethereum node executes, so the network itself enforces each balance. A BRC-20 token is a series of JSON text inscriptions on Bitcoin that Bitcoin nodes ignore; balances exist only in indexers that read those inscriptions and apply the BRC-20 rules.
  • Sending a BRC-20 token takes three Bitcoin transactions: a commit, a reveal that inscribes the transfer and a send. At 1 satoshi per virtual byte on November 2, 2026, they cost 517 satoshis, about $0.40, against roughly $0.004 for a typical USDC transfer on Ethereum.
  • BRC-20 began as a self-described experiment. Its pseudonymous creator, domo, deployed the first token, ORDI, on March 8, 2023, and the original document still opens with a warning: 'These will be worthless. Use at your own risk.'
  • Since block 912,690 on September 1, 2025, an upgrade called BRC2.0 runs Ethereum's virtual machine inside BRC-20 indexers, and since block 934,888 on February 3, 2026, older tickers such as ORDI can use it. Bitcoin's own consensus rules still check none of it.
  • ERC-20's extra risks are contract bugs, issuer powers and token approvals that never expire; BRC-20's are indexer disagreements, wallets that spend inscriptions by mistake and a two-step transfer that an attacker can stall.

BRC-20 and ERC-20 sound like versions of the same thing, but they rest on different ideas about what a blockchain should check. ERC-20, written for Ethereum in 2015, puts a token's rules inside a smart contract that the whole network runs. BRC-20, launched on Bitcoin in March 2023, writes token instructions as short text notes on individual satoshis and leaves the bookkeeping to software outside the network. This explainer, first published in May 2023 and rewritten for November 2026, compares the two designs from their source documents, prices a transfer on each network with on-chain data and follows what has happened to BRC-20 since its first boom. For the wider asset class, start at the crypto hub.

What is a BRC-20 token?

A BRC-20 token is a ticker defined by small JSON text inscriptions on Bitcoin, with balances worked out by indexers instead of by Bitcoin's own nodes.

The standard rides on Ordinals, a scheme that numbers individual satoshis and lets anyone attach data, called an inscription, to one of them. Bitcoin Ordinals explains how inscriptions are written into Taproot transactions. BRC-20 uses three kinds of inscription, each a one-line JSON object whose values are all written as text:

OperationFieldsWhat it does
Deployp set to brc-20, op set to deploy, tick, max, and optionally lim and decClaims a ticker and fixes its maximum supply, per-mint limit and decimals (18 unless set)
Mintp, op set to mint, tick, amtCredits up to the per-mint limit to the first owner of the inscription, until the maximum is reached
Transferp, op set to transfer, tick, amtEarmarks an amount, which moves to whoever receives the inscription next

To a Bitcoin node, none of this means anything. A BRC-20 mint is an ordinary transaction with some text in its witness data, and the network would confirm a mint for a ticker that has sold out or a transfer larger than the sender's balance just the same. Indexers read every inscription in block order and apply the rulebook published by the Layer 1 Foundation, which is strict: numbers must be written as strings, tickers are 4 or 5 bytes and case-insensitive, only the first deploy of a ticker counts, and an inscription spent as a miner fee while it is being created is ignored. Its indexing notes even warn that a chain reorganization "will probably change the balances," because the order of events decides everything.

The first token shows how small the experiment started. The pseudonymous developer domo inscribed the ORDI deploy at 04:16 UTC on March 8, 2023, in block 779,832: a 94-byte note setting a 21 million maximum and a 1,000-token mint limit, in a transaction that paid 4,830 satoshis in fees. Filling that supply took at least 21,000 separate mint inscriptions. domo's document called BRC-20 "just a fun experimental standard demonstrating that you can create off-chain balance states with inscriptions," judged a Lightning Labs design called Taro "unequivocally a better solution," and still opens with a warning: "These will be worthless. Use at your own risk."

How is an ERC-20 token built differently?

An ERC-20 token is a smart contract on Ethereum: code that stores every balance and runs on every node, so the network rejects any transfer the code does not allow.

The standard is EIP-20, created on November 19, 2015 by Fabian Vogelsteller and Vitalik Buterin. It does not define one token; it defines an interface, a list of functions every token contract offers so that wallets and exchanges can handle thousands of tokens the same way. Six functions are required: totalSupply, balanceOf, transfer, transferFrom, approve and allowance. Name, symbol and decimals are optional, and two events, Transfer and Approval, announce every change for apps to follow.

Because balances live in the contract's own storage, a transfer is a single transaction that calls the contract. Validators run the code, update both balances and record the result in the next block, and Ethereum produces a slot every 12 seconds. The approve and transferFrom pair lets you authorize another contract, such as a trading or lending app, to move tokens for you, which is why ERC-20 tokens plug into so many applications. It is also a weak point: ethereum.org notes that approvals have no expiry date and advises against granting unlimited ones.

A contract can also do more than the standard asks. Its developer can add functions to create new supply, pause transfers or freeze addresses, and the issuers of the two largest dollar stablecoins can freeze tokens, as USDC vs USDT explains. With ERC-20 you rely on code anyone can read; with BRC-20 you rely on indexers reading the same history the same way. What is Ethereum covers the network underneath.

BRC-20 vs ERC-20 at a glance

The table sets the two standards side by side as of November 2, 2026.

BRC-20ERC-20
NetworkBitcoinEthereum and other networks that run its virtual machine
StartedMarch 8, 2023, with domo's ORDI deployNovember 19, 2015, as EIP-20
Where the rules runIndexers outside the networkA contract executed by every node
Where balances liveIndexer databases, keyed to Bitcoin output scriptsThe token contract's on-chain storage
An invalid transferConfirms on Bitcoin, but indexers ignore itReverts, though it still pays for the gas used
Steps to sendInscribe a transfer, then send that inscriptionOne contract call
Fees paid inBitcoin, by transaction size in virtual bytesEther, by gas used
Ticker4 or 5 bytes, or 6 in BRC2.0; the first deploy winsOptional symbol; the contract address is the identifier
Letting an app move your tokensNot in the base standardapprove and transferFrom
Custom logicFixed rules; BRC2.0 adds a virtual machine inside indexersWhatever the contract's code contains

The row about invalid transfers matters most in practice. A BRC-20 mistake, such as a transfer bigger than your balance, still confirms and still costs bitcoin fees; it simply moves no tokens. On Ethereum, the contract refuses the transfer outright.

How does a BRC-20 transfer work?

A BRC-20 transfer takes two moves: inscribe a transfer note to your own address, then send that inscribed satoshi to the recipient, after which indexers shift the balance.

  1. Inscribe the transfer to yourself

    Your wallet builds a commit transaction and a reveal transaction that write a note such as "transfer 5 ORDI" onto a satoshi at your own address. If the amount exceeds your available balance when the reveal confirms, indexers ignore the note.

  2. Let the amount become transferable

    Once the reveal confirms, indexers move the amount from your available balance to a transferable balance tied to that inscription. In domo's example, a wallet holding 1,000 ORDI that inscribes a 700 ORDI transfer has 300 available and 700 transferable, so a second transfer note for 500 would be invalid.

  3. Send the inscription to the recipient

    An ordinary Bitcoin transaction moves the inscribed satoshi to the recipient's Ordinals-aware wallet. Changing your mind is the same move in reverse: sending the inscription back to yourself restores your available balance.

  4. Let indexers settle the balances

    On that first send, the sender's balance falls and the recipient's rises. The transfer inscription is then used up, and passing it on again moves nothing.

A wallet usually bundles all of this into one confirmation screen, and the transactions can be mined together: one transfer of 5 ORDI on November 2, 2026 had its commit, reveal and send all confirmed in block 974,214. The leftovers are the design's best-known cost. Each transfer leaves a small inscribed output in Bitcoin's set of unspent outputs, which every full node must track, and Casey Rodarmor, the creator of Ordinals, cited that "undesirable consequence of UTXO proliferation" in September 2023 when he proposed Runes as an alternative.

What does it cost to send each kind of token?

At the fee levels of November 2, 2026, a BRC-20 transfer cost about $0.40 in bitcoin fees, roughly 100 times as much as a typical USDC transfer on Ethereum.

Worked example: One BRC-20 transfer and one USDC transfer on November 2, 2026

Bitcoin side: a BRC-20 transfer from a Taproot wallet. The commit and reveal were mined in block 974,214 at 05:06 UTC; the send is a standard two-input, two-output Taproot transaction from the same block, a shape whose size barely varies.

  • Commit: 154 virtual bytes × 1 sat/vB = 154 satoshis
  • Reveal, carrying the transfer note: 151 vB × 1 sat/vB = 151 satoshis, plus 546 satoshis placed in the inscribed output as postage
  • Send to the recipient: 211.5 vB at 1 sat/vB, paid as 212 satoshis
  • Fees: 154 + 151 + 212 = 517 satoshis; at bitcoin's $78,110.97 close on November 1, 2026, 517 × $78,110.97 ÷ 100,000,000 ≈ $0.40
  • Postage handed to the recipient with the inscription: 546 satoshis ≈ $0.43, so about $0.83 leaves the sender's wallet in all

Ethereum side: a USDC transfer, with block data read from an Ethereum node that morning.

  • Gas: 45,148, the median of 15 USDC transfer calls in blocks 26,325,082 to 26,325,085
  • Price: a 0.035 gwei average base fee over the previous 1,024 blocks plus a 0.004 gwei median tip, so 0.039 gwei
  • Fee: 45,148 × 0.039 = 1,761 gwei, or 0.00000176 ETH; at ether's $2,272.44 close on November 1, 2026, about $0.004

Result: $0.40 ÷ $0.004 ≈ 100, so the BRC-20 fees were about 100 times the USDC fee. The commit alone, one input and two outputs, is the same shape as a plain bitcoin payment, so moving the token cost roughly three times as much as moving bitcoin itself.

The USDC transfers in that sample ranged from 40,324 to 62,272 gas, because a contract spends more when it has to create a balance entry for a first-time holder. Both figures were taken on a quiet morning, and both networks can spike. At the median rate of 200 sat/vB paid in block 840,000, when the Runes launch crowded the April 2024 halving block, the same 516.5 virtual bytes would have cost about 103,300 satoshis, roughly $67 at that day's $64,905.95 close. Ethereum had its own burst on October 29, 2026, which gas fees explained walks through, and what is bitcoin covers how sat/vB fees are set.

What has changed for BRC-20 since 2023?

BRC-20 survived its 2023 boom, tightened and extended its rules, lost its novelty to Runes in 2024 and added smart contracts through its indexers in 2025 and 2026.

Date (UTC)BlockWhat changed
March 8, 2023779,832domo deploys ORDI, the first BRC-20 ticker
November 9, 2023816,000The definition of a valid inscription is frozen at ord version 0.9, so later ord releases cannot shift balances
December 7, 2023noneResearchers, working with a large exchange, stall its ORDI hot wallet and halt withdrawals for about 3.5 hours
January 6, 2024824,544At the ord jubilee, BRC-20 moves to ord 0.14 rules but keeps ignoring newly recognized inscription types
March 31, 2024837,0905-byte tickers and self-mint, where only the deployer can mint, are switched on
April 20, 2024840,000The Runes protocol activates as a rival design for Bitcoin tokens
September 1, 2025912,690BRC2.0 phase 1 runs an Ethereum Virtual Machine inside indexers, open to new 6-byte tickers
February 3, 2026934,888BRC2.0 phase 2 makes 4- and 5-byte tickers such as ORDI and SATS programmable

Two things stand out. First, BRC-20 has no formal standards body. Changes are agreed among indexer operators, led by Best in Slot and UniSat with the Layer 1 Foundation, and services were told to match the Open Protocol Indexer, which more than 100 teams use according to Best in Slot. The phase 2 block itself arrived six days after the January 28 date first estimated, because activation follows block height, not the calendar.

Second, BRC2.0 borrows Ethereum's design. Inscriptions carry contract code and function calls, indexers execute them in a customized Ethereum Virtual Machine with no separate gas token, and users pay only Bitcoin fees. BRC-20 balances deposited into the module are held by a built-in contract that is itself ERC-20 compatible, so the two standards now meet inside BRC-20's indexers. The execution still happens in software that Bitcoin's miners and nodes never check.

Usage is thinner than in 2023 but has not stopped. In the 12 blocks mined between 03:04 and 05:29 UTC on November 2, 2026, our count found 572 BRC-20 transfer inscriptions, one mint and no new deploys, about two-thirds of the 866 inscriptions in those blocks. Over the same stretch, 6,420 transactions carried a Runes message, more than half of them in a single block.

What are the risks of BRC-20 and ERC-20 tokens?

Both carry steep price risk; BRC-20 adds indexer, wallet and stalled-transfer risks, while ERC-20 adds contract bugs, issuer powers and approvals that never expire.

Price and liquidity. Most tokens on either standard trade thinly and can lose nearly all their value. ORDI, the best-known BRC-20 token, peaked at $95.52 on March 4, 2024 and traded at $3.48 on the morning of November 2, 2026, 96% lower, according to CoinGecko. The future of BRC-20 meme coins follows that decline.

Indexer error (BRC-20). A BRC-20 balance is a calculation, not a ledger entry. If an indexer has a bug or runs different rules, wallets and exchanges that rely on it can show the wrong balance, and there is no on-chain record to settle the dispute. CertiK reported that a flaw in one marketplace's indexer allowed a double-spending attack on April 24, 2023, with losses of more than $1 million.

Wallet mistakes (BRC-20). The protocol's own documents warn against sending inscriptions to wallets that are not Ordinals-compatible, since those can spend inscribed satoshis as fees or fold them into ordinary payments. domo also cautioned that some inscription services inscribe to their own address first and then forward the result, which leaves the minted balance with the service. Custodial vs non-custodial wallets covers who holds the keys in each setup.

Stalled transfers (BRC-20). Because the inscription and the send are separate transactions, a fee set between their two levels can get the first confirmed while the second sits unconfirmed, freezing the amount in the transferable state. In a December 7, 2023 test run with a large exchange's knowledge and permission, researchers locked nearly all of the roughly 8.2 million ORDI in its hot wallet this way, and ORDI withdrawals stopped for about 3.5 hours. They found that more than 90% of inscription-based tokens on Bitcoin share the weakness.

Contract and approval risk (ERC-20). A bug or a hidden function in a token contract can lose or lock funds, and an unlimited approval granted to a dishonest app lets it drain that token from your wallet months later; crypto scams shows how wallet drainers work. Tokens sent to a contract that cannot handle them are often stuck for good: ethereum.org counted at least $83,656,418 of ERC-20 tokens lost that way as of June 20, 2024, and sent crypto to the wrong network explains what can and cannot be recovered.

Rules and taxes (both). The SEC's March 2026 interpretation, which the CFTC joined, sorts crypto assets into five categories: digital commodities, digital collectibles, digital tools, stablecoins and digital securities. A token's category depends on what it is and how it is sold, not on the standard it uses. In the US, both kinds are taxed as property, and the crypto tax overview explains what counts as a sale.

What do the differences mean in practice?

The standard decides which wallet you need, what each transfer costs and whose software you are trusting, so it is worth checking before you buy, receive or send a token.

Before you hold a BRC-20 or ERC-20 token

  • Confirm the network and the standard. An ERC-20 deposit address on Ethereum and a Taproot address holding BRC-20 inscriptions are not interchangeable.
  • For BRC-20, use a wallet that displays inscriptions and BRC-20 balances, and keep inscribed satoshis apart from the bitcoin you spend.
  • Look up the token itself: the deploy inscription for a BRC-20 ticker, with its maximum supply and mint rules, or the contract address published by an ERC-20 token's issuer, never just the symbol.
  • Check where it trades and how much changes hands each day. A token nobody will buy has a price only on paper.
  • For ERC-20, approve only the amount an app needs and revoke allowances you no longer use.
  • Keep a record of every purchase price and fee for tax time.

For a framework to judge any token, see how to research a cryptocurrency. For the two networks underneath, bitcoin vs ethereum compares their fees, supply and security, and the bitcoin price page and ether price page carry the latest market data.

Frequently asked questions

Who created BRC-20 and ERC-20?+

ERC-20 was proposed as EIP-20 on November 19, 2015 by Fabian Vogelsteller and Vitalik Buterin. BRC-20 was created by a pseudonymous developer known as domo, who deployed the first token, ORDI, in Bitcoin block 779,832 on March 8, 2023.

Can you send BRC-20 tokens to any bitcoin wallet?+

No. The BRC-20 documentation warns against sending inscriptions to wallets that are not Ordinals-compatible, because those wallets do not track inscribed satoshis and can spend them as fees or mix them into ordinary payments, which can void a pending transfer.

How do you check a BRC-20 balance?+

Through an indexer, usually built into an Ordinals-aware wallet or block explorer. The balance is calculated off-chain from the history of inscriptions, so services must run identical rules; the Open Protocol Indexer is the reference implementation, used by more than 100 teams according to its maintainers.

Is BRC-20 the same as Runes?+

No. Runes, proposed by Ordinals creator Casey Rodarmor in September 2023 and active from block 840,000 on April 20, 2024, writes token messages into an OP_RETURN output and attaches balances to transaction outputs, so a transfer is one ordinary transaction with no inscription step.

Are BRC-20 and ERC-20 tokens taxed differently in the US?+

No. The IRS treats digital assets as property whatever standard they use, so selling, swapping or spending either kind is a taxable disposal measured against your cost basis. Rules change, so check current IRS guidance or ask a tax professional about your own situation.

Sources

  1. ERC-20: Token Standard (EIP-20), Ethereum Improvement Proposals
  2. ERC-20 Token Standard, ethereum.org
  3. How to revoke smart contract access to your crypto funds, ethereum.org
  4. brc-20 experiment, domo (GitBook)
  5. BRC-20 documentation, Layer 1 Foundation
  6. BRC-20 indexing rules, Layer 1 Foundation
  7. BRC-20: The Programmable Module (proposal 000), Best in Slot (GitHub)
  8. BRC20 6-Byte Tickers and Snipe Protection, Best in Slot
  9. BRC20 Phase 2 Status Update, Best in Slot
  10. BRC20 Phase 2 Activates at Block 934,888, Best in Slot
  11. Runes specification, Ordinal Theory Handbook
  12. Runes (September 25, 2023), Casey Rodarmor
  13. ord source code: chain.rs (jubilee height), docs.rs
  14. BRC20 Pinning Attack, arXiv
  15. Ordinals and the BRC-20 Standard: Overview and Risk Analysis, CertiK
  16. ORDI deploy transaction, block 779,832, mempool.space
  17. BRC-20 commit transaction, block 974,214, mempool.space
  18. BRC-20 transfer reveal transaction, block 974,214, mempool.space
  19. BRC-20 send transaction, block 974,214, mempool.space
  20. ORDI transfer reveal transaction, block 974,214, mempool.space
  21. Bitcoin block 840,000, mempool.space
  22. Coinbase Bitcoin (CBBTCUSD), daily, Federal Reserve Bank of St. Louis (FRED)
  23. Coinbase Ethereum (CBETHUSD), daily, Federal Reserve Bank of St. Louis (FRED)
  24. Ordinals (ORDI) price and market data, CoinGecko
  25. Application of the Federal Securities Laws to Certain Types of Crypto Assets and Certain Transactions Involving Crypto Assets (Release No. 33-11412), US Securities and Exchange Commission

Related guides