# Sample OIP-002 for BRC20

**OIP: 002**\
**Title: BRC-20: An Experimental Standard for Developing Off-Chain Balance States on the Bitcoin Network using Ordinals**\
**Author: Patches (@TMCC\_Patches)**\
**Discussions-To:** \
**Status: Draft**\
**Type: Standards Track**\
**Created: 2023-06-13**\
**Post-History:**\
**Replaces:**\
**Superseded-By:**\
**Resolution:**

***

### **Abstract**

BRC-20 is an experimental protocol aimed at developing off-chain balance states on the Bitcoin network using a protocol called Ordinals. This proposal lays out the protocol's key features and functions, and invites improvements and enhancements from the community.

### **Motivation**

The purpose of BRC-20 is to facilitate the creation and management of balances on Bitcoin, and to encourage exploration of alternative designs and optimizations. It provides `Deploy`, `Mint`, and `Transfer` functions and is open to improvements and enhancements from the community.

### **Specification**

#### **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.

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

**Mint**

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

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

**Transfer**

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

```json
{
  "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.

### **Rationale**

The system is limited to a maximum supply that cannot exceed the uint64\_max and the number of decimals cannot exceed 18. Minting transfer inscription to oneself first is necessary to prevent others from spending your balance.

### **Backwards Compatibility**

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.

### **References**

* Domo's initial Twitter Thread: [Twitter Link](https://twitter.com/domodata/status/1634247606262964228)
* Domo's Gitbook: [Gitbook Link](https://domo-2.gitbook.io/brc-20-experiment/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://patches-1.gitbook.io/ordinals-standards-discussions/ordinals-structure-and-standards/sample-oip-002-for-brc20.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
