Lamppost
Author a yard-sale item. It is signed by your own signer, its photo goes to Blossom, its offer is minted on your own node over CLINK, and the listing goes to public relays. Nothing here has a server of ours behind it.
1 · Your signer
Nothing in this app ever sees your key. It asks your signer to sign, and your signer decides.
In Amber: Scan a QR Code.
We are asking for these permissions up front, which is what makes the whole publish
cost one approval instead of one per event:
If your signer asks you to approve every single signature, its policy discarded the request. In Amber that is the “Approve basic actions” sign policy — change it to either of the “Manually approve…” options and reconnect. Nothing is broken; it just costs one tap per kind instead of one in total.
Signed in as
2 · Your node optional
No node — items will publish as cash-only, with no Buy button.
Run node spike/authorize-manage.ts once, on the machine with your node, and
paste the line it writes. This pointer addresses your account, so it stays in this
browser — it is never published and never sent anywhere but your own node.
3 · The item
4 · Give the watcher its ladder
Every future stock state of this item is now signed and waiting. Your watcher publishes them as things sell, which is how it updates the sale while holding no key of yours at all. It cannot get them off a relay — publishing the sold-out one would mark the item sold immediately — so you carry them across.
5 · Publish the sale as a website
Your storefront is a handful of static files. They go to Blossom servers as blobs, and a signed manifest on the relays says which blob is which path. That manifest is the whole site: no host, no DNS, no certificate, no account. It is served at your own npub, which is how the page knows whose sale to read.
Any NIP-5A host will serve it — the gateway is only where you point people. Changing it changes the URL printed on the flyer’s tear-off tabs, so set it before you deploy.
Gateways cache for an hour and serve the previous version until it lapses, while the relays and Blossom update in seconds. Do not redeploy on the day of the sale.