Skip to content
Melvin Carvalho edited this page Apr 21, 2025 · 3 revisions

📦 NFT Metadata: originTxo and currentTxo

🧭 Introduction

This document describes a simple and transparent model for representing NFTs using Bitcoin UTXOs. In this approach, an NFT is not stored on-chain directly, but is instead anchored to a specific transaction output (UTXO), allowing it to be tracked, verified, and transferred using standard Bitcoin mechanisms.

Each NFT is described as a JSON-LD document (compatible with schema.org), and includes two key fields:

  • originTxo: A UTXO created or owned by the NFT’s original creator — it establishes authorship or intent.
  • currentTxo: A UTXO to which the NFT is currently bound — this reflects the active state of the artwork and changes if the NFT evolves or is transferred.

This separation of authorship (originTxo) and binding (currentTxo) allows creators to publish NFTs in a flexible and auditable way.


🧠 Concepts

originTxo

  • The first known UTXO from the NFT creator.
  • Demonstrates authorship intent, but does not yet bind the NFT to the chain.
  • Used to trace the historical origin of the NFT.

currentTxo

  • The UTXO that the NFT is currently attached to.
  • Typically created via a Taproot tweak or other binding mechanism.
  • Updates if the NFT is modified, moved, or sold.

🖼️ Example Metadata

[{
  "@context": "https://schema.org",
  "@type": "DigitalDocument",
  "creator": "did:nostr:f0af42172c8e8ba1bb2b1629736ae43cd9eb94e85a9ba3f08120c09ad60902d7",
  "description": "A cinematic image of a robotic sentinel eye above a dystopian city.",
  "image": "https://nosdav.net/f0af41696ddd61a55efa6bf843054138372e4a7ac60fb80974af77d6f57ef1ba/public/images/eye.png",
  "name": "Free to Do as We Tell You",
  "originTxo": "txo:tbtc4:7a96034dd6ed9c0e4c7eb9e7f9a2e657b6c0433ce9562d54be0bcbc38b0e3a68:0"
},
{
  "@id": "txo:tbtc4:7a96034dd6ed9c0e4c7eb9e7f9a2e657b6c0433ce9562d54be0bcbc38b0e3a68:0",
  "currentTxo": "txo:tbtc4:7a96034dd6ed9c0e4c7eb9e7f9a2e657b6c0433ce9562d54be0bcbc38b0e3a68:0"
}]

🔁 Evolution & Transfers

When an NFT changes — through update, evolution, or transfer — a new transaction is created. The currentTxo field is updated to reflect the new UTXO, while the originTxo remains constant.

This allows anyone to:

  • Verify provenance: Who created the NFT?
  • Check current state: Where is the NFT now?
  • Trace history: Follow the chain of updates from originTxo to currentTxo.

✅ Benefits

  • Decentralized authorship: Proven with did:nostr and a UTXO.
  • Blockchain-native anchoring: No need for smart contracts.
  • Interoperable metadata: Uses JSON-LD and schema.org.
  • Simple evolution: Trackable through updates to currentTxo.

Clone this wiki locally