Fund Locking (Deposit)
The deposit step is how campaign funds enter the escrow. The operator transfers money from their own wallet directly into the escrow contract. Once deposited, the funds are locked and can only be moved according to the contract's rules.
What Happens During a Deposit
- The operator initiates a transfer from their own wallet to the escrow contract
- The contract receives the funds and records the depositor's identity, the amount, and the token
- A unique Deposit ID is generated — this is the permanent reference for this pool of campaign funds
- The funds are now locked in the contract and publicly visible on the blockchain
Custody Implications
| Question | Answer |
|---|---|
| Who transfers the funds? | The operator, from their own wallet |
| Where do the funds go? | Into the escrow contract (an autonomous program) |
| Does Verifluence handle the transfer? | No. It is a direct wallet-to-contract transaction on the blockchain |
| Can the deposit be reversed? | Not as a reversal. The operator can withdraw unallocated balance at any time through the refund mechanism |
| Is the deposit publicly verifiable? | Yes. The deposit transaction and balance are visible to anyone on the blockchain |
Supported Currencies
The escrow contract is ERC-20 only — it holds no native-currency (ETH) entry points. Campaigns are funded in stablecoins such as USDC:
- The operator first approves the escrow contract to transfer tokens on their behalf, then triggers the deposit. This is the standard two-step process for token transfers on the blockchain.
- Transfers use OpenZeppelin's
SafeERC20, so both standard bool-returning tokens and non-standard tokens that return no value (e.g. USDT) are handled correctly.
Keeping the contract to a single asset type (ERC-20) deliberately shrinks its attack surface — there are no native-value transfer paths to reason about. Fee-on-transfer, rebasing, and callback (ERC-777) tokens are out of scope; operators fund only vetted tokens.
Available Balance
At any point after deposit, the funds are divided into two categories:
| Category | Description | Operator Can Withdraw? |
|---|---|---|
| Unallocated balance | Funds not yet committed to any streamer | Yes, at any time |
| Allocated balance | Funds committed to specific streamers | Only after deadline, and only unclaimed portions |
The operator retains full control over unallocated funds — they can be allocated to streamers or refunded back to the operator's wallet at any time with no waiting period.