Ditto is a self-hosted Nostr community platform by SoapBox that doubles as a full Nostr web client. It's accessible at ditto.pub and offers one of the most polished web-native Nostr experiences available.
What makes Ditto unique is that it implements the Mastodon API, meaning you can log in and post to Nostr from any of the 50+ Mastodon apps. This bridges two decentralized worlds seamlessly.
Features
- Built-in Nostr Relay — NIP-01 compliant, fully self-hostable
- Mastodon API Compatibility — Use Mastodon, Feditext, or any Mastodon app with Nostr
- 27+ Content Types — Text, images, video, polls, and more
- Lightning Zaps — Built-in Bitcoin tips, with zap receipts decoded
- NIP-05 Identity — Self-service usernames like user@ditto.pub
- Full-Text Search — Postgres-backed search across the network
- Trending Content — Explore tab with trending hashtags, users, and posts
- Custom Themes — Fully customizable UI with light/dark mode
- Robust Moderation — TypeScript policy plugins, admin teams, spam filters, rate limiting
- IPFS Media — Supports local, IPFS, and S3-compatible storage
- Prometheus Metrics — For relay performance monitoring
- Curated Communities — Local feeds with curated discovery
- Language Detection — Multilingual support with DeepL parsing
Why It Matters for Nostr
Ditto bridges the Nostr protocol and the Mastodon/Fediverse ecosystem. Mastodon users can interact with Nostr content without even knowing what Nostr is. For existing Nostr users, Ditto offers a modern, fast, feature-rich web client that rivals native apps like Damus and Amethyst.
Its self-hosted nature means communities can run their own Ditto instance with their own relay, moderation policies, identity system, and branding — truly owning their corner of the social web.