Разработка платформы токенизации реальных активов

Разработка платформы токенизации активов Клиент с портфелем коммерческой недвижимости в Берлине хотел выпустить 5000 токенов для фракционной продажи. Первая идея — ERC-20 с белым списком — рассыпалась при первой же проверке регулятора: отсутствие on-chain identity, нет механизма forced transfer д

Направления блокчейн-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1004
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1270
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1011

Разработка платформы токенизации активов

Клиент с портфелем коммерческой недвижимости в Берлине хотел выпустить 5000 токенов для фракционной продажи. Первая идея — ERC-20 с белым списком — рассыпалась при первой же проверке регулятора: отсутствие on-chain identity, нет механизма forced transfer для заморозки активов, нет модуля корпоративных действий. Пришлось перестраивать всю архитектуру на ERC-3643. За 7 лет мы сделали 15+ таких платформ — для недвижимости, долговых инструментов, товарных запасов. Каждый проект проходил полный цикл: юридическая структура, смарт-контракты, интеграция KYC, запуск вторичного рынка.

Техническая часть — лишь вершина. 60–70% усилий уходит на compliance: KYC/AML, юрисдикционные ограничения, корпоративные действия. Мы используем стек ERC-3643 (T-REX) с identity-слоем ONCHAINID. Это даёт экономию до 30% на gas-операциях с compliance по сравнению с ERC-1400. Стандарт описан в EIP-3643.

Типы активов разные — недвижимость, акции SPV, долговые инструменты, произведения искусства, интеллектуальная собственность — но компоненты платформы универсальны.

Почему ERC-3643 — стандарт для RWA?

Обычный ERC-20 не подходит для регулируемых активов. Нужны специализированные стандарты. ERC-1400 (Security Token Standard) — расширение ERC-20 с transfer restrictions, forced transfers, document management. Разработан под требования securities регуляторов.

// ERC-1400 ключевые интерфейсы interface IERC1400 is IERC20 { function canTransferByPartition( bytes32 partition, address from, address to, uint256 value, bytes calldata data ) external view returns (byte, bytes32, bytes32); function transferByPartition( bytes32 partition, address to, uint256 value, bytes calldata data ) external returns (bytes32); function operatorTransferByPartition( bytes32 partition, address from, address to, uint256 value, bytes calldata data, bytes calldata operatorData ) external returns (bytes32); function getDocument(bytes32 name) external view returns (string memory, bytes32); } 

ERC-3643 (T-REX) — более современный, разработан Tokeny Solutions. Он выгоднее ERC-1400 по газу и модульности: до 30% экономии на операциях с compliance. Включает identity layer (ONCHAINID) и automated compliance checks. Сборка смарт-контрактов в Foundry в 3 раза быстрее, чем в Hardhat — ускорение циклов тестирования и деплоя.

// T-REX compliance check пример contract TokenCompliance { IIdentityRegistry public identityRegistry; ICompliance public compliance; function _beforeTokenTransfer( address from, address to, uint256 amount ) internal { if (from != address(0) && to != address(0)) { require( identityRegistry.isVerified(to), "Recipient identity not verified" ); require( compliance.canTransfer(from, to, amount), "Transfer not compliant" ); } } } 

ERC-1155 подходит для фракционных активов, когда один актив делится на несколько видов прав (например, здание с разными типами помещений или произведение искусства с разными правами использования).

Как работает on-chain KYC/AML?

Каждый держатель токенов регулируемого актива должен быть верифицирован. On-chain identity — сложнее чем просто mapping адрес → bool. Используем стандарт ONCHAINID (ERC-734/735). Провайдер KYC (Sumsub, Fractal, Identix) проводит верификацию, выдаёт claim с подписью. Claim записывается в ONCHAINID контракт пользователя. При попытке transfer токена — compliance модуль проверяет наличие нужных claims.

// Identity контракт (один на пользователя) interface IIdentity { function getClaim(bytes32 claimId) external view returns ( uint256 topic, uint256 scheme, address issuer, bytes memory signature, bytes memory data, string memory uri ); function addClaim( uint256 topic, uint256 scheme, address issuer, bytes memory signature, bytes memory data, string memory uri ) external returns (bytes32 claimId); } // Claim Topics для securities uint256 constant KYC_CLAIM = 1; uint256 constant AML_CLAIM = 2; uint256 constant ACCREDITED_INVESTOR_CLAIM = 3; uint256 constant COUNTRY_CLAIM = 4; uint256 constant PROFESSIONAL_INVESTOR_CLAIM = 5; 

