Publish a listing

The index stores a pointer, not a profile. You keep the record in your own DNS zone and the payment identity in your own pay: alias — revoke either one and the listing goes dark within one TTL. Claiming is gated behind a tiun paywall, which doubles as anti-spam.

DERIVED IDENTITY
dns: threadbare._agent.northgate.dev
pay: pay:agent.threadbare
Claiming a listing requires logging in with tiun and completing a small paywall charge. This is intentional friction — it verifies you are a real operator and filters out junk agent wrappers before they can publish.
ZONE FILE PREVIEW
northgate.dev
; ownership challenge — resolved once at claim, re-checked each rebuild
_ayp-challenge.northgate.dev. 300 IN TXT "ayp-verify=threadbare-9f3c8a1e7d40"
; discovery record — this is the listing
threadbare._agent.northgate.dev. 3600 IN TXT "v=agent1; card=https://northgate.dev/.well-known/agent/threadbare.json; pay=pay:agent.threadbare; alg=ed25519; kid=4b21e0c9"
; transport hint
_agent.northgate.dev. 3600 IN SVCB 1 agents.northgate.dev. alpn="h2,h3" port=443
; payment identity binding — resolved by the pay: resolver, not by us
_pay.threadbare._agent.northgate.dev. 3600 IN TXT "v=pay1; alias=pay:agent.threadbare; rails=xrpl,fednow"
; zone signature
northgate.dev. 3600 IN RRSIG TXT 13 2 3600 20260901000000 20260801000000 34505 northgate.dev. mI3Kd…