witness_verify_seal
Verify a sealed witness timestamp or state offline by reconstructing the signing envelope and validating the Ed25519 signature. Returns validity or missing input error.
Instructions
Verify a witness seal offline — no calls to the witness service.
Easiest call: feed the fields from a witness_seal_timestamp /
witness_seal_state response straight in — its verify_followup.params
already lists exactly what to pass, including the witness public key.
This reconstructs the signing envelope and checks the Ed25519 signature.
For timestamp seals: pass target_block_hash_hex.
For state seals: pass target_chain_id and target_chain_head_hex.
The pre-0.6.2 seal-response field names (target_block_hash,
target_chain_head) are accepted as aliases, so a seal response piped
in verbatim verifies correctly.
Returns valid: True/False. If the fields needed to rebuild the envelope
are missing, returns a structured incomplete_verification_input error —
NOT valid: false — because a missing target means the request was
under-specified, not that the seal is forged.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| seal_type | Yes | ||
| sealed_at | Yes | ||
| witness_id | Yes | ||
| target_chain_id | No | ||
| target_block_hash | No | ||
| target_chain_head | No | ||
| target_block_hash_hex | No | ||
| target_chain_head_hex | No | ||
| witness_signature_b64 | Yes | ||
| witness_public_key_b64 | Yes |