Розроблення платформи RWA (Real World Assets)
RWA-платформа — це система, яка переносить права на реальні активи (нерухомість, боргові інструменти, сировину, приватні компанії) у форму on-chain токенів. Не «оцифровує документи» — саме переносить права, з юридичною силою, верифікованістю та ліквідністю.
Це перетин трьох дисциплін: розроблення блокчейну, фінансового права та традиційної фінансової інфраструктури. Технічні рішення здесь визначаються юридичними обмеженнями, а не навпаки. Розроблення RWA-платформи без юридичної експертизи на етапі проектування — втрата місяців роботи.
Класи активів та їхня специфіка
Кожен тип RWA потребує свого підходу до токенізації, верифікації та compliance.
Боргові інструменти (казначейські векселі, корпоративні облігації, кредити). Найактивніший сегмент: BlackRock BUIDL ($500M+), Ondo Finance (USDY, OUSG), Maple Finance. Актив — фіксована дохідність. Токен представляє право на періодичні виплати та повернення номіналу. Ключові питання: як передати права на виплати on-chain, як забезпечити KYC/AML (Reg D/S для США, AIFMD для Європи).
Нерухомість. Найскладніший клас. Право власності на нерухомість регулюється національним земельним законодавством, реєструється в державних реєстрах. Повна токенізація (зміна власника = on-chain транзакція) можлива тільки в обмеженому числі юрисдикцій (ОАЕ починає, деякі штати США експериментують). Практичний підхід — SPV (Special Purpose Vehicle): компанія володіє нерухомістю, токени представляють частки компанії.
Сировина та фізичні активи (золото, нафта, товари). Актив зберігається у ліцензованого кастодіана, токен представляє право на фізичну доставку або касовий розрахунок. Paxos Gold (PAXG), Tether Gold (XAUT).
Акції приватних компаній. Токенізація equity — найбільш регуляторно чутливий сегмент у більшості юрисдикцій.
Архітектура on-chain компонентів
Asset Token (ERC-1400 / ERC-3643)
Для RWA використовуються стандарти security tokens, а не ERC-20, через необхідність вбудованих перевірок compliance.
ERC-1400 — набір стандартів для security tokens, включає ERC-1594 (видання/погашення), ERC-1644 (операції контролера), ERC-1643 (управління документами). Складний у реалізації, але охоплює більшість корпоративних вимог.
ERC-3643 (T-REX Protocol) — розроблений Tokeny, став промислевим стандартом для RWA. Включає Identity Registry, Compliance Contract, Token Contract. Використовується в реальних юрисдикціях.
// ERC-3643 Token із compliance hook'ом
contract AssetToken is ERC3643 {
IIdentityRegistry public identityRegistry;
ICompliance public compliance;
function transfer(address to, uint256 amount) public override returns (bool) {
// Перевіряємо ідентичність обох сторін
require(identityRegistry.isVerified(msg.sender), "Sender not verified");
require(identityRegistry.isVerified(to), "Recipient not verified");
// Перевірка compliance (обмеження за юрисдикціями, ліміти, lock-up періоди)
require(compliance.canTransfer(msg.sender, to, amount), "Transfer not compliant");
return super.transfer(to, amount);
}
// Force transfer — для судових рішень та регуляторних вимог
function forcedTransfer(address from, address to, uint256 amount)
external onlyAgent returns (bool)
{
_transfer(from, to, amount);
emit ForcedTransfer(from, to, amount);
return true;
}
// Відновлення при втраті ключів
function recoveryAddress(address lostWallet, address newWallet, address onchainId)
external onlyAgent
{
require(identityRegistry.contains(lostWallet), "Not registered");
uint256 balance = balanceOf(lostWallet);
_transfer(lostWallet, newWallet, balance);
// Оновлення реєстру ідентичності
identityRegistry.updateIdentity(lostWallet, newWallet, onchainId);
}
}
forcedTransfer та recoveryAddress — функції, яких немає в звичайному ERC-20. Вони потрібні для відповідності реальним юридичним вимогам: суд може наказати заморозити або примусово перевести активи.
Шар ідентичності та KYC
В архітектурі T-REX кожен учасник має on-chain Identity (ONCHAINID — ERC-734/735). Це смарт-контракт, який зберігає клейми — верифіковані твердження про власника (KYC статус, юрисдикція, статус accredited investor).
interface IIdentityRegistry {
// Перевірка, що адреса пройшла KYC та може тримати токени цієї юрисдикції
function isVerified(address _userAddress) external view returns (bool);
// Країна проживання користувача (з документів KYC)
function investorCountry(address _userAddress) external view returns (uint16);
}
// Compliance: перевірка обмежень за юрисдикціями
contract JurisdictionCompliance is ICompliance {
mapping(uint16 => bool) public restrictedCountries; // ISO 3166-1 numeric
function canTransfer(address _from, address _to, uint256) external view returns (bool) {
uint16 fromCountry = identityRegistry.investorCountry(_from);
uint16 toCountry = identityRegistry.investorCountry(_to);
return !restrictedCountries[fromCountry] && !restrictedCountries[toCountry];
}
}
Оракул для ціноутворення та розподілу yield
Для токенів з фіксованою дохідністю (казначейські векселі, облігації) — автоматичний розподіл yield. Chainlink для on-chain ціни базового активу, off-chain тригер для виплат yield.
contract YieldDistributor {
IERC20 public immutable token;
IERC20 public immutable stablecoin; // USDC
AggregatorV3Interface public priceFeed;
uint256 public lastDistribution;
uint256 public annualYieldBps; // yield у basis points (500 = 5%)
function distributeYield() external {
require(block.timestamp >= lastDistribution + 1 days, "Too soon");
uint256 totalSupply = token.totalSupply();
// Денний yield = annualYield / 365
uint256 dailyYield = (totalSupply * annualYieldBps) / (10000 * 365);
// Поповнення контракту stablecoin з казначейства має відбутися заздалегідь
require(stablecoin.balanceOf(address(this)) >= dailyYield, "Insufficient USDC");
// Розподіл через snapshot — усі власники на момент snapshot
bytes32 snapshotId = _snapshot(); // ERC-20Snapshot
_distributeToSnapshot(snapshotId, dailyYield);
lastDistribution = block.timestamp;
}
}
Для ефективного розподілу великій кількості власників — Merkle distribution (один snapshot → Merkle tree → кожен власник вилучає сам) замість push-розподілу.
SPV та юридичний шар
Для більшості юрисдикцій токенізація реального активу відбувається через наступний ланцюг:
Фізичний актив (нерухомість, облігації)
↓ передається до
SPV/LLC (зареєстрована компанія)
↓ компанія видає
Securities (equity або debt notes)
↓ права токенізуються
On-chain токени (ERC-3643)
↓ торгуються на
Regulated marketplace або DeFi з compliance
Смарт-контракт повинен відображати цю структуру: в документах токена (управління документами ERC-1643) зберігаються посилання на юридичні документи — Operating Agreement SPV, проспект емісії, аудиторські звіти.
// ERC-1643: зберігання посилань на юридичні документи
function setDocument(bytes32 _name, string calldata _uri, bytes32 _documentHash)
external onlyOwner
{
// _name: "SUBSCRIPTION_AGREEMENT", "OPERATING_AGREEMENT", "AUDIT_REPORT_2024"
// _uri: IPFS CID або HTTPS посилання
// _documentHash: keccak256 файлу для верифікації цілісності
_setDocument(_name, _uri, _documentHash);
}
Вторинний ринок та ліквідність
Одне з головних цінових пропозицій токенізації RWA — ліквідність для традиційно неліквідних активів. Але регуляторні обмеження діють:
Період обмеження. Lock-up після первинного пропозиції (типово 6–12 місяців для Reg D offerings у США). Реалізується через модуль compliance з перевіркою часу покупки.
Торгівля тільки для accredited investors. На вторинному ринку можуть торгувати тільки верифіковані accredited investors. Compliance hook не дозволить transfer до неверифікованої адреси.
ATS (Alternative Trading System). У США вторинна торговля security токенами вимагає роботи через ліцензованого ATS. Ряд платформ (tZero, Securitize Markets) мають ліцензію ATS.
Для DeFi-ліквідності (AMM пулів з RWA токенами) — compliance-aware AMM: кожен swap проходить перевірку ідентичності та compliance обох сторін. Проекти типу Centrifuge (RWA в MakerDAO), Ondo Finance інтегрують RWA в DeFi через спеціальні пулі з whitelist.
Погашення та корпоративні дії
Погашення — ліквідація токена, користувач отримує базовий актив або його касовий еквівалент. Повинно бути вбудовано в контракт з можливістю:
- Primary redemption у емітента (через KYC процес)
- Secondary redemption через AMM або order book
Корпоративні дії (дивіденди, stock splits, rights offerings для equity токенів): смарт-контракт повинен підтримувати механіку для розподілу додаткових токенів або стейблкоінів пропорційно holdings на record date.
Розклад та ресурси
| Фаза | Вміст | Період |
|---|---|---|
| Юридичне + архітектурне проектування | Структура SPV, юрисдикція, вимоги compliance | 3–4 тиж |
| Смарт-контракти | ERC-3643 токен, реєстр ідентичності, модулі compliance | 5–8 тиж |
| Оракул ціноутворення + розподіл yield | Інтеграція Chainlink, розподіл snapshot | 2–3 тиж |
| KYC onboarding | Інтеграція з Synaps/Fractal, ONCHAINID | 2–3 тиж |
| Маркетплейс | Вторинна торговля з compliance | 4–6 тиж |
| Аудит | Безпека + коректність compliance | 4–6 тиж |
| Регуляторні узгодження | Залежить від юрисдикції | 4–16 тиж |
Технічна розроблення — 4–6 місяців. Регуляторний процес — від 1 до 12+ місяців залежно від юрисдикції та типу активу. RWA платформи потребують паралельної роботи юристів та розробників з самого початку.







