# Quick Start

[Proposal Initiators](https://twitter.com/Earthbiter)​

This is just a new proposal to improve the flaws of BTC NFT. Easier: NFT deployers can deploy the collection to the inscription at once. Lower cost: Previously users who wanted to have NFT needed to burn the entire image onto the chain, now they only need a section of text and image ipfs to host it, saving more money and making the market for NFT broader. More decentralized: This proposal uses the ipfs protocol, which allows resolution service providers to resolve NFT's RANK and trait types faster. As such, this is a very dynamic experiment and I encourage the Bitcoin community to tinker with standard designs and optimizations until there is a general consensus on best practices.

## About IPFS

**IPFS is a permanent, tamper-evident storage protocol, and the CID that corresponds to IPFS is a unique identifier.**

[Related Documents](https://mirror.xyz/0xEBD6c7C80Ea664EA4FFc6f1BFA9a25833e6DbE0a/tHiBjfzEFXfGfEkVA-B4BhhPQ9KMGkE_-3nWIYv59OY)

Principle of ipfs

[https://docs.ipfs.tech/concepts/content-addressing](https://docs.ipfs.tech/concepts/content-addressing/)

Experiment to see if ordinal theory can facilitate fungibility on bitcoin

* Create a brc-721 with the deploy function
* Mint  of brc-721 with the mint function
* Transfers can be transferred directly using the specified inscription transfer method
* <mark style="color:red;">**Special attention :**</mark> It is recommended to use unisat wallet or Sparrow wallet for transferring . Try to transfer inscriptions carefully and do not submit them as miner's fees, otherwise NFT will be lost on the chain forever.
* <mark style="color:red;">**At the same time, the resolution service we are developing for BRC721 is an effective indexer. I'll list it when the website goes live**</mark>

### Notes

* Do not send inscriptions to non ordinal compatible wallet taproot addresses
* It is unlikely that balances will be safely tradable using existing marketplace infrastructure.&#x20;
* The first deployment of a ticker is the only one that has claim to the ticker. Tickers are not case sensitive (PUNK= punk).&#x20;
* If two events occur in the same block, prioritization is assigned via order they were confirmed in the block. (first to last).
* For public brc-721 mints the bitcoin punks / .sats names 'first is first' approach is adopted
* The first mint that exceeds the maximum supply will receive a valid score. (Example: 10,000 maximum supply, 9,550 circulating supply, valid within 450 balance).

## Operations

As I mentioned above, this is just my fun experimental standard design. I welcome anyone to improve upon the design, rules, or compression issues it poses. For traceability json {} are required, as well as the minimum required information to satisfy one of the functions.

## About the IPFS format

Usually the json format is a key-value pair, you can add as much content as you like

<mark style="color:red;">**Please note that features must trait typein this format**</mark>

```
{ "name": "Bitcat #5",
 "description": "The first collection to adopt the new protocol of brc-721", 
"image": "ipfs://QmeyYPSz2887os4cxaucTMDaVgzR1wucXP3eaZYrX8Yavm/5.png",
"attributes": [ { "trait_type": "background", "value": "lightpurple" }, { "trait_type": "body", "value": "yellow" }, { "trait_type": "eyes", "value": "Fisheye" }, { "trait_type": "head", "value": "ToiletHat" }, { "trait_type": "mouse", "value": "Eatingfish" }, { "trait_type": "clthores", "value": "BlackCoat" } ] }
```

### Deploy brc-721

<mark style="color:red;">**The bitcat is still being mint, so you should check to see if the maximum number is exceeded when minting.**</mark>

<mark style="color:red;">**Stay tuned for official information from bitcat. They will update the index file later**</mark>

<https://twitter.com/bitcat_ord>

```
{ 
"p": "brc-721",
"op": "deploy",
"tick": "bitcat",
"max": "10000",
"ipfs": "ipfs://QmbFAC5n9s65Ky96GqCrbRDVEHXxvE8vJShdbNWSD2GPTA"
}
```

<table><thead><tr><th width="97">Key</th><th width="108.33333333333331">Required?</th><th>Description</th></tr></thead><tbody><tr><td>p</td><td>Yes</td><td>Protocol: Helps other systems identify and process brc-721 events</td></tr><tr><td>op</td><td>Yes</td><td>Operation: Type of event (Deploy, Mint)</td></tr><tr><td>tick</td><td>Yes</td><td>Strings of up to 20 identifiers, case insensitive</td></tr><tr><td>max</td><td>Yes</td><td>Max supply: set max supply of the brc-721</td></tr><tr><td>ipfs</td><td>yes</td><td>The ipfs metadata provided to third-party resolution service providers and users. As part of the collection, please note that to deploy a project you should understand ipfs</td></tr></tbody></table>

### Mint brc-721&#x20;

<mark style="color:red;">**Note: The id is determined by the inscription id of the deployer, please check the inscription id of the collection deployed by the deployer before Mint**</mark>

```
{ 
  "p": "brc-721",
  "op": "mint",
  "tick": "bitcat",
  "id": "7954094",
  "ipfs": "ipfs://QmbFAC5n9s65Ky96GqCrbRDVEHXxvE8vJShdbNWSD2GPTA"
}
```

<table><thead><tr><th width="97">Key</th><th width="108.33333333333331">Required?</th><th>Description</th></tr></thead><tbody><tr><td>p</td><td>Yes</td><td>Protocol: Helps other systems identify and process brc-721 events</td></tr><tr><td>op</td><td>Yes</td><td>Operation: Type of event (Deploy, Mint, Transfer)</td></tr><tr><td>tick</td><td>Yes</td><td>Strings of up to 20 identifiers, case insensitive</td></tr><tr><td>id</td><td>Yes</td><td>The id is determined by the inscription id of the deployer, please check the inscription id of the collection deployed by the deployer before Mint</td></tr><tr><td>ipfs</td><td>Yes</td><td>ipfs metadata provided to third-party resolution providers and users. As part of the collection, please note that to cast a project, you should obtain the correct ipfs</td></tr><tr><td><p>token</p><p>ID</p></td><td>No</td><td>token Id cannot be filled in, the order of inscription id corresponds to the token id, and the resolution service provider will redirect the user's token Id</td></tr></tbody></table>
