# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://brc-721.gitbook.io/about-the-brc-721-experimental-proposal/quick-start.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
