🏠 BrickChain – Tokenization dApp

Vision

Buying and selling property today is slow, paperwork-heavy, and dependent on multiple middlemen. BrickChain reimagines real estate as digital, fractional tokens — making property trading as simple as sending crypto.

  • Fractional Ownership → Anyone can invest in property shares.
  • Private Transfers → Shielded transactions ensure balances stay hidden.
  • Verifiable Proofs → Zero-knowledge cryptography binds ownership to wallets, without exposing sensitive documents.

With Midnight, we balance privacy, compliance, and simplicity — laying the foundation for a global property marketplace.


🔑 How We Use Midnight

  • Zero-Knowledge Proofs (ZKPs): Owners prove legitimacy without revealing full registry data.
  • Shielded Transactions: Property fractions (tokens) can be exchanged privately.
  • Selective Disclosure: Owners show regulators only the proofs they choose (e.g., “I own 20% of Property123”).

👉 Midnight = privacy-first property trading.


🧩 Flow

  1. Register Property → Upload doc → hash stored on-chain → ZK proof links wallet to property.
  2. Tokenize Assets → Smart contract mints fractional tokens → 100% allocated to owner.
  3. Transfer Ownership → Shielded transfer sends tokens privately to buyers.
  4. Verify Ownership → ZK proof confirms % ownership, without exposing other holdings.

⚙️ Tech Stack

  • Smart Contracts: Midnight Compact (TypeScript DSL)
  • ZK Proofs: Midnight-primitives
  • Frontend: React + Midnight.js SDK
  • Backend: Node.js/Express (for API wrappers)
  • Storage: IPFS / local DB (demo only)
  • Hashing: SHA-256

💡 Why It Works

  • Property becomes liquid, tradable, and accessible.
  • Small investors can buy fractions of real estate.
  • Privacy + compliance ensured through ZKPs and selective disclosure.

😤 Challenges We Faced

  • New DSL Struggles: Midnight’s Compact language was exciting but tough — limited docs meant lots of trial and error.
  • Folder Structure Chaos: Getting contracts, frontend, and backend aligned properly took multiple refactors.
  • Learning Curve: Entering a domain-specific blockchain + ZKP world from scratch was steep, but rewarding.

🏗 What We Built

Not just a demo — we built a full-fledged dApp:

  • Upload property docs → hash + register.
  • Mint and allocate tokens as property shares.
  • Private transfers via shielded contracts.
  • On-demand ZK ownership proofs.

🎯 Final Pitch

BrickChain makes real estate trading fast, private, and verifiable. With Midnight, we bring privacy-first tokenization — creating a future where buying and selling property is as seamless as sending tokens.

Built With

+ 2 more
Share this project:

Updates

posted an update

The journey to build BrickChain was a true hackathon marathon. For 48 hours, our team worked relentlessly, fueled by passion and very little sleep. We wrestled with a new and complex technology stack, and the documentation was a challenge to navigate, leading to a constant stream of errors. But with each bug we fixed, we learned more, and in the end, we were able to pull it all together. Shipping a project that works this smoothly after such a struggle is an incredible feeling.

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

posted an update

We have successfully completed the (CLI), and I'm pleased to report that all 15 test cases are passing. and core functionalities are working correctly, with just a few minor bug fixes remaining.

Token Operations: mints tokens correctly, transfers tokens correctly, burns tokens correctly, pauses and unpauses token, fails to mint when paused, fails to transfer with insufficient balance.

Property Operations: registers property correctly, tokenizes registered property, transfers ownership, deactivates property.

Validation Checks:fails to mint zero amount, fails to burn zero amount, fails to tokenize unregistered property, fails to re-register property, initializes correctly.

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

posted an update

We are done with structuring the project folder and proper infra is done .. it was really time taking and put a lot of our hard work cuz it's so tricky. a lot of things aren't clear in docs or hard to find/comprehend and the code examples of other Dapps we saw doesn't have good structure either

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