build.thiri.ai
Solana · Seeker · Cadenza
Origin story · January → April 2026

Cadenza — Genesis

The first sketch of T.H.I.R.I. — and how the architecture matured over four months from prototype to spec.

Source: docs/CADENZA_GENESIS.md

Cadenza — Genesis

The first sketch of T.H.I.R.I., and how the architecture matured.

Origin repo: BluesPrince/app-cadence-live — first commit 2026-01-07, last push 2026-01-13. Codename at the time: Cadence AI + Sound Ledger. Tagline at the time: Watch your music earn. Worldwide. In real-time.

This doc is the bridge between that early prototype and what is now T.H.I.R.I. The current spec didn’t appear from nowhere — it’s the fourth-month maturation of a concept that started as a single weekend prototype.


What was already there in January

In one week of building (2026-01-07 → 2026-01-13), the core shape was already drawn:

Frontend pages — already mapping 1:1 to today’s dApps

Page in app-cadence-liveToday’s THIRI dApp
/ Artist Dashboard — real-time earnings, world map, live stream feedRoyalty Console (Week 2)
/mint NFT Minting Studio — track collectibles with royalty splitsMint Studio (Week 1)
/collaborator Collaborator Dashboard — splits, earnings timelineCollab Split (Week 3)
/collector Fan Marketplace — browse and collect limited editionsFan Market (Week 11)

Four of the twelve apps in the current ecosystem were already wireframed before the THIRI name existed.

Concepts that survived intact

  • On-chain royalty splits between collaborators — the load-bearing idea
  • Solana as the settlement layer — picked the right L1 from day one
  • Wallet abstraction as “Connect Account” — the no-crypto-jargon UX is in the DEMO_GUIDE verbatim: “Users don’t need to know it’s blockchain”
  • Real-time visibility of royalty events — earnings tick up as streams happen
  • NFT-as-track ownership record — instead of a database row that anyone can mutate
  • Multi-collaborator split as a first-class object — not a footnote
  • Permissionless / automated payment cadence — humans don’t have to push money around

Concepts that evolved between January and April

January (app-cadence-live)April (T.H.I.R.I. + Cadenza)Why it changed
2 PDAs: Track, StreamRecord5 PDAs: PublisherNFT, CadenzaRecord, SplitConfig, LicenseGrant, FingerprintRefSeparating concerns — provenance, splits, licensing, and identity each need their own lifecycle
u8 percentages summing to 100u16 basis points summing to 10,000Fractional precision (e.g. 12.5%) was impossible with integer percent. Basis points are the industry standard
Max 5 owners per track (hardcoded [Pubkey; 5])Up to 10 recipients in SplitConfig (Vec<Split>)A typical session has writer + co-writer + producer + featured artist + label + sample clearance — five wasn’t enough
One PDA per stream (StreamRecord)Streams are off-chain; on-chain is the provenance event (mint, license, derivative)Per-stream PDAs cost ~0.0018 SOL of rent each. At Spotify’s $0.003/stream payout, the rent burned the royalty 600× over. Provenance, not playback, is what belongs on chain
Stream Agent + Payment Agent (ElizaOS / LLM-driven)Permissionless distribute_split crank · WoodShed harmonic fingerprint”AI fraud detection” is unfalsifiable to a grant reviewer. Cryptographic harmonic fingerprints are auditable by anyone with the audio file
distribute_royalties emits an event but doesn’t transfer SOL (TODO comment in Rust)distribute_split performs the actual SPL/SOL transfer atomicallyThe original was a placeholder; the new one is the rail
Postgres mirror of every stream + payment_batches tableNo bespoke database. Helius / SimpleHash + on-chain queriesRemoving the database removes a class of trust assumption. The chain is the database
Meme-coin payouts (BONK, WIF, POPCAT) as a marketing wedgeSOL-native; payment token plug-in left as a v2 surfaceMeme coin volatility breaks the “predictable royalty” story for grant reviewers and labels
Web app at bluesprincemedia.com/cadence-liveSeeker dApp Store native (Bubblewrap PWAs + RN flagship)Mobile is where music lives. Seeker grants give us a 30-day first-mover window in a dApp Store with no music category
”Cadence AI” branding”Cadenza” (the rail) + “T.H.I.R.I.” (the surface)The rail and the apps are different things — they need different names. Cadence the English word is everywhere — search collisions, trademark conflicts, the prior app-cadence-live artifact. Cadenza is the virtuoso solo passage in a concerto: an unmistakable music term, distinct on-chain identity, and tonally aligned with what the program does — let the artist take a moment, settle the splits, hit the chord. Cadenza settles · THIRI plays

