Money never moves until it should. Here's exactly how it works, state by state.
A stranger won't do weird work for a promise, and you won't prepay a stranger. So a third party holds the money while the work happens. We are that third party. The fulfiller sees the job is funded before lifting a finger; you see the work before a cent leaves escrow.
On a $100 request: $105 in from you, $85 out to them, $20 platform take. Every worked example lives in .
| Timer | Length | What it does |
|---|---|---|
| Request expiry | 14 days (default) | No pick by then → request expires, nothing was ever charged |
| Delivery window | 7 days from pick | No submission → flagged late (strike), you can repick or refund |
| Auto-release | 5 days from approved delivery | You don't act → escrow releases to the fulfiller |
| Revision reset | — | A revision returning to you restarts the 5-day clock once |
Each request carries a transaction ledger — charge, hold, release, refund, fee, tip, payout — every event, timestamped. If you ever wonder where money is, the answer is on the request page, not in a support queue.
Escrow exists so refunds are boring:
Refunds are free and go to the original payment method.
After you accept a delivery you can send a tip on top. Tips are different from the request price: the fulfiller gets the entire tip minus only the card-processing fee — read from the actual charge, not estimated. A $50 tip lands as roughly $48.25; we keep $0. Tips are card-only and can be sent more than once. Each one is in the ledger.
Fulfillers get paid to whatever they've set up:
If a fulfiller hasn't finished payout setup when a job is accepted, the money stays safely in escrow flagged deferred, and the system retries automatically until they're ready. Full payout detail: .
Funding a pick with crypto? At pick time you'll get a payment screen instead of a card charge — BTC, ETH, USDC and friends, converted to USDC on receipt. The pick confirms when the payment clears. Everything downstream (escrow, release, refund) behaves identically to fiat.
The moment a dispute opens, the transaction moves to disputed hold — no auto-release, no payout, nothing moves until a human resolves it: release to the fulfiller, refund to you, or a partial split. The full process is in .
Prices are shown in your display currency and charged in the request's native currency. Conversion is display-only, at current rates refreshed hourly — the stored amounts never drift. What your own bank does with a foreign-currency charge is between you and your bank.
Is there a wallet/balance I top up? No. Money moves per-job: card → escrow → fulfiller. Nothing parks on the platform any longer than the job takes.
Can the platform spend escrow? No. Escrow releases to the fulfiller, refunds to you, or splits per a dispute decision. Those are the only exits, and each one is in the ledger.
What if my card gets declined at pick? Nothing happens — no pick, no hold. Fix the card, pick again.