๐ŸŸง
Ordinals Standards Discussions
  • ๐ŸšงOrdinals Standards Proposals
    • ๐Ÿ”ธBRC-20
    • ๐Ÿ”ธBRC-20 (Update Proposal)
    • ๐Ÿ”ธORC-20
    • ๐Ÿ”ธSRC-20
    • ๐Ÿ”ธBRC-30
    • ๐Ÿ”ธBRC-69
    • ๐Ÿ”ธSRC-721
    • ๐Ÿ”ธBRC-721
    • ๐Ÿ”ธBRC-721.com
    • ๐Ÿ”ธBRC-721E
    • ๐Ÿ”ธORC-721
    • ๐Ÿ”ธGBRC-721
    • ๐Ÿ”ธBRC-1202: Voting
  • ๐ŸŠGetting started
  • ๐Ÿ“™Bitmap
  • ๐ŸงกOrdinals: Structure & Standards
    • โŒ›Consensus Solutions
    • ๐Ÿ—’๏ธStandardization Proposal
    • ๐Ÿ“œSample OIP-001
    • ๐Ÿ“œSample OIP-002 for BRC20
Powered by GitBook
On this page
  • Important Links:
  • BRC-20: An Experimental Standard
  • Key Features
  • Functions
  • Balance Management
  • Important Notes
  • Open to Improvements
  1. Ordinals Standards Proposals

BRC-20

Initial token standard proposed for Ordinals

PreviousOrdinals Standards ProposalsNextBRC-20 (Update Proposal)

Last updated 1 year ago

Important Links:

Domo's initial Twitter Thread

Domo's Gitbook:

BRC-20: An Experimental Standard

BRC-20 is an experimental protocol aimed at developing off-chain balance states on the Bitcoin network using a protocol called Ordinals.

Disclaimer: Read every word if you decide to test. These will be worthless. Use at your own risk.

Key Features

  • Facilitates creation and management of balances on Bitcoin.

  • Encourages exploration of alternative designs and optimizations.

  • Provides Deploy, Mint, and Transfer functions.

  • Open to improvements and enhancements from the community.

Functions

Deploy

Initializes the BRC-20 but doesn't affect the state.

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

Mint

Provides the initial balance to the owner of the mint function inscription.

{
  "p": "brc-20",
  "op": "mint",
  "tick": "ordi",
  "amt": "1000"
}

Transfer

Decreases the balance of the sender and increases that of the receiver.

{
  "p": "brc-20",
  "op": "transfer",
  "tick": "ordi",
  "amt": "100"
}

Balance Management

  • To get a balance, deploy your own or mint from existing deployments.

  • For transferring balances, inscribe the transfer function to an ordinal compatible wallet, ensuring that the transfer inscription details are valid.

Validity of Transfer Function

  • A valid transfer function is required for transferring a balance.

  • Validity depends on whether the inscription amount doesn't exceed the available balance when inscribed.

  • If a user no longer wishes to transfer their transfer function, they can simply transfer the transfer function inscription to themselves to restore their available balance to the overall balance.

Important Notes

  • Do not send inscriptions to non-ordinal compatible wallet taproot addresses.

  • Ensure transfer inscriptions are only used once.

  • Minting transfer inscription to oneself first is necessary to prevent others from spending your balance.

  • The system is limited to a maximum supply that cannot exceed the uint64_max and the number of decimals cannot exceed 18.

Open to Improvements

This protocol is open to improvements and design enhancements by anyone. The goal is to keep exploring the potential possibilities of Ordinals and establish a universally accepted standard in the future.

๐Ÿšง
๐Ÿ”ธ
โš ๏ธ
https://twitter.com/domodata/status/1634247606262964228
https://domo-2.gitbook.io/brc-20-experiment/