changedInput schema / oneOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "Legacy telemetry-bound Groth16 proof verification input. Example: provide a proof, public inputs, verification key, and telemetry data.",
- "examples": [
- {
- "data": [
- {
- "block": {
- "height": 920000
- },
- "observed_at": "2026-09-19T00:00:00.000Z",
- "thermodynamic": {
- "target_multiplier": 125.83
- }
- }
- ],
- "proof": "eyJwaV9hIjpbIjEyMyIsIjQ1NiIsIjEiXX0",
- "publicInputs": {
- "blockHeight": 920000,
- "snapshotDigest": "1534979302823651498736582947365829473658294736582947365829473658294",
- "thermodynamicHash": "782365829473658294736582947365829473658294736582947365829473658294",
- "timestamp": 1789776000000,
- "valuationSat": 12583
- },
- "verificationKeyId": "sha256:4c095e183ea45a9d"
- }
- ],
- "properties": {
- "data": {
- "description": "Telemetry snapshot payload object or array of objects containing canonical state values. Example: [{\"block\":{\"height\":920000},\"observed_at\":\"2026-09-19T00:00:00.000Z\",\"thermodynamic\":{\"target_multiplier\":125.83}}].",
- "example": [
- {
- "block": {
- "height": 920000
- },
- "observed_at": "2026-09-19T00:00:00.000Z",
- "thermodynamic": {
- "target_multiplier": 125.83
- }
- }
- ],
- "examples": [
- [
- {
- "block": {
- "height": 920000
- },
- "observed_at": "2026-09-19T00:00:00.000Z",
- "thermodynamic": {
- "target_multiplier": 125.83
- }
- }
- ]
- ],
- "type": [
- "object",
- "array"
- ]
- },
- "proof": {
- "description": "Base64url-encoded Groth16/Poseidon BN254 proof string without padding. Constraints: minLength: 1. Example: \"eyJwaV9hIjpbIjEyMyIsIjQ1NiIsIjEiXX0\".",
- "example": "eyJwaV9hIjpbIjEyMyIsIjQ1NiIsIjEiXX0",
- "examples": [
- "eyJwaV9hIjpbIjEyMyIsIjQ1NiIsIjEiXX0"
- ],
- "minLength": 1,
- "type": "string"
- },
- "publicInputs": {
- "additionalProperties": false,
- "description": "Expected public constants committed by the proof; fields must match the corresponding telemetry payload in data: non-negative blockHeight, non-empty snapshotDigest and thermodynamicHash, non-negative Unix-millisecond timestamp, and non-negative valuationSat. Example: blockHeight 920000 and valuationSat 12583.",
- "examples": [
- {
- "blockHeight": 920000,
- "snapshotDigest": "1534979302823651498736582947365829473658294736582947365829473658294",
- "thermodynamicHash": "782365829473658294736582947365829473658294736582947365829473658294",
- "timestamp": 1789776000000,
- "valuationSat": 12583
- }
- ],
- "properties": {
- "blockHeight": {
- "description": "Bitcoin block height committed into the proof. Constraints: minimum: 0. Example: 920000.",
- "example": 920000,
- "examples": [
- 920000
- ],
- "minimum": 0,
- "type": "integer"
- },
- "snapshotDigest": {
- "description": "Poseidon field digest of the canonical snapshot payload. Constraints: minLength: 1. Example: \"1534979302823651498736582947365829473658294736582947365829473658294\".",
- "example": "1534979302823651498736582947365829473658294736582947365829473658294",
- "examples": [
- "1534979302823651498736582947365829473658294736582947365829473658294"
- ],
- "minLength": 1,
- "type": "string"
- },
- "thermodynamicHash": {
- "description": "Poseidon field hash of the thermodynamic telemetry values. Constraints: minLength: 1. Example: \"782365829473658294736582947365829473658294736582947365829473658294\".",
- "example": "782365829473658294736582947365829473658294736582947365829473658294",
- "examples": [
- "782365829473658294736582947365829473658294736582947365829473658294"
- ],
- "minLength": 1,
- "type": "string"
- },
- "timestamp": {
- "description": "Unix timestamp in milliseconds committed into the proof. Constraints: minimum: 0. Example: 1789776000000.",
- "example": 1789776000000,
- "examples": [
- 1789776000000
- ],
- "minimum": 0,
- "type": "integer"
- },
- "valuationSat": {
- "description": "Satoshi valuation committed into the proof. Constraints: minimum: 0. Example: 12583.",
- "example": 12583,
- "examples": [
- 12583
- ],
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "blockHeight",
- "snapshotDigest",
- "thermodynamicHash",
- "timestamp",
- "valuationSat"
- ],
- "type": "object"
- },
- "verificationKeyId": {
- "description": "SHA-256 verification-key identifier string formatted with 'sha256:' prefix. Constraints: minLength: 1. Example: \"sha256:4c095e183ea45a9d\".",
- "example": "sha256:4c095e183ea45a9d",
- "examples": [
- "sha256:4c095e183ea45a9d"
- ],
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "proof",
- "publicInputs",
- "verificationKeyId",
- "data"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Native zk.drift.v1 proof verification input, optionally bound to the complete verifier response. Example: supply the circuit discriminator, session hash, target height, threshold, and proof.",
- "examples": [
- {
- "blockHash": "abababababababababababababababababababababababababababababababab",
- "circuit": "zk.drift.v1",
- "compactTarget": 486604799,
- "driftScore": 0.25,
- "entropyThreshold": 0.75,
- "isAligned": true,
- "proof": {
- "circuit": "zk.drift.v1",
- "pi_a": [
- "1",
- "2",
- "1"
- ],
- "pi_b": [
- [
- "1",
- "2"
- ],
- [
- "3",
- "4"
- ],
- [
- "1",
- "0"
- ]
- ],
- "pi_c": [
- "1",
- "2",
- "1"
- ],
- "publicSignals": [
- "1",
- "2"
- ],
- "verificationKeyId": "sha256:4c095e183ea45a9d"
- },
- "sessionContextHash": "abababababababababababababababababababababababababababababababab",
- "targetBlockHeight": 920000,
- "thermodynamicEntropyBits": 0.5
- }
- ],
- "properties": {
- "blockHash": {
- "description": "Bitcoin block hash bound to the complete verifier response. Constraints: pattern: ^[0-9a-fA-F]{64}$. Example: \"abababababababababababababababababababababababababababababababab\".",
- "example": "abababababababababababababababababababababababababababababababab",
- "examples": [
- "abababababababababababababababababababababababababababababababab"
- ],
- "pattern": "^[0-9a-fA-F]{64}$",
- "type": "string"
- },
- "circuit": {
- "const": "zk.drift.v1",
- "description": "Drift proof circuit discriminator. Example: \"zk.drift.v1\".",
- "example": "zk.drift.v1",
- "examples": [
- "zk.drift.v1"
- ],
- "type": "string"
- },
- "compactTarget": {
- "description": "Raw compact target bits bound to the complete verifier response. Constraints: minimum: 0; maximum: 4294967295. Example: 486604799.",
- "example": 486604799,
- "examples": [
- 486604799
- ],
- "maximum": 4294967295,
- "minimum": 0,
- "type": "integer"
- },
- "driftScore": {
- "description": "Drift score bound to the complete verifier response. Example: 0.25.",
- "example": 0.25,
- "examples": [
- 0.25
- ],
- "type": "number"
- },
- "entropyThreshold": {
- "description": "Maximum accepted thermodynamic entropy threshold. Constraints: minimum: 0; maximum: 1. Example: 0.75.",
- "example": 0.75,
- "examples": [
- 0.75
- ],
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "isAligned": {
- "description": "Alignment result bound to the complete verifier response. Example: true.",
- "example": true,
- "examples": [
- true
- ],
- "type": "boolean"
- },
- "proof": {
- "additionalProperties": false,
- "description": "Groth16 proof points, public signals, and verification-key identifier for zk.drift.v1. Example: pi_a, pi_b, pi_c, and public signals.",
- "examples": [
- {
- "circuit": "zk.drift.v1",
- "pi_a": [
- "1",
- "2",
- "1"
- ],
- "pi_b": [
- [
- "1",
- "2"
- ],
- [
- "3",
- "4"
- ],
- [
- "1",
- "0"
- ]
- ],
- "pi_c": [
- "1",
- "2",
- "1"
- ],
- "publicSignals": [
- "1",
- "2"
- ],
- "verificationKeyId": "sha256:4c095e183ea45a9d"
- }
- ],
- "properties": {
- "circuit": {
- "const": "zk.drift.v1",
- "description": "Proof circuit discriminator. Example: \"zk.drift.v1\".",
- "example": "zk.drift.v1",
- "examples": [
- "zk.drift.v1"
- ],
- "type": "string"
- },
- "pi_a": {
- "description": "Three Groth16 pi_a field elements. Example: [\"1\", \"2\", \"1\"].",
- "examples": [
- [
- "1",
- "2",
- "1"
- ]
- ],
- "items": {
- "description": "Groth16 pi_a field element. Constraints: minLength: 1. Example: \"1\".",
- "example": "1",
- "examples": [
- "1"
- ],
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 3,
- "type": "array"
- },
- "pi_b": {
- "description": "Three pairs of Groth16 pi_b field elements. Example: [[\"1\", \"2\"], [\"3\", \"4\"], [\"1\", \"0\"]].",
- "examples": [
- [
- [
- "1",
- "2"
- ],
- [
- "3",
- "4"
- ],
- [
- "1",
- "0"
- ]
- ]
- ],
- "items": {
- "description": "A pair of Groth16 pi_b field elements. Example: [\"1\", \"2\"].",
- "examples": [
- [
- "1",
- "2"
- ]
- ],
- "items": {
- "description": "Groth16 pi_b field element. Constraints: minLength: 1. Example: \"1\".",
- "example": "1",
- "examples": [
- "1"
- ],
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 2,
- "minItems": 2,
- "type": "array"
- },
- "maxItems": 3,
- "minItems": 3,
- "type": "array"
- },
- "pi_c": {
- "description": "Three Groth16 pi_c field elements. Example: [\"1\", \"2\", \"1\"].",
- "examples": [
- [
- "1",
- "2",
- "1"
- ]
- ],
- "items": {
- "description": "Groth16 pi_c field element. Constraints: minLength: 1. Example: \"1\".",
- "example": "1",
- "examples": [
- "1"
- ],
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 3,
- "type": "array"
- },
- "publicSignals": {
- "description": "Public field elements bound to the drift proof. Example: [\"1\", \"2\"].",
- "examples": [
- [
- "1",
- "2"
- ]
- ],
- "items": {
- "description": "Public signal field element. Constraints: minLength: 1. Example: \"1\".",
- "example": "1",
- "examples": [
- "1"
- ],
- "minLength": 1,
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "verificationKeyId": {
- "description": "Identifier of the verification key to use. Constraints: minLength: 1. Example: \"sha256:4c095e183ea45a9d\".",
- "example": "sha256:4c095e183ea45a9d",
- "examples": [
- "sha256:4c095e183ea45a9d"
- ],
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "circuit",
- "pi_a",
- "pi_b",
- "pi_c",
- "publicSignals",
- "verificationKeyId"
- ],
- "type": "object"
- },
- "sessionContextHash": {
- "description": "Hash binding this proof to its agent session context. Constraints: pattern: ^[0-9a-fA-F]{64}$. Example: \"abababababababababababababababababababababababababababababababab\".",
- "example": "abababababababababababababababababababababababababababababababab",
- "examples": [
- "abababababababababababababababababababababababababababababababab"
- ],
- "pattern": "^[0-9a-fA-F]{64}$",
- "type": "string"
- },
- "targetBlockHeight": {
- "description": "Bitcoin block height being evaluated. Constraints: minimum: 0; maximum: 4294967295. Example: 920000.",
- "example": 920000,
- "examples": [
- 920000
- ],
- "maximum": 4294967295,
- "minimum": 0,
- "type": "integer"
- },
- "thermodynamicEntropyBits": {
- "description": "Thermodynamic entropy value bound to the complete verifier response. Constraints: minimum: 0. Example: 0.5.",
- "example": 0.5,
- "examples": [
- 0.5
- ],
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "circuit",
- "sessionContextHash",
- "targetBlockHeight",
- "entropyThreshold",
- "proof"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "Legacy telemetry-bound Groth16 proof verification input. Example: provide a proof, public inputs, verification key, and telemetry data.",
+ "examples": [
+ {
+ "data": [
+ {
+ "block": {
+ "height": 920000
+ },
+ "observed_at": "2026-09-19T00:00:00.000Z",
+ "thermodynamic": {
+ "target_multiplier": 125.83
+ }
+ }
+ ],
+ "proof": "eyJwaV9hIjpbIjEyMyIsIjQ1NiIsIjEiXX0",
+ "publicInputs": {
+ "blockHeight": 920000,
+ "snapshotDigest": "1534979302823651498736582947365829473658294736582947365829473658294",
+ "thermodynamicHash": "782365829473658294736582947365829473658294736582947365829473658294",
+ "timestamp": 1789776000000,
+ "valuationSat": 12583
+ },
+ "verificationKeyId": "sha256:4c095e183ea45a9d"
+ }
+ ],
+ "properties": {
+ "data": {
+ "description": "Telemetry snapshot payload object or array of objects containing canonical state values. Example: [{\"block\":{\"height\":920000},\"observed_at\":\"2026-09-19T00:00:00.000Z\",\"thermodynamic\":{\"target_multiplier\":125.83}}].",
+ "example": [
+ {
+ "block": {
+ "height": 920000
+ },
+ "observed_at": "2026-09-19T00:00:00.000Z",
+ "thermodynamic": {
+ "target_multiplier": 125.83
+ }
+ }
+ ],
+ "examples": [
+ [
+ {
+ "block": {
+ "height": 920000
+ },
+ "observed_at": "2026-09-19T00:00:00.000Z",
+ "thermodynamic": {
+ "target_multiplier": 125.83
+ }
+ }
+ ]
+ ],
+ "type": [
+ "object",
+ "array"
+ ]
+ },
+ "proof": {
+ "description": "Base64url-encoded Groth16/Poseidon BN254 proof string without padding. Constraints: minLength: 1. Example: \"eyJwaV9hIjpbIjEyMyIsIjQ1NiIsIjEiXX0\".",
+ "example": "eyJwaV9hIjpbIjEyMyIsIjQ1NiIsIjEiXX0",
+ "examples": [
+ "eyJwaV9hIjpbIjEyMyIsIjQ1NiIsIjEiXX0"
+ ],
+ "minLength": 1,
+ "type": "string"
+ },
+ "proofType": {
+ "const": "groth16",
+ "default": "groth16",
+ "description": "Groth16 verification (default). Example: \"groth16\".",
+ "example": "groth16",
+ "examples": [
+ "groth16"
+ ],
+ "type": "string"
+ },
+ "publicInputs": {
+ "additionalProperties": false,
+ "description": "Expected public constants committed by the proof; fields must match the corresponding telemetry payload in data: non-negative blockHeight, non-empty snapshotDigest and thermodynamicHash, non-negative Unix-millisecond timestamp, and non-negative valuationSat. Example: blockHeight 920000 and valuationSat 12583.",
+ "examples": [
+ {
+ "blockHeight": 920000,
+ "snapshotDigest": "1534979302823651498736582947365829473658294736582947365829473658294",
+ "thermodynamicHash": "782365829473658294736582947365829473658294736582947365829473658294",
+ "timestamp": 1789776000000,
+ "valuationSat": 12583
+ }
+ ],
+ "properties": {
+ "blockHeight": {
+ "description": "Bitcoin block height committed into the proof. Constraints: minimum: 0. Example: 920000.",
+ "example": 920000,
+ "examples": [
+ 920000
+ ],
+ "minimum": 0,
+ "type": "integer"
+ },
+ "snapshotDigest": {
+ "description": "Poseidon field digest of the canonical snapshot payload. Constraints: minLength: 1. Example: \"1534979302823651498736582947365829473658294736582947365829473658294\".",
+ "example": "1534979302823651498736582947365829473658294736582947365829473658294",
+ "examples": [
+ "1534979302823651498736582947365829473658294736582947365829473658294"
+ ],
+ "minLength": 1,
+ "type": "string"
+ },
+ "thermodynamicHash": {
+ "description": "Poseidon field hash of the thermodynamic telemetry values. Constraints: minLength: 1. Example: \"782365829473658294736582947365829473658294736582947365829473658294\".",
+ "example": "782365829473658294736582947365829473658294736582947365829473658294",
+ "examples": [
+ "782365829473658294736582947365829473658294736582947365829473658294"
+ ],
+ "minLength": 1,
+ "type": "string"
+ },
+ "timestamp": {
+ "description": "Unix timestamp in milliseconds committed into the proof. Constraints: minimum: 0. Example: 1789776000000.",
+ "example": 1789776000000,
+ "examples": [
+ 1789776000000
+ ],
+ "minimum": 0,
+ "type": "integer"
+ },
+ "valuationSat": {
+ "description": "Satoshi valuation committed into the proof. Constraints: minimum: 0. Example: 12583.",
+ "example": 12583,
+ "examples": [
+ 12583
+ ],
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "blockHeight",
+ "snapshotDigest",
+ "thermodynamicHash",
+ "timestamp",
+ "valuationSat"
+ ],
+ "type": "object"
+ },
+ "verificationKeyId": {
+ "description": "SHA-256 verification-key identifier string formatted with 'sha256:' prefix. Constraints: minLength: 1. Example: \"sha256:4c095e183ea45a9d\".",
+ "example": "sha256:4c095e183ea45a9d",
+ "examples": [
+ "sha256:4c095e183ea45a9d"
+ ],
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "proof",
+ "publicInputs",
+ "verificationKeyId",
+ "data"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Native zk.drift.v1 proof verification input, optionally bound to the complete verifier response. Example: supply the circuit discriminator, session hash, target height, threshold, and proof.",
+ "examples": [
+ {
+ "blockHash": "abababababababababababababababababababababababababababababababab",
+ "circuit": "zk.drift.v1",
+ "compactTarget": 486604799,
+ "driftScore": 0.25,
+ "entropyThreshold": 0.75,
+ "isAligned": true,
+ "proof": {
+ "circuit": "zk.drift.v1",
+ "pi_a": [
+ "1",
+ "2",
+ "1"
+ ],
+ "pi_b": [
+ [
+ "1",
+ "2"
+ ],
+ [
+ "3",
+ "4"
+ ],
+ [
+ "1",
+ "0"
+ ]
+ ],
+ "pi_c": [
+ "1",
+ "2",
+ "1"
+ ],
+ "publicSignals": [
+ "1",
+ "2"
+ ],
+ "verificationKeyId": "sha256:4c095e183ea45a9d"
+ },
+ "sessionContextHash": "abababababababababababababababababababababababababababababababab",
+ "targetBlockHeight": 920000,
+ "thermodynamicEntropyBits": 0.5
+ }
+ ],
+ "properties": {
+ "blockHash": {
+ "description": "Bitcoin block hash bound to the complete verifier response. Constraints: pattern: ^[0-9a-fA-F]{64}$. Example: \"abababababababababababababababababababababababababababababababab\".",
+ "example": "abababababababababababababababababababababababababababababababab",
+ "examples": [
+ "abababababababababababababababababababababababababababababababab"
+ ],
+ "pattern": "^[0-9a-fA-F]{64}$",
+ "type": "string"
+ },
+ "circuit": {
+ "const": "zk.drift.v1",
+ "description": "Drift proof circuit discriminator. Example: \"zk.drift.v1\".",
+ "example": "zk.drift.v1",
+ "examples": [
+ "zk.drift.v1"
+ ],
+ "type": "string"
+ },
+ "compactTarget": {
+ "description": "Raw compact target bits bound to the complete verifier response. Constraints: minimum: 0; maximum: 4294967295. Example: 486604799.",
+ "example": 486604799,
+ "examples": [
+ 486604799
+ ],
+ "maximum": 4294967295,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "driftScore": {
+ "description": "Drift score bound to the complete verifier response. Example: 0.25.",
+ "example": 0.25,
+ "examples": [
+ 0.25
+ ],
+ "type": "number"
+ },
+ "entropyThreshold": {
+ "description": "Maximum accepted thermodynamic entropy threshold. Constraints: minimum: 0; maximum: 1. Example: 0.75.",
+ "example": 0.75,
+ "examples": [
+ 0.75
+ ],
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "isAligned": {
+ "description": "Alignment result bound to the complete verifier response. Example: true.",
+ "example": true,
+ "examples": [
+ true
+ ],
+ "type": "boolean"
+ },
+ "proof": {
+ "additionalProperties": false,
+ "description": "Groth16 proof points, public signals, and verification-key identifier for zk.drift.v1. Example: pi_a, pi_b, pi_c, and public signals.",
+ "examples": [
+ {
+ "circuit": "zk.drift.v1",
+ "pi_a": [
+ "1",
+ "2",
+ "1"
+ ],
+ "pi_b": [
+ [
+ "1",
+ "2"
+ ],
+ [
+ "3",
+ "4"
+ ],
+ [
+ "1",
+ "0"
+ ]
+ ],
+ "pi_c": [
+ "1",
+ "2",
+ "1"
+ ],
+ "publicSignals": [
+ "1",
+ "2"
+ ],
+ "verificationKeyId": "sha256:4c095e183ea45a9d"
+ }
+ ],
+ "properties": {
+ "circuit": {
+ "const": "zk.drift.v1",
+ "description": "Proof circuit discriminator. Example: \"zk.drift.v1\".",
+ "example": "zk.drift.v1",
+ "examples": [
+ "zk.drift.v1"
+ ],
+ "type": "string"
+ },
+ "pi_a": {
+ "description": "Three Groth16 pi_a field elements. Example: [\"1\", \"2\", \"1\"].",
+ "examples": [
+ [
+ "1",
+ "2",
+ "1"
+ ]
+ ],
+ "items": {
+ "description": "Groth16 pi_a field element. Constraints: minLength: 1. Example: \"1\".",
+ "example": "1",
+ "examples": [
+ "1"
+ ],
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 3,
+ "type": "array"
+ },
+ "pi_b": {
+ "description": "Three pairs of Groth16 pi_b field elements. Example: [[\"1\", \"2\"], [\"3\", \"4\"], [\"1\", \"0\"]].",
+ "examples": [
+ [
+ [
+ "1",
+ "2"
+ ],
+ [
+ "3",
+ "4"
+ ],
+ [
+ "1",
+ "0"
+ ]
+ ]
+ ],
+ "items": {
+ "description": "A pair of Groth16 pi_b field elements. Example: [\"1\", \"2\"].",
+ "examples": [
+ [
+ "1",
+ "2"
+ ]
+ ],
+ "items": {
+ "description": "Groth16 pi_b field element. Constraints: minLength: 1. Example: \"1\".",
+ "example": "1",
+ "examples": [
+ "1"
+ ],
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array"
+ },
+ "maxItems": 3,
+ "minItems": 3,
+ "type": "array"
+ },
+ "pi_c": {
+ "description": "Three Groth16 pi_c field elements. Example: [\"1\", \"2\", \"1\"].",
+ "examples": [
+ [
+ "1",
+ "2",
+ "1"
+ ]
+ ],
+ "items": {
+ "description": "Groth16 pi_c field element. Constraints: minLength: 1. Example: \"1\".",
+ "example": "1",
+ "examples": [
+ "1"
+ ],
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 3,
+ "type": "array"
+ },
+ "publicSignals": {
+ "description": "Public field elements bound to the drift proof. Example: [\"1\", \"2\"].",
+ "examples": [
+ [
+ "1",
+ "2"
+ ]
+ ],
+ "items": {
+ "description": "Public signal field element. Constraints: minLength: 1. Example: \"1\".",
+ "example": "1",
+ "examples": [
+ "1"
+ ],
+ "minLength": 1,
+ "type": "string"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "verificationKeyId": {
+ "description": "Identifier of the verification key to use. Constraints: minLength: 1. Example: \"sha256:4c095e183ea45a9d\".",
+ "example": "sha256:4c095e183ea45a9d",
+ "examples": [
+ "sha256:4c095e183ea45a9d"
+ ],
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "circuit",
+ "pi_a",
+ "pi_b",
+ "pi_c",
+ "publicSignals",
+ "verificationKeyId"
+ ],
+ "type": "object"
+ },
+ "proofType": {
+ "const": "groth16",
+ "default": "groth16",
+ "description": "Groth16 verification (default). Example: \"groth16\".",
+ "example": "groth16",
+ "examples": [
+ "groth16"
+ ],
+ "type": "string"
+ },
+ "sessionContextHash": {
+ "description": "Hash binding this proof to its agent session context. Constraints: pattern: ^[0-9a-fA-F]{64}$. Example: \"abababababababababababababababababababababababababababababababab\".",
+ "example": "abababababababababababababababababababababababababababababababab",
+ "examples": [
+ "abababababababababababababababababababababababababababababababab"
+ ],
+ "pattern": "^[0-9a-fA-F]{64}$",
+ "type": "string"
+ },
+ "targetBlockHeight": {
+ "description": "Bitcoin block height being evaluated. Constraints: minimum: 0; maximum: 4294967295. Example: 920000.",
+ "example": 920000,
+ "examples": [
+ 920000
+ ],
+ "maximum": 4294967295,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "thermodynamicEntropyBits": {
+ "description": "Thermodynamic entropy value bound to the complete verifier response. Constraints: minimum: 0. Example: 0.5.",
+ "example": 0.5,
+ "examples": [
+ 0.5
+ ],
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "circuit",
+ "sessionContextHash",
+ "targetBlockHeight",
+ "entropyThreshold",
+ "proof"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "OTS mode requires proofType ots, a complete receipt, and its SHA-256 file digest.",
+ "examples": [
+ {
+ "otsProof": "AQID",
+ "targetHash": "abababababababababababababababababababababababababababababababab"
+ }
+ ],
+ "properties": {
+ "otsProof": {
+ "description": "Canonical base64 or even-length hex serialized .ots receipt (maximum 512 KiB decoded). Constraints: minLength: 1; maxLength: 1048576. Example: \"AQID\".",
+ "example": "AQID",
+ "examples": [
+ "AQID"
+ ],
+ "maxLength": 1048576,
+ "minLength": 1,
+ "type": "string"
+ },
+ "proofType": {
+ "const": "ots",
+ "description": "OpenTimestamps Bitcoin verification. Example: \"ots\".",
+ "example": "ots",
+ "examples": [
+ "ots"
+ ],
+ "type": "string"
+ },
+ "targetHash": {
+ "description": "64-character SHA-256 digest recorded by the receipt; not a Bitcoin header hash. Constraints: pattern: ^[0-9a-fA-F]{64}$. Example: \"abababababababababababababababababababababababababababababababab\".",
+ "example": "abababababababababababababababababababababababababababababababab",
+ "examples": [
+ "abababababababababababababababababababababababababababababababab"
+ ],
+ "pattern": "^[0-9a-fA-F]{64}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "proofType",
+ "otsProof",
+ "targetHash"
+ ],
+ "type": "object"
+ }
+]