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.

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

Sats only. There is no currency conversion anywhere in this app — that would need a price oracle, and an oracle is somebody else’s server. Price something in pesos by leaving the node field empty: it lists, it just has no Buy button.

Resized in your browser to 1200, 480 and 160px. The original is never uploaded.

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.