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:
BRC-201 extend operation looks like this:
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.
Bridge Out
example:
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. |
Inscribe “Bridge-out” extend operation on Bitcoin, specifying
chain
and address asref
.Submit the transaction proof ("SPV proof") to smart contract on the destination chain and call the BTC light client to verify it.
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.Indexers MUST verify that the "Mint" event emitted by the contract matches the
inscription id
, andamt
,chain
,ref
fields of the bridge-out operation.Indexers MUST mark the bridged-out tokens as "bridged-out" and track the bridged-out token amount.
Bridge In
example:
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. |
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.
Inscribe "Bridge-in" extend operation on Bitcoin, specifying
chain
and the transaction hash on source chain asref
.Indexers MUST verify that the "Burn" event emitted by the contract match the
amt
and receiver of the bridge-in operation.Indexers MUST reduce the tracked bridged-out token amount.
Last updated