🏠 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.

Submission history