1. The freelancer proposes milestones
Before work starts, you and your freelancer agree on the project broken into milestones. Each milestone has three things:
- A clear deliverable — what will be handed over.
- A price — what you will pay for that deliverable.
- An acceptance bar — how you will know the work is "done done", not "kind of done".
You can see all the milestones on your project page, with each milestone's name, description, and amount.
2. You fund the milestone in escrow
When you click Fund on a milestone, your payment is captured by PayPal but not yet released to the freelancer. The money sits in escrow, protected by PayPal's buyer protection policies. The freelancer can see that the milestone is funded — that's their green light to start the work.
The first time you fund a milestone, the same single PayPal approval also saves your payment method on file so future milestones can be funded with one click. You are only ever charged for the milestone amounts you explicitly fund.
3. The freelancer delivers the work
The freelancer does the work and shows it to you — files, links, demo, whatever was agreed in the deliverable. You review it against the acceptance bar from step 1.
4. You release payment when you're satisfied
If the work meets the acceptance bar, you click Release on that milestone. The escrowed payment is released to the freelancer. The milestone is marked Completed.
If the work isn't there yet, don't release. Send the freelancer the specific gaps and ask them to revise. The money stays in escrow until you're satisfied. There is no time pressure on the release decision — you control the pace.
5. Disputes
Most projects resolve themselves at step 4 — the freelancer revises until you're happy and you release. For the rare case where you and the freelancer can't agree, the funds stay in escrow and you can contact support. Our team helps mediate, and either party can escalate to PayPal's dispute resolution.
What this is good for
Fixed-price milestones work best when:
- The work can be broken into chunks with clear deliverables.
- You want predictability on the total cost, not an open-ended hourly bill.
- You want the freelancer to be paid promptly when they deliver — but not before.
- You want to avoid the risk of paying upfront for work that never arrives.
For ongoing work with shifting scope, an hourly or weekly subscription contract is usually a better fit.
What you control
- You decide when to fund each milestone. Until you click Fund, no money moves.
- You decide when to release. Until you click Release, money is in escrow.
- You decide on revisions. If the work isn't right, don't release — request changes.
- You can cancel anytime. Unfunded milestones simply don't get funded. Funded ones can be disputed.
Comparison to other payment models
vs. Hourly: hourly bills you for time, fixed-price bills you for results. Use hourly when scope is uncertain and you want flexibility. Use fixed-price milestones when you want predictability and concrete deliverables.
vs. Upfront full payment: a full upfront payment puts all the risk on you — if the freelancer disappears, your money's gone. Milestones spread that risk: you only fund the next chunk after the previous one was delivered.
vs. Pay on delivery: paying on delivery puts all the risk on the freelancer — if you disappear, their work was free. Milestone funding (escrow) is the middle ground: the freelancer sees the money is committed, you keep control over when it's released.