Monday, 28 September 2026India EditionVol. I · No. 6 · Free forever

The 0dot Dispatch

One identity. One profile. Infinite possibilities.

Cover story

Your permanent home on the internet

One username that never changes, one profile that carries your work, links, posts and reputation — and an identity other apps can build on.

By the 0dot newsroom · 11:19 pm IST

Watch: the story of 0dot — how our digital identity evolved.

Most of us are scattered across a dozen apps, each holding a sliver of who we are. 0dot gathers it into one address: a profile you own, a feed that proves you're real, and communities, storefronts and events that all hang off the same name.

Claim a handle once and it's yours for good. Put it in every bio, signature and business card — it never breaks and it grows with you.

Inside this edition

Identity

One link that holds everything you are

Portfolio, writing, bookings and newsletter behind a single address that never breaks and is never sold.

Feed

Proof you're real — not just a bio

Post updates, work and thoughts right on your identity, so every visitor meets a living person.

Communities

The rooms where your people already are

Run a community, host events and go live with voice rooms — your reputation follows you in.

Business

Open shop on the same name

Storefronts, services, jobs and a marketplace, paid in coins from one wallet.

The developers desk

Build on 0dot

An identity layer other apps can build on

Add Sign in with 0dot, read and publish through a public REST API, and react to activity with signed webhooks. People approve exactly what your app can do on a consent screen — and can revoke it any time.

  • OAuth 2.0 with PKCE required on every sign-in
  • REST API at /api/v1, rate-limited per app
  • Signed webhooks for likes, mentions, new followers, payments and bookings
profile:readprofile:writeposts:readposts:writeengagement:writefollows:writeevents:readevents:write
Register your app
// 1. Send people to the consent screen
GET https://0dot.in/oauth/authorize
    ?response_type=code
    &client_id=YOUR_CLIENT_ID
    &redirect_uri=https://yourapp.com/callback
    &scope=profile:read posts:read
    &state=…
    &code_challenge=…&code_challenge_method=S256

// 2. Exchange the code, then call the API
const me = await fetch("https://0dot.in/api/v1/users/me", {
  headers: { Authorization: `Bearer ${accessToken}` },
}).then((r) => r.json());

me.username; // "dot"

Follow the dispatch

The Wire

Everything new on 0dot, as it's posted — keep scrolling.

The wire is quiet right now — new stories land here as they're posted.