Розробка блокчейн-рішення для нерухомості
Нерухомість — один із секторів з найбільшим розривом між маркетинговим гайпом «токенізації всього» та реально працюючими продуктами. Причина проста: права на нерухомість регулюються юрисдикційним правом, а блокчейн — це технологія, не юрисдикція. NFT сам по собі не є правоустанавлюючим документом ні в одній країні світу, якщо це не закріплено законодавством.
Тому перше питання при розробці такого рішення — не «який блокчейн вибрати», а «яка правова оболонка». Без неї будь-яка токенізація — це токен, який представляє зобов'язання компанії, а не саме право на об'єкт. Це security token з відповідним нормативним режимом.
Правові моделі токенізації
SPV (Special Purpose Vehicle)
Найпоширеніша робоча схема: створюється юридична особа (LLC, GmbH, ООО залежно від юрисдикції), яка володіє об'єктом нерухомості. Токени представляють частки в цьому SPV — тобто equity в компанії, а не прямо право на об'єкт. Це дозволяє:
- Передавати «права на об'єкт» через передачу токенів без переареєстрації об'єкту
- Ділити об'єкт на будь-яку кількість акціонерів
- Автоматизувати розподіл дохідю від оренди
Нормативна класифікація: частки в компанії — це securities більшості юрисдикцій. Потрібна Regulation D (США), проспект емісії (ЕС), або робота в sandbox юрисдикціях.
Прямої реєстрація прав на нерухомість
У деяких юрисдикціях (Грузія, UAE DIFC, деякі штати) експериментують з прямою реєстрацією прав через блокчейн. Це рідкість, але якщо клієнт працює в такій юрисдикції — архітектура змінюється: токен має прямо правове значення.
Боргові інструменти
Токенізація іпотечних займів або REIT-подібних структур — окремої категорія. Блокчейн використовується для вторинного ринку та автоматичного обслуговування боргу.
Архітектура токена нерухомості
Токен нерухомості — це ERC-1400 (Security Token Standard) або ERC-3643 (T-REX), не ERC-20. Різниця принципова.
ERC-3643 (T-REX) — найпоширеніший стандарт для security tokens в ЕС та інших місцях:
// Спрощена структура T-REX
interface IERC3643 {
// Трансфер можливий тільки між верифікованими інвесторами
function transfer(address _to, uint256 _amount) external returns (bool);
// Примусовий трансфер для compliance (freeze, recovery)
function forcedTransfer(address _from, address _to, uint256 _amount) external returns (bool);
// Заморозити конкретного інвестора (суд, compliance вимога)
function freezeAddress(address _userAddress, bool _freeze) external;
// Восстановлення токенів (втрата ключів, судове рішення)
function recoveryAddress(
address _lostWallet,
address _newWallet,
address _investorOnchainID
) external returns (bool);
}
Ключова особливість: кожна адреса-одержувач повинна бути верифікована через ONCHAINID (ERC-734/735) — on-chain ідентичність з прив'язаними claim'ами (KYC пройдений, акредитований інвестор, резидент дозволеної юрисдикції).
// Identity Registry перевіряє кожен трансфер
contract IdentityRegistry {
// mapping: wallet address => ONCHAINID contract address
mapping(address => IIdentity) private _identities;
function isVerified(address _userAddress) external view returns (bool) {
IIdentity identity = _identities[_userAddress];
if (address(identity) == address(0)) return false;
// Перевіряємо наявність необхідних claims (KYC, jurisdiction, тощо)
return _claimTopicsRegistry.hasAllRequiredClaims(identity);
}
}
Реєстр об'єктів нерухомості
On-chain реєстр об'єктів зберігає ключові параметри, посилання на юридичну документацію:
struct PropertyRecord {
bytes32 propertyId; // унікальний ID
bytes32 legalEntityCID; // IPFS CID устава SPV
bytes32 titleDocumentCID; // IPFS CID правоустанавлюючого документа
address tokenContract; // ERC-3643 токен
uint256 totalTokenSupply; // загальна кількість токенів
uint256 tokenPriceUSD; // ціна токена в USD (в stablecoin)
PropertyStatus status; // OFFERING, ACTIVE, EXITED
uint256 valuationTimestamp; // коли проводилась оцінка
int256 valuationUSD; // остання оцінка об'єкту
}
enum PropertyStatus { OFFERING, FUNDED, ACTIVE, EXITING, EXITED }
Розподіл доходу: автоматизація
Дохід від оренди — це основна цінність для інвесторів у токени доходної нерухомості. Автоматизація розподілу — одна з ключових функцій смарт-контракту.
Паттерн: Dividend distributor з snapshot-механізмом (аналогічно ERC-20Snapshot, але для security tokens).
contract RentDistributor {
IERC3643 public propertyToken;
IERC20 public paymentToken; // USDC/USDT
mapping(uint256 => uint256) public snapshotTotalSupply;
mapping(uint256 => uint256) public snapshotRentAmount;
mapping(address => mapping(uint256 => bool)) public claimed;
uint256 public currentDistributionId;
// Управляючої компанії депонує аренду
function depositRent(uint256 amount) external onlyManager {
paymentToken.transferFrom(msg.sender, address(this), amount);
uint256 distId = ++currentDistributionId;
snapshotTotalSupply[distId] = propertyToken.totalSupply();
snapshotRentAmount[distId] = amount;
// Снапшот балансів через ERC-1400 checkpoint механізм
propertyToken.snapshot();
emit RentDeposited(distId, amount, block.timestamp);
}
function claimRent(uint256 distributionId) external {
require(!claimed[msg.sender][distributionId], "Already claimed");
uint256 balance = propertyToken.balanceOfAt(msg.sender, distributionId);
uint256 share = (balance * snapshotRentAmount[distributionId])
/ snapshotTotalSupply[distributionId];
claimed[msg.sender][distributionId] = true;
paymentToken.transfer(msg.sender, share);
emit RentClaimed(msg.sender, distributionId, share);
}
}
Важливий нюанс: управляючи компанія депонує аренду вручну (fiat → USDC через off-ramp, потім у контракт). Повністю автоматизувати неможливо — орендар платить fiat, не crypto.
Вторинний ринок та ліквідність
Токени нерухомості — illiquid за природою. Вторинний ринок — це окрема проблема.
On-chain orderbook для security tokens вимагає, щоб і buyer, і seller пройшли KYC. Це означає compliance check при кожному матчингу ордерів. Більшість DEX не підтримує це out-of-the-box.
Рішення:
-
Permissioned AMM — fork Uniswap v3 з whitelist перевіркою в
beforeSwaphook (Uniswap v4 hooks роблять це нативно). Тільки верифіковані адреси можуть свапати. - OTC-брокер on-chain — смарт-контракт escrow для P2P угод між верифікованими інвесторами з автоматичною перевіркою ідентичності перед виконанням.
- Off-chain matching + on-chain settlement — класичний підхід: ордери матчаться off-chain, settlement on-chain через transfer з compliance check.
Оракули та оцінка
Вартість нерухомості не береться з on-chain джерел — це off-chain дані. Паттерн інтеграції:
- Оцінщик (licensed appraiser) проводить оцінку, підписує документ
- Документ публікується в IPFS, CID + вартість + timestamp публікується on-chain через Chainlink Functions або власний оракул з мультисигом оцінщиків
- Контракт використовує останню верифіковану оцінку для розрахунку
tokenPriceпри первинному розміщенні
Стек та інтеграції
| Компонент | Рішення |
|---|---|
| Token standard | ERC-3643 (T-REX) + ONCHAINID |
| Blockchain | Ethereum mainnet / Polygon / Gnosis Chain |
| Identity | ONCHAINID, Synaps, Fractal |
| KYC provider | Sumsub, Veriff |
| Document storage | IPFS (Pinata/Web3.Storage) + Arweave |
| Stablecoin | USDC (Circle) |
| Off-ramp | Bridge.xyz, Stripe Crypto |
| Secondary market | Permissioned AMM або OTC escrow |
Розробка блокчейн-рішення для нерухомості — це проект на перехресті юридичної структури, compliance технологій та смарт-контрактів. Технічний стек — лише третина роботи. Без правової архітектури та KYC/AML інфраструктури токен не має ні юридичної сили, ні ринкової ліквідності.







