Upwork milestones: the short answer
Upwork milestones are how a fixed-price contract is broken into smaller, separately paid pieces of work. Each milestone has a deliverable, a due date and an amount. The client funds a milestone up front, Upwork holds that money, you do the work and submit it, and once the client approves (or 14 days pass with no response) the payment is released to you. Then the next milestone gets funded and the cycle repeats. Milestones only exist on fixed-price contracts. Hourly contracts are billed on logged time instead.
Everything below comes from Upwork's own help center articles on milestones, submitting work, fixed-price payments and Fixed-Price Payment Protection, checked on the day this post was written. Upwork updates these flows often, so if you are reading this much later, confirm the details in the help center.
How a milestone moves from funded to paid
Every milestone goes through the same five stages. Knowing where your money sits at each one stops most of the panic messages freelancers send clients.
The fixed-price milestone payment flow, per Upwork's help center
| Stage | What happens |
|---|---|
| 1. Funded | The client deposits money for the milestone. It shows under Work in progress, and the milestone carries a Funded label. |
| 2. Submitted | You deliver through Submit work. The funds move to In review. |
| 3. In review | The client has up to 14 days to approve, release a partial or larger amount, or request changes. If they do nothing, funds release automatically. |
| 4. Pending | Approved or auto-released funds go through a five-day security hold to protect against fraud and chargebacks. |
| 5. Available | You can withdraw manually or on your automatic withdrawal schedule. |
Two details worth knowing. If the client requests changes and you resubmit, the 14-day review period starts again. And fixed-price contracts never qualify for Upwork's faster payments, which only apply to eligible hourly contracts. If cash flow timing matters to you, the full picture is in [how long does Upwork take to pay](/blog/how-long-does-upwork-take-to-pay).
The milestone rules that actually protect you
Upwork's Fixed-Price Payment Protection is only as good as your habits. Per Upwork, you may be covered when three things are true: the milestone was fully funded before you began, you delivered through the Submit Work for Payment flow, and the work matches the milestone description. Upwork is blunt about the flip side: if a milestone is not funded in advance, it cannot help you recover payment later.
- Never start before you see Funded. No label means the client has not deposited the money yet, no matter what they say in chat.
- Always click Submit work. Go to Deliver work > Your active contracts and select Submit work on the contract. Even if you already sent the files in Messages, by email, or straight into the client's site or doc, you still need to click Submit to start the 14-day clock. You do not have to upload the work again.
- Keep the description honest. The milestone description is what your work gets measured against in a dispute. If the scope changes, get the milestone updated first.
- Do not deliver after the contract ends without a written agreement. Upwork lists that as one of the situations protection does not cover.
- Keep the conversation on Upwork. Upwork recommends using Messages for updates, questions and revisions so the record exists if something goes wrong.
Key milestone limits on Upwork
Milestone limits and rules, per Upwork's help center
| Rule | Detail |
|---|---|
| Minimum amount | $5 USD per milestone. |
| Maximum per contract | 200 milestones. After that, the contract has to be closed and a new one created. |
| Active at once | One. The current milestone has to be paid out before the next can be activated and funded. |
| Funding | Clients fund one milestone at a time. They do not have to fund the whole project up front. |
| Review window | 14 days after you submit. No response means automatic release. |
| Security hold | Five days after approval or auto-release, before funds are available. |
| File size | Up to 1 GB per file through Upwork Messages. Larger deliverables need another sharing method the client agrees to. |
The one-active-milestone rule matters more than it looks. Because only one milestone can be funded at a time, a client who funds milestone one has not committed a cent to milestone two yet. Plan your workload accordingly.
How to propose or change a milestone as a freelancer
Freelancers cannot edit milestones directly. You can only send requests, and the client approves or declines every one. Here is what you can do, per Upwork's help center:
- Propose a new milestone: go to Your active contracts, open the contract, choose Propose a new milestone in the Overview tab, enter the details, save, and select Send Request.
- Change a future milestone: open the contract, choose Manage milestones, select the pencil icon on the milestone, edit the amount, due date or other details, save, and send the request. You can also ask for a future milestone to be removed.
- Withdraw a request: if the client has not responded, open Milestones & Earnings, choose View Changes, then Withdraw. To edit a request, withdraw it and send a new one.
A few rules catch people out. You cannot propose changes to the active milestone, only future ones. Your request does not expire, and the client has to accept or decline it before they can make their own changes to future milestones. On agency contracts, only the agency manager can send milestone requests.
Clients, on the other hand, may be able to request changes to an active milestone (title, description, due date or amount) as long as you have not submitted work for it. Upwork notes this feature is not available to everyone yet. You approve or reject it. If you submit work or the client releases payment while the request is pending, it is cancelled automatically, and if nobody acts it expires after seven days. If a client adds a milestone you never agreed to, ask them to delete it.
How I would structure milestones on a new contract
Upwork says a good milestone has a clear deliverable, an estimated delivery date and an agreed payment amount. That is the floor. This is the structure I recommend on top of it, especially with a client you have not worked with before:
- Make the first milestone small and fast. It proves the client funds on time and approves without drama before you commit serious hours.
- Tie every milestone to something the client can see. A wireframe, a draft, a working feature. Not "50% of the project", which nobody can approve with confidence.
- Write the revision terms into the description. How many rounds are included is the line between a revision and new work.
- Avoid one big final milestone on long projects. If the whole budget sits on the last day, you carry all the risk until the very end. Upwork's own tip is to break big projects into smaller milestones so you are paid as you go.
- Agree the plan before you accept the offer. Changing milestones later needs the client's approval every time. Fixing them on the offer is one Request changes away, as covered in [how to accept an offer on Upwork](/blog/how-to-accept-an-offer-on-upwork).
If you are still deciding whether a job should be fixed-price at all, start with [Upwork fixed-price vs hourly contracts](/blog/upwork-fixed-price-vs-hourly-contracts).
When the client will not release a milestone
If you submitted through Submit work and the client goes quiet, the 14-day auto-release does the job for you. The harder cases are when a client releases less than the milestone amount, asks for a refund of the deposit instead of paying, or ends the contract with money still held.
- Partial release: the client can put the leftover toward the next milestone, or request a refund of it. If they request a refund, you can agree or start a dispute.
- Refund request: you can approve it, or dispute it, but Upwork says you need to dispute within seven days of the request.
- Disputes over project funds can be filed when a client does not release a milestone, releases only part of it, requests a refund, or ends the contract with funds still held.
Talk to the client first, in Upwork Messages, before reaching for a dispute. If that goes nowhere, the step-by-step is in [a client opened a dispute on Upwork](/blog/upwork-client-opened-a-dispute), and if they have simply vanished, see [Upwork client not responding](/blog/upwork-client-not-responding). A client who wants to finish the job and pay you off-platform instead is a red flag, covered in [when a client wants to pay outside Upwork](/blog/client-wants-to-pay-outside-upwork).
Short, practical drops on proposals, niches, client scripts, and rates. No spam, unsubscribe anytime.
Frequently asked questions
What is a milestone on Upwork?
A milestone is a piece of a fixed-price contract with its own deliverable, due date and payment. The client funds it before work starts, you submit the work, and payment is released after the client approves or after 14 days with no response.
Should I start work before a milestone is funded on Upwork?
No. Upwork says to only begin work when the milestone is marked Funded, and that if a milestone is not funded in advance it cannot help you recover payment later.
How do I submit a milestone on Upwork?
Go to Deliver work > Your active contracts and select Submit work on the contract. You can add a short message. Even if you already shared the work elsewhere, you still need to click Submit to start the client's 14-day review period.
What happens if the client does not approve a milestone on Upwork?
If the client takes no action within 14 days of your submission, the funds are released to you automatically. They then go through a five-day security hold before you can withdraw them.
Can I change a milestone on Upwork as a freelancer?
You can request changes to future milestones and propose new ones, but the client has to approve them. You cannot change the active milestone yourself. Clients may be able to request changes to an active milestone, which you can approve or reject.
What is the minimum milestone amount on Upwork?
Each milestone must be at least $5 USD, and a contract can have up to 200 milestones.
Can a client fund all milestones at once on Upwork?
No. Only one milestone can be active and funded at a time. The client releases payment on the current milestone before the next one can be activated and funded.
Last reviewed by David Iya on October 11, 2026

