ULID
The 26-character Crockford Base32, timestamp-prefixed, lexicographically sortable 128-bit identifier used exclusively for Truestamp Item IDs; every other resource uses UUIDv7, and both are stored as raw 16-byte binary in Postgres uuid columns.
Overview
A ULID is the identifier format Truestamp uses exclusively for Item IDs. It is a 128-bit value, a 48-bit millisecond timestamp followed by 80 random bits, written as 26 characters of Crockford Base32 (for example 01HJHB01T8FYZ7YTR9P5N62K5B); input is case-insensitive and normalized to the canonical uppercase form. Because the timestamp leads, ULIDs sort lexicographically in generation order and the generation time can be read back from the ID itself. Every non-Item resource instead uses UUIDv7, and both formats are stored as the same raw 16-byte binary in a Postgres uuid column. See ULID and UUIDv7 identifiers for the full comparison and the query-boundary conversion between the two text forms.
Citations
- The ULID specification. Defines the 48-bit timestamp plus 80-bit randomness layout and the Crockford Base32 encoding.