Регуляторы требуют ограничить продажу в определённых юрисдикциях. Например, нельзя продавать US-резидентам без регистрации в SEC. Реализуем модуль проверки кода страны и лимитов инвесторов. Это позволило клиенту из Берлина запустить продажу в ЕС без ограничений, а для резидентов США — настроить whitelist после регистрации.

Пример ограничения по странам

Контракт проверяет код страны из ONCHAINID и сверяет с маппингом разрешённых юрисдикций. Если страна не разрешена — transfer отклоняется. Дополнительно настраиваются лимиты на количество инвесторов на страну.

Lifecycle токенизированного актива

Issuance (эмиссия)

Перед минтингом токенов:

  1. Юридическая структура: SPV, траст или другая структура, которая держит реальный актив
  2. Legal opinion что токены не являются незарегистрированными securities (или регистрация)
  3. Проспект/offering memorandum (зависит от юрисдикции и объёма)
  4. Custody arrangement: кто держит документы, кто является transfer agent
function mintSecurityTokens( address investor, uint256 amount, bytes32 partition, bytes calldata data ) external onlyRole(ISSUER_ROLE) { require(identityRegistry.isVerified(investor), "Not verified"); require(compliance.canTransfer(address(0), investor, amount), "Not compliant"); _issueByPartition(partition, investor, amount, data); emit TokensIssued(investor, amount, partition, data); } 

Corporate Actions

Токенизированные акции требуют обработки корпоративных событий: дивиденды, сплиты, обратные сплиты. Мы реализуем модули для распределения дивидендов (через snapshots) и сплитов с автоматическим пересчётом балансов. Пример для дивидендов: контракт получает USDC, фиксирует snapshot держателей, каждый держатель клэймит свою долю.

Вторичный рынок и ликвидность

Вторичное обращение — отдельная проблема. Нельзя просто листинговать на Uniswap: каждый buyer должен пройти KYC, покупка должна проходить compliance проверку. Строим permissioned DEX с встроенным compliance-шлюзом или интегрируемся с регулируемыми платформами (INX, tZERO, STO Global X). Второй вариант даёт готовую ликвидность без построения собственной торговой площадки.

Оракулы и оценка активов

Для займов под залог токенизированных активов нужна on-chain цена. В отличие от криптоактивов — нет ликвидного рынка. Решение: модель верифицированного оценщика. Аккредитованный оценщик подписывает оценку, публикует on-chain. Контракт принимает оценки от N аккредитованных оценщиков, берёт медиану:

contract AssetValuationOracle { struct Valuation { uint256 value; uint256 timestamp; address appraiser; bytes signature; } mapping(bytes32 => Valuation[]) public valuations; uint256 public constant MAX_VALUATION_AGE = 90 days; uint256 public constant MIN_APPRAISERS = 2; function getAssetValue(bytes32 assetId) external view returns (uint256) { Valuation[] storage vals = valuations[assetId]; uint256[] memory freshValues = new uint256[](vals.length); uint256 freshCount = 0; for (uint i = 0; i < vals.length; i++) { if (block.timestamp - vals[i].timestamp <= MAX_VALUATION_AGE) { freshValues[freshCount++] = vals[i].value; } } require(freshCount >= MIN_APPRAISERS, "Insufficient fresh valuations"); return median(freshValues, freshCount); } } 

Технологический стек

Компонент Выбор Обоснование
Token standard ERC-3643 (T-REX) Широкое принятие в RWA, compliance built-in
Identity ONCHAINID Стандарт экосистемы T-REX
KYC provider Sumsub / Synaps API + claim issuance
Settlement chain Polygon PoS / Base Дёшево, EVM, активная RWA экосистема
Payment USDC / EURC Circle стабильность, regulatory clarity
Document storage IPFS + Filecoin Долгосрочное хранение юридических документов

Свяжитесь с нами для уточнения стека под вашу юрисдикцию.

Что входит в разработку платформы

Фаза Содержание Срок
Legal & structure Юридическая структура, compliance requirements 4–8 нед
Core contracts ERC-3643 + identity + compliance модули 4–6 нед
Corporate actions Dividends, splits, forced transfer 2–3 нед
KYC integration Identity registry + KYC provider API 2–3 нед
Secondary market Order book или DEX с compliance 3–4 нед
Investor portal Dashboard, claims, documents 3–4 нед
Audit Контракты 3–4 нед
Issuance pilot Реальный актив в тестовой среде 2–3 нед

Итого: 23–35 недель. Юридический этап — переменная с наибольшим разбросом: зависит от актива, юрисдикции и наличия опытного securities-lawyer в команде клиента.

Оценим ваш проект за 2 рабочих дня. Гарантируем качество аудита и поддержку после запуска. Получите консультацию — начните с обсуждения архитектуры.