Do it.

This page walks the whole SF128-RE flow: mint an identity, verify its structure, attach append-only metadata, then resolve it.


Process

  1. Mint a stable SF128-RE identity (under fd53::/16).
  2. Verify the ID layout: extract RR, SS, PP, HH, timestamp_ms, sequence.
  3. Append metadata as an event (append-only): location (lat/lng/geohash), optional h3, optional owner, optional postal_code.
  4. Resolve the ID: the resolver parses fields from the ID and pulls attached metadata from the append-only log (and projections).

RR is the region code. SS is the site code within that region. PP is the plane (what kind of network/service this ID is for). HH is the host/issuer inside that plane.

Postal codes are not encoded in SF128-RE. They are stored as append-only metadata events, the same way lat/lng/geohash are stored.


Mint and verify (SF128-RE)

An SF128-RE identifier is 128 bits: fd53 prefix + RR SS PP HH + timestamp_ms + sequence. The ID never changes; metadata does.

RR / SS / PP / HH mappings

In SF128-RE, the 16 bytes are interpreted (big-endian) as: fd53 (prefix), then RR (region), SS (site), PP (plane), HH (host/issuer), then timestamp_ms (48-bit), then sequence (32-bit).

In this demo deployment, we use these common plane values: PP=0x40 (gateway/admin plane, WireGuard), PP=0x10 (resolver plane prefix fd53:RRSS:1000::/48), PP=0x11 (database plane prefix fd53:RRSS:1100::/48).

Hostnames mapped to region/site (RR:SS) in the current mesh:

Host RR:SS WireGuard (PP=40) Resolver (1000) DB (1100)
us-01.registrar.earth 01:01 fd53:0101:4001::1 fd53:0101:1000::10 fd53:0101:1100::10
us-02.registrar.earth 01:02 fd53:0102:4001::1 fd53:0102:1000::10 fd53:0102:1100::10
us-03.registrar.earth 01:03 fd53:0103:4001::1 fd53:0103:1000::10 fd53:0103:1100::10
registrar.earth (US edge) 01:04 fd53:0104:4001::1 fd53:0104:1000::10 fd53:0104:1100::10
eu-01.registrar.earth (EU edge) 03:01 fd53:0301:4001::1 fd53:0301:1000::10 fd53:0301:1100::10

Note: the “plane prefixes” …:1000::/48 and …:1100::/48 are routed blocks for services. The minted SF128-RE identities below are object identifiers and include a real timestamp + sequence.

Mint

Minting calls the resolver API. The server generates the timestamp and allocates a collision-free sequence number. The identity is stored for resolution.

01N. AmericaUS, CA, MX
02S. AmericaCentral + South, Caribbean
03EuropeEU, UK, EEA
04AfricaContinental Africa
05W. Asia / MEGulf, Levant, Turkey, Iran
06S. AsiaIndia, Pakistan, Bangladesh
07E. AsiaChina, Japan, Korea, Taiwan
08SE AsiaASEAN, Philippines, Indonesia
09OceaniaAU, NZ, Pacific Islands
0AAntarcticaResearch, non-territorial
FETestDev and staging
01Site 01Primary site in region
02Site 02Secondary site
03Site 03Tertiary site
04Site 04Edge / CDN site
10ResolverHTTP resolution endpoints
11DatabasePostgreSQL gateways + replicas
12RelayMessage relays, notifications
20SF128 AliasIdentity addresses as keys
30ObservabilityMetrics, logs, health probes
40AdminManagement, minting, key mgmt
01Host 01Primary node in plane
02Host 02Secondary node
03Host 03Tertiary node
0ALoopbackService VIP / loopback address
{}

Verify

Paste an IPv6 fd53:…, a 32-hex SF128 value, a short code (XXXXX-XXXXX / AAA-BBB-CCC-X), or a namespace to verify the layout and extract fields.

{}

Append metadata (append-only)

Metadata is attached to an identity by appending an event. The identity stays stable; the event log grows.

{}

Tip: in the resolved JSON, look at routing.best_location and routing.best_location_payload. Postal lookups call /geo/postal/{country}/{postal}. Geolocation uses your browser and only fills the form.


Resolve an identity

Paste an IPv6 fd53:…, a 32-hex SF128 value, a short code (XXXXX-XXXXX / AAA-BBB-CCC-X), or a namespace. This calls the resolver API and shows the full JSON response.

{}