Mint an SF128 identity, then generate a serialized notebook bound to it. Every page carries a short code derived from a verifiable Merkle hash chain. Print it, write in it, verify any page later.


    Mint an identity 

    Every notebook is bound to an SF128 identity. Mint one via the API, or use an existing one.

    Parameters:

    • RR — Region code (e.g. 01 = N. America, 03 = Europe, FE = Test)
    • SS — Site / cluster ID (e.g. 01 = Primary, 02 = Secondary)
    • PP — Service plane (e.g. 20 = SF128 Alias)
    • HH — Host ID (e.g. 01 = Primary node)

    API endpoint: POST /mint with JSON body { rr, ss, pp, hh }

    Lost & Found plaque 

    After minting, a plaque is generated with:

    • A DataMatrix / QR composite barcode encoding the resolve URL
    • The text "I'M LOST. PLEASE HELP ME FIND MY STUFF"
    • A resolve URL for the minted identity
    • "CONTACT OWNER" call-to-action

    The barcode encodes both a QR Code and a Data Matrix. Anyone can scan it with a phone camera or the scanner at /scan.


    Generate a lost-item card 

    Create a printable 4x6" card with a scannable barcode and verification token. Attach it to anything you want returned if lost.

    The barcode is a QR/Data Matrix composite — finders can scan it with any phone camera or the scanner at /scan.

    Input: SF128 identity (hex, fd53:… IPv6, or short code)

    Card layout 

    Front side:

    • Red header: "LOST"
    • Symbol strip with universal lost-item icons (bag, key, phone, headphones)
    • Labels: LUGGAGE, KEYS, PHONE, TECH
    • "REWARD" badge
    • Large scannable barcode (QR/DataMatrix composite)
    • "SCAN TO REPORT" with resolve URL
    • Identity bar showing the short code

    Back side:

    • Scan section with barcode and resolve URL
    • "IF YOU FOUND THIS, THANK YOU" header
    • Multi-language instructions:
      • EN: "Scan the code or visit the URL to notify the owner"
      • ES: "Escanee el codigo o visite la URL para notificar al propietario"
      • FR: "Scannez le code ou visitez l'URL pour notifier le proprietaire"
      • DE: "Scannen Sie den Code oder besuchen Sie die URL, um den Besitzer zu benachrichtigen"
      • ZH, AR, JA, PT translations
    • Footer: registrar.earth branding

    Generate a notebook 

    Create a printable serialized notebook. Each page carries a short code (AAAAA-BBBBB) in the upper corner, derived from a SHA-256 Merkle chain rooted in your SF128 identity. Every 32 pages, a checkpoint page lists the codes and chain hash.

    Configuration 

    SettingOptionsDefault
    StyleBlank, Ruled, Dot GridRuled
    Page sizeLetter (8.5 x 11 in), A4Letter
    Pages1-51264

    Page structure 

    Each page includes:

    • Corner code — A 10-character short code (AAAAA-BBBBB) in the upper corner, alternating left/right for odd/even pages
    • Page number — Below the corner code
    • DataMatrix barcode — Encoding the short code, scannable for verification
    • Content area — Ruled lines, dot grid, or blank depending on style selection

    Genesis page 

    The first page of every notebook is a genesis page containing:

    • Notebook title
    • SF128 identity (hex)
    • Canonical IPv6 address
    • Root hash — The SHA-256 root of the Merkle chain
    • Created — Timestamp
    • Pages — Total page count
    • A note explaining how verification works

    Checkpoint pages 

    Every 32 pages, a checkpoint page is inserted containing:

    • Page range covered (e.g. "Pages 1-32")
    • A grid of all page numbers and their short codes for that range
    • Merkle chain root — The SHA-256 hash of the chain at that point
    • A note: "This root can be independently re-derived from the SF128 identity and page count"

    Merkle chain 

    The hash chain works as follows:

    1. The root hash is SHA-256(sf128_hex) — derived directly from the identity
    2. Each page's hash is SHA-256(previous_hash + page_number)
    3. The short code for each page is derived from the page hash using Crockford Base32 encoding
    4. The chain is deterministic — given the SF128 identity and page number, anyone can re-derive and verify any page code

    This means:

    • A torn-out page can be verified as belonging to a specific notebook
    • Pages cannot be reordered or inserted without detection
    • Verification works offline with only the root hash and a SHA-256 implementation