Settings
๐ข
The Property
โ
| Appraisal | โ |
| Shares | โ |
| Issued | โ |
| Status | โ |
| Your shares | โ |
| Your KYC | โ |
๐ธ
Rental Distributions
| Total rent received | โ |
| Pending pool | โ |
| Epochs | โ |
| Your claimable | โ |
| Maintenance fund | โ |
๐
Management
๐
How this dApp works
How to use
- Connect your wallet โ press Connect Wallet (top-right). The dApp targets Sepolia testnet, so switch your wallet to Sepolia first.
- Read The Property card: appraisal, share supply, your balance and your KYC status.
- Transfer shares: enter a whitelisted investor address and an amount, then press Transfer โ both sides must be KYC-whitelisted.
- Pay rent: in Rental Distributions, enter an AED-S amount and press Pay rent โ the dApp approves the stable token automatically.
- Press Distribute pool to open a distribution epoch, then Claim my yield to withdraw your pro-rata rent.
- Managers & regulators: use Management to file appraisals, whitelist or revoke KYC, freeze the property, spend maintenance and tune the reserve.
The process โ what happens on-chain
- The manager registers the building in RERAPropertyRegistry via registerProperty() โ name, appraisal and total shares create the on-chain property ledger.
- Compliance whitelists investors (setWhitelisted()) and the manager issues fractional shares (issueShares()); every balance is checkpointed per block for a provable history.
- Rent is paid in the AED-pegged MockStable through RentalDistributor.payRent() โ the reserve ratio is withheld into the maintenance fund, the rest joins the pending pool.
- Anyone calls RentalDistributor.distribute() โ the pending pool becomes a new epoch with a snapshot block and a per-share rate.
- Holders call RentalDistributor.claim(), which reads RERAPropertyRegistry.getPastBalance() at each epoch's snapshot block โ shares sold later can never take earlier income.
Flow graph
Rent path: reserve withheld โ pending pool โ snapshot epochs โ pro-rata claims โ all on Sepolia.