One HTTP call, a signed answer, and a rule that fits in a sentence: if an address ends in a recognised TLD, ask the resolver. Level 1 ships in five lines; full verification is ~15.
Zero-dependency verified client, integration guide, and the signature test vector: sns.ordnet.io/skill.md · sns.ordnet.io/sns-client.js
The wallet flow (ODNCA-STD-001 §9): normalize → resolve → verify the signature against the pinned key → check expires → check the current outpoint unspent → disclose fallback inline → pay holder_script.
Two duties every honest client carries: exclude 1-sat inscription ordinals from spendable coin selection (a payment must never consume someone’s inbox), and visually mark non-ASCII or mixed-script names.
Key pinning: pin on first use, treat GET /pubkey as the live authority, accept rotations only when signed by the predecessor key.
Each block links to the standard that freezes it.
Fixed serialization, double-SHA256, secp256k1 DER — with a published sighash test vector your implementation must reproduce exactly.
NAMESThe registration form, normalization, and validity rules — with 19 vectors from alex.web3 to the edge cases.
REGISTRATIONAvailability, the claim lock, the issuer-signed record, same-transaction direct payment, and the honest propagation window.
SCHEMESName links, QR codes, and on-chain content in mutable (ord://name.web3) and permanent (ord://<txid>) forms.
CHANNELSThree native on-chain channels instead of a record model — including the full mail envelope wire format.
LOOKUPFour honest statuses, reverse lookup, and the RDAP mapping for existing domain tooling.