Ord Schema Type

The "ord" schema type

The base schema type for ordinals metadata is ord. This base type can be extended with the subType property so that wallets and markets will understand how to interpret and display metadata.

While subtypes can be created at will, a list of common subTypes is maintained at https://bitcoinschema.org.

Required Fields:

app - The name of the app that originally produced the ordinal

type - This should always be "ord". This helps indexers find the metadata based on type.

name - Name description of the ordinal.

1Sat Ordinals - Metadata Proposal

The following outlines a standard set of metadata properties that should be utilized by creators and implemented by developers when adding metadata to 1Sat Ordinals. Adhering to these specifications when creating and displaying content across applications will make for a better and more cohesive cross-platform user experience.

Top-Level Metadata

Added to the inscription output using MAP protocol in OP_RETURN.

Please note that the MAP protocol expects all data types for the value in the key value pair to be of type string.

Royalties

Royalties should be applied when a sale of an item occurs. The definition of royalty within the royalties array:

Payment Type

The type definition for PaymentType:

type PaymentType = 'paymail' | 'address' | 'script';

Transaction Structure

This pseudo-script creates an ordinal with metadata called "The Awesome Ordinal" with only the minimum required fields, and adds a signature via AIP so the issuer can be verified.

Output 1:

1SAT_P2PKH <INSCRIPTION> OP_RETURN MAP SET app <mint_platform> type ord name "The Awesome Ordinal" | AIP <address> "BITCOIN_ECDSA" <signature> [-1]

Example ordtype

{
    "app": "take_it",
    "type": "ord",
    "name": "Awesome ordinal",
    "royalties": [
        {"type": "paymail", "destination": "[email protected]", "percentage": "0.03"}, 
        {"type": "address", "destination": "1MvYhFajARJ82sbgxuAXziq1FmgSY1XQwD", "percentage": "0.025"}
    ]
}

Last updated