Concepts that were dropped, and why

  • Live world-streaming map — beautiful demo, but the data is off-chain stream events. It survives in the concept of the build-in-public progress board, just not as a literal map.
  • Grafana monitoring stack — Vercel analytics + Helius webhooks cover the same surface for one-tenth the moving parts.
  • Navidrome (the open-source streaming server) — replaced by Player THIRI, a Seeker-native player rebuilt around real-time WoodShed analysis. Navidrome was a stand-in; Player THIRI is the product.
  • Stripe royalty payouts — the only Stripe surface that survived is licensing for the desktop VST plugins (commerce/thiri-api). Music royalties are Solana-native end to end.
  • ElizaOS LLM agents inside the trust path — moved to off-chain advisory. An LLM should not sign a settlement transaction.

Concepts that are new in T.H.I.R.I.

These were not in the January sketch — they emerged from the deepening of the design over Q1:

  • WoodShed harmonic intelligence engine — chord parsing, voicing, reharmonization, fingerprinting. Already shipped at v0.1.0 on npm
  • Music-specific on-chain metadata — key signature, tempo, genre, fingerprint hash inside CadenzaRecord
  • License grants as on-chain accounts — not just splits; who can use this and how
  • FingerprintRef — cryptographic artist identity built up across app sessions
  • The 12-app ecosystem story — January had 4 dashboards; April has a 12-week ship plan with the dashboards as 4 of them, plus 8 intelligence/identity surfaces
  • Solana Seeker hardware integration — Seed Vault, MWA, on-device ONNX inference. Not visible in January because the Seeker positioning came later
  • The AI-music-provenance wedge — January framed Cadenza as “transparency for streaming royalties.” April reframes it as “the first cryptographic provenance layer for AI-generated music on Solana” — a more defensible 2026 thesis

Why this matters for the grant

A reviewer sees three things from this lineage:

  1. This is not a fresh idea. The repo timestamp on GitHub is 2026-01-07. The architecture has been in design and revision for nearly four months by the time mainnet deploy starts (2026-05-05).
  2. The architecture has improved under pressure. Nothing in the current spec was inherited unexamined — every PDA shape, every percentage-vs-bps choice, every account model was reconsidered against rent costs, audit-ability, and compositionality. The original Rust program had a TODO where the actual transfer should be; the current spec doesn’t.
  3. The naming collision is intentional and resolvable. Cadenza (the rail) is the architectural through-line. app-cadence-live was the prototype; T.H.I.R.I. is the product. The grant submission is for the product, settling through the rail. Anything still pointing to “Cadence AI” or “Sound Ledger” is the older artifact and will either be archived, renamed to cadence-live (as the demo it always was), or absorbed into Mint Studio’s UX language.

Provenance trail

DateArtifactWhat it represents
2026-01-07app-cadence-live initial commitFirst Anchor program · 2 PDAs · Express + Postgres + ElizaOS framing
2026-01-08Frontend dashboards addedMint, Collaborator, Fan, Artist views — the four UI primitives
2026-01-13Last push to app-cadence-liveBrainstorm freezes; design space opens
~Q1 2026Architecture maturation (off-repo)Move from Track + StreamRecord to 5-PDA model · basis points · license grants · fingerprint identity
2026-04-19CADENZA_SPEC.md draftedCurrent Anchor spec frozen — 5 accounts, 14 instructions
2026-04-19GRANT_APPLICATION.mdSolana Mobile Builder Grant submission
2026-04-19SEEKER_EXECUTION_PLAN.md12-week ship plan
2026-05-05Mainnet Foundation Sprint beginsCadenza rail goes live

Cadenza stayed. Everything else was iteration.