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

diagram-export-11-18-2025-3-22-27-AM.png

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:

  1. User → Next.js Frontend → MetaMask (encryption)
  2. MetaMask → Smart Contract → Moonbase Alpha (storage)
  3. Images → IPFS → Base64 fallback
  4. Blockchain events → Frontend (real-time updates)
  5. 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
Share this project:

Updates