Разработка системы стриминговых платежей (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).

Создание потока — одна транзакция. После этого баланс получателя растёт непрерывно, и никаких дополнительных транзакций для обновления баланса не нужно. Это главное преимущество: gas только на создание и закрытие потока.

Обёртка токена в 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: линейные потоки с flexible vesting

Sablier v2 (контракты SablierV2LockupLinear, SablierV2LockupDynamic) — это NFT-стримы. Каждый поток токенизирован как ERC-721, что позволяет передавать его, использовать как collateral.

LockupLinear — линейный поток от start до end. LockupDynamic — кастомный график с сегментами (cliff + linear, exponential, etc). Для 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 блокируется в контракте при создании потока. Получатель забирает accumulated amount через withdraw(). Gas на каждый withdraw — это trade-off vs Superfluid.

Выбор протокола под задачу

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

Superfluid — для регулярных выплат (зарплаты, стриминговые подписки, DCA), где отправитель держит активный баланс. Integrations с Gelato для автоматического top-up.

Sablier — для vesting, grants, односторонних выплат с фиксированной суммой. NFT-позиция позволяет интегрировать вторичный рынок.

Интеграция в продукт

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/month в wei/sec
})
await createFlowOp.exec(signer)

flowRate в wei/second: для $10,000/month = 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 недель.