What problem does it solve?
It prevents teams from repeatedly inventing and inconsistently validating low-level Ethereum primitive types (addresses, hashes, byte strings, and unsigned integers) across EIP/ERC/ENS and wallet code.
Core Features & Use Cases
- Shared primitive schema floor: Centralizes validated Valibot schemas for base types so feature packages reuse them instead of redefining regex checks.
- Spec-grounded patterns: Derives formats from upstream execution-apis/base-types.yaml, so new primitives stay aligned with the source of truth.
- Meaning-preserving types: Distinguishes intent with separate schemas even when runtime checks match (for example, differentiating hash semantics from arbitrary 32-byte slots).
- Composable validation: Supports composing primitives into objects, unions, and tuples for full parameter and response validation at boundaries.
Quick Start
Ask an AI to draft a new composed Valibot schema for an EIP parameter by first selecting the needed primitives from @ethernauta/core and composing them with valibot validators, then deriving the TypeScript type via InferOutput.