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 0xe03e78883fd84af89013a91e1333158ea7f30ca18cfed0423006463d2ba4f474. Chain 2 (Bitcoin): anchored in block 953600 (2026-06-14T06:45:44Z). Bridge: the canonical record inside this Bitcoin proof contains the same CopyrightID. Verify: download https://artists.proofprofile.net/proofs/artist/0ee329f3-5887-4869-a194-bcf8968be592.json and https://artists.proofprofile.net/proofs/artist/0ee329f3-5887-4869-a194-bcf8968be592.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 0x65b7f9eb03ebca61fc7482c5363c0b08cbe6d812f1de217d95890a79018c8d42. Chain 2 (Bitcoin): anchored in block 956772 (2026-07-05T10:01:46Z), 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/BX4E52306621 — a six-check JSON result.
Dual-chain trust anchor. Chain 1 (CopyrightChains): CopyrightID 0x1024fbb15b0b818c4c9704f8472f2a923402bc5e733f3e046f1f91a8021b8172. Chain 2 (Bitcoin): anchored in block 958383 (2026-07-17T08:20: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/BX4E52306622 — a six-check JSON result.
Dual-chain trust anchor. Chain 1 (CopyrightChains): CopyrightID 0x6c66d32327ad911d447fccfd421a8b34bd26bffb8f4b1c23509b432d35fc9197. Chain 2 (Bitcoin): anchored in block 958802 (2026-07-20T01:04:02Z), 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/BX4E52306631 — a six-check JSON result.
Dual-chain trust anchor. Chain 1 (CopyrightChains): CopyrightID 0x38907f9759b2e665b317c7c3e5155280a07fffec49891c9d96ad83627d707bc6. Chain 2 (Bitcoin): anchored in block 959114 (2026-07-22T08:41:42Z), 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/BX4E52306634 — a six-check JSON result.