Giveth Donation Stream Cancellation and Unused Fund Withdrawals
Giveth lets donors end recurring donations and withdraw unused tokens from their Stream Balance. These actions change different things: ending a stream stops future payments to its recipient, while withdrawing reduces the funds available for continuing streams. Money already streamed remains with the recipient. Before withdrawing an entire balance, end every donation drawing from it. For a partial withdrawal, account for the remaining streams and their combined demand on that balance.
In short: Ending a donation stops its future flow, while withdrawing unused funds reduces the balance available to any streams you keep running.
Active streams and the balance they share
A stream specifies a recipient and a payment rate; its funding comes from the sender's balance of the relevant Super Token. Outgoing streams from the same wallet using the same Super Token on the same network draw down the same funds. Ending one reduces the combined outgoing rate without closing the others.
The balance also reflects incoming streams and ordinary token transfers. Between ordinary transfers, the net flow determines how quickly the account balance changes. A balance that appears stable doesn't necessarily mean every outgoing donation has stopped. The individual stream's status answers that question.
End a donation or reduce its amount
The Recurring Donation tab under My Donations provides an actions menu for each donation. Check the donation's recipient, token and network, then choose End to stop it or Modify to change its amount. Ending requires a wallet transaction. To withdraw unused funds, select Deposit/Withdraw beside the relevant Stream Balance in the same tab, choose Withdraw and confirm the withdrawal transaction in your wallet.
An unsigned request hasn't changed the stream. A submitted transaction also needs successful execution before its intended change takes effect. Keep the selected recipient, token and network consistent when checking the resulting state.
Can stopping a stream recover earlier donations?
Stopping a stream doesn't reverse the tokens it has already transferred to the recipient. The cancellation changes future flow, while the accumulated payment remains part of the recipient's balance.
Superfluid settles the balance at the time of a stream change and applies the updated flow from that point. This makes the execution time relevant when reconciling the final amount. A monthly display expresses a continuous rate; it doesn't establish a monthly refund window or postpone transfers until a billing date.
Parameters behind the withdrawal decision
The available funds and ongoing flow determine whether a withdrawal leaves enough funding for the streams you retain.
| Parameter | Value or calculation | Effect on remaining funds |
|---|---|---|
| Flow rate | Tokens per second | Continues until the stream changes or ends |
| Net flow | Incoming rates minus outgoing rates | A negative value reduces the balance over time |
| Current balance | Static balance plus accumulated streaming changes | An earlier balance reading can become stale |
A withdrawal changes the amount held, rather than reducing each recipient's payment rate. With unchanged outgoing payments and no offsetting inflows, less funding means less time before depletion.
Withdrawal amounts and buffer restrictions
The moving withdrawal amount
An active stream continues consuming tokens while a withdrawal is being prepared. The interface therefore leaves a small allowance when calculating the withdrawable amount. That allowance addresses the moving balance; it isn't a payment already made to a project.
The protocol's stream deposit
Superfluid also reserves a stream buffer to handle accounts that run short of funds. Its configuration depends on protocol parameters, so a fixed duration shouldn't serve as a universal withdrawal rule. This deposit is distinct from an interface allowance for transaction timing.
Closing a stream before the account becomes critical releases its associated protocol buffer. Allowing funding to run out can instead expose that buffer to liquidation. Withdrawal planning should account for this reserved amount rather than treating every displayed token as immediately available.
What confirms the exit is complete?
A complete exit requires confirmation of both the ended streams and the return of the withdrawn tokens. One successful action doesn't prove the other occurred.
The donation record
An ended recurring donation appears as Finalized on the project's donation tab, alongside its recorded total. Preserve the token amount when reconciling the donation; its displayed currency valuation answers a different question.
The returned token balance
Withdrawal converts a supported wrapped Super Token back into its underlying token. The underlying wallet balance is therefore the relevant destination to inspect, while the streaming balance should reflect the amount removed. Unwrapping doesn't send back tokens already received by another account.
A transaction record and a balance answer different questions. The record identifies the executed operation; the balance shows the funds presently held. If other transfers occurred during the same period, a simple before-and-after subtraction may not isolate the withdrawal.
Manual closure versus running out of funds
Manual closure lets you choose when future payments stop. Waiting for depletion introduces the protocol's liquidation process: an account with negative net flow becomes critical when its available balance falls below zero, and external actors can close its streams. The buffer can fund the interval and reward that closure. Ending funded streams deliberately preserves more control over the stopping point than relying on exhaustion. After depletion ends a donation, topping up alone won't restart it; you must create a new recurring donation.
Giveth: questions and answers
Does archiving an ended donation erase its history?
Archiving hides the ended donation from the My Donations table. The archived-records toggle makes it visible again. Archiving changes the table's presentation; it doesn't reverse the donation or withdraw its unused funding.
Why might a separate donation to Giveth remain active?
An optional contribution to Giveth creates a separate recurring donation. Ending the donation to your selected project doesn't end that separate stream. Include it when identifying every donation drawing from the balance you intend to withdraw.
Can the recipient keep funds it hasn't claimed when I end my stream?
Funds already streamed belong to the receiving balance even if the project hasn't claimed them yet. Claiming and streaming are separate operations. Ending your outgoing flow stops future accrual without turning the project's unclaimed receipts into your withdrawable balance.
Will closing the browser stop an active donation?
Closing the browser doesn't stop a stream. Superfluid calculates streaming balances from elapsed time and the stored flow rate without requiring continuous browser activity. An active donation needs a successful stream-ending transaction to stop through manual cancellation.