IDMinter
Sign inStart free
Identifier integrity · for every issuer

Mint IDs that can’t collide.
Catch the ones typed wrong.

IDMinter is ID infrastructure for research, schools, hospitals, products, and programs — every identifier collision-free by construction, typo-detecting by design, and audited end to end.

Start a schemeSee how it works
ISO 7064 · Mod 37,36Append-only ledgerAudited end to end
Validate an identifier
ISO 7064 · MOD 37,36
Prefix
AST
Serial
00042
Check
2
Valid identifier
Check character verified · AST — Asset registry
AST-00042-2
AST-00043-Z
AST-00044-X
Your IDs become scannable labels
Every mint prints a real QR — scan it and the verified ID lands in your form. See the scan flow →
Universal by design

Built for anywhere IDs live.

One scheme engine, one append-only ledger, one check-character standard — behind specimen IDs, student numbers, patient records, SKUs, shipment lots, and beneficiary registries alike. Every prefix belongs to exactly one issuer.

Researchspecimen
FC1-00042-0
Schools & universitiesmatriculation
UB-2026-04417-0
Hospitals & clinicspatient
PT-DLA-008132-M
Manufacturing & retailSKU
SKU-AC-77310-A
Logisticslot
LOT-2026-33018-5
Government / NGObeneficiary
BEN-KM3-01925-5
The two guarantees

Two promises. Two separate mechanisms.

One protects a single ID from human error. The other protects your whole system from duplicates. They’re different mechanisms — and neither depends on people being careful.

GUARANTEE 01

The two errors people actually make

A single ISO 7064 Mod 37,36 check character closes every ID. It catches every single-character error and every adjacent transposition — precisely the mistakes people make transcribing an ID off a label, a form, or a phone call.

The check runs before the ID reaches your database, so a mistyped identifier is rejected at the point of entry instead of surfacing as a bad record downstream.

AST-00042-2
check
AST-00022-2single-char error
AST-00024-2transposition
AST-00042-2accepted
GUARANTEE 02

Two issuers can never mint the same ID

Ranges aren’t suggested — they’re recorded. Every mint writes to an append-only ledger that makes an overlapping range physically impossible to issue.

No shared spreadsheets, no coordination calls, no duplicate records discovered halfway downstream. Mint a block, print the labels, move on.

ledger · asset-tag-v2 · ASTAPPEND-ONLY
Batch AAST-00001-KAST-00041-441 IDs · Mar 3
Batch BAST-00042-2AST-00141-X100 IDs · Mar 18
How it works

From scheme to scanned ID, in five steps.

01

Define a scheme

Set the shape of an ID — prefix, serial width, and check algorithm. Versioned, and locked the moment the first ID is minted.

{PREFIX}-{00000}-{check:mod37,36}
02

Register your issuers

AST — asset registry, TKT — support desk, MRN — patient records. Each issuer gets its own reserved space in the ledger.

03

Mint a range

Request 100 IDs for an issuer and get a contiguous, collision-free block back — with a print-ready QR label sheet.

AST-00042-2 AST-00141-X
04

Validate from the field

Scan or key an ID as records come back — one at a time, or a whole batch at once. Bad characters are rejected before they reach your database.

05

Audited, end to end

Every scheme change, mint, and validation is written to an immutable audit trail. Answer “who issued this ID, and when” in a single query.

Scan, don’t type

Scan the label. The ID types itself — already verified.

Field staff scan the label; the ID lands in your form already verified — no transcription, no typos surviving. One motion reads prefix, serial and check character; the check runs before it can reach a form.

AST-00042-2
printed label · field scanner
Your intake form
waiting for scan
The scanner types the ID into the field — no keystrokes.
Ready to scan
Trigger a scan to auto-fill and verify the ID.
One mint, a sheet of identical labels
Every aliquot, tube and form gets the same scannable label — so a specimen stays one identity across the whole study.
Study SK1 · specimen sheet
SK1-0001-X
SK1-0001-X
SK1-0001-X
SK1-0001-X
SK1-0001-X
SK1-0001-X
SK1-0001-X
SK1-0002-V
SK1-0002-V
SK1-0002-V
SK1-0002-V
SK1-0002-V
SK1-0002-V
SK1-0002-V
SK1-0003-T
SK1-0003-T
SK1-0003-T
SK1-0003-T
SK1-0003-T
SK1-0003-T
SK1-0003-T
Each row is one specimen’s labels — identical IDs, identical check characters. Scanning any of them fills the form with the same verified identity.
What a scan returns
PREFIX
AST
SERIAL
00042
CHECK
2

