Knowledge Base

Browse the concepts behind Truestamp. Follow the links between concepts, or search across everything.

t type code

The frozen integer discriminator of a proof subject type, drawn from a registry namespaced by decade (10-19 block-like, 20-29 item, 30-39 entropy, 40-49 reserved for commitment chains); a bundle carries the matching registry name in its type key while the integer is what the signed payload binds.

Overview

The t type code is the integer that identifies which kind of subject a proof bundle is about. It lives in one place only: the binary payload that Truestamp signs, where it is the two-byte big-endian field named t. On the wire the bundle instead carries the readable registry name in its type key, so a reader sees "item" or "entropy_stellar" rather than a number, and a verifier maps that name back to the integer before recomputing the signed payload. Because the integer is bound into the signature, changing a bundle’s type breaks it; this is what makes a beacon proof cryptographically distinct from a plain block proof over the same block. The registry table and the signed payload layout live in the proof bundle wire format.

The registry

One unified registry, namespaced by decade:

Range Category Assigned
10-19 block-like subjects 10 block, 11 beacon
20-29 item subjects 20 item
30-39 entropy sources 30 entropy_nist, 31 entropy_stellar, 32 entropy_bitcoin
40-49 public commitment chains 40 Stellar, 41 Bitcoin, both reserved
50 and above reserved none

The codes are a long-lived contract: never renumbered, never reused, never renamed. A new subject type claims the next unused integer in its category, and a new name is added alongside it.

The 40 and 41 codes are reserved rather than in use. A commitment inside a bundle names its chain in plain text ("stellar" or "bitcoin") and nothing signed depends on a commitment code, so the two integers stay permanently claimed in the registry and can never be reassigned to something else.