# Sparkle Protocol **An experimental standard for Lightning-aware Bitcoin Ordinals metadata and trading flows.** > **⚠️ Status: Experimental, Testnet Only** > Sparkle Protocol is an experimental research standard for Bitcoin Ordinals and Lightning-integrated trading. The specification, SDKs, and reference implementations are unstable, unaudited, and may change in backwards-incompatible ways. **Do not use this protocol in production or with real economic value.** [![License](https://img.shields.io/badge/license-MIT-blue)](./LICENSE) --- ## What is Sparkle Protocol? Sparkle Protocol is an experimental metaprotocol for Bitcoin Ordinals that defines metadata standards and trading flows for Lightning Network integration. Instead of inscribing the same trait data thousands of times, Sparkle inscribes each unique trait once, then each NFT references the traits by inscription ID. The result: dramatically lower costs while maintaining full Bitcoin security. ### Protocol Scope - Metadata standards for Bitcoin Ordinals with Lightning-compatible trade fields - Recursive parent-child inscription patterns for cost efficiency - Atomic swap flows for Lightning-settled Ordinal trades (experimental) - On-chain composability through trait reference systems - Open specification with reference implementations (testnet) ### Authorship & Maintenance Sparkle Protocol is designed and maintained by **David A. Michael**. Contributions and peer review are welcome via GitHub issues and pull requests. --- ## Developer Quick Start (Testnet Only) ### Prerequisites - Bitcoin testnet node or testnet API access - Lightning Network testnet environment (LND, Core Lightning, or similar) - Node.js 16+ (for reference SDK) ### Installation ```bash git clone https://github.com/SparkleProtocol/sparkle-protocol cd sparkle-protocol npm install ``` ### Basic Usage See [Developer Quickstart](./docs/developer-quickstart.md) for protocol-first examples using testnet. **Important:** All examples use Bitcoin testnet. Do not attempt mainnet deployment. --- ## How It Works ### Recursive Inscription Pattern Traditional approach: ``` 10,000 Ordinals × 20 KB each = 200 MB on-chain ``` Sparkle approach: ``` N unique traits (inscribed once) + 10,000 JSON pointers = Reduced on-chain footprint ``` ### Protocol Flow 1. **Deploy** – Inscribe collection metadata with Sparkle protocol marker 2. **Traits** – Inscribe each unique trait as a parent inscription 3. **Mint** – Inscribe child Ordinals as JSON files referencing parent traits by inscription ID 4. **Compose** – Clients fetch and composite traits according to specification All data remains on Bitcoin. No off-chain dependencies. See [Protocol Specification](./docs/PROTOCOL_SPEC.md) for technical details. --- ## Examples For a concrete implementation example, see: - [Example: Testnet Collection](./docs/examples/) - Demonstrates protocol usage on testnet (Additional examples will be documented as they emerge.) --- ## Status & Security ### Experimental Research Standard Sparkle Protocol is **experimental research software**: - **Unaudited** – No formal security audit has been performed - **Unstable** – Specifications may change in backwards-incompatible ways - **Testnet Only** – Not intended for mainnet or production use - **No Warranties** – Provided as-is for research and experimentation ### Known Limitations - Lightning integration (SIP-3) is draft specification only, not implemented - No formal verification of protocol correctness - Reference implementations are proof-of-concept quality - Marketplace and wallet support is minimal to nonexistent ### Security Note Implementation bugs are likely. **Do not use Sparkle Protocol with real funds or valuable assets.** For detailed status information, see [docs/STATUS.md](./docs/STATUS.md). --- ## Documentation ### Getting Started - **[Overview](./docs/OVERVIEW.md)** – Simple introduction for everyone - **[Status](./docs/STATUS.md)** – Current stage, risks, and appropriate use cases - **[DARKITA Integration](./docs/DARKITA_INTEGRATION.md)** – Real-world reference implementation ### Technical - **[Protocol Specification](./docs/PROTOCOL_SPEC.md)** – Technical specification - **[API Usage](./docs/API_USAGE.md)** – Integration guide for developers - **[Roadmap](./docs/ROADMAP.md)** – Future development plans ### Policies - **[Security](./SECURITY.md)** – Security model and responsible disclosure - **[License](./LICENSE)** – MIT License --- ## Project Structure ``` sparkle-UPLOAD-READY/ ├── README.md # You are here ├── SECURITY.md # Security policy ├── index.html # Main website ├── Sparkle.png # Logo ├── docs/ │ ├── STATUS.md # Current status and risks │ ├── OVERVIEW.md # Non-technical introduction │ ├── PROTOCOL_SPEC.md # Technical specification │ ├── DARKITA_INTEGRATION.md # Reference implementation │ ├── API_USAGE.md # Developer integration guide │ └── ROADMAP.md # Future plans ├── css/ # Website styles ├── js/ # Website scripts └── schema/ # JSON schemas ``` --- ## Genesis Inscriptions Sparkle Protocol is live on Bitcoin mainnet: - **Block:** 914411 - **Genesis inscriptions:** - Parent: `3b19f7c514ca61cde03a8ff6ca694209ac60e3c73f7e62d0c9b2e7442f9ed57bi0` - Deploy: `b37c451f93f341c0475fa8516994bbd5150f5af22ec20d2c917482d2334654a0i0` - NFT #001: `d5fd9c9f65b7abf107d9ae761ddfacaf35e39b2ff395fd263fed9922f18c2fa5i0` [Explore on blockchain explorers →](https://mempool.space/block/914411) --- ## For Collectors ### What You Get When you own a Sparkle Protocol NFT (like DARKITA): - ✅ Fully on-chain Bitcoin inscription - ✅ All trait images stored on Bitcoin - ✅ Permanent, immutable ownership - ✅ Standard Bitcoin transfers (no special protocol needed) - ✅ Viewable on compatible platforms ### How to View - **Sparkle Viewer:** [sparkleprotocol.com/viewer](https://sparkleprotocol.com/viewer) - **Ordinals Explorers:** Support growing - **Marketplaces:** Integration in progress [Learn more →](./docs/OVERVIEW.md#for-collectors) --- ## For Builders ### Why Build with Sparkle? - **Massive Cost Savings:** Launch collections that would otherwise be financially impossible - **Bitcoin Security:** Leverage Bitcoin's security model without smart contract risks - **Composability:** Build layered, programmable art with reusable traits - **Early Ecosystem:** First-mover advantage as adoption grows ### Integration Opportunities - **Wallets:** Display Sparkle NFTs natively - **Marketplaces:** Index and list Sparkle collections - **Viewers:** Build advanced rendering features - **Tools:** Create generators, validators, analytics [Developer documentation →](./docs/API_USAGE.md) --- ## Community & Support ### Resources - **Website:** [sparkleprotocol.com](https://sparkleprotocol.com) - **GitHub:** [github.com/SparkleProtocol](https://github.com/SparkleProtocol/sparkle-protocol) - **Documentation:** This `/docs` folder ### Get Help - **Technical questions:** [GitHub Issues](https://github.com/SparkleProtocol/sparkle-protocol/issues) - **Security issues:** See [SECURITY.md](./SECURITY.md) for responsible disclosure - **General info:** Read [docs/OVERVIEW.md](./docs/OVERVIEW.md) ### Contributing Sparkle Protocol is open source and welcomes contributions: - Report bugs via GitHub Issues - Submit pull requests for improvements - Suggest protocol enhancements - Build tools and integrations --- ## Disclaimer **Sparkle Protocol is early-stage software.** - ✅ Working and functional - ⚠️ Unaudited and evolving - ⚠️ Use at your own risk - ⚠️ Not financial advice See [STATUS.md](./docs/STATUS.md) and [SECURITY.md](./SECURITY.md) for detailed risk disclosure. --- ## License MIT License – See [LICENSE](./LICENSE) for details. Copyright © 2025 Sparkle Protocol Contributors --- ## Links - 🌐 [Spark Protocol Website](https://sparkleprotocol.com) - 📖 [Full Documentation](./docs/) - 🐙 [GitHub Repository](https://github.com/SparkleProtocol) - 🎨 [DARKITA Collection](./docs/DARKITA_INTEGRATION.md) - 🔒 [Security Policy](./SECURITY.md)