Schema
v1
Proof
General-purpose on-chain attestation. Used for auth proofs, provenance anchors, and signed assertions.
| protocol | MAP |
| prefix | 1PuQa7K62MiKCtssSLKy1kh56WWU7MtUR5 |
| app | qart |
| type | proof_v1 |
Fields
| Name | Type | Required | Description |
|---|---|---|---|
| app | string | yes | Application identifier. |
| type | string | yes | Schema type tag. Always "proof_v1". |
| proof_type | string | yes | Kind of proof (e.g. "auth", "provenance", "attestation"). |
| subject_id | string | yes | Identifier of the entity being proven (user ID, item ID, document hash). |
| prover_pubkey | hex | yes | Compressed public key of the prover. |
| timestamp | integer | yes | Unix timestamp. |
| prev_txid | hex | no | Previous transaction in a proof chain (for sequential attestations). |
| data_hash | hex | no | SHA-256 hash of the data being attested. |
| signature | hex | no | Signature over the proof fields. |
Wire format
OP_FALSE OP_RETURN
1PuQa7K62MiKCtssSLKy1kh56WWU7MtUR5
SET
app qart
type proof_v1
proof_type <string>
subject_id <string>
prover_pubkey <hex>
timestamp <unix_ts>
[prev_txid <hex>]
[data_hash <hex>]
[signature <hex>]
[extra_key extra_value ...]
Extensibility
The proof schema accepts arbitrary extra key-value pairs after the defined fields. This allows application-specific attestation data without defining a new schema for each proof type. Extra fields are sorted by key for deterministic encoding.