proofrelay.verify_bundle
ActiveTool of GENESIS ProofRelay MCP Verifier
Verify a submitted non-confidential ProofRelay V1 or V2 evidence bundle for hash integrity, monotonic ordering, signatures, and chain continuity. The tool does not charge, settle, mutate storage, or certify external facts.
Parameters schema
{
"type": "object",
"$defs": {
"Bundle": {
"type": "object",
"title": "Bundle",
"required": [
"bundle_hash",
"created_ts_ms",
"service",
"count",
"receipt_ids",
"events"
],
"properties": {
"v": {
"type": "integer",
"title": "V",
"default": 1,
"description": "Evidence bundle schema version."
},
"count": {
"type": "integer",
"title": "Count",
"description": "Number of receipt events in the bundle."
},
"events": {
"type": "array",
"items": {
"$ref": "#/$defs/ReceiptEvent"
},
"title": "Events",
"description": "Receipt events whose hashes and ordering are verified."
},
"service": {
"type": "string",
"title": "Service",
"description": "Service represented by the bundle."
},
"bundle_hash": {
"type": "string",
"title": "Bundle Hash",
"description": "Hash commitment for the bundle."
},
"receipt_ids": {
"type": "array",
"items": {
"type": "string"
},
"title": "Receipt Ids",
"description": "Receipt identifiers included in deterministic order."
},
"created_ts_ms": {
"type": "integer",
"title": "Created Ts Ms",
"description": "Bundle creation timestamp in Unix milliseconds."
}
},
"description": "Non-confidential ProofRelay evidence bundle submitted for verification."
},
"ReceiptEvent": {
"type": "object",
"title": "ReceiptEvent",
"required": [
"receipt_id",
"ts_ms",
"service",
"event_type",
"event_hash"
],
"properties": {
"v": {
"type": "integer",
"title": "V",
"default": 1,
"description": "Receipt schema version."
},
"sig": {
"anyOf": [
{
"$ref": "#/$defs/ReceiptSignature"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional event signature envelope."
},
"ts_ms": {
"type": "integer",
"title": "Ts Ms",
"description": "Event timestamp in Unix milliseconds."
},
"payload": {
"type": "object",
"title": "Payload",
"description": "Minimized metadata and hashes only; never include secrets.",
"additionalProperties": true
},
"service": {
"type": "string",
"title": "Service",
"description": "Service or agent that emitted the event."
},
"prev_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prev Hash",
"default": null,
"description": "Previous event hash for hash-chain continuity."
},
"event_hash": {
"type": "string",
"title": "Event Hash",
"description": "Hash commitment for this event."
},
"event_type": {
"type": "string",
"title": "Event Type",
"description": "Public-safe event category."
},
"receipt_id": {
"type": "string",
"title": "Receipt Id",
"description": "Stable receipt identifier."
},
"policy_digest": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Policy Digest",
"default": null,
"description": "Hash or digest of the policy context, when available."
}
},
"description": "Non-confidential receipt event included in a ProofRelay bundle."
},
"EvidenceEventV2": {
"type": "object",
"title": "EvidenceEventV2",
"required": [
"event_id",
"tenant_id",
"service_id",
"sequence",
"occurred_at_ms",
"event_type",
"evidence",
"event_hash",
"producer_signature"
],
"properties": {
"schema": {
"type": "string",
"const": "io.genesisre.proofrelay.evidence-event.v2",
"title": "Schema",
"default": "io.genesisre.proofrelay.evidence-event.v2"
},
"event_id": {
"type": "string",
"title": "Event Id",
"pattern": "^[a-z0-9](?:[a-z0-9._:-]*[a-z0-9])?$",
"maxLength": 128,
"minLength": 1
},
"evidence": {
"type": "object",
"title": "Evidence",
"maxProperties": 64,
"minProperties": 1,
"propertyNames": {
"maxLength": 64,
"minLength": 1
},
"patternProperties": {
"^[a-z][a-z0-9_]*$": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
}
}
},
"sequence": {
"type": "integer",
"title": "Sequence",
"maximum": 9223372036854776000,
"minimum": 1
},
"tenant_id": {
"type": "string",
"title": "Tenant Id",
"pattern": "^[a-z0-9](?:[a-z0-9._:-]*[a-z0-9])?$",
"maxLength": 128,
"minLength": 1
},
"event_hash": {
"type": "string",
"title": "Event Hash",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"event_type": {
"type": "string",
"title": "Event Type",
"pattern": "^[a-z0-9](?:[a-z0-9._:-]*[a-z0-9])?$",
"maxLength": 128,
"minLength": 1
},
"service_id": {
"type": "string",
"title": "Service Id",
"pattern": "^[a-z0-9](?:[a-z0-9._:-]*[a-z0-9])?$",
"maxLength": 128,
"minLength": 1
},
"policy_digest": {
"anyOf": [
{
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
{
"type": "null"
}
],
"title": "Policy Digest",
"default": null
},
"hash_algorithm": {
"type": "string",
"const": "SHA-256",
"title": "Hash Algorithm",
"default": "SHA-256"
},
"occurred_at_ms": {
"type": "integer",
"title": "Occurred At Ms",
"maximum": 9223372036854776000,
"minimum": 0
},
"canonicalization": {
"type": "string",
"const": "RFC8785-JCS",
"title": "Canonicalization",
"default": "RFC8785-JCS"
},
"producer_signature": {
"$ref": "#/$defs/ProducerSignatureV1"
},
"previous_event_hash": {
"anyOf": [
{
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
{
"type": "null"
}
],
"title": "Previous Event Hash",
"default": null
}
},
"additionalProperties": false
},
"EvidenceBundleV2": {
"type": "object",
"title": "EvidenceBundleV2",
"required": [
"tenant_id",
"service_id",
"created_at_ms",
"sequence_start",
"sequence_end",
"event_count",
"events",
"bundle_hash"
],
"properties": {
"events": {
"type": "array",
"items": {
"$ref": "#/$defs/EvidenceEventV2"
},
"title": "Events",
"maxItems": 10000,
"minItems": 1
},
"schema": {
"type": "string",
"const": "io.genesisre.proofrelay.evidence-bundle.v2",
"title": "Schema",
"default": "io.genesisre.proofrelay.evidence-bundle.v2"
},
"tenant_id": {
"type": "string",
"title": "Tenant Id",
"pattern": "^[a-z0-9](?:[a-z0-9._:-]*[a-z0-9])?$",
"maxLength": 128,
"minLength": 1
},
"service_id": {
"type": "string",
"title": "Service Id",
"pattern": "^[a-z0-9](?:[a-z0-9._:-]*[a-z0-9])?$",
"maxLength": 128,
"minLength": 1
},
"bundle_hash": {
"type": "string",
"title": "Bundle Hash",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"event_count": {
"type": "integer",
"title": "Event Count",
"maximum": 10000,
"minimum": 1
},
"sequence_end": {
"type": "integer",
"title": "Sequence End",
"minimum": 1
},
"created_at_ms": {
"type": "integer",
"title": "Created At Ms",
"maximum": 9223372036854776000,
"minimum": 0
},
"hash_algorithm": {
"type": "string",
"const": "SHA-256",
"title": "Hash Algorithm",
"default": "SHA-256"
},
"sequence_start": {
"type": "integer",
"title": "Sequence Start",
"minimum": 1
},
"canonicalization": {
"type": "string",
"const": "RFC8785-JCS",
"title": "Canonicalization",
"default": "RFC8785-JCS"
}
},
"additionalProperties": false
},
"ReceiptSignature": {
"type": "object",
"title": "ReceiptSignature",
"required": [
"alg",
"key_id",
"sig"
],
"properties": {
"alg": {
"type": "string",
"title": "Alg",
"examples": [
"HMAC-SHA256"
],
"description": "Signature algorithm used for the event signature."
},
"sig": {
"type": "string",
"title": "Sig",
"description": "Hex-encoded event signature."
},
"key_id": {
"type": "string",
"title": "Key Id",
"examples": [
"hmac:default"
],
"description": "Public-safe key identifier used by the verifier."
}
},
"description": "Signature envelope for a non-confidential ProofRelay receipt event."
},
"ProducerSignatureV1": {
"type": "object",
"title": "ProducerSignatureV1",
"required": [
"algorithm",
"key_id",
"signature"
],
"properties": {
"key_id": {
"type": "string",
"title": "Key Id",
"pattern": "^[a-z0-9](?:[a-z0-9._:-]*[a-z0-9])?$",
"maxLength": 128,
"minLength": 1
},
"schema": {
"type": "string",
"const": "io.genesisre.proofrelay.producer-signature.v1",
"title": "Schema",
"default": "io.genesisre.proofrelay.producer-signature.v1"
},
"algorithm": {
"enum": [
"Ed25519",
"ES256"
],
"type": "string",
"title": "Algorithm"
},
"signature": {
"type": "string",
"title": "Signature",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 256,
"minLength": 43
}
},
"additionalProperties": false
},
"PublicVerificationKeyInput": {
"type": "object",
"title": "PublicVerificationKeyInput",
"required": [
"tenant_id",
"service_id",
"key_id",
"jwk"
],
"properties": {
"jwk": {
"type": "object",
"title": "Jwk",
"additionalProperties": true
},
"key_id": {
"type": "string",
"title": "Key Id",
"maxLength": 128,
"minLength": 1
},
"tenant_id": {
"type": "string",
"title": "Tenant Id",
"maxLength": 128,
"minLength": 1
},
"service_id": {
"type": "string",
"title": "Service Id",
"maxLength": 128,
"minLength": 1
}
},
"description": "Caller-supplied public producer key for stateless V2 verification."
}
},
"title": "verify_submitted_bundleArguments",
"required": [
"bundle"
],
"properties": {
"bundle": {
"anyOf": [
{
"$ref": "#/$defs/Bundle"
},
{
"$ref": "#/$defs/EvidenceBundleV2"
}
],
"title": "Bundle"
},
"public_keys": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/PublicVerificationKeyInput"
}
},
{
"type": "null"
}
],
"title": "Public Keys",
"default": null
},
"require_chain": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Require Chain",
"default": null
},
"require_signature": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Require Signature",
"default": null
}
}
}No endpoints wrapped at confidence ≥ 0.50.
Parent server
GENESIS ProofRelay MCP Verifier
1/7 registries