Розробка системи стримінгових платежів (Superfluid, Sablier)

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

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

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

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

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

Розробка системи стриміньгових платежів (Superfluid, Sablier)

Стрімінг платежів — це безперервний потік криптовалюти по часу: отримувач може в будь-який момент вивести вже "заробачі" токени, не чекаючи кінця періоду. Замість щомісячної виплати зарплати — потік, який тече по секунді. Технічно це реалізується по-різному у Superfluid та Sablier, та вибір між ними визначає архітектуру всієї системи.

Superfluid vs Sablier: принципова різниця

Superfluid: real-time balance без on-chain транзакцій

Superfluid використовує концепцію Super Token — ERC-20-сумісний токен з розширеною механікою. Баланс Super Token перераховується у реальному часі без окремих транзакцій: balance(t) = initialBalance + flowRate * (t - startTime).

Створення потоку — одна транзакція. Після цього баланс отримувача зростає безперервно, та жодних додаткових транзакцій для оновлення балансу не потрібно. Це головна перевага: газ тільки на створення та закриття потоку.

Обгортка токена у Super Token: USDCx — це Super Token для USDC. Wrap/unwrap через ISuperToken.upgrade(amount) та downgrade(amount). Для роботи з нативним ETH — ETHx через нативну обгортку у Superfluid.

Критичний момент з liquidation. Superfluid вимагає підтримання депозиту (buffer) у відправника. Якщо баланс відправника падає до нуля — потік стає "критичним". Будь-хто може викликати deleteFlow та отримати liquidation bonus з буфера. Якщо ніхто не викликає — потік продовжується та sender уходить у борг (Patrician Period). Це потрібно враховувати у UI: попередження про низький баланс та автоматичний top-up.

Sablier: лінійні потоки з гнучким vesting

Sablier v2 (контракти SablierV2LockupLinear, SablierV2LockupDynamic) — це NFT-стріми. Кожен потік токенізований як ERC-721, що дозволяє передавати його та використовувати як collateral.

LockupLinear — лінійний потік від start до end. LockupDynamic — кастомний графік з сегментами (cliff + linear, exponential, тощо). Для vesting з cliff: перші 12 місяців нічого, потім лінійний потік 24 місяці — це два сегменти у LockupDynamic.

// Створення потоку у Sablier v2
ISablierV2LockupLinear.CreateWithRange({
    asset: IERC20(USDC),
    sender: msg.sender,
    recipient: employee,
    totalAmount: 120_000e6, // 120k USDC
    range: ISablierV2LockupLinear.Range({
        start: uint40(block.timestamp),
        cliff: uint40(block.timestamp + 365 days),
        end: uint40(block.timestamp + 3 * 365 days)
    }),
    cancelable: true,
    transferable: true
})

Sablier не вимагає депозиту та немає liquidation ризику. Весь totalAmount заблоковується у контракті при створенні потоку. Отримувач забирає накопичену суму через withdraw(). Газ при кожному withdraw — це trade-off vs Superfluid.

Вибір протоколу під завдання

Параметр Superfluid Sablier v2
Gas на створення потоку Низький Середній
Gas на отримання токенів Немає (realtime balance) Є (withdraw транзакція)
Liquidation ризик Так (buffer system) Ні
Потік як NFT Ні Так
Vesting з cliff Через конфігурацію Нативно
Підходить для Зарплати, підписки Vesting, grants

Superfluid — для регулярних виплат (зарплати, стрімінгові підписки, DCA), де відправник тримає активний баланс. Інтеграції з Gelato для автоматичного top-up.

Sablier — для vesting, grants, односторонніх виплат з фіксованою сумою. NFT-позиція дозволяє інтегрувати secondary market.

Інтеграція у продукт

Superfluid інтеграція

SDK: @superfluid-finance/sdk-core. Основні операції через Framework:

import { Framework } from '@superfluid-finance/sdk-core'

const sf = await Framework.create({ chainId: 137, provider })
const usdc_x = await sf.loadSuperToken('USDCx')

const createFlowOp = usdc_x.createFlow({
    sender: senderAddress,
    receiver: receiverAddress,
    flowRate: '3858024691358024' // ~10k USDC/місяць у wei/sec
})
await createFlowOp.exec(signer)

flowRate у wei/second: для $10,000/місяць = 10000 * 1e6 / (30 * 24 * 3600) = 3858 wei USDC/sec.

Для мониторингу потоків — Superfluid Subgraph (The Graph):

query { 
  streams(where: { receiver: "0x..." }) { 
    currentFlowRate
    streamedUntilUpdatedAt
  } 
}

Sablier інтеграція

SDK: @sablier/v2-sdk або прямі виклики контрактів через ethers.js/viem. Адреси контрактів для кожного чейна в документації.

Перед створенням потоку потрібен approve ERC-20 токена: token.approve(sablierAddress, totalAmount).

Після approve — створення потоку, отримання streamId. Цей ID потрібен для всіх подальших операцій: withdraw, cancel, transferFrom.

Підтримувані чейни

Superfluid: Ethereum, Polygon, Arbitrum, Optimism, Base, BNB Chain, Avalanche, Gnosis.

Sablier v2: Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Avalanche, Blast.

Якщо чейн клієнта не підтримується — є варіант з власною реалізацією базової streaming логіки, хоча це значно дорожче та вимагає аудиту.

Процес розробки

Вибір протоколу (1 день). Аналізуємо use case: розрахункові vesting потоки або постійні виплати, важливий ліи liquidation ризик, потрібна ліи tradeable позиція.

Інтеграція (2-3 дні). SDK + смарт-контракт якщо потрібна кастомна логіка (наприклад, розподіл на кілька отримувачів з одного джерела).

UI (1-2 дні). Dashboard з поточними потоками, балансами, управлінням. wagmi/viem для on-chain читання.

Тести та деплой (1 день). Fork-тесті на mainnet. Деплой на тестнет, потім mainnet.

Орієнтири за часовими рамками

Інтеграція Superfluid або Sablier у існуючий продукт — 3-5 днів. Створення системи управління потоками з UI (створення/скасування/мониторинг) — до 2 тижнів.