Announcing Ditto
announcing-ditto
Alex Gleason
I create software that empowers people online. I'm vegan btw.
7 min read
A new version of Ditto is here! Ditto has been completely redesigned with themes, infinite content types, and more. Learn more about Ditto or check out the latest updates on ditto.pub.
It's finally here. After a year of work, I'm pleased to announce the first release of Ditto! 🎉
Ditto is a Nostr community server. It has a built-in Nostr relay, a web UI, and it implements Mastodon's REST API.
It has moderation. It has spam filters. It has NIP-05 self-service. It has quote posts, emoji reactions, and zaps. ⚡ The scope of this project is absolutely huge. It aims to take everything that's good about Mastodon and implement it on Nostr, with none of the downsides.
A huge thank you to OpenSats for sponsoring this project!
Soapbox on Nostr
One of the first things I wanted to do is make Soapbox work on Nostr. Soapbox is a polished UI for Mastodon that I started developing in 2019. It went on to become the web frontend for Truth Social in 2022. With Ditto, users of Nostr can use Donald Trump's preferred web interface to chat on Nostr — or, customize the design of the client to match your own vibe!

Try it out at ditto.pub!
50+ Mastodon Apps
Since Ditto implements the Mastodon API, it can work with any Mastodon app!

Viewing Nostr through the official Mastodon Android app.
Starting a Server
Ditto is designed to be easy for people to self-host. The goal is for people to build curated communities on many different domains.
Read the docs to set up your own server!
Usernames
Ditto offers self-service of NIP-05 names on the domain.
Users can request a name, and then admins will have the opportunity to approve or deny the request. If approved, the user will be granted the name, and their posts will be promoted throughout the UI.

Choose how to be identified on your home Ditto server
Domain Feeds
Ditto can display a feed of posts from any domain name. Check out nostrplebs.com or fiatjaf.com for examples.

Anyone with a NIP-05 on the server's domain shows in the Local Feed
Moderation
Each Ditto server can have a group of moderators and admins who manage the server. They can view reports, delete posts, and approve or reject users. Ditto offers the most robust moderation tools of any Nostr relay I'm aware of.

Sample admin report queue on Ditto
Spam Filters
Ditto has a policy plugin system that allows people to write custom scripts in TypeScript to reject any event. Check out Ditto Moderation Policies for more information!
Trends
Ditto analyzes the events in your database and generates trends. It tracks trending hashtags, users, and posts to improve discoverability.
Since the data is public, any client can utilize it. For example, Coracle custom feeds have already been implemented using Ditto trends!

Trending posts and people on ditto.pub
Search
Ditto ships with full-text search enabled in Postgres, helping users quickly find people and posts. Users of Mastodon and Pleroma will be happy to see search functionality that actually works. 😂

Searching "ditto" on Ditto
Zaps
Zaps, small Bitcoin transactions sent over the lightning network, have become central to the Nostr ecosystem. Ditto implements zaps on user profiles and posts. In future releases, we plan to add optional zaps to the selfservice NIP-05 username system, allowing Ditto admins to monetize their platforms. New to zaps? Read our Zapping 101 guide to get started.

Zap on Ditto
Nostr Relay
Each Ditto server exposes a Nostr relay at /relay.
This is a fully-featured relay, with careful support for NIP-01 and much more, including NIP-50 search filters, deletions, COUNT's, and custom tag indexes.
Media Attachments
Ditto supports various options for uploading media, including:
- nostr.build
- IPFS
- Blossom
- S3 (or any other S3-compatible service)
Check the docs for more information.
Fully Customizable Themes
Ditto allows admins to feature help define their server's unique identity adding custom themes and logos. Define your entire color scheme through a single hex code, applicable seamlessly across both light and dark themes. Or, manually select each color for maximum personalization!

Custom theme editing on Ditto
Technical Overview
Ditto is built in Deno with TypeScript. It's basically a REST API with a built-in Nostr relay. This is the same design as Mastodon and Pleroma, replacing ActivityPub with Nostr.
Under the hood it uses Postgres. And it was built for and with Nostrify.
Signing Events
Users on Nostr control their own private keys, allowing them to sign into any client. Authorization in Ditto is done through NIP-46 remote signing, so users keys never directly touch Ditto.
Even Soapbox implements NIP-46 so it can act as the remote signer. Keys may be stored in the browser, or in a browser extension like Alby for the best security.
Ditto signs events with NIP-46. Learn more.
Flagship Ditto Communities
The most important thing about Ditto is the ability for people to freely build, manage, and monetize their communities on Nostr. This is why the Fediverse has continued to thrive for over a decade despite the limitations of the protocol. We're lauching Ditto with three flagship servers to kickstart community development:
ditto.pub
Ditto.pub is the official flagship server of Ditto, running the stable latest version. It is open to anyone, with light moderation. We welcome curious Nostr and Fediverse users to reserve their free username on Ditto now!
henhouse.social
Henhouse.social is a women-only Ditto community opperated by M. K. Fain, owner of the largest feminist server on the Fediverse. This server will prioritize building community among women, while remaining connected to the larger Nostr community.
gleasonator.dev
Gleasonator.dev is the primary development server for Soapbox and Ditto. Join it to test out all the latest features before they are launched to the public!
Creator Program
The Ditto Creator Incubator empowers emerging creators by providing them with resources, support, and exposure to build and monetize their social community on Nostr. The program offers creators a unique opportunity to focus on their content without the constraints of traditional social media algorithms and censorship. Participants receive personalized onboarding, support for setting up Bitcoin micropayments with lighting, and promotion across multiple channels.
Apply to the Ditto Creator Incubator →
What Next?
This early release includes everything that we think is important to make Ditto what it is. However, we know we still have a lot to improve and exciting ideas for the future! Here's our to do for the forseeable future:
Improvements
- Bug and UX improvements
- Performance and stability
- Improve compatability with Mastodon apps
- Fix server downtime when relays restart
- Improve Alby support for multiple accounts
- View all known issues →
New Features
- Buy NIP-05 usernames with zaps
- Improve support for Mastodon apps
- Digital item shop for profile customization
- Direct Messages
- Submit a feature request on Gitlab →
Mentorship
Supporting the growth of the open source development community is at the heart of our work at Soapbox. I am very proud that this past year has enabled me to provide mentorship to two young software developers, Patrick dos Reis of Brazil and shantaram of India. Their contributions in the past few months have been immeasurable, and I could not be more grateful to have them on the Soapbox team. Want to get involved? Learn more about mentorships at Soapbox.
Special Thanks
I would like to give a special thanks to everyone who has made this past year possible: fiatjaf, for all your advice and support; the Soapbox community for being my early testers; and the generous people of the Nostr and Bitcoin community for allowing me to do this work. And, finally, a very special thanks to my wonderful, beautiful, kind, smart, and funny wife for all of her love, patience, and work to help my dreams come true. 😘
Read also
1
Let's compare Bluesky and Nostr to see how they stack up.
2
Today I'm pleased to announce that Soapbox has been awarded a grant by OpenSats to build out Ditto, our new project to p…

3
Threads has begun testing federation over ActivityPub. And they have blocked two important servers I administrate. The f…

Want to publish here too? No sign-up, and the text stays yours. Learn how to start
Replies (0)
Loading…
