# GBRC-721

Github Explanation:\
<https://github.com/jerryfane/generative-brc-721>

Link tree to tooling:\
<https://www.gbrc721.xyz/#>

Twitter Thread:\
<https://twitter.com/OrdinalLabs/status/1665005598318948352>\
\
Comparison Tweet Thread:\
<https://twitter.com/OrdinalLabs/status/1666866635691393040>

## Generative BRC-721 Standard for Bitcoin Ordinals Ecosystem

This document outlines the Generative BRC-721 standard, an innovative protocol aimed at optimizing block space usage on the Bitcoin network. This standard will streamline the creation and minting of Non-Fungible Ordinals (NFOs), ultimately reducing block space usage between 50% and 90%.

### Overview

The Generative BRC-721 standard employs a two-step process:

1. **Deploy Operation**: Create a Generative BRC-721 collection with unique traits stored on-chain.
2. **Mint Operation**: Generate a Non-Fungible Ordinal (NFO) which references the traits from the deploy operation.

A case study involving a Generative BRC-721 collection called "OrdiBots" has demonstrated a block space reduction of 55%.

### Deploy Operation

The deploy operation creates a Generative BRC-721 collection. It uses a JSON/Text inscription to store the general information of the collection and the base64 encoded data of the traits composing the collection on-chain.

Here is a JSON example of a deploy operation inscription for the "OrdiBots" collection:

```json
{
    "p": "gen-brc-721",
    "op": "deploy",
    "slug": "ordibots",
    "name": "OrdiBots",
    "supply": 1000,
    "trait_types": [
        "background",
        "accessories",
        "body",
        "belly",
        "face"
    ],
    "dim": [32,32],
    "traits": {
        "background": {
            "blue": {
                "name": "Blue",
                "base64": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEVkhZa3PARZAAAAC0lEQVR4AWMY5AAAAKAAAVQqnscAAAAASUVORK5CYII="
            },
            // more backgrounds
        },
        "accessories": {
            "antenna": {
                "name": "Antenna",
                "base64": "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAKUlEQVRYCe3BsQ0AIADDsOT/o8sJLEgssSHJhTpg4oDxmzKSJEmS5KEDUlIFA6L+DvwAAAAASUVORK5CYII="
            },
            // more accessories
        },
        // other traits
    }
}


```


---

# 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://patches-1.gitbook.io/ordinals-standards-discussions/ordinals-standards-proposals/gbrc-721.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.