All three fields arrive in a single motion — nothing is keyed by hand.

The check character

Recomputed on every scan. It catches every single-character misread and every adjacent transposition from a scan — a misread label is rejected on the spot, before it can enter a form. It does not, on its own, prove the ID is real.

The ledger lookup

A separate mechanism. The ledger confirms the identifier was actually minted and is unique in the scheme. Existence and uniqueness come from the ledger alone — never from the check character.

The platform

Everything the numbering needs — nothing it doesn’t.

Versioned schemes

Change the format safely. Old IDs keep validating against the version they were minted under; the scheme locks on first mint.

The ledger

An append-only record of every range ever issued — the single source of truth that makes collisions impossible.

QR label sheets

Every mint produces a print-ready PDF — Avery-ready QR plus the human-readable ID, one label per item.

Pooled validation

Paste a batch, a manifest, or a day’s scans and get back exactly which IDs are wrong — and why.

Immutable audit

Who minted what, who validated when. Export-ready for an auditor, a regulator, or a partner.

API & keys

Everything in the UI is in the API. Scoped keys per issuer or service, rotate anytime.

Built on an API

Mint and validate from your own pipeline.

Wire verification into your app, your intake forms, or a scanner on the line. The check character and the ledger are enforced server-side — the same guarantees, whether you use the dashboard or the API.

POST /v1/validate
POST /v1/mint
POST /v1/labels
GET /v1/labels/{job}
POST /v1/labels/preview
# Validate an IDPOST /v1/validate
X-Api-Key: vk_live_…

{
  "project_id": "<project_id>",
  "id": "FC1-00001-K"
}


200 OK
{
  "id": "FC1-00001-K",
  "valid": true,
  "normalized": "FC100001K",
  "parts": {
    "site": "FC1",
    "sequence": 1,
    "suffix": "",
    "check": "K"
  },
  "algorithm": "iso7064_mod37_36",
  "scheme_version": 1,
  "engine_version": "0.2.0"
}
Algorithms

One engine. Every major check-character standard.

Pick the scheme your identifiers already follow — or the strongest one for a fresh namespace. Each preset is a battle-tested standard, ready out of the box; the mono name is the exact algorithm your engineers wire up.

ISO 7064 family

Pure & hybrid check systems
PresetRecommended
iso7064_mod37_36

Hybrid, alphanumeric — a single check character over the whole ID. The all-rounder for human-readable identifiers.

Ships as 2 presets — append & separated.
Preset
iso7064_letters1

Hybrid, folded to a single check letter A–Z. Compact when a letter reads cleaner than a digit.

Preset
iso7064_letters2

Hybrid with two check letters, full strength. Maximum protection while staying all-letters.

Preset
iso7064_mod11_10

Hybrid, digits-only with 1 check digit. Drop-in for numeric IDs that must stay numeric.

Preset
iso7064_mod97_10

Pure, digits-only with 2 check digits — IBAN-grade. The strongest numeric option in the family.

Weighted-modulus family

Industry-standard weight schemes
Preset
gs1_mod10

GS1 barcodes — EAN, UPC and GTIN. Mod-10 with weights 3,1.

Preset
aba_mod10

US bank-routing numbers. Mod-10 with weights 3,7,1.

Preset
mrz_mod10

ICAO 9303 passport MRZ lines. Mod-10 with weights 7,3,1.

Preset
weighted_mod11

ISBN-10 style Mod-11 — the check character can be X.

Also in the engine

Advanced schemes, available when you need them
iso7064_mod11_2iso7064_mod37_2dammverhoeffluhn
No check character (legacy)Off by default — discouraged.
Get started

Start numbering with confidence.

Define a scheme and mint your first collision-free range in minutes. No duplicate IDs, no mistyped IDs in your database — provable, and audited.

IDMinter