Certificate of Agreement
Independent verification: download the .json payload and the .ots proof and validate them with any OpenTimestamps client. You don't need to trust us.
Honest legal scope: this proof is cryptographic evidence of existence, integrity and date: a Bitcoin timestamp and, when included, a post-quantum ML-DSA-87 (NIST FIPS 204) co-signature by X-39 as operator, produced on an air-gapped machine. It does not replace a public notary.
These checks do not depend on X-39. Anyone can reproduce them with free software.
Huella COLD esperada / expected: 8453a25a41d6fe8fcb5647600f042a7c303daaca79b80928534025711981c6a1. Contrástala fuera de banda; deben coincidir. / Cross-check out-of-band; they must match.
pip install pqcrypto
python3 - <<'EOF'
import base64, hashlib
from pqcrypto.sign import ml_dsa_87 as m
payload = open("x39-prueba-31e1cf09a5b2a74cd978.json", "rb").read()
pk = base64.b64decode("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")
sig = base64.b64decode("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")
def verify_ok(pk, msg, s):
# pqcrypto >= 1.0.0 devuelve None si la firma es valida y LANZA si no;
# versiones previas devuelven True/False. Cubre ambas convenciones.
try:
return m.verify(pk, msg, s) is not False
except Exception:
return False
valid = verify_ok(pk, payload, sig)
bad = bytearray(sig); bad[0] ^= 1 # control negativo: una firma alterada DEBE fallar
if valid and verify_ok(pk, payload, bytes(bad)):
print("AVISO: esta instalacion acepta una firma ALTERADA; veredicto no fiable"); valid = False
fp = hashlib.sha256(pk).hexdigest()
print("COLD ML-DSA-87:", "VALID" if valid else "INVALID", "| fp:", fp)
print("clave COLD", "RECONOCIDA de X-39" if fp == "8453a25a41d6fe8fcb5647600f042a7c303daaca79b80928534025711981c6a1" else "NO RECONOCIDA: NO es la autoridad de X-39")
EOFpip install opentimestamps-client # guarda ambos archivos con el mismo nombre base: # x39-prueba-31e1cf09a5b2a74cd978.json y x39-prueba-31e1cf09a5b2a74cd978.json.ots ots verify x39-prueba-31e1cf09a5b2a74cd978.json.ots # verificacion soberana (cero terceros) contra TU propio nodo Bitcoin: # ots --bitcoin-node "http://$(cat ~/.bitcoin/.cookie)@127.0.0.1:8332" verify x39-prueba-31e1cf09a5b2a74cd978.json.ots
Sovereign verification executed: the demo agreement anchor was verified on 2026-07-31 against a self-hosted pruned Bitcoin node (block #957242) — zero explorers, zero calendars, zero third parties. View capture →