dean-validator
v0.1.0
Published
Validate, parse, format and generate a DEAN — the Digital Euro Account Number (18-char EU… identifier, ISO/IEC 7064 MOD 97-10). Zero dependencies, library + CLI.
Maintainers
Readme
dean-validator
Validate, parse, format and generate a DEAN — the Digital Euro Account Number — in Node or the browser. Zero dependencies, library and CLI.
A DEAN (rulebook FUR.69) is an 18-character identifier: EU + two
ISO/IEC 7064 MOD 97-10 check digits
(the same scheme as IBAN) + a holder-type indicator (0 individual / 1 business)
- a 13-digit serial.
EU 09 0 0000000000042
▲▲ ▲▲ ▲ ▲──────────── 13-digit serial
│ │ └ holder type (0 individual, 1 business)
│ └ MOD 97-10 check digits
└ literal "EU"Install
npm install dean-validatorLibrary
import { isValidDean, parseDean, mintDean, formatDean } from 'dean-validator';
isValidDean('EU0900000000000042'); // → true (checksum-verified)
isValidDean('EU0900000000000043'); // → false (bad check digit)
parseDean('eu09 0000 0000 0000 42');
// → { dean: 'EU0900000000000042', checkDigits: '09',
// holderType: 'individual', serial: '0000000000042', bean: '00000000000042' }
formatDean('EU0900000000000042'); // → 'EU09 0000 0000 0000 42'
mintDean('business', '0000000000042'); // → a valid business DEAN (test/tooling)parseDean throws a DeanError with a stable code
(length | prefix | charset | type-indicator | checksum) on the first
failing check, so you can tell why a value is invalid.
CLI
npx dean EU0900000000000042 # validate
npx dean --json EU09… # machine-readable
echo "EU09…" | npx dean # one DEAN per line from stdin
npx dean --mint individual --count 3 # generate test DEANs$ npx dean EU0900000000000042 EU0900000000000043
✓ EU09 0000 0000 0000 42 valid (individual, serial 0000000000042)
✗ EU0900000000000043 invalid: DEAN check digits (positions 3-4) fail MOD 97-10 [checksum]Exit code is 0 when every DEAN is valid, 1 otherwise — handy in CI / scripts.
Notes
- Validation only. In the digital euro scheme, DEANs are minted exclusively by
the Eurosystem's DESP;
mintDeanhere is for local testing and generating fixtures. - No PII, no network. Pure string math — nothing leaves your process.
- Based on the public Digital Euro Scheme Rulebook (draft). The scheme is still being finalised; treat this as a developer utility, not legal/compliance advice.
License
MIT © Marko Marinovic
