Reference Source

Construction retainage limits by US state — maximum withholding percentages, release deadlines, escrow requirements, and public vs private distinctions with statutory citations

State-by-state comparison of the statutory rules governing retainage (retention) on construction contracts. Each record is one state with the maximum retainage percentage for public and private projects, the deadline for releasing retained funds after substantial completion, whether retainage must be held in an interest-bearing escrow account, whether the cap is reduced after a completion milestone (e.g. 50% complete), and the statutory citation. Caps range from 0% (New Mexico) to 10%, with a strong trend toward 5%. Answers 'how much retainage can be withheld on my project in [state]', 'when must retainage be released', and 'does my state require retainage escrow'.

Records30
Sources27
Verified
Review by
Licenceunknown

The data

StatePublic project retainage cap (%)Private project retainage cap (%)Release deadlineEscrow requiredMilestone reductionStatutory citation
Arizona10% before 50% complete; 5% after 50% completeno statutory cap in this sectionwithin 60 days after final completion and acceptanceno (substitute security option available)at 50% completion, half of retained amount returned and rate drops to 5%Ariz. Rev. Stat. § 41-2576
California5%not addressed in this statuteupon final completion and acceptance of the projectnot addressed in this statuteafter 95% of the work has been completed, the department may reduce the funds withheld to an amount not less than 125 percent of the estimated value of the work yet to be completedCal. Pub. Cont. Code § 10261
Colorado5%5%not specified in this sectionnononeC.R.S. § 38-46-103
Connecticutnot specified on this pagenot specified on this pagenot specified on this pagepublic onlynot specified on this pagenot specified on this page
Florida5%no statutory capsame time limits for payment of a payment request apply regardless of whether the payment request is for, or includes, retainagenononeFla. Stat. § 255.078
Georgia5%no statutory capwithin 30 days after invoice at substantial completionnononeGa. Code Ann. § 13-10-80
Illinois10% before 50% complete; 5% after 50% complete10% before 50% complete; 5% after 50% completenot specified in this sectionnoat 50% completion, retainage reduced to no more than 5%815 ILCS 603/20
Indianaper contract terms (escrow required when withheld)no statutory capper contract termsyesnoneInd. Code § 5-16-5-5.3
Iowa5%no statutory cap in this sectionper section 573.14nononeIowa Code § 573.12
Kentucky10% until 50% complete, then 5%10% until 50% complete, then 5%30 days after substantial completionnoretainage held after fifty-one percent (51%) of the construction project has been completed shall not be more than five percent (5%)KRS 371.410
Louisiananot specified on this pagenot specified on this pagenot specified on this pageyesnot specified on this pagenot specified on this page
Maryland5%5%90 days after the date of substantial completionnononeMd. Code, Real Prop. § 9-304
Massachusetts5%5% (contracts ≥$3M, excluding residential 1–4 units)not later than 14 days after substantial completion, notice submitted; retainage due per contract termsnononeMass. Gen. Laws ch. 149, § 29F
Michigannot specified on this pagenot specified on this pagenot specified on this pagepublic onlynot specified on this pagenot specified on this page
Minnesota5%5%60 days after substantial completionnoowner may reduce or eliminate retainage if work is progressing satisfactorilyMinn. Stat. § 337.10
Missouri5%no statutory cap30 days after acceptance and receipt of required documentationnopublic owner may reduce or eliminate retainage if work is proceeding satisfactorilyRSMo § 34.057
Nebraska10% before 50% complete; 5% after 50% complete10% before 50% complete; 5% after 50% completeafter substantial completion, withholding capped at 125% of estimated remaining costnoat 50% completion, retainage reduced to no more than 5%Neb. Rev. Stat. § 45-1204
Nevada5%no statutory capwithin 30 days after occupancy, use, or recording of notice of completion, whichever occurs firstnoafter 50% of the work has been completed, the public body may pay remaining progress payments without withholding additional retainageNRS 338.515
New Mexico0%0%not specified on this pagenot specified on this pagenot specified on this pagenot specified on this page
New York5%5%30 days after final approval of the worknononeN.Y. Gen. Bus. Law § 756-C
North Carolina5%no statutory cap60 days after substantial completion or beneficial occupancynoretainage eliminated after 50% complete with surety consentN.C. Gen. Stat. § 143-134.1
Ohio4% (payments at not less than 96%)no statutory capgoverned by sections 153.13 and 153.14nononeOhio Rev. Code § 153.12
Oregon5%5%interest commences 30 days after completion and acceptanceyes (contracts exceeding $500,000)noneORS 701.420
Pennsylvaniano statutory percentage capno statutory percentage cap30 days after final acceptance of the worknocontractor or subcontractor may post a maintenance bond for 120% of retainage upon reaching substantial completion to facilitate release73 P.S. § 509 (Contractor and Subcontractor Payment Act, Section 9)
South Carolinano statutory capno statutory cap21 days for owner to contractor; 7 days for contractor to subcontractor after receiptnononeS.C. Code Ann. § 29-6-40
Tennessee5%5%90 days after completion of the work or 90 days after substantial completionyesnoneTenn. Code Ann. § 66-34-103
Texas10% (contracts <$5M); 5% (contracts ≥$5M)no statutory capupon completion of the work required to be performed under the contractoptional (contracts ≥$10M, by agreement)noneTex. Gov't Code § 2252.032
Virginia5%no statutory capincluded in the final paymentnononeVa. Code § 2.2-4333
Washington5%no statutory cap60 days after completion of all contract workoptionalcontractor may request retainage be reduced to 100% of the value of work remainingRCW 60.28.011
Wisconsin5% until 50% complete; 0% after 50% complete (unless unsatisfactory progress)no statutory cap in this sectionupon substantial completionnoat 50% completion, no further retainage withheld (full payments resume)Wis. Stat. § 66.0901(9)(b)

Where this came from

Every record above links the page it was taken from and quotes the sentence that states it. These are the 27 sources this dataset was assembled from.

Machine-readable

From your own code

Same records, same quotes, without scraping the page: refsource is on PyPI and npm. Each value comes back carrying the URL it was read from and the sentence on that page that states it — .source and .quote sit on the value itself rather than in a side channel, so the checking step is available instead of skipped.

pip install refsource
refsource lookup construction-retainage-limits-by-state state=Arizona

npx -y refsource lookup construction-retainage-limits-by-state state=Arizona

Set your AI assistant up to use this

Two files and no account. Put this in .mcp.json at the root of your project — Claude Code, Cursor, Windsurf, VS Code and Codex all read that file — and your assistant can look this dataset up instead of recalling it. The server is remote, keyless and read-only.

{
  "mcpServers": {
    "referencesource": {
      "type": "http",
      "url": "https://referencesource.org/mcp"
    }
  }
}

Add to Cursor · or, on the command line: claude mcp add --transport http referencesource https://referencesource.org/mcp --scope project

Then one line in the project's CLAUDE.md or AGENTS.md, so the assistant knows when to reach for it:

When a question needs "Construction retainage limits by US state — maximum withholding percentages, release deadlines, escrow requirements, and public vs private distinctions with statutory citations", call the referencesource MCP server at https://referencesource.org/mcp (tool `search_records`, dataset_slug `construction-retainage-limits-by-state`) instead of answering from memory — every record it returns carries its source URL and a verbatim quote from that page.

What each tool does, and the servers built over single registers: Connect your AI assistant.

30 records. last verified against source . due for re-check by .

Licence. unknown