Streaming Payments Development (Superfluid, Sablier)

Paying contractors in one-off transfers eats up team time and requires constant reconciliation. We develop streaming payments turnkey: we set up schedules, limits, and reporting for your processes. Manual operations and reconciliations go away, and settlements proceed smoothly and predictably.

Blockchain Development Services

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1365
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1330
  • B2B Advance company logo design
    B2B Advance company logo design
    776
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1077
  • AIDER company logo development
    AIDER company logo development
    1022
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1113

Crypto streaming payments: where the stream breaks

Manual contractor payouts on a calendar look reliable right up until the first failure. The treasury collects a register, reconciles acceptance certificates, initiates a batch of transfers — and a window of several days opens between accrual and actual receipt.

The more recipients there are, the wider the discrepancy between accrued and actual: some lines close on the second run, some remain "in progress" until the next settlement day.

Every manual run is a separate point of failure. Stuck transactions due to unfavorable execution price at the moment of sending, queue conflict, an error in the recipient's address — and the payment either stalls or goes to the wrong place.

It has to be reassembled manually, and the contractor sees a promise instead of a balance the entire time.

Crypto streaming payments (tools of the Superfluid caliber) change the model itself: instead of a monthly transfer, a continuous stream opens, where the amount accrues by the second and is available to the recipient at any moment.

Stopping the stream returns the unused remainder to the payer, while what has already accrued remains with the contractor — the discrepancy between accrual and payout disappears as a class rather than being patched by reconciliation after the fact.

For the client, this means predictable expense and no manual runs; for the contractor, liquidity without waiting for settlement day and without reminders.

Below we break down how this is closed: where exactly the stream breaks, what streaming settlement provides instead of calendar payouts, and which checks keep the scheme manageable during failures.

What streaming settlement provides instead of one-time transfers

Continuous accrual instead of batch runs

A one-time transfer fixes the amount at the moment of launch: accounting forms a register, signs the batch, waits for network confirmation.

Streaming settlement flips the logic — the recipient's balance grows every second at the rate set at opening, and pausing or closing is done with a single operation.

The share of manual operations falls: instead of a new list for each period, it is enough to set the condition once and change it when the rate is revised.

Eliminating the failure class "payment did not arrive"

A batch payout always has failure points: insufficient funds for the fee, a network node dropping, a typo in the address — and the recipient learns about it days later.

In a stream, funds are already locked in the contract and available for withdrawal at any moment, so there is no separate payout "run." The support ticket class "payment lost" disappears along with the operation itself.

Predictable load and transparent outstanding liability balance

Batch runs create peaks: liabilities arrive in steps, and liquidity is held with a buffer for the date. Continuous accrual spreads withdrawal over time — you can see how much goes out per day, and the funding plan is built without steps.

Transparency of liabilities is achieved because the balance of unwithdrawn funds is read directly from the contract state: reconciliation via exports and tables stops being separate work.

Ready-made primitives for rates, pauses, and closing streams are provided by solutions like Superfluid — we select the mode for your payout schedule and build in cancellation mechanics in case conditions change.

Comparison of modes: one-time transfers, streaming payments, hybrid

Three settlement schemes address different tasks, and confusing them is costly: the wrong choice becomes visible not at the start but at the returns and reconciliations stage.

One-time transfers with self-managed balance tracking are the simplest path: payment is initiated manually or on schedule, and an internal register stores who owes how much.

Streaming settlement works differently: the token is debited per second, the balance changes directly on-chain, and there is nothing to recalculate and top up manually.

Option When it fits Limitations
One-time transfers and self-managed balance accounting Short tasks, milestone-based payment, a small circle of contractors Reconciliation falls on us: discrepancies in the register, manual top-ups, no continuous accrual
Ready-made streaming settlement contract Long subscriptions, payouts for time worked, regular accruals Requires deposit upfront; hard to withhold part of the amount for defective work; rollback limited by contract state
Hybrid payout scheme Work is long-running, but the result is accepted by milestones More complex accounting: two accrual loops need to be reconciled with each other and with acceptance

