# Standardising Ordinals Based NFTs

By [OrdRare.org](https://paragraph.com/@ordrare-org) · 2023-02-27

---

**Big Day for Ordinals community - Launching inscription contracts and metadata(traits) for upcoming collections & inscriptions**

Fasten your seat belts, a new revolution is coming on Ordinals.

We are excited to announce the standards & technology to support upcoming collections on Ordinals with contract address, on-chain metadata(traits) & other features in a pure decentralised way. The aim is to make 'Ordinals ecosystem' mature like NFTs on the ETH chain.

Since the inception of inscriptions, we have had a plethora of users getting their hands on sub #xxk inscriptions (with anticipation of printing $$$ by secondary sales). We got random mints, subpar/copied content and 'handful' of good collections during the process.

However, for the Ordinals ecosystem to kick-off and make it better than Ethereum, we need community driven projects and genuine use cases/art to come up.

What is stopping them?
----------------------

Given the current state of Ordinals, there are a couple of challenges which are acting as major roadblocks for new collections to pop up.

**Challenges faced by new collections & communities**

1.  `No trustless & easy way to identify their collection` There is a lot of talk going on for provenance and trustless mechanisms to prove ownership of a collection and its inscriptions. But so far, no such concrete solution has come up. There are no standards for clients (read explorers) either. Every client is just adopting ‘centralized’ mechanisms to show the list of collections.
    
2.  `No on-chain traits/metadata in the inscription` Inscription as a concept allows us to inscribe any content against a sats but as per current inscriptions & explorer architecture, there is no support to add metadata (traits) in the inscription
    
3.  `Id of every inscription` As of now, the first thing apes look for is # of inscription instead of what collection/team it belongs to. Obviously, there is no comparison between BAYC and a random meme collection on ETH. However, in the case of Ordinals, if that meme collection got inscribed earlier to BAYC, we are putting the random meme collection of higher value. Sounds stupid right?
    

Solution
--------

Meet [ordrare.org](http://ordrare.org) We have tried to address all these problems with up and working MVP. We have tried to set up new standards for inscribing content and providing explorer (front end client) to visualize the inscriptions of collections.

### Key features

1.  `Establishing standards to create collections` (in a decentralized way) We have defined standards for collections and other explorers to follow which can help in uniquely identifying "which inscription belongs to which collection" and vice versa. All we need is the inscription id of “collection\_contract” which has been generated by the team after collection has been inscribed. Read “Step by Step process” section for more details!
    
2.  `Storing on-chain metadata in the inscriptions` We have done a pilot of storing metadata (traits) of inscription on-chain and created explorer to read and show the data. Check out a sample [https://www.ordrare.org/inscription/dc9babe0d98bd224e31808252da64daefb6490d607b0d435e82baa6861d1eec8i0](https://www.ordrare.org/inscription/dc9babe0d98bd224e31808252da64daefb6490d607b0d435e82baa6861d1eec8i0)
    
3.  `Showing # of item in collection instead of # in global inscriptions` Every collection is unique and can not be compared with other collections inscribed in the past. It has been solved by adapting standards being used in other blockchains. We are showing the # of an item in a collection instead of global #.
    

Demonstration for collections and OGs
-------------------------------------

**For teams inscribing the collections** Showing step by step demonstration of a collection (Bitcoin Toddlers) whom we helped in minting their collection with metadata and contract address support. Reach out to us in discord if you need assistance in inscribing.

*   For every new collection, the team has to mint 2 extra inscriptions called "inscription\_start" and "collection\_contract" apart from usual inscriptions.
    
*   In "inscription\_start", there will be json content which stores the name of the collection and the team. One reference for inscription\_start can be
    

`Raw json data` [https://ordinals.com/content/c068c63233b80e52f6047b50e0f0817a3e6e39061ba787937694e665e2706218i0](https://ordinals.com/content/c068c63233b80e52f6047b50e0f0817a3e6e39061ba787937694e665e2706218i0) `How it looks on ordrare` [https://www.ordrare.org/inscription/c068c63233b80e52f6047b50e0f0817a3e6e39061ba787937694e665e2706218i0](https://www.ordrare.org/inscription/c068c63233b80e52f6047b50e0f0817a3e6e39061ba787937694e665e2706218i0)

_While inscribing “inscription\_start” kindly make sure you inscribe the content file with .json format_

*   Once you get id of “inscription\_start” (eg. c068c…..218i0 for above), you need to inscribe images in your collection as usual but with an extra metadata key as ‘inscription\_metadata’. It contains Parent\_id (inscription\_start) traits
    

`Sharing example for an inscription in Bitcoin Toddlers` -

    
    {
    "inscription_parent_id":
    "c068c63233b80e52f6047b50e0f0817a3e6e39061ba787937694e665e2706218i0",
    "traits": [
    {
    "trait_type": "Background",
    "value": "Mettalic Grey"
    },
    {
    "trait_type": "hair",
    "value": "Short Black"
    },
    {
    "trait_type": "cap",
    "value": "Blue Cap"
    }
    ]
    }
    

`Check the metadata in action at` - [https://www.ordrare.org/inscription/dc9babe0d98bd224e31808252da64daefb6490d607b0d435e82baa6861d1eec8i0](https://www.ordrare.org/inscription/dc9babe0d98bd224e31808252da64daefb6490d607b0d435e82baa6861d1eec8i0)

**How to add json metadata in the image?** Use ImageMagick to add metadata in the image with command as

    convert input.png -set inscription_metadata "{json_string_we_created_above}" output.png
    

Confirm the metadata by running the command identify -verbose output.png

Reach out to us in discord for any help. We can share script to speed up the process.

*   Once all the inscriptions are generated, the team has to inscribe final inscription termed as “collection\_contract”. It will be a json file (.json format) with pointers pointing to the inscriptions of collection and inscription\_start. Sharing example from Bitcoin Toddlers.
    

`Raw json data` [https://ordinals.com/content/05978090ba6b1b3e7ff87e1c7ee972abde1d25ff75fb1a37bd45336092edbf8bi0](https://ordinals.com/content/05978090ba6b1b3e7ff87e1c7ee972abde1d25ff75fb1a37bd45336092edbf8bi0)

`How it looks on ordrare` [https://www.ordrare.org/inscription/05978090ba6b1b3e7ff87e1c7ee972abde1d25ff75fb1a37bd45336092edbf8bi0](https://www.ordrare.org/inscription/05978090ba6b1b3e7ff87e1c7ee972abde1d25ff75fb1a37bd45336092edbf8bi0)

That’s it! Congrats, you have created your collection with new standards. You should keep id of “collection\_contract” as contract address on your socials (similar to contract address on ETH). All forward compatible explorers will be able to fetch relevant details of the collection. And Forgot to tell you - You’re early anon!!!

Best part, **your collection is backward compatible as well**. Check out your inscriptions on any old explorers, it will show it business as usual.

### For OGs

Bingo! We have achieved the standards and experience similar to ETH & other blockchains. Just like collections on ETH have a contract address, there is a “collection\_contract” id for every collection which demonstrates all the information related to items in a collection and their traits.

Go to [ordrare.org](http://ordrare.org) and append the “/inscription/” id in the url. Note: As of now, we are supporting rarity/traits for content type image only. Stay tuned for more updates! For any queries/suggestions, ping us on Discord. Heads down & Build! Discord Link: [https://discord.gg/uA2SxNGA](https://discord.gg/uA2SxNGA)

---

*Originally published on [OrdRare.org](https://paragraph.com/@ordrare-org/standardising-ordinals-based-nfts)*
