Розробка security-токена (STO)

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка security-токена (STO)
Складний
від 2 тижнів до 3 місяців
Часті запитання

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

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1218
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    919
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1147
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    609
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    884

Розробка security-токена (STO)

Security token — це токен, який є цінною бумагою за законодавством застосовної юрисдикції. Не за економічною суттю («наш токен дає право на прибуток»), а саме за юридичною класифікацією. Це змінює все: емісія, обращення, зберігання — все регулюється securities law. Ігнорувати це означає працювати з регуляторним ризиком, який рано чи пізно матеріалізується.

Тест Хауи (Howey Test, США) класифікує як security: вкладення грошей, у спільне підприємство, з очікуванням прибутку, від зусиль інших. Більшість токенів, які позиціонуються як «utility», насправді проходять цей тест. Регулятор це знає.

Регуляторні режими

США: Regulation D, S, A+

Reg D 506(b) — найбільш використовуваний. Продаж тільки аккредитованим інвесторам (net worth > $1M або річний дохід > $200K), без general solicitation, до 35 неаккредитованих. Не потрібна реєстрація SEC, тільки Form D filing. Lock-up період: 12 місяців до перепродажу (Rule 144).

Reg D 506(c) — дозволяє general solicitation, але тільки аккредитованих інвесторів, емітент повинен верифікувати статус (через certified letter від CPA/attorney або фінансові документи).

Reg S — продаж за межами США. Поширена комбінація: Reg D для US інвесторів + Reg S для решти.

Reg A+ — міні-IPO. До $75M, публічне розміщення, спрощена реєстрація SEC. Відкриває доступ до неаккредитованих інвесторів, але вимагає аудованої звітності.

ЄС: MiCA та Prospectus Regulation

MiCA (Markets in Crypto-Assets Regulation) — повністю введена в силу 2024. Security токени під MiCA класифікуються як Asset-Referenced Tokens або підпадають під існуюче securities законодавство (MiFID II). Вимоги: проспект емісії (або виключення при < €8M), ліцензований емітент або агент.

Liechtenstein Blockchain Act (TVTG) — найбільш прогресивне законодавство в Європі. Пряме юридичне визнання токенів як інструментів. Ряд STO проектів реєструються через Liechtenstein SP (Service Provider).

Альтернативні юрисдикції

Cayman Islands + BVI — SPV структури для non-US, non-EU емісій. Менше обмежень, менше доступу до інституціональних інвесторів з регульованих юрисдикцій.

Abu Dhabi (ADGM) / Dubai (VARA) — активно розвивають regulatory sandbox для STO. Реальні ліцензії, але менший ринок.

Технічний стандарт: ERC-3643 (T-REX)

ERC-3643 (Token for Regulated EXchanges) — де-факто стандарт для STO в Європі. Розроблений Tokeny (спонсорований EY та іншими). Open source, широко аудирований.

Архітектура T-REX складається з п'яти on-chain компонентів:

1. Identity Registry — реєстр верифікованих інвесторів:

Wallet Address → ONCHAINID Contract Address

2. Identity Registry Storage — відокремлене сховище для upgradability

3. Claim Topics Registry — які claims потрібні (KYC_APPROVED = 1, INVESTOR_ACCREDITED = 2, JURISDICTION_ALLOWED = 3...)

4. Trusted Issuers Registry — хто може видавати claims (KYC провайдер, брокер, сам емітент)

5. ERC-3643 Token — сам токен, перевіряє Identity Registry при кожному transfer

// Упрощена логіка transfer в ERC-3643
function transfer(address _to, uint256 _amount) public override returns (bool) {
    require(
        _tokenIdentityRegistry.isVerified(_to),
        "Transfer to unverified identity"
    );
    require(
        !_frozenTokens[msg.sender] && !_frozenTokens[_to],
        "Wallet frozen"
    );
    
    // Compliance перевірка (лімити, юрисдикції, etc.)
    require(
        _tokenCompliance.canTransfer(msg.sender, _to, _amount),
        "Compliance check failed"
    );
    
    return super.transfer(_to, _amount);
}

ONCHAINID (ERC-734/735)

