RFC-0008  ·  OpenTwin Standard  ·  SHA-256

A permanent address for every property on earth.

The Home Identity Number is a globally unique, self-issuable property identifier. No central authority. No registration fee. Derived deterministically from the address.

Anatomy of a HIN
hin:v1:IN:7e3cf2a148b9d0c4fb29e41a
URI scheme — hin:
Protocol version — v1
ISO 3166-1 alpha-2 country — IN
First 24 hex chars of SHA-256 — 7e3c…
Compute a HIN from an address
01 — Properties

What makes HIN different from every other property identifier.

01
Deterministic
Given the same address string (normalised), the same HIN is produced every time on every machine. No server call required. Reproducible in any language with SHA-256.
02
Self-issuable
Anyone with the address can compute the HIN. No authority approves it. No fee. The ownership and consent layer is separate — the identifier itself is free and open.
03
Globally unique
The probability of two distinct addresses producing the same 24-hex prefix is 2⁻⁹⁶ — negligible. Country code prevents cross-jurisdiction collisions entirely.
04
Stable across ownership
The HIN is derived from the physical address, not the owner. It remains the same through sales, inheritance, redevelopment — anchoring a lifetime of lifecycle events.
05
Collision-resistant
RFC-0019 defines an anti-fraud challenge protocol for ADDR_COLLISION, SQUATTER_REGISTRATION, and FORK_ATTACK classes. Disputes resolve automatically in most cases.
06
Verifiable Credential
RFC-0015 defines a did:opentwin DID method. A HIN can be the subject of a W3C VC 2.0 credential — portable, selective-disclosure, EUDI Wallet compatible.
02 — The Algorithm

Four deterministic steps. No moving parts.

The normalisation rules are strict to ensure the same address produces the same HIN regardless of formatting choices.

1

Unicode NFC normalise

Apply Unicode canonical composition (NFC). Ensures Ā and Ā (precomposed vs. combining) hash identically.

const nfc = address.normalize('NFC');
2

Lowercase + strip whitespace

Lowercase the entire string. Replace all runs of whitespace (tabs, newlines, multiple spaces) with a single ASCII space. Trim leading and trailing.

const norm = nfc.toLowerCase()
  .replace(/\s+/g, ' ').trim();
3

SHA-256 hash

Hash the UTF-8 encoded normalised string using SHA-256. Produces a 256-bit (32-byte) digest. Any standards-compliant SHA-256 implementation produces the same result.

const buf = await crypto.subtle.digest(
  'SHA-256',
  new TextEncoder().encode(norm)
);
4

Encode and prefix

Take the first 24 hex characters of the digest (12 bytes). Prepend the HIN URI prefix with the ISO 3166-1 alpha-2 country code.

const hex = Array.from(new Uint8Array(buf))
  .map(b => b.toString(16).padStart(2,'0'))
  .join('').slice(0,24);
return `hin:v1:${cc}:${hex}`;
03 — Resolver

Validate a HIN's format.

A HIN is valid if it matches the canonical structure. Resolution against the OpenTwin registry requires a consent token — this widget validates the format only.

HIN to validate
Live registry lookup requires an OpenTwin SDK key (opn_ prefix) and owner consent. Request API access at developer@seekyournest.com.
Result will appear here after validation.
04 — Government Adoption

Three paths to connect land records to HIN.

No system changes are required at Tier 1. HIN is designed to layer on top of existing registries, not replace them.

Tier 1 — Minimal Effort

Secondary Identifier

Add a hin_identifier column to your deed registry. Compute HINs from existing address data. Zero infrastructure changes.

  • One SQL ALTER TABLE statement
  • Batch script to compute existing records
  • No real-time integration needed
  • Implementation: 1–2 days
Tier 3 — Full Integration

Verified Issuer

Issue HINs as W3C Verifiable Credentials with the registry's EdDSA key. The registry becomes a trusted issuer in the OpenTwin consent network.

  • RFC-0015 DID:opentwin binding
  • Issued VCs carry registry's signature
  • Enables bank-grade verification
  • ISO 27001 audit pathway
05 — FAQ

Common questions about HIN.

Can two properties have the same HIN?
In theory, if two addresses are identical after normalisation, they produce the same HIN. In practice, any two distinct physical properties have distinct addresses. The probability of a SHA-256 prefix collision at 24 hex characters is 2⁻⁹⁶ — negligible at global scale. The country code also prevents cross-jurisdiction collisions. RFC-0019 defines an arbitration protocol for the rare edge case where a dispute is raised.
What happens when a property is demolished and rebuilt?
The address remains the same, so the HIN remains the same. This is by design — the identifier tracks the location, not the structure. The lifecycle event log (RFC-0016) records the demolition and rebuild as distinct events with timestamps, so the full history is preserved under the same HIN.
Does the property owner need to register the HIN?
No. Anyone can compute a HIN from an address — the owner, a bank, an insurer, a government registry. The HIN is a computed identifier, not an issued one. There is no registration step and no fee. The first time a HIN is used on the OpenTwin network, it is anchored with its initial lifecycle event.
What if the address has alternate spellings?
The normalisation rules (NFC, lowercase, whitespace collapse) handle most variants. For addresses with genuinely ambiguous canonical forms (e.g. "Rd" vs "Road"), RFC-0019 defines an address-normalisation advisory: if two HINs are claimed for the same property by different parties, the challenge protocol resolves which form is canonical. The winning form becomes the reference address for that HIN.
Is this compatible with Bharat Address Unique Code or e-Dharti?
HIN is designed to be complementary, not competitive. A Bharat Address Unique Code or e-Dharti property identifier can be stored as a linked identifier on the OpenTwin twin — the HIN is the network-layer identifier, while government codes are the authority-layer identifier. RFC-0008 §7 documents how to cross-reference government identifiers in the OpenTwin schema.

Compute HINs in bulk

The algorithm is implemented in the TypeScript and Python SDKs. Process an entire address database in minutes.

Read RFC-0008

Build with OpenTwin

HIN is part of the OpenTwin standard — a full property data protocol with consent, lifecycle, financial aggregates, and AI tools.

opentwin.io →
© 2026 SeekYourNest Technologies Pvt. Ltd.  ·  Apache 2.0 RFC-0008