DTI (Digital Token Identifier)

GET/v0/dti

Validates a DTI (Digital Token Identifier) — a 9-character alphanumeric code defined by ISO 24165 and maintained by the Digital Token Identifier Foundation (DTIF). Each DTI uniquely identifies a digital asset (cryptocurrency, token, etc.) at the global level.

A DTI consists of an 8-character payload followed by a single check character. The payload is randomly generated from a restricted 30-character alphabet (0–9 and consonants B C D F G H J K L M N P Q R S T V W X Z— vowels A, E, I, O, U and the letter Y are excluded to avoid confusion). The first character may not be 0.

The 9th character is a check character defined by the ISO 24165 standard (a paid document). This endpoint validates the format only — restricted alphabet, length, first character ≠ 0 — and then looks up the DTI in the DTIF registry to confirm it has been officially assigned. Whitespace is stripped automatically.

Note: The DTI and the XT-ISIN are two separate identification systems for digital tokens. An XT-ISIN uses the XT country prefix and its NSIN is assigned independently — it is not the same as the token's DTI.

Guides: Node.js · Python

Try it

Query Parameters

ParameterTypeRequiredDescription
valuestringYesThe 9-character DTI to validate (e.g. 4H95J0R2X)

Example Request

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.isvalid.dev/v0/dti?value=4H95J0R2X"

Response Fields

FieldTypeDescription
validbooleanWhether the DTI passed format validation
normalizedstringUppercased, whitespace-stripped DTI (present only when valid)
payloadstringFirst 8 characters — the randomly assigned base number (present only when valid)
checkCharstringThe 9th character — computed check character from the restricted alphabet (present only when valid)
foundboolean | nullWhether the identifier exists in the DTIF registry. null if the registry is unavailable (present only when valid)
identifierTypestring | nullIdentifier type from the DTIF registry: "token" (digital token) or "ledger" (distributed ledger/blockchain). Present only when found: true
namestring | nullFull name from the DTIF registry (present only when found: true)
shortNamestring | nullShort name / ticker symbol (present only when found: true)
dtiTypestring | nullDTIF type classification. For tokens: "protocol" or "auxiliary". For ledgers: "blockchain" or "other". Present only when found: true

Example Response — Bitcoin DTI (found in registry)

{
  "valid": true,
  "normalized": "4H95J0R2X",
  "payload": "4H95J0R2",
  "checkChar": "X",
  "found": true,
  "identifierType": "token",
  "name": "Bitcoin",
  "shortName": "BTC",
  "dtiType": "protocol"
}

Example Response — valid but not found in registry

{
  "valid": true,
  "normalized": "4H95J0R2X",
  "payload": "4H95J0R2",
  "checkChar": "X",
  "found": false
}

Example Response — invalid

{
  "valid": false
}