> For the complete documentation index, see [llms.txt](https://patches-1.gitbook.io/ordinals-standards-discussions/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://patches-1.gitbook.io/ordinals-standards-discussions/ordinals-standards-proposals/gbrc-721.md).

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


```
