Inspiration
We wanted to explore what messaging could look like when users actually own their digital identity. Most messaging apps rely on phone numbers, emails, or centralized accounts, while blockchain apps often expose too much. We wanted something in between — private, simple, and usable.
What it does
Vale is a privacy-focused messaging platform. Users connect their wallet, create a private discovery identity, find other users, send message requests, and chat in real time. Midnight is used for identity registration and verification, while normal messages stay off-chain.
How we built it
We built Vale as a web-based messaging platform with a real-time off-chain chat layer and a Midnight-powered identity layer. Our smart contract handles identity registration, commitments, and verification, while the backend handles discovery, message requests, and real-time messaging.
Challenges we ran into
The biggest challenge was figuring out how to use Midnight for meaningful privacy and verification without making the messaging experience complicated. We also had to separate what actually needs blockchain verification from what should simply happen off-chain.
Accomplishments that we're proud of
We’re proud that we built a working messaging experience around Midnight rather than just making a blockchain demo. Users can create an identity, discover another user, send a request, and have a real-time conversation. Our contracts also compile successfully and are deployed on Preprod.
What we learned
We learned that blockchain doesn’t need to be visible everywhere in a product. Midnight can work quietly in the background as a privacy and verification layer while the user gets a familiar messaging experience.
What's next for Vale
Next, we want to take Vale beyond messaging. We see conversations becoming a place for private polls, proof requests, confidential offers, and other verifiable interactions — all while giving users control over what they reveal.
Built With
- css
- html
- javascript
- midnight
- next.js
- node.js
- react
- socket.io
- solidity
- typescript
Log in or sign up for Devpost to join the conversation.