Skip to content

Fund Recovery (Refund) ​

The escrow contract provides two mechanisms for recovering funds to the operator. Neither requires approval from Verifluence, the creator, or any third party.

Since v7 the allocation refund is permissionless: once the timelock has passed, anyone may trigger it. That is safe because the refund only ever returns unspent funds to the operator's own campaign pool — the caller gains nothing. In practice Verifluence's relayer uses this to sweep timed-out allocations on the operator's behalf, so stale escrows do not sit unreclaimed.

Allocation RefundDeposit RefundRefund blocked untildeadline passesHas the deadline passed?Process refundReturn unclaimed slotfunds to deposit poolAllocation closedProcess refundReturn unallocatedbalance to operator walletDeposit balance updatedYesNo

Two Types of Refund ​

1. Allocation Refund (After Deadline) ​

Recovers unclaimed funds from a specific streamer's allocation after the agreed deadline has passed.

When it applies: The operator allocated funds to a streamer, but the streamer did not claim all of their slots before the deadline.

How it works:

  1. A refund is requested for a specific allocation — by the operator, or by anyone once the timelock has passed (v7)
  2. The contract checks that the deadline has passed
  3. The contract calculates the unclaimed amount (total allocation minus payouts already made)
  4. The unclaimed funds are returned to the operator's deposit pool
  5. The operator can then either allocate those funds to a different streamer or withdraw them entirely

Example: An operator allocated 1,000 USDC across 4 weekly slots (250 USDC each). The streamer completed 2 slots and was paid 500 USDC. After the deadline:

SlotAmountStatus
Week 1250 USDCPaid to streamer
Week 2250 USDCPaid to streamer
Week 3250 USDCUnclaimed — refundable
Week 4250 USDCUnclaimed — refundable

The operator refunds 500 USDC (the two unclaimed slots). The streamer's 500 USDC in completed payouts are unaffected.

2. Deposit Refund (Anytime) ​

Recovers unallocated funds from the deposit pool — funds that were deposited but never committed to any streamer.

When it applies: The operator deposited more than they ended up allocating, or a campaign was cancelled before full allocation.

How it works:

  1. The operator requests a refund of the unallocated balance
  2. The contract calculates: total deposited minus total allocated
  3. The unallocated balance is transferred directly to the operator's wallet
  4. No waiting period or deadline required

Example: An operator deposited 10,000 USDC and allocated 7,000 USDC to streamers. The remaining 3,000 USDC is unallocated and can be withdrawn at any time.

Custody Implications ​

QuestionAnswer
Can the operator reclaim all funds immediately?Unallocated funds: yes. Allocated funds: only after the deadline, and only the unclaimed portion
Can Verifluence block a refund?No. Refunds are processed directly by the contract, and since v7 anyone can trigger one after the timelock
Can the creator prevent a refund?Not after the deadline. Before it, allocated funds are locked and cannot be refunded
Can a refund take funds a creator already earned?No. A refund returns only the unspent portion; slots already released are untouched
Are refunds automatic?Not by the contract itself — a refund must be triggered. Since v7 anyone may do so after the timelock, and Verifluence's relayer sweeps timed-out allocations so operators do not have to track them
Can a refund be reversed?No. Once processed, the refund is final
Can refunded funds be re-allocated?Yes. Funds returned to the deposit pool can be allocated to new streamers

Fund Flow Summary ​

SituationWhat the Operator Can RecoverWhen
Campaign not yet started (all funds unallocated)100% of depositAnytime
Campaign partially allocatedUnallocated balanceAnytime
Creator completed all slotsNothing from that allocationN/A — funds already paid out
Creator completed some slotsUnreleased slot amountsAfter the deadline
Creator completed no slotsFull allocation amountAfter the deadline

Verifluence Documentation