# Staking & Unstaking of BRC-20 tokens

## How will staking work?

To stake BRC-20 tokens, perform a normal transfer call to the **staking** address (coming soon). Given Staking address is not owned by anyone (like BURN address), it **will be same for all tokens**. Eg. If we have 2 tokens $ABCD and $EFGH which have enabled staking, both of the tokens can be sent to same staking address to yield rewards.&#x20;

Example

Lets assuming staking address is "abcd1234io"

To stake 1000 $bYLD tokens, we will perform transfer as:

```json
{
  "p":"brc-20",
  "op":"transfer",
  "tick":"bYLD",
  "amt":"1000"
}
```

Now we will send this inscription to "abcd1234io" address. <mark style="color:green;">**Viola!**</mark> It got staked now.

**Note**: Once staking goes live and you transfer the inscription to the staking address, you will be able to see your rewards earned & updated balance on the dashboard.&#x20;

## How will unstaking work?

To unstake tokens, inscribe an "untransfer" from the same address used while staking and send it to the STAKING address.&#x20;

Example

Let us assume we had staked 1000 $bYLD tokens for 10 blocks. The balance shown on staking dashboard will be `1000 * (1+0.0007*10) = 1007 tokens.`

**We need to inscribe an untransfer op and send it to the STAKING address.**

```json
{
  "p":"brc-20",
  "op":"untransfer",
  "tick":"bYLD",
  "txn":"c63ac7663b77b01dc941fc990caf04bb48cb9aeeade8ddi0"
}
```

Here txn represents the inscription id of the transfer inscription which was sent to this STAKING address from same wallet. Once we send untransfer to the STAKING address, indexers will help in getting the (initial value + reward) back to your wallet as per current yield value.\\
