---
title: "Record Types"
description: ""
url: https://instituteofprovenance.org/docs/record-types
source: Institute of Provenance
---
# Record Types

The wire protocol defines four record types, each identified by a numeric type code in the custom range (65001–65004) to avoid collision with standard DNS types.

## XIO Record (65001)

The core signed data record. Carries content attestation, provenance metadata, and ownership for a registered artifact.

| Field | Type | Description |
|-------|------|-------------|
| name | string | The registered .xio domain name |
| owner | bytes | Public key of the record owner |
| content_hash | bytes | BLAKE3 hash of the registered content |
| metadata | map | Provenance metadata (author, title, creation date, attribution manifest) |
| signature | bytes | Ed25519 signature over the record content |
| ttl | uint32 | Time-to-live for caching (seconds) |

XIO records are the primary resolution target. A client resolving a `.xio` name receives the XIO record, which contains the content hash that can be used to verify any copy of the content.

## XSIGN Record (65003)

Trust block and signing metadata for a content artifact. Contains the full trust block structure as defined in the [Trust Block Schema](/docs/trust-block-schema).

| Field | Type | Description |
|-------|------|-------------|
| name | string | The .xio domain name |
| trust_block | bytes | Serialized XION trust block |
| content_type | string | MIME type of the signed content |
| canonical_hash | bytes | BLAKE3 hash of the canonicalized content |

XSIGN records allow retrieval of signing metadata without fetching the content itself. This supports verification workflows where the trust block is separated from the content during distribution.

## XFPR Record (65004)

Content fingerprint record for similarity search across the network.

| Field | Type | Description |
|-------|------|-------------|
| name | string | The .xio domain name |
| fingerprint_type | string | Fingerprinting algorithm (`"lwa"`, `"phash"`, `"video-lwa"`) |
| fingerprint_data | bytes | The computed fingerprint vector |
| source_hash | bytes | BLAKE3 hash of the source content |

XFPR records enable content identification even after transformation. A query with a fingerprint vector returns matching records ranked by similarity, allowing detection of cropped, resized, compressed, or re-encoded versions of registered content.

## Proof Record (65002)

Sparse Merkle Tree inclusion/exclusion proofs for verifiable state.

| Field | Type | Description |
|-------|------|-------------|
| tree_root | bytes | The Merkle tree root hash at the queried epoch |
| epoch | uint64 | The epoch number this proof applies to |
| key | bytes | The key being proved (e.g., certificate serial number) |
| proof_type | enum | `inclusion` or `exclusion` |
| siblings | bytes[] | Sibling hashes along the proof path |

Proof records enable trustless verification of certificate state. An inclusion proof demonstrates that a certificate has been revoked (its serial number is in the revoked set). An exclusion proof demonstrates that a certificate has NOT been revoked. Neither proof requires trusting the Orbital — the proof is verified mathematically against the tree root.

