BRC-201: Cross-Chain Extension Protocol to BRC-20 Tokens
Introduction
BRC-201 proposes an extension protocol to the BRC-20 standard. It is aimed to be backward compatible with BRC-20, to improve scalability, especially to bridge BRC-20 tokens to chains with smart contract support, such as Ethereum, BNB Chain, Near, etc.
Ordinals and BRC-20
Ordinal theory imbues satoshis with numismatic value, allowing them to be collected and traded as curios. Individual satoshis can be inscribed with arbitrary content, creating unique Bitcoin-native digital artifacts that can be held in Bitcoin wallets and transferred using Bitcoin transactions.
BRC-20 is experimental token standard by Domo. Tokens can be deployed, minted, and transferred using Ordinal inscriptions.
Definition
BRC-201 is an extension of the BRC-20 token standard that enhances the Transfer operation. This extension remains compatible with the BRC-20 protocol.
BRC-20 token transfer looks like this:
{
"p": "brc-20",
"op": "transfer",
"tick": "ordi",
"amt": "100"
}
BRC-201 extend operation looks like this:
{
"p": "brc-20",
"op": "transfer",
"tick": "ordi",
"amt": "100",
"chain": "eth",
"ext": "bridge-out/in",
"ref": "address/txhash"
}
BRC-201 introduces three additional fields: "chain", "ext", and "ref".
If an indexer does not support the BRC-201 protocol, the transaction will be treated as a regular transfer operation.
However, an enhanced indexer that supports BRC-201 can parse additional extension operations.
Currently, the BRC-201 specification defines "Bridge In" and "Bridge Out" as extension operations.
example:
{
"p": "brc-20",
"op": "transfer",
"tick": "ordi",
"amt": "100",
"ext": "bridge-out",
"chain": "eth",
"ref": "0x7a9ce9ea715c32cc2b04821e8aab6a4a364d7f97"
}
Key | Required? | Description |
---|---|---|
p | Yes | Protocol: Helps other systems identify and process brc-20 events |
op | Yes | Operation: Type of event (Deploy, Mint, Transfer) |
tick | Yes | Ticker: 4 letter identifier of the brc-20 |
amt | Yes | Amount to transfer: States the amount of the brc-20 to bridge-out. |
ext | Yes | Extend operation: Type of extend event(Bridge-in, Bridge-out) |
chain | Yes | Chain: Identifier specified the destination chain. |
ref | Yes | Reference: reference content based on extend operation. Here is the receiver address on the destination chain. |
- 1.Inscribe “Bridge-out” extend operation on Bitcoin, specifying
chain
and address asref
. - 2.Submit the transaction proof ("SPV proof") to smart contract on the destination chain and call the BTC light client to verify it.
- 3.If the verification is successful, the contract mint no more than
amt
wrapped BRC-20 token to the account specified in theref
field. Meanwhile, the contract emits a "Mint" event. - 4.Indexers MUST verify that the "Mint" event emitted by the contract matches the
inscription id
, andamt
,chain
,ref
fields of the bridge-out operation. - 5.Indexers MUST mark the bridged-out tokens as "bridged-out" and track the bridged-out token amount.
example:
{
"p": "brc-20",
"op": "transfer",
"tick": "ordi",
"amt": "100",
"ext": "bridge-in",
"chain": "eth",
"ref": "0x857ab26790d5926de3aa3972230dd8b926b1e6d57c6b7a077d649ae3bea393bc"
}
Key | Required? | Description |
---|---|---|
p | Yes | Protocol: Helps other systems identify and process brc-20 events |
op | Yes | Operation: Type of event (Deploy, Mint, Transfer) |
tick | Yes | Ticker: 4 letter identifier of the brc-20 |
amt | Yes | Amount to transfer: States the amount of the brc-20 to bridge-in. |
ext | Yes | Extend operation: Type of extend event(Bridge-in, Bridge-out) |
chain | Yes | Chain: Identifier specified the source chain. |
ref | Yes | Reference: reference content based on extend operation. Here is the txhash on the source chain. |
- 1.Submit the transaction to smart contract on the chain to bridge out the wrapped BRC-20 token, specifying the receiver address on BTC. The contract emits a "Burn" event.
- 2.Inscribe "Bridge-in" extend operation on Bitcoin, specifying
chain
and the transaction hash on source chain asref
. - 3.Indexers MUST verify that the "Burn" event emitted by the contract match the
amt
and receiver of the bridge-in operation. - 4.Indexers MUST reduce the tracked bridged-out token amount.
Last modified 4mo ago