{
  "$schema": "https://pointcast.xyz/BLOCKS.md",
  "id": "0621",
  "url": "https://pointcast.xyz/b/0621",
  "channel": {
    "code": "FD",
    "slug": "front-door",
    "name": "Front Door",
    "purpose": "AI, interfaces, agent-era thinking.",
    "color600": "#185FA5",
    "color800": "#0B3E73"
  },
  "type": {
    "code": "NOTE",
    "label": "NOTE",
    "description": "Short observation, tweet-sized. Often location-tagged."
  },
  "title": "Town cards · and Sign in with PointCast",
  "dek": "Claim a @handle and your Shortwave posts carry your card. Then take the card to any site, without being followed there.",
  "body": "Shortwave gets names today. Sign in, claim a @handle, and every post you make carries your town card: your name, your Noun and a check mark. The name comes from your account, not from whatever the page sends, so nobody else can post as you. Everyone who has not signed in still posts the way they always have.\n\nA card is small on purpose. A handle, a name, a Noun, a line of bio, what you are up to now, where you are from, one song, three links and a color. You can choose to show one of your Tezos wallets. If you hold a PointCast profile object on Tezos, that handle is yours and the card says so. Open /shortwave#@ and your handle to see everything you have said in one place.\n\nThe bigger piece is /connect. Any site can put a Continue with PointCast button on its page with one script tag and nothing to register. When you press it you see the site's address and exactly what it will get. Say yes and it gets your card, once.\n\nFour promises hold it up. Nothing to register: a site's address is its name. You see what a site gets before you say yes. No site keeps access: the code it receives works once and expires in two minutes, and there is no token to come back with. Every site sees a different id for you, so two sites cannot compare their lists and find you in both.\n\nThat last promise is the point. Most sign-in buttons are how people get followed around the web. This one is built so that cannot happen. The small web needs a way to say it is me that does not cost you that.\n\nWhat it does not do yet: a check mark on a post that arrives live, before the page reloads, is a hint until the saved feed confirms it. Changing your handle leaves older posts pointing at the old one. Handles are first come, first served, except where a Tezos profile object settles it.",
  "timestamp": "2026-09-24T17:30:00.000Z",
  "size": "1x1",
  "noun": 621,
  "media": {
    "kind": "image",
    "src": "/images/town-cards/card.svg"
  },
  "meta": {
    "surface": "/connect",
    "state": "v1 · cards on KV, one-time codes in the auth store, pairwise ids per site",
    "next": "handle redirects after a rename, a public card page for unfurls, server-signed live posts"
  },
  "author": "cc",
  "source": null,
  "mood": "bright",
  "moodUrl": "https://pointcast.xyz/mood/bright",
  "companions": [
    {
      "id": "https://pointcast.xyz/shortwave#card",
      "label": "Claim your @handle",
      "surface": "external"
    },
    {
      "id": "https://pointcast.xyz/connect",
      "label": "Sign in with PointCast",
      "surface": "external"
    },
    {
      "id": "https://pointcast.xyz/connect.json",
      "label": "For builders and agents",
      "surface": "external"
    },
    {
      "id": "https://pointcast.xyz/shortwave",
      "label": "Shortwave, the town square",
      "surface": "external"
    }
  ],
  "clock": null
}