The hybrid removes the main limitation of the streaming model — the inability to withhold payment for an unaccepted result: the base part flows, and the remainder is settled upon acceptance.

We tie the choice of settlement option to how the client's acceptance is structured and what counts as proof of completed work.

How we implement streaming payouts: work stages

Streaming payouts break the familiar logic where payment is a separate event: the balance changes continuously, and an error in the accrual formula is not immediately visible, but over the long distance when there is nothing left to recalculate.

Therefore, before the first line of code, we break down the accrual scheme: who is the payer, to whom it accrues, how the balance is calculated at an arbitrary moment, and what happens when the stream stops. Below are the stages that implementation goes through.

  1. Accrual scheme analysis. We fix the rate per unit of time, the rounding rule, the start moment, and the stop conditions — a document from which all checks are then calculated.
  2. Choice of settlement mode. We compare a continuous stream with instant revocation and scheduled unlocking (the Superfluid model) — the set of operations and transaction cost for the payer depends on the choice.
  3. Contract and role design. We describe who can open, pause, and close the stream, what limits and pauses are available, and how the unused remainder is returned.
  4. Build and integration with accounting. We write the contracts and interface, link stream events to accounting and tax records so the statement is assembled from a single source.
  5. Testing on a test environment. We run edge scenarios: stream stop, insufficient balance, cancellation, restart after a pause — on a copy of the production state.
  6. Migration to production. We open streams under permission control, set monitoring for discrepancies, and keep the option to return to direct accrual.
  7. Team training. We hand over regulations, incident analysis, and access so payouts are run by the client's own team.

After these steps, the stream starts, pauses, and closes without manual recalculations, and discrepancies are visible at the testing stage, not at period closing.

Deliverables: configurations, diagrams, and regulations

The deliverables are not a list of addresses but a description of how the system behaves in normal mode and in failure. Below are the artifacts that remain with your team after streaming payments launch and against which we jointly accept the work.

  • Contract configurations — accrual schedule, amount unlock step, limits for early stream closure, and an explicit note of which parameters change without redeployment and which are hard-coded in logic.
  • Fund flow diagram — the path from deposit top-up to recipient withdrawal: counterparties, network fees, points where settlement may be delayed, and the owner responsible for each point.
  • Roles and access policies — who starts the stream, who pauses it, who withdraws funds; confirmation thresholds and signer composition are documented in writing.
  • Pause regulation — conditions for stopping the stream, the circle of decision-makers, and what the payer and recipient see at that moment.
  • Emergency withdrawal regulation — step-by-step procedure for key compromise or failure: who performs each step, within what timeframe, and how the result is confirmed.
  • Solution documentation — architecture description, contract map, external dependencies, local launch and test bench instructions.
  • Reporting procedure — which events enter the journal, how often accrued and withdrawn amounts are reconciled, and who receives the discrepancy.
  • Handover materials — access, keys in the agreed storage, responsible contacts, and the post-launch support schedule.

Acceptance follows this list: each item is closed by demonstration or test bench check, not a promise. Describe the task — we will come back with an estimate and plan.

Case study: moving contractor payouts to streaming settlement

A distributed team of 40+ contractors received payouts in batches — once a month, in a single operation based on reconciliation results. Reconciliation was manual: exports, correspondence, clarifications on scope of work.

By settlement period close, 12–15 disputed accruals accumulated, and the period itself took 8–9 days to close.

Metrics before and after

Metric Before After
Settlement period close 8–9 days 1–2 days
Share of manual operations in accrual almost all isolated adjustments
Disputed accruals per cycle 12–15 1–2
Contractor access to accruals on request at any moment

We moved accruals to streaming settlement: the rate accrues per second and is available for withdrawal at any moment.

Implemented on Superfluid — the contract holds the stream and fixes the settlement boundary on stop, so the dispute "how much has already been worked" is closed by fact, not correspondence. Both parties see the same value in real time, and there is no longer any need to reconcile exports.

For the client, this removed the manual loop: accounting closes the period without line-by-line verification, and the contractor does not wait for the settlement date.

Some disputed accruals disappeared at the process level — the remaining ones concern scope of work, not arithmetic.

