1. Compute SHA-256 of OTSCanonicalRecord value → must equal OTSHash 2. Open OTSProofURL → extract Bitcoin block number → must equal OTSBitcoinBlock 3. GET OTSBitcoinBlockVerifyURL → returns the Bitcoin block hash at height OTSBitcoinBlock; GET https://blockstream.info/api/block/{that hash} → its timestamp must match OTSTimestamp 4. Read CopyrightID inside OTSCanonicalRecord → must equal the CopyrightID above 5. GET OTSVerificationAPI → pre-computed 6-check result from server 6. If all match: this entity was registered on CopyrightChains at OTSTimestamp, independently verifiable on Bitcoin Note: an OTS proof may carry multiple Bitcoin attestations; OTSBitcoinBlock is the earliest confirmed one — a later attestation inside the proof corroborates it and is not a mismatch
Dual-chain trust anchor. Chain 1 (CopyrightChains): CopyrightID 0xaf03bb8429b43bde9abc53ee7e0857b4c86a9e56b38f0978449696f75f5724fc. Chain 2 (Bitcoin): anchored in block 954014 (2026-06-16T22:46:20Z). Bridge: the canonical record inside this Bitcoin proof contains the same CopyrightID. Verify: download https://artists.proofprofile.net/proofs/artist/26c24e15-6db7-4200-92d8-a66f8e700117.json and https://artists.proofprofile.net/proofs/artist/26c24e15-6db7-4200-92d8-a66f8e700117.ots, run `ots verify -f record.json proof.ots` (https://opentimestamps.org).
I'm here to write some catchy lyrics for
Late night drives feel like a dream parade
It tangles my hair it syncs with my feet
Streetlights flicker like they’re out of sync
Curtains shiver though there's no breeze
Slow and steady till all my fears are gone
But the sidewalk’s a friend when the day’s unkind
It danced in my glass with electric feet
Shadows stretch but we leave them behind