🏗️ Building a Tokenization Ecosystem: MyZubster Gateway × Singapore Real Estate
The Vision
"What if anyone could invest in prime Singapore real estate with just $500, using privacy-first payments, all powered by open-source infrastructure?"
That's exactly what we built.
Two projects, one ecosystem:
- MyZubster Gateway — The payment and order infrastructure
- Tokenization Singapore — The real estate tokenization platform
They work together to create a seamless, private, and inclusive investment ecosystem.
📍 Project Links
| Resource | Link |
|---|---|
| GitHub Repository | github.com/DanielIoni-creator/tokenization-singapore |
| Live API | api.my-zubster.com |
| Admin Dashboard | admin.my-zubster.com |
| Tor Onion Service | http://olqcnbdlt35k2stmmwvzhvuetu2fc4us2jnn5wg6y6wlcddihfmdomid.onion |
| Smart Contract (Sepolia) | 0x742d35Cc6634C0532925a3b844Bc454e4438f44e |
| Telegram | t.me/myzubster |
| @MyZubster |
🏢 Tokenization Singapore
What We've Tokenized
| Token | Symbol | Total Supply | Price | Status |
|---|---|---|---|---|
| Marina Bay Tower | MBFT | 8,000 | 1,000 SGD | ✅ Active |
| Singapore Real Estate | SRET | 10,000 | 1,000 SGD | ✅ Active |
Real Results
| Metric | Value |
|---|---|
| Tokens Minted | 18,000 |
| Tokens Sold | 2,470 (13.7%) |
| Total Raised | 2.47M SGD (≈ 1.85M USD) |
| Investors | 12 |
| Orders Processed | 34 |
| Orders Completed | 28 |
| Total Fees Earned | 94,500 SGD |
Smart Contract Features
The SingaporeRealEstateToken is an ERC-20 token with additional features:
- Whitelist: Only accredited investors can buy tokens
- Automatic Price: Fixed price per token (1000 SGD)
- Rent Distribution: SPV can distribute rental income to token holders
- Pausable: Owner can pause transactions in case of emergency
- ReentrancyGuard: Protection against reentrancy attacks
solidity
// Quick overview
contract SingaporeRealEstateToken is ERC20, Ownable, Pausable, ReentrancyGuard {
uint256 public constant TOKEN_PRICE = 1000 * 10**18; // 1 token = 1000 SGD
uint256 public maxSupply;
address public spvAddress;
mapping(address => bool) public accreditedInvestors;
function buyTokens(uint256 amount) external payable whenNotPaused onlyAccredited;
function distributeRent() external onlySPV;
function whitelistInvestor(address investor) external onlyOwner;
}
🎯 Why Monero?
Monero was chosen for its unique properties:
Feature Monero PayPal Bank Transfer
Micro-payments (€0.10) ✅ ❌ ❌
Privacy ✅ ❌ ❌
No bank account needed ✅ ❌ ❌
Global access ✅ ❌ ❌
Decentralized ✅ ❌ ❌
Low fees ✅ ❌ ❌
Subaddress support ✅ ❌ ❌
Privacy Features
Stealth addresses — One-time addresses per transaction
RingCT — Hides transaction amounts
Ring signatures — Hides which output is being spent
Subaddresses — Unique addresses per order
📊 API Overview
Authentication
Method Endpoint Description Auth
POST /api/auth/register Register a new user Public
POST /api/auth/login Login and receive JWT Public
GET /api/auth/profile Get user profile JWT
Tokens
Method Endpoint Description Auth
POST /api/tokens Create a new token Admin
GET /api/tokens List all tokens JWT
GET /api/tokens/:id/stats Get token statistics JWT
POST /api/tokens/:id/deploy Deploy smart contract Admin
Orders
Method Endpoint Description Auth
POST /api/orders Create an order JWT
GET /api/orders Get user orders JWT
PUT /api/orders/:id/confirm-payment Confirm payment Admin
PUT /api/orders/:id/complete Complete an order Admin
🤝 Contributing
We have 3 open bounties for contributors:
# Issue Bounty (XMR) Value (€)
#1 Token Balance Endpoint 0.05 XMR €10.00
#2 Email Notifications 0.05 XMR €10.00
#3 P2P Messaging System 0.07 XMR €14.00
How to Contribute
Check open issues for available tasks
Fork the repository
Create a new branch (git checkout -b feature/amazing-feature)
Commit your changes (git commit -m 'Add some amazing feature')
Push to the branch (git push origin feature/amazing-feature)
Open a Pull Request with a clear description
Include your Monero address in the PR for payment
Bounty Program
Type Bounty (XMR) Value (€)
Typo/Link Fix 0.0005 XMR €0.10
Warning/Comment 0.001 XMR €0.20
Test/README 0.003 XMR €0.60
Bug Fix 0.005-0.01 XMR €1.00-2.00
Feature 0.01-0.08 XMR €2.00-16.00
📈 Key Lessons Learned
What Worked Well
✅ Monero Integration — Subaddresses work perfectly for tracking payments
✅ Smart Contract Design — OpenZeppelin provided excellent security
✅ API Structure — Clean separation of concerns (routes, controllers, models)
✅ i18n Support — Multi-language made the platform more accessible
✅ JWT Authentication — Simple and effective role management
What We'd Do Differently
🔄 Better Documentation — Swagger/OpenAPI should have been there from day one
🔄 Docker First — Containerization would have made deployment easier
🔄 Webhooks Early — Event notifications would have improved integration
🚀 Getting Started
Prerequisites
Node.js: v18.x or higher
MongoDB: v5.0 or higher
Monero RPC: A running Monero wallet RPC
Ethereum Node: Infura or Alchemy endpoint
Installation
bash
# 1. Clone the repository
git clone https://github.com/DanielIoni-creator/tokenization-singapore.git
cd tokenization-singapore
# 2. Install backend dependencies
cd backend
npm install
# 3. Configure environment
cp .env.example .env
nano .env # Edit with your MongoDB URI, Ethereum RPC URL, and Monero RPC URL
# 4. Create admin user
node scripts/createAdmin.js
# 5. Start the server
npm run dev
The API will be available at http://localhost:3000.
🔮 The Future
MyZubster Gateway
Swagger/OpenAPI — Interactive API documentation
Docker — One-command deployment
PGP Encryption — Encrypted order data
Webhooks — Real-time event notifications
P2P Messaging — Investor communication
Mobile App — React Native for iOS/Android
Tokenization Singapore
Property #3 — Orchard Road (5,000 tokens)
Secondary Market — Token trading platform
Dividend Distribution — Automated rent distribution
Portfolio Analytics — Advanced investor metrics
Mobile App — Portfolio management
💬 Join the Discussion
GitHub Issues: Report a bug
Telegram: t.me/myzubster
Twitter: @MyZubster
Tor: http://olqcnbdlt35k2stmmwvzhvuetu2fc4us2jnn5wg6y6wlcddihfmdomid.onion
📜 License
MIT — Free for everyone to use, modify, and build upon.
🌟 Acknowledgments
OpenZeppelin for secure smart contract libraries
Monero for privacy-preserving payments
Ethereum for smart contract infrastructure
All contributors who help make this project better
"Not how much you give, but how many give it." — Spiccioli in Monero
Built with ❤️ by the MyZubster team.
Top comments (0)