-
-
PolkaSafe Web3 login with MetaMask wallet connection for secure messaging"
-
Encrypted message inbox with one-click decryption using private keys
-
create new message, image upload and blockchain encryption
-
Decrypted message view showing end-to-end encrypted content"
-
Sent messages interface with delivery status and encryption history
Inspiration
Privacy is a fundamental right, not a privilege. We built PolkaSafe because centralized messaging platforms can censor, monitor, and control user communications. Our vision: messaging that users truly own - no servers, no surveillance, no single points of failure.
What it does
PolkaSafe Enables
- Secure Messaging – Encrypted text messages stored on-chain; only recipients can decrypt
- Image Sharing – Encrypted image uploads through IPFS integration
- Self-Custody – Users control private keys via MetaMask; zero third-party access
- Censorship Resistance – On-chain messages cannot be deleted or blocked by authorities
- Cross-Chain Ready – Built on the Polkadot ecosystem for multi-blockchain compatibility
- Zero Servers – Fully decentralized; no central servers to shut down or compromise
- Professional Use – Secure document exchange for lawyers, doctors, journalists, and activists
Key Features:
- 500KB message capacity per transaction
- Client-side encryption (ECIES)
- Public key registry for secure communication
- Dual storage system (IPFS + Base64 fallback)
- Web3 authentication via wallet connection
How we built it
Frontend Layer:
- Next.js 15 + React 19 + TypeScript application
- MetaMask wallet integration
- User interface for messaging
Blockchain Layer:
- Solidity smart contract on Moonbase Alpha testnet
- Message storage and retrieval functions
- User public key registry
- Event emission for message tracking
Storage Layer:
- IPFS for decentralized image storage
- Base64 fallback storage in smart contract
- Encrypted message content
Data Flow Arrows showing:
- User → Next.js Frontend → MetaMask (encryption)
- MetaMask → Smart Contract → Moonbase Alpha (storage)
- Images → IPFS → Base64 fallback
- Blockchain events → Frontend (real-time updates)
- Recipients → MetaMask (decryption) → Readable messages
Tech Stack
- Polkadot – blockchain interoperability
- Web3.js / Polkadot.js – wallet connection
- Client-side cryptography – security without compromises
- Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
- Storage: IPFS for images, on-chain for messages (500KB capacity)
Challenges we ran into
- Gas Optimization – Initial contract exceeded gas limits; redesigned storage for efficient 500KB message handling
- Encryption UX – Balanced strong security with smooth user experience using MetaMask’s native encryption
- IPFS Reliability – Node inconsistency issues solved via dual-storage architecture with Base64 fallback
- Web3 Onboarding – Made blockchain messaging accessible even for non-crypto users
Accomplishments that we're proud of
- True Decentralization – Zero centralized components; fully Web3 architecture
- Seamless UX – A Web3 messaging experience that feels like Web2
- 500KB Message Capacity – Optimized smart contract for large content storage
- Multi-format Support – Encrypted text messages + image uploads
- Production Ready – Deployed and tested on Moonbase Alpha testnet
What we learned
- Smart Contract Optimization – Balancing gas efficiency with rich functionality
- Client-side Encryption – Implementing ECIES without sacrificing usability
- IPFS Integration – Addressing decentralized storage reliability challenges
- Polkadot Ecosystem – Unlocking the benefits of blockchain interoperability
- Web3 Philosophy – True ownership means removing all centralized dependencies
What's next for PolkaSafe
- Mobile apps (iOS & Android)
- Enhanced file type support (documents, videos)
Long-term Vision:
- DAO governance for community-driven decisions
- Zero-knowledge proofs for enhanced privacy
- Enterprise features for organizations
- Cross-platform desktop applications
Contract: 0xE48b7351ea11A366509203C508E0222D3B428a34 (Moonbase Alpha)
Built With
- ecies
- ethers.js
- hardhat
- ipfs
- metamask
- moonbase
- next.js
- openzeppelin
- solidity

Log in or sign up for Devpost to join the conversation.