What is a Branded Type?
A branded type adds a compile-time tag to a base type:Uint8Array. TypeScript prevents mixing them:
Schemas Return Branded Types
voltaire-effect schemas decode directly to Voltaire’s branded types:Effect Brand vs Voltaire Brand
Effect’sBrand module creates nominal types from primitives:
Uint8Array instead of primitives. The voltaire-effect schemas handle the conversion - you get Voltaire types that work with both libraries.
Zero Overhead
Brands exist only at compile time. At runtime:Validation Happens Once
Schema decode validates input. If decoding succeeds, the value is valid:See Also
- Voltaire Branded Types — Core branded type documentation
- Effect Brand Module — Effect’s Brand utilities
- Data-First API — Why data comes first
- Address Primitive — Address schema and functions
- Error Handling — Typed errors with Effect

