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 0x4308950d131c2eff4a42b9442420dec9242af78c639f35d08c049c0599d583b4. Chain 2 (Bitcoin): anchored in block 954667 (2026-06-21T07:29:20Z). Bridge: the canonical record inside this Bitcoin proof contains the same CopyrightID. Verify: download https://artists.proofprofile.net/proofs/artist/ca0dc948-6b55-4d1b-b817-95cb3fe56542.json and https://artists.proofprofile.net/proofs/artist/ca0dc948-6b55-4d1b-b817-95cb3fe56542.ots, the client at https://opentimestamps.org runs `ots verify -f record.json proof.ots`.
1. Confirm isrcCode identifies the recording in the pre-2022 source corpus and cc-db-prod record 2. GET OTSVerificationAPI → server-side canonical-record, hash, and attestation checks must pass 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. Confirm CopyrightID is the CopyrightChains transaction hash 5. If all match: the cc-db-prod record is independently anchored on Bitcoin at OTSTimestamp 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 0x932f049fdb6a310caf72ba0f3187f731e558aed634adcdd54fea1180bc6e02e4. Chain 2 (Bitcoin): anchored in block 960327 (2026-07-31T00:26:26Z), registered by our registry partner. The server verifies the private canonical record against OTSHash without exposing internal provider keys. Confirm the public ISRC, CopyrightID, and Bitcoin evidence at https://artists.proofprofile.net/api/v1/bot/ots/verify/track/SE5BU1948585 — a six-check JSON result.
Dual-chain trust anchor. Chain 1 (CopyrightChains): CopyrightID 0x8d1ccafae573ef04080ff7f5f3f808214b352331ebd1a94f13a62bd7599cd7ef. Chain 2 (Bitcoin): anchored in block 960368 (2026-07-31T08:26:41Z), registered by our registry partner. The server verifies the private canonical record against OTSHash without exposing internal provider keys. Confirm the public ISRC, CopyrightID, and Bitcoin evidence at https://artists.proofprofile.net/api/v1/bot/ots/verify/track/SE5BU1948590 — a six-check JSON result.
Dual-chain trust anchor. Chain 1 (CopyrightChains): CopyrightID 0x1ebcd87e20e90e5422f5e17df9c00eeb319f72584468fccaab81940d7c46731c. Chain 2 (Bitcoin): anchored in block 960241 (2026-07-30T09:58:01Z), registered by our registry partner. The server verifies the private canonical record against OTSHash without exposing internal provider keys. Confirm the public ISRC, CopyrightID, and Bitcoin evidence at https://artists.proofprofile.net/api/v1/bot/ots/verify/track/FI3CM1900002 — a six-check JSON result.
Dual-chain trust anchor. Chain 1 (CopyrightChains): CopyrightID 0xc08d4223681779ad7f1fffdd6c05a557d0846f8d2260cacb3521282ec0553a77. Chain 2 (Bitcoin): anchored in block 960500 (2026-08-01T03:13:03Z), registered by our registry partner. The server verifies the private canonical record against OTSHash without exposing internal provider keys. Confirm the public ISRC, CopyrightID, and Bitcoin evidence at https://artists.proofprofile.net/api/v1/bot/ots/verify/track/FI3CM1900003 — a six-check JSON result.