The quote for your kitchen remodel looks good. The contractor seems professional, the reviews check out and the timeline works. Then comes the line that makes you pause: "We'll need 50% upfront to lock in your start date."
Is that normal? Sometimes a large deposit is reasonable, especially when custom materials need ordering. Sometimes it's a warning sign. And in some states, it's simply not allowed.
This guide covers what a normal contractor deposit amount looks like, which states cap deposits, how to structure a payment schedule that's fair to both sides and what to do if something goes wrong. There's also a small script that drafts a milestone schedule for you.
This is general information, not legal advice. State rules change, so confirm the current rules where you live.
The Short Answer
- 10% to 33% upfront is common for many home projects, depending on the job and the state.
- Some states cap deposits. California limits most home improvement down payments to $1,000 or 10%, whichever is less. Maryland and Massachusetts set limits around one-third.
- More than 50% upfront deserves serious questions, unless there's a clear reason such as expensive custom materials.
- After the deposit, payments should follow completed work, not the calendar.
- Hold back a final payment until the job is finished and you've walked through it.
What a Deposit Actually Pays For
A deposit isn't automatically a red flag. Contractors often have real costs before work starts:
- Scheduling. Reserving a crew and turning down other jobs for your dates
- Permits. Applying for and paying permit fees
- Materials. Especially custom or special-order items such as cabinets, countertops, windows and doors, which may be non-returnable
- Planning. Measurements, drawings and ordering
A reasonable deposit shows commitment on both sides. The question is whether the amount matches those early costs, and whether it's within what your state allows.
Typical Deposit Amounts by Project Type
There's no single national standard, but some patterns are common:
- Small repairs and service calls: often no deposit at all, or just a call-out fee
- Mid-size remodels, such as bathrooms and kitchens: often around 10% to 30%, depending on materials and state rules
- Projects with expensive custom materials: sometimes more, to cover items ordered specifically for you, where state law permits
- New construction and major additions: usually paid through a draw schedule tied to construction stages, often through a construction loan
Angi, the home services marketplace, says a deposit of around 10% to 25% is typical where no state limit applies, and notes that "If a contractor asks for more than 50% upfront, this could be a potential red flag."
States That Cap Deposits: Verified Examples
Many states regulate home improvement deposits. Here are four examples, checked against official sources in November 2026.
California
California has one of the strictest limits. According to the California CSLB's guide to home improvement contracts, "The down payment cannot be more than $1,000 or 10 percent of the contract price, whichever is less." The CSLB states there's no exception for special-order materials.
California also limits what comes next: "The payments to the contractor cannot exceed the value of the work performed," apart from the down payment. Contracts must include a written payment schedule.
Maryland
Maryland's home improvement deposit law states: "A person may not receive a deposit of more than one-third of the home improvement contract price." The limit applies to deposits taken before or when the contract is signed.
Massachusetts
Massachusetts home improvement contract requirements state that a deposit paid before work starts "cannot exceed one-third of the total contract price or the actual cost of any material or equipment of a special order or custom made nature." The sample contract on the same page treats this as whichever is greater, so a large special order can justify a bigger deposit.
Florida
Florida doesn't set a hard cap, but larger deposits come with obligations. Under Florida Statutes section 489.126, a contractor who receives more than 10% of the contract price for residential work must apply for necessary permits within 30 days of payment and start work within 90 days after permits are issued, unless there's just cause or the homeowner agreed in writing to a longer period.
Everywhere Else
Other states have their own rules, and some have none specific to deposits. Check your state's contractor licensing board or attorney general's consumer protection office before you sign. Some cities and counties add their own requirements too.
Building a Fair Payment Schedule
Tie Payments to Milestones You Can See
The best payment schedules link each payment to completed work you can verify, such as "cabinets installed" rather than "week three." That way, the money you've paid never gets too far ahead of the work that's been done.
Hold Back a Final Payment
Many contracts hold back a final payment, often around 5% to 10%, until the job is complete and any punch list items are fixed. This is sometimes called retainage or a holdback. It gives the contractor a reason to finish the small details promptly.
A Worked Example: A $40,000 Kitchen
This example is fictional, and its figures are illustrative.
In a state without a specific deposit cap:
- Deposit at signing (10%): $4,000
- Demolition and rough-in complete: $9,600
- Cabinets installed: $11,200
- Countertops set, plumbing and electrical finished: $11,200
- Final walkthrough and punch list (10%): $4,000
The same job in California:
- Deposit at signing (capped): $1,000
- Demolition and rough-in complete: $10,500
- Cabinets installed: $12,250
- Countertops set, plumbing and electrical finished: $12,250
- Final walkthrough and punch list: $4,000
In California, each progress payment must also stay within the value of the work actually completed.
Change Orders
Projects change. When they do, put every change in writing, with its price and its effect on the schedule, before the work happens. Add approved change orders to the next milestone payment rather than paying for them upfront in cash.
A Small Script to Draft a Milestone Schedule
If you'd like to try different deposit amounts or milestones, this Node.js script drafts a schedule and applies the deposit rules for the four states above. It has no dependencies. Save it as payment-schedule.mjs and edit the job object:
// payment-schedule.mjs: draft a milestone payment schedule for a home project
// Usage: node payment-schedule.mjs [state]
// State rules below are simplified examples checked in November 2026.
// They are a starting point, not legal advice. Confirm current rules for your state.
const job = {
total: 40000,
depositPct: 10, // what the contractor asked for
specialOrderCost: 0, // custom materials ordered upfront (used for MA)
retainagePct: 10, // held back until the punch list is done
milestones: [ // weights for the payments in between
['Demolition and rough-in complete', 30],
['Cabinets installed', 35],
['Countertops set, plumbing and electrical finished', 35],
],
};
const state = (process.argv[2] ?? '').toUpperCase();
const money = (n) => `$${n.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
let deposit = (job.total * job.depositPct) / 100;
const notes = [];
if (state === 'CA') {
const cap = Math.min(1000, job.total * 0.1);
if (deposit > cap) notes.push(`CA caps the down payment at ${money(cap)} (lesser of $1,000 or 10%)`);
deposit = Math.min(deposit, cap);
notes.push('CA: progress payments cannot exceed the value of work performed');
} else if (state === 'MD') {
const cap = job.total / 3;
if (deposit > cap) notes.push(`MD caps deposits at one-third: ${money(cap)}`);
deposit = Math.min(deposit, cap);
} else if (state === 'MA') {
const cap = Math.max(job.total / 3, job.specialOrderCost);
if (deposit > cap) notes.push(`MA caps deposits at one-third or special-order cost: ${money(cap)}`);
deposit = Math.min(deposit, cap);
} else if (state === 'FL' && deposit > job.total * 0.1) {
notes.push('FL: over 10% upfront means permits within 30 days and work starting within 90 days of permits');
}
const retainage = (job.total * job.retainagePct) / 100;
const middle = job.total - deposit - retainage;
const weightSum = job.milestones.reduce((s, [, w]) => s + w, 0);
const rows = [
['Deposit at signing', deposit],
...job.milestones.map(([name, w]) => [name, (middle * w) / weightSum]),
['Final walkthrough and punch list', retainage],
];
let running = 0;
console.log(`Payment schedule for ${money(job.total)}${state ? ` (${state})` : ''}`);
for (const [name, amount] of rows) {
running += amount;
console.log(` ${name.padEnd(52)} ${money(amount).padStart(11)} total ${money(running)}`);
}
notes.forEach((n) => console.log(` Note: ${n}`));
Running node payment-schedule.mjs ca prints:
Payment schedule for $40,000.00 (CA)
Deposit at signing $1,000.00 total $1,000.00
Demolition and rough-in complete $10,500.00 total $11,500.00
Cabinets installed $12,250.00 total $23,750.00
Countertops set, plumbing and electrical finished $12,250.00 total $36,000.00
Final walkthrough and punch list $4,000.00 total $40,000.00
Note: CA caps the down payment at $1,000.00 (lesser of $1,000 or 10%)
Note: CA: progress payments cannot exceed the value of work performed
Try depositPct: 50 with md, and the script caps the deposit at $13,333.33, one-third of the contract. Use the output as a starting point for a conversation with your contractor, not as a substitute for reading your state's rules.
Protecting Your Deposit
- Get a written contract that lists the deposit, every payment milestone, the scope of work, start and finish dates and the cancellation terms.
- Pay by check or credit card, never cash, and keep every receipt. Card payments may also give you dispute options if things go badly wrong.
- Verify the contractor first. Check their license with your state, confirm insurance and read reviews. Our guide to choosing a local plumber from online reviews walks through the same checks.
- Ask about lien releases. In many states, unpaid suppliers or subcontractors can file a lien on your property even if you've paid the contractor. Lien waivers or releases with each payment reduce that risk.
- Confirm special orders. If a large deposit covers custom materials, ask for the order confirmation or supplier invoice.
Red Flags
- Cash only, or a discount for paying in cash
- Full payment upfront, or a deposit well above your state's limit
- Pressure to pay today to "hold the price" or "lock in the crew"
- No written contract, or a contract with blank spaces
- No license number, or a license that doesn't match the business name
- Vague reasons for a large deposit, with no materials or permits to show for it
If the Contractor Takes the Deposit and Disappears
Act quickly and keep records:
- Document everything: the contract, receipts, messages and dates.
- Send a written demand asking for the work to start or the deposit to be returned by a specific date.
- File a complaint with your state's contractor licensing board and consumer protection office.
- Consider small claims court for smaller amounts.
- Check for a recovery fund. Some states, including Maryland through its Home Improvement Guaranty Fund, can compensate homeowners for losses caused by licensed contractors. Eligibility rules vary, and unlicensed contractors usually aren't covered.
Before You Pay: Check Reviews
Before handing anyone a deposit, read what previous customers say about how the business handles money, schedules and problems. You can browse reviews of local businesses across Clutchpilot business categories, and leave your own once your project is finished.
FAQs
How much of a deposit should a contractor ask for?
Many home projects use a deposit of around 10% to 33% of the contract price, depending on the job, materials and state rules. Some states set limits, such as California's cap of $1,000 or 10%, whichever is less. The rest should be paid as work is completed.
Is it normal for a contractor to ask for 50% upfront?
It's not typical for most remodels, and it may break deposit limits in some states. A larger deposit can make sense for expensive custom materials where your state allows it, but ask for proof of what the money covers, such as supplier invoices, and get everything in writing.
Is there a legal limit on contractor deposits?
In some states, yes. California limits most home improvement down payments to $1,000 or 10%, whichever is less. Maryland caps deposits at one-third of the contract price, and Massachusetts at one-third or the cost of special-order materials. Check your own state's rules before signing.
What is a typical payment schedule for a remodel?
A common structure is a modest deposit at signing, several progress payments tied to completed milestones such as demolition, rough-in and installation, and a final payment held until the walkthrough and punch list are complete. Each payment should match work you can see.
Should I pay a contractor in cash?
It's best to avoid it. Cash leaves little record and no way to dispute a charge. Pay by check or credit card, keep receipts and be wary of contractors who insist on cash or offer a discount for it.
Can a contractor keep my deposit if I cancel?
It depends on your contract, state law and how much work or ordering has already happened. Some sales may come with a short cancellation right, and custom materials may be non-refundable. Read the cancellation clause before signing, and ask how deposits are handled if plans change.
What should I do if a contractor took my deposit and didn't show up?
Gather your contract, receipts and messages, then send a written demand for the work to start or the money to be returned. If that fails, file a complaint with your state's licensing board and consumer protection office, and consider small claims court or a state recovery fund if one applies.
Wrapping Up
A normal contractor deposit amount covers real early costs without leaving you exposed. Check your state's limits, tie every later payment to completed work, hold back a final payment until the job's done and get it all in writing. When a deposit request feels too big, ask what it pays for. A good contractor will have a clear answer.
Top comments (0)