Кожен верифікований інвестор має ONCHAINID — смарт-контракт, який:

  • Зберігає ключі (управління, виконання, claim)
  • Зберігає claims — підписані утвердження від trusted issuers
  • Дозволяє верифікувати identity без розкриття особистих даних
// Claim структура (ERC-735)
struct Claim {
    uint256 topic;       // тип утвердження (KYC = 1, ACCREDITED = 2...)
    uint256 scheme;      // схема підпису
    address issuer;      // хто видав
    bytes signature;     // підпис issuer
    bytes data;          // дані (хеш документа)
    string uri;          // посилання на off-chain документ
}

KYC/AML інтеграція

STO потребує обов'язкового KYC кожного інвестора. Типовий flow:

  1. Інвестор проходить KYC через провайдера (Sumsub, Veriff, Fractal)
  2. Провайдер деплоює ONCHAINID для інвестора (або використовує існуючий)
  3. Провайдер як Trusted Issuer додає claim KYC_APPROVED в ONCHAINID
  4. Емітент перевіряє наявність claim у Identity Registry — інвестор допущений до токена
  5. При кожному transfer контракт перевіряє обидві адреси

AML screening — безперервний процес. Chainalysis/Elliptic інтегруються для моніторингу транзакцій. При високому risk score — гаманець може бути заморожений через freezeAddress().

Cap table management

On-chain cap table — один з аргументів для STO vs. традиційних цінних паперів:

// ERC-3643 надає точні дані для cap table
function getCapTable() external view returns (
    address[] memory shareholders,
    uint256[] memory balances,
    uint256 totalSupply
) {
    // shareholders — усі адреси холдерів з Identity Registry
    // balances — через стандартний balanceOf
    // totalSupply — повний supply
}

Вторинний реєстр (off-chain база) синхронізується через события Transfer, Frozen, Unfrozen. Це потрібно для регуляторної звітності: хто держить, скільки, з якого моменту.

Lifecycle события токена

Событие On-chain дія Off-chain дія
Первинне розміщення mint → верифікованим адресам Form D filing, escrow
Вторинний transfer transfer + compliance check AML мониторинг, CAP table update
Дивіденди/купон distributeReturns in stablecoin Податкова звітність
Примусовий transfer forcedTransfer (суд/регулятор) Судовий документ on-IPFS
Восстановлення recoveryAddress Affidavit від інвестора
Burn/redemption burn Виплата выкупної ціни

Compliance-контракт: кастомна логіка

Окремий Compliance контракт містить бізнес-правила, не пов'язані з identity:

contract STOCompliance {
    uint256 public maxInvestors = 2000;       // Reg D ліміт
    uint256 public maxBalancePerHolder;        // anti-concentration
    mapping(string => bool) public allowedCountries; // ISO 3166-1
    
    function canTransfer(address from, address to, uint256 amount) 
        external view returns (bool) 
    {
        // 1. Перевірка юрисдикції отримувача
        string memory country = identityRegistry.getCountry(to);
        if (!allowedCountries[country]) return false;
        
        // 2. Максимальне кількість холдерів
        if (token.balanceOf(to) == 0 && token.holderCount() >= maxInvestors) 
            return false;
        
        // 3. Ліміт концентрації
        if (token.balanceOf(to) + amount > maxBalancePerHolder) return false;
        
        return true;
    }
}

Вторинний ринок

Для Reg D токенів вторинний ринок відкривається через 12 місяців (Rule 144). Платформи: tZERO, INX, MERJ Exchange — ATS (Alternative Trading Systems) з ліцензіями для security token trading.

On-chain вторичний ринок: permissioned orderbook або AMM. Uniswap v4 hooks дозволяють додати KYC check в beforeSwap:

function beforeSwap(address sender, PoolKey calldata key, IPoolManager.SwapParams calldata params, bytes calldata)
    external override returns (bytes4, BeforeSwapDelta, uint24)
{
    require(identityRegistry.isVerified(sender), "KYC required for trading");
    return (this.beforeSwap.selector, toBeforeSwapDelta(0, 0), 0);
}

Розробка STO — це місяці юридичної та технічної роботи одночасно. Технічний стек без правової структури не працює. Але правильно побудований STO — це токен з реальним правовим статусом та доступом до інституціональних інвесторів.