{
  "schema": "article11.openreceipt.test_vectors.v1",
  "generated_at": "2026-07-10T20:59:37.066Z",
  "license": "CC0-1.0",
  "boundary": "Test vectors contain public keys and signatures only. No private keys are included.",
  "canonicalization": "Remove signature, canonicalize unsigned receipt, UTF-8 encode canonical string. receipt_sha256 is SHA-256 of those bytes. Ed25519 signature signs those canonical unsigned receipt bytes.",
  "vectors": [
    {
      "name": "constitution_unsigned_v1",
      "receipt": "/schemas/openreceipt.example.json",
      "receipt_sha256": "bf8abb89b04a095529711fe4d5757c71341fc5bc50be20c9eb925b5adb1898a6",
      "signed": false,
      "signature_valid": null
    },
    {
      "name": "constitution_signed_ed25519_v1",
      "receipt": "/schemas/openreceipt.signed-example.json",
      "receipt_sha256": "0cefc76e997f9fc4f344575c11a45f17c138b02caf94b8ec0e7915fee65555df",
      "signed": true,
      "signature_alg": "ed25519",
      "public_key_base64": "uV4+0RqUUOl1KH3q9h8YpQ/FtOvZ3MlILiKsT+lOatY=",
      "signature_base64": "RGhroq8hCC7PlazIDg4IzJnAqf2laD3HjPJnryXQXrK9CQuxKHA5ZvliZg2BpK/OJDr6NjyBzjiLoFTPv/6sDQ==",
      "signature_valid": true,
      "signature_message": "UTF-8 bytes of canonical unsigned receipt, not the SHA-256 digest bytes."
    }
  ]
}
