DRM3 SDK
One SDK for every DRM3 door: sign, chain and verify receipts, open the record, sign in with DRM3.
- Access
- Public
- State
- Live
- Family
- App
- Tier
- Foundation
The DRM3 SDK is one package for everything a DRM3 app or partner touches: the receipt layer (Ed25519 signing, chainable receipts, Merkle rollups, and a verifier that confirms a receipt against the published keys, offline), the record's doors, and DRM3 sign-in. Provenance is a chapter of it, the same code every DRM3 product signs with, also shipped as a Rust crate, a WASM package for edge runtimes and browsers, and an Elixir NIF. It is free to use in any application, commercial included; some underlying components ship as signed binaries.
Receipts are chainable. Every receipt can point to its parent, forming a provenance chain from raw source through every transformation to the final output. Walk backward from any output to verify the full lineage.
Three granularity levels. Row-level gives you a signed receipt on every individual data point. Merkle rollups batch row receipts into a single tree root for efficiency. Session-level signs over the entire batch with query context. You choose the granularity: fine-grained internally for audit readiness, coarser-grained for data leaving your system.
Deterministic key derivation. Each product gets its own Ed25519 signing key at a unique path. DomainDrift signs DNS scans, Signals signs data fetches, MorScan signs price snapshots. Every signer record is published at status.drm3.network and anchored on-chain; the live registry is the source of truth.
Capabilities
One package: receipts, the record's doors, DRM3 sign-in
Ed25519 signing and verification
Chainable receipts (provenance DAGs)
Three granularity levels: row, Merkle, session
Merkle tree rollups for batch attestation
Canonical JSON (NFC Unicode, sorted keys, deterministic hashing)
Compatible with Rust, Elixir, TypeScript, WASM, browsers
Deterministic key derivation per product
Live signer registry with per-key lifecycle status, anchored on-chain
On-chain anchoring (optional)