How streaming settlement differs from scheduled debits

Schedule and stream diverge in where the amount is defined. With a schedule, the payment amount and date are fixed in advance: execution is a set of separate transactions, each of which goes through the network and leaves a trace in history. A stream has no payment moments — liability accrues continuously, the entire time work is underway.

Accrual dynamics in a stream are derived from state rather than written to storage every second: the rate is multiplied by elapsed time, and the contract holds the last settlement point and adjustment. Hence a correct balance at any moment without thousands of operations.

A schedule cannot do this — between debits the amount does not change; it either exists or has not yet occurred.

The available balance limits payout in real time. The recipient withdraws any part of the accrued amount, but no more than has accumulated over the elapsed time; the remainder stays in the stream.

There is no advance by design: you cannot take a month ahead if the month has not passed. The payer sees how depleted their deposit is and decides whether to top it up.

Deferred debits in a schedule turn into debt: a missed payment accumulates, and with insufficient funds falls into error and requires manual resolution.

In the streaming model, such a situation does not arise — when the deposit is exhausted, the stream stops at the second where funds ran out, and the unaccrued remainder simply disappears.

The difference in settlement models is also visible in support. A schedule requires a register of executed orders, handling of retries and refunds; a stream requires deposit control, correct closure and stopping so the recipient is not left with an inaccessible balance.

In practice, the choice is rarely binary: protocols like Superfluid provide continuous accrual for salaries and subscriptions, while discrete logic remains where fixed amounts and invoices are needed.

Concerns about stream reliability, cancellations, and limits

A stream is not a series of transfers but a smart contract state: it holds the deposit and accrues the recipient's share with each new block.

Therefore, connection loss, a service pause, or loss of access to the previous accrual address do not stop the stream — it lives on-chain, not on your server, and management rights are transferred to a new address by a separate transaction. This is how Superfluid and related protocols work.

Pausing, changing the rate, and early closure are standard operations, not an emergency scenario. On pause, accruals stop, and the remainder stays on the contract; on closure, the unused deposit returns to the sender.

The upper bound is set by the deposit itself: the stream cannot accrue more than allocated, and small shares are more convenient to withdraw in batches so the network fee does not eat into the point of frequent withdrawals.

Reporting is built on contract events: every creation, pause, rate change, and closure enters the network journal.

An indexing service collects them into an accrual register, which is reconciled with accounting for the period — the output is an export suitable for tax accounting without manual matching of transfers.

The transition from manual settlements happens without interruption: some payouts flow as a stream, some remain transfers until the amounts reconcile. Usually one or two periods of parallel operation are enough.

Can a stream be rolled back if the recipient lost access to their wallet?

Yes, access is a separate layer. A stream is tied to an address, and control is transferred to a new address without recreation: accruals for elapsed time are preserved.

If the recipient is completely unavailable, the stream is closed, and the unused remainder returns to the sender.

Let's discuss the task: we'll come back with an estimate and work plan

To come back with an estimate, not a "from-to" range, we need to understand the settlement scheme: who pays, to whom and by what rule the stream accrues, what happens on stop, revocation of rights, or recipient change.

Describe the task in free form — which assets and networks are involved, whether you need a linear stream, vesting with periods, or stepwise unlocking, how you plan to top up the contract, and who withdraws funds. The more specific the inputs, the more accurately we can specify timelines and settlement mode.

What you will receive based on the analysis:

  • Work estimate by stages: contracts and their verification, frontend and backend integration, wallet connection, test environment, and mainnet deployment.
  • Settlement mode options — continuous stream, vesting with agreed periods, or a combined scheme with manual top-up, with an explanation of where each option is appropriate.
  • Implementation plan with release sequence: first an environment with limited amounts, then expansion to the main volumes.
  • Team composition for your scope — who is responsible for contracts, who for integration, who for pre-release verification, and how many specialists are needed at each stage.
  • Control scheme — how pause, rights revocation, and refund will be structured so settlement can be stopped without rewriting contracts.

Describe the settlement scheme and expected volumes — we'll discuss the task and come back with an estimate, settlement mode options, and a staged implementation plan.