> For the complete documentation index, see [llms.txt](https://patches-1.gitbook.io/ordinals-standards-discussions/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://patches-1.gitbook.io/ordinals-standards-discussions/ordinals-standards-proposals/brc-30.md).

# BRC-30

BRC30 Proposal:\
<https://www.okx.com/web3/build/docs/bitcoin-ecosystem/brc30-proposal>

BRC30 Explanation Twitter threads:\
<https://twitter.com/okx/status/1664295775159853057>\
<https://twitter.com/0xAbhiP/status/1665056239036792832><https://twitter.com/Jiurn/status/1664674583855636481>\
\
OKX Press Release:\
<https://www.okx.com/learn/okx-proposes-industry-first-brc-30-token-standard-to-enable-bitcoin-and-brc?channelid=ACEAP6502255>

## BRC-30 Proposal

### Summary

OKX have introduced **BRC-30**, an extended version of the **BRC-20** proposal (a fungible token standard made explicitly for the Bitcoin blockchain) that incorporates BRC-20 design principles while introducing functionalities for staking operations such as depositing, minting, and withdrawing.

BRC-30 allows users to stake their own BRC-20 tokens or bitcoin and receive BRC-30 tokens in return. The BRC-30 protocol is open-source and available for all developers to build upon.

### Motivation

The introduction of BRC-30 and its staking functionalities provide BRC-20 token holders and projects with expanded design space and additional opportunities to engage with their communities.

### Specifications

#### User scenarios

* **Project team**: Can issue their own BRC-30 tokens by creating a staking pool, thus gaining seed users.
* **Users**: Can stake BTC or BRC-20 tokens to earn BRC-30 tokens like `abcd`.

#### Interaction flow

1. **Project Party**: Carries out the deploy operation, defining the attributes of the staking pool, following which the user's deposit operation will be recognized and recorded (following the BRC-20).
2. **User**: Executes staking activities such as depositing, minting (claiming), and withdrawing.
3. **Server**: Performs a comprehensive interpretation of the BRC-20 and BRC-30 proposal, providing an open-source interface for profit calculation.

### Instructions

#### Operations

* **Deploy BRC-30 pool**

```json
{ 
  "p": "brc-30",
  "op": "deploy",
  "t": "pool",
  "pid": "f7c515d6b7#01",
  "stake": "btc",
  "earn": "abcd",
  "erate": "10",
  "dmax": "12000000",
  "total": "21000000",
  "only": "1"
}
```

* **Stake: deposit BRC-20 token/btc into BRC-30 pool**

```json
{
  "p": "brc-30",
  "op": "deposit",
  "pid": "f7c515d6b7#01",
  "amt": "100"
}
```

* **Claim: mint BRC-30 earned token**

```json
{ 
  "p": "brc-30",
  "op": "mint",
  "tick": "abcd",
  "pid": "f7c515d6b7",
  "amt": "100"
}
```

* **Unstake: withdraw BRC-20 token/btc from BRC-30 pool**

```json
{ 
  "p": "brc-30",
  "op": "withdraw",
  "pid": "f7c515d6b7#01",
  "amt": "100"
}
```

* **Transfer BRC-30 token**

```json
{ 
  "p": "brc-30",
  "op": "transfer",
  "pid": "f7c515d6b7",
  "tick": "abcd",
  "amt": "100"
}
```

Note: Please be careful when using inscription service. Ensure to send tokens to the address that holds the balance, especially in the situation where some ordinal compatible wallet generates a different address each time.
