> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brc20.build/llms.txt
> Use this file to discover all available pages before exploring further.

# What is BRC-20?

> BRC-20 is a metaprotocol for fungible tokens on Bitcoin, using Ordinals inscriptions and indexer consensus to track token state.

BRC-20 is a **metaprotocol** for fungible tokens on Bitcoin. It uses the Ordinals protocol to inscribe JSON data directly into Bitcoin transactions. Bitcoin nodes don't understand or enforce BRC-20 rules — specialized indexers interpret that inscribed data to maintain token state and validate operations.

Unlike Ethereum's ERC-20, which relies on smart contracts enforced by the network itself, BRC-20 relies on **social consensus**: participants agree to follow the same ruleset for interpreting inscriptions, and indexers provide the canonical state of all tokens.

## How it works

BRC-20 tokens use a three-operation model: deploy, mint, and transfer.

<Steps>
  <Step title="Deploy">
    Create a new token by inscribing deployment parameters — ticker symbol, maximum supply, and per-mint limit — as a JSON inscription on Bitcoin.
  </Step>

  <Step title="Mint">
    Inscribe mint operations to claim tokens from the deployed supply, up to the per-mint limit per inscription.
  </Step>

  <Step title="Transfer">
    Inscribe a transfer operation to allocate tokens for sending, then send the inscribed satoshi to move the tokens to a new owner.
  </Step>
</Steps>

Each operation is a JSON inscription committed into a Bitcoin transaction. Indexers scan these inscriptions in block order to maintain the current state of all BRC-20 tokens — who owns what, total supply, and transfer history.

### Deploy inscription

```json theme={null}
{
  "p": "brc-20",
  "op": "deploy",
  "tick": "ordi",
  "max": "21000000",
  "lim": "1000"
}
```

| Field  | Description                                     |
| ------ | ----------------------------------------------- |
| `p`    | Protocol identifier — always `"brc-20"`         |
| `op`   | Operation type: `deploy`, `mint`, or `transfer` |
| `tick` | Four-letter ticker symbol                       |
| `max`  | Maximum total supply                            |
| `lim`  | Maximum tokens claimable per mint inscription   |

### Mint inscription

```json theme={null}
{
  "p": "brc-20",
  "op": "mint",
  "tick": "ordi",
  "amt": "1000"
}
```

### Transfer inscription

```json theme={null}
{
  "p": "brc-20",
  "op": "transfer",
  "tick": "ordi",
  "amt": "500"
}
```

<Note>
  The transfer operation is a two-step process: first inscribe the transfer to allocate the amount, then send the satoshi that holds that inscription to the recipient's address.
</Note>

## Key characteristics

<AccordionGroup>
  <Accordion title="Metaprotocol design">
    BRC-20 is purely data inscriptions interpreted by indexers following agreed-upon rules. Bitcoin's consensus layer does not validate BRC-20 operations — correctness depends on indexers implementing the same specification.
  </Accordion>

  <Accordion title="First-come, first-served tickers">
    Token tickers are claimed on a first-inscription basis. Anyone can deploy any four-letter ticker, but only the first valid deploy inscription for a given ticker is recognized. There is no registration authority.
  </Accordion>

  <Accordion title="UTXO-based token custody">
    Tokens exist within specific satoshis. This means transfers require careful UTXO management — accidentally spending the satoshi that holds an inscription will destroy the tokens it represents.
  </Accordion>

  <Accordion title="Indexer consensus">
    Different indexers may diverge if they implement the rules differently. Major indexers converge on a canonical interpretation, but you should verify which indexer a marketplace or wallet uses before relying on its state.
  </Accordion>
</AccordionGroup>

## Trading BRC-20 today

BRC-20 tokens are traded on-chain through **PSBT-based marketplaces** such as UniSat, Best in Slot, Magic Eden, and OKX Web3. These platforms use Partially Signed Bitcoin Transactions (PSBTs) to enable trustless atomic swaps: sellers sign offers with specific `SIGHASH` flags that allow any buyer to complete the transaction.

The ecosystem has processed over 71,000 BTC in cumulative trading volume (\~\$7 billion) and generated 6,922 BTC in miner fees since launch.

This architecture has real limitations worth understanding before you build:

* **No automated market makers** — AMMs require off-chain components because there is no on-chain execution environment.
* **Fragmented liquidity** — order books live on individual marketplaces with no cross-platform aggregation.
* **Front-running via fee races** — because transactions compete in Bitcoin's mempool, users can outbid pending transactions by paying higher fees.

<Note>
  BRC2.0 is the next evolution of this ecosystem. It adds EVM-compatible smart contract execution on top of BRC-20's inscription model, enabling AMMs, lending protocols, DAOs, and other DeFi primitives directly on Bitcoin. Read the [BRC2.0 Programmable Module](/overview/brc20-programmable-module) overview to learn more.
</Note>
