Hourly Payment Protection: how it actually works
On an hourly contract, protection is tied to how the time was logged, not to the fact that you did the work. Hours qualify when you tracked them with the Time Tracker in the Upwork desktop app, the screenshots show activity related to that contract, your work diary carries memos describing what you did, your activity levels are genuine, and you stayed inside the contract's weekly limit. Your identity has to be verified, the client has to be on a verified billing method, and your account has to be in good standing.
Everything outside that is excluded: time added by hand, idle or empty segments, hours logged past the weekly limit, segments showing non-work activity, and segments with missing or vague memos. Bonuses are excluded too. This is the part freelancers learn too late, because manually entered time looks identical to tracked time inside the contract while carrying none of the same protection.
The weekly cycle, in real days
Hourly money moves on a fixed schedule, all of it in UTC:
- Week 1: you log time. The billing period opens Monday at 00:00 UTC and closes Sunday at 23:59 UTC.
- Week 2: at noon UTC on Monday, Upwork invoices your client for the logged time and charges their billing method. The client has until Friday to review the work diary.
- Week 3: your earnings become available on Wednesday, ten days after the billing period closed.
The catch is the ceiling. Hourly Payment Protection is capped at $2,500 or 50 hours at your rate, whichever is lower, per client, counted across the whole relationship rather than reset with each new contract. Past that point you have no formal hourly protection left with that client.
Fixed-Price Payment Protection: how it actually works
Fixed-price runs on funded milestones. The client deposits money into escrow (a minimum of $5 per milestone) before you're supposed to start, and that deposited amount is the only thing Upwork can actually protect. Work done against an unfunded milestone has zero protection, full stop, regardless of how confident you are the client will pay.
The mechanic that catches people: clicking Submit Work is what starts your protection clock, not sending the client a file over chat or email. Once you submit, the client has 14 days to approve it, request changes, or open a dispute. No response in that window means the funds release to you automatically. Skip the Submit button and you're relying entirely on the client's goodwill.
Then the money waits. Approved or auto-released funds move to Pending for a five-day security hold before you can withdraw them. In practice that means about five days from submission if the client approves the same day, and up to nineteen if they let the full review window run out.
Unlike hourly, fixed-price protection has no dollar cap. A $30,000 milestone that's properly funded and properly submitted is just as protected as a $300 one. Curious how your own profile would score on this? UpBRO’s audit checks it in about a minute.
What actually happens when a client disputes
On hourly, a dispute freezes the contract immediately. Upwork pauses it and sets the weekly limit to zero, so your first move is to stop working, because anything logged after that point sits outside the limit and outside protection. You then have three calendar days to accept or decline the dispute. Decline it and a specialist reviews your work diary against the protection criteria, typically within one business day, refunding only the hours that fail and paying out the rest. Let the three days lapse and Upwork still reviews the qualifying hours, but any money that fell outside protection is gone.
On fixed-price, the dispute window is the same 14 days the client has to approve. They can request changes or escalate inside it, which is exactly why an unfunded milestone is such a trap: with nothing in escrow there is no money for the dispute process to award you, however clearly you're in the right.
The asymmetry that actually decides which is safer
This is the core answer: hourly protection is reliable but ceilinged at $2,500 per client, fixed-price protection is uncapped but entirely conditional on you doing two things correctly every time, getting the milestone funded before you start, and clicking Submit Work when you're done. Skip either step on fixed-price and the uncapped protection simply doesn't exist for that piece of work.
For a single, well-scoped project worth more than $2,500, fixed-price is structurally the safer choice, provided you fund-check before every milestone and never treat sending files as the same thing as submitting them. For ongoing, loosely scoped, or hard-to-milestone work, hourly's weekly payout and diary-based dispute process tends to be the more forgiving mechanism, as long as you're not banking on a single client relationship worth more than that $2,500 ceiling.
There's a cost that lands before any of this applies. Every proposal you send spends Connects, and whether that spend pays for itself shifts the math between chasing lots of small fixed-price jobs and landing one long hourly contract you only had to win once.
The one mistake that voids protection entirely
Getting paid outside Upwork, even partially, even "just this once" for a client you trust, is circumvention. It violates the Terms of Service, and separately from that, it removes Payment Protection from that money entirely. Our account bans guide covers why this is one of the hardest violations to reverse if it goes wrong. Whatever contract type you're on, anything paid off-platform is protected by nothing.
One thing that doesn't change between the two
The service fee is identical either way, a variable 0 to 15% set per contract, same as covered in our fees breakdown. Contract type affects your risk exposure, not what Upwork takes off the top. If you want to see the real take-home on either structure, our fee calculator runs the numbers, and if you're deciding how to price a project either way, the audit tool can help make sure the profile behind the proposal is pulling its weight too. This is one piece of UpBRO's guide to how Upwork's algorithm works.
your turn
Want this analysis run on your own profile?
UpBRO audits your Upwork profile section by section against the same knowledge base and returns concrete fixes in about a minute.