> For the complete documentation index, see [llms.txt](https://domo-2.gitbook.io/brc-20-experiment/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://domo-2.gitbook.io/brc-20-experiment/examples.md).

# examples

Please understand that this is an experimental standard, and know how it works before testing. Use at your own risk. Examples of balance changing events. Wallets tested with: Xverse.

## Regular Examples

### Mint 1 "ordi" to yourself

<mark style="color:red;">**ordi has already reached its maximum supply, example for demonstration purposes only.**</mark>

* Minter populates mint function with required information

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

* Inscribe the function to your own ordinal enabled wallet taproot address. <mark style="color:red;">**Make sure not using inscription service that mints to itself first.**</mark>&#x20;
* You now have 1 "ordi"

| User   | Balance at start | Balance at end |
| ------ | ---------------- | -------------- |
| Minter | 0                | 1              |

### Transfer 500 "ordi" to Satoshi's wallet

Satoshi wallet just an example. Can send to any ordinal compatible taproot address.&#x20;

* Populate transfer function with required information

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

* Inscribe the function to your own ordinal enabled wallets taproot address that holds the balance. <mark style="color:red;">**Make sure not using inscription service that mints to itself first. Some ordinal wallets generate a different address each time, make sure to send to the address that holds the balance.**</mark>&#x20;
* Send the inscription from your wallet to Satoshi's ordinal enabled wallets taproot address (if he had one).&#x20;
* Satoshi now has 500 "ordi"

| User    | Balance at start | Balance at end |
| ------- | ---------------- | -------------- |
| Sender  | 500              | 0              |
| Satoshi | 0                | 500            |

## VERY EXPERIMENTAL EXAMPLES, USE AT YOUR OWN RISK

Only included because people were getting scammed. Remember, these are worthless!

### Trade 250 "ordi" for 1 sat via escrow

<mark style="color:red;">**Do not recommend trading until trusted balance state index tool is available. As it stands there is no easy way of accurately checking if the seller has a valid balance. Escrow trust/error risks should also be considered.**</mark>&#x20;

* Seller populate transfer function with required information

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

* Seller inscribes the function to their own ordinal enabled wallet taproot address that holds the balance. <mark style="color:red;">**Make sure not using inscription service that mints to itself first. Some ordinal wallets generate a different address each time, make sure to send to the address that holds the balance.**</mark>&#x20;
* Seller send's the inscription from their wallet to the escrows taproot address.&#x20;
* Escrow checks <mark style="color:red;">**balance state index tool**</mark> to check their wallet has a valid balance&#x20;
* Buyer sends 1 sat to escrows bitcoin address
* Escrow now has 1 sat and 250 "ordi"
* Escrow populate transfer function with required information

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

* Escrow inscribes the function to their own ordinal enabled wallet taproot address that holds the balance. <mark style="color:red;">**Make sure not using inscription service that mints to itself first. Some ordinal wallets generate a different address each time, make sure to send to the address that holds the balance.**</mark>&#x20;
* Escrow send's the inscription from their wallet to the buyers taproot address.&#x20;
* Escrow sends 1 sat to sellers bitcoin address
* Seller now has 1 sat
* Buyer now has 250 "ordi"

| User   | Balance at start | Balance at end |
| ------ | ---------------- | -------------- |
| Seller | 250              | 0              |
| Buyer  | 0                | 250            |

### Trade 250 "ordi" for 1 wei via emblem vault

<mark style="color:red;">**Do not recommend trading until trusted balance state index tool is available. As it stands there is no easy way of accurately checking if the emblem vault has a valid balance.**</mark>&#x20;

* Seller populate transfer function with required information

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

* Seller inscribes the function to their own ordinal enabled wallet taproot address that holds the balance. <mark style="color:red;">**Make sure not using inscription service that mints to itself first. Some ordinal wallets generate a different address each time, make sure to send to the address that holds the balance.**</mark>&#x20;
* Seller creates emblem vault and populates title / description with transfer function details
* Seller mints the emblem vault
* Seller send's the inscription from their wallet to the emblem vaults taproot address.&#x20;
* Emblem vault now has 250 "ordi"
* Seller lists emblem vault for 1 wei
* Buyer checks <mark style="color:red;">**balance state index tool**</mark> to check if emblem vault has valid balance&#x20;
* Buyer buys emblem vault for 1 wei
* Seller now has 1 wei
* Buyer now has control of emblem vault. <mark style="color:red;">**If buyer wants to move balance from emblem vault**</mark>, buyer unlocks vault.
* Buyer imports private keys to an ordinal compatible wallet
* Buyer populates transfer function with required information

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

* Buyer inscribes the function to the imported ordinal enabled wallet taproot address that holds the balance. <mark style="color:red;">**Make sure not using inscription service that mints to itself first. Some ordinal wallets generate a different address each time, make sure to send to the address that holds the balance.**</mark>&#x20;
* Buyer send's the inscription from their wallet to the desired destinations taproot address.&#x20;
* Desired destination now has 250 "ordi"

| User   | Balance at start | Balance at end |
| ------ | ---------------- | -------------- |
| Seller | 250              | 0              |
| Buyer  | 0                | 250            |
