# Sparkle Protocol Overview A simple introduction to Sparkle Protocol for builders, creators, and collectors. --- ## What is Sparkle Protocol? Sparkle Protocol is **infrastructure for creating NFT collections on Bitcoin** that are up to **99% cheaper** than traditional approaches, while maintaining full on-chain Bitcoin security. Think of it like building with Lego blocks: instead of inscribing the same piece 10,000 times, you inscribe each unique piece once, then each NFT just says "combine piece A, piece B, and piece C." The final image is assembled by viewers, but everything stays on Bitcoin. --- ## The Problem Sparkle Solves ### Traditional Bitcoin NFTs Are Expensive Creating a 10,000-NFT collection on Bitcoin the traditional way: - Each NFT inscription contains the full image data - Average size: 15-50 KB per inscription - Total cost: **$100,000 - $1,000,000+** (depending on Bitcoin fees) This makes Bitcoin NFT collections prohibitively expensive for most creators. ### Sparkle's Solution: Recursive Inscriptions Instead of inscribing the same data repeatedly: 1. **Inscribe shared traits once** (backgrounds, bodies, accessories, etc.) 2. **Each NFT just references the traits** by their inscription IDs 3. **Viewers fetch and combine the traits** to display the final image Result: - Each NFT inscription: ~400-600 bytes (just JSON metadata) - Total cost: **$2,000 - $50,000** (96-99% reduction) - **Exactly the same end result** for collectors --- ## How It Works (Simple Version) ### Step 1: Deploy the Collection The creator inscribes a "genesis" inscription that defines the collection: ```json { "p": "sparkle", "op": "deploy", "name": "My NFT Collection", "supply": 10000 } ``` ### Step 2: Inscribe Traits Inscribe each unique trait once: - Background #1 → Inscription ID: `abc123...i0` - Body #1 → Inscription ID: `def456...i0` - Eyes #1 → Inscription ID: `ghi789...i0` - (etc. for all unique traits) ### Step 3: Mint Individual NFTs Each NFT is a small JSON file referencing its traits: ```json { "p": "sparkle", "op": "mint", "parent": "genesis_inscription_id", "nft": { "id": 1, "name": "NFT #0001" }, "layers": [ {"id": "abc123...i0", "z": 0}, {"id": "def456...i0", "z": 1}, {"id": "ghi789...i0", "z": 2} ] } ``` ### Step 4: Viewers Display the NFT When someone views the NFT: 1. Fetch the NFT's JSON metadata 2. Read the list of trait inscription IDs 3. Fetch each trait image from Bitcoin 4. Layer them together in order (z-index) 5. Display the final composed image **Everything is on Bitcoin. Nothing is off-chain.** --- ## Real-World Example: DARKITA Collection **DARKITA** is a 10,000-supply generative NFT collection using Sparkle Protocol. ### The Numbers - **176 unique traits** (backgrounds, bodies, ears, eyes, mouths, necklaces) - **10,000 unique combinations** (each NFT uses 6 traits) - **Cost without Sparkle:** ~$500,000 - $1,000,000 - **Cost with Sparkle:** ~$20,000 - $50,000 - **Savings:** ~96-98% ### How DARKITA Uses Sparkle 1. **Genesis inscription** defines the DARKITA collection 2. **176 trait inscriptions** (PNG images) inscribed once each 3. **10,000 NFT inscriptions** (JSON metadata) reference the traits 4. **Viewers** fetch and compose the traits to display each unique DARKITA **Result:** Collectors get fully on-chain Bitcoin NFTs at a fraction of the cost. --- ## For Collectors: What This Means for You ### You Own Real Bitcoin Inscriptions - Your NFT is inscribed on Bitcoin (not a sidechain or Layer 2) - Trait images are inscribed on Bitcoin - Everything is permanent and immutable - No dependencies on external servers or databases ### How Viewing Works - **Marketplaces supporting Sparkle:** Display the composed image automatically - **Ordinals explorers:** May show the raw JSON or require a viewer - **Sparkle Protocol viewer:** Official tool to view any Sparkle NFT ### What You Can Do - ✅ Transfer your NFT (standard Bitcoin transaction) - ✅ View it on compatible platforms - ✅ Verify trait composition on-chain - ✅ List on marketplaces (support growing) - ❌ No need to run nodes or understand technical details - ❌ No reliance on centralized databases --- ## For Creators: Why Build with Sparkle ### Massive Cost Savings - Launch collections that would otherwise be financially impossible - Reinvest savings into art, marketing, and community ### Bitcoin-Native Security - Leverage Bitcoin's security model - No smart contract risks - No bridge or wrapped token complexity ### Composability - Traits can be reused across collections - Enable dynamic NFTs (future: swap traits) - Build layered, programmable art ### Early Ecosystem - First-mover advantage as Sparkle gains adoption - Grow with the protocol as tools and marketplace support expand --- ## For Developers: Integration Opportunities ### What You Can Build - **Wallets** with Sparkle NFT display support - **Marketplaces** with Sparkle collection indexing - **Viewers** with advanced rendering features - **Tools** for creators (generators, uploaders, validators) - **Analytics** for Sparkle collections ### How to Integrate 1. Detect inscriptions with `"p": "sparkle"` in JSON metadata 2. Parse the `layers` array to get trait inscription IDs 3. Fetch trait images from Bitcoin (`/content/{inscription_id}`) 4. Composite images by z-index 5. Display the final NFT See [API_USAGE.md](./API_USAGE.md) for technical integration details. --- ## Protocol Features ### Core Features (Live Today) - ✅ Parent-child recursive inscriptions - ✅ Trait composition by inscription ID - ✅ On-chain metadata and rendering rules - ✅ 96-99% cost reduction - ✅ Compatible with Bitcoin Ordinals protocol ### Proposed Features (In Development) - 🔄 Lightning Network trading (SIP-3 draft specification) - 🔄 Marketplace integration SDKs - 🔄 Advanced trait swapping mechanisms - 🔄 Cross-collection trait compatibility --- ## Is Sparkle Protocol Safe? ### What's Secure - **Bitcoin-native:** Uses Bitcoin's security model - **No custody:** You control your inscriptions - **Transparent:** Open source and auditable - **No bridges:** No wrapped tokens or cross-chain risks ### What's Experimental - **Early-stage:** Protocol may change as it evolves - **Unaudited:** No independent security audits yet - **Adoption:** Growing but not yet widespread - **Tooling:** Ecosystem tools still maturing **Recommendation:** Understand the protocol before using it for high-value collections. Test on testnet first. See [STATUS.md](./STATUS.md) for detailed risk disclosure. --- ## Getting Started ### For Collectors - Explore DARKITA and other Sparkle collections - Use the [Sparkle Protocol Viewer](https://sparkleprotocol.com/viewer) to see NFTs - Ask your favorite marketplace to add Sparkle support ### For Creators - Read [DARKITA_INTEGRATION.md](./DARKITA_INTEGRATION.md) to see a real implementation - Review [PROTOCOL_SPEC.md](./PROTOCOL_SPEC.md) for technical details - Join the community via [GitHub](https://github.com/SparkleProtocol) ### For Developers - Clone the [reference implementation](https://github.com/SparkleProtocol/sparkle-protocol) - Read [API_USAGE.md](./API_USAGE.md) for integration guides - Build tools and submit pull requests --- ## Questions? - **Technical questions:** [GitHub Issues](https://github.com/SparkleProtocol/sparkle-protocol/issues) - **General info:** [sparkleprotocol.com](https://sparkleprotocol.com) - **Specification:** [PROTOCOL_SPEC.md](./PROTOCOL_SPEC.md) - **Status:** [STATUS.md](./STATUS.md)