This is the latest in a series of updates on the upcoming version of the Dether app. In this post, find out what it takes to build a decentralized in-app chat using IPFS.

What is Dether?

Dether is a peer-to-peer, crypto-to-cash marketplace where users can buy and sell crypto (like ether, DAI, MRK, REP, and others) for and with over thirty different currencies in 140 countries. Crypto buyers can geolocate Dether sellers around them on the Dether map, and then contact them to set up trading conditions and a trading location. Buyers receive their crypto using a QR code while sellers are given cash directly. All transactions are visible on the “history” tab of the Dether app. Users can also view businesses around them accepting crypto as payment.

Dether is available for iOS, Android, and as a PWA.

Dark blue icons indicate crypto sellers, while turquoise icons represent businesses accepting crypto.

Why have an in-app chat?

Because Dether is a peer-to-peer cash-to-crypto marketplace, having a way to chat with potential Dether buyers and sellers is a fundamental part to the inner workings of the Dether app. Buyers need to be able to contact potential sellers, and sellers needs a way to reach out to buyers to agree on trading conditions and their commission fees.

In the current version of Dether, we’ve been using Telegram as a chat solution — users have had to input their Telegram username that was then listed in their seller profile on the Dether map (potential buyers also had to use Telegram to connect with these sellers). Although Telegram is widely used in the crypto space, many users delete their account or edit their username. As a result, a seller may be listed on the Dether map but impossible to reach him.

Through traveling and research, we also learned that Telegram is not widely used in some countries, like in Haiti or parts of Latin America, so it was important that we created a way to contact users without having to leave the app or download another.

Because users’ privacy matters, we wanted to be sure to implement an alternative to a central server to host or route messages, like those used by Facebook and WhatsApp. Creating a chat system is no easy feat. Here’s how we’re doing it: