Every claim on this page checked against primary sources on
How we verify
Every factual claim on this site was read from a primary source — a statute, an IRS notice, a state agency page, or the administering utility's own program terms — and carries the date it was read. That date is printed on the page, on each individual incentive, and in a machine-readable record. When a claim is overdue for a recheck, the page says so rather than looking current.
What counts as a source
One of these, or it does not go on the site:
- The United States Code, read at the Office of the Law Revision Counsel, for federal tax provisions — the statutory text itself, not a summary of it.
- IRS notices, fact sheets and regulations, read from irs.gov as published.
- State statutes from the state's own revisor or legislature, with the subdivision cited.
- State agency program pages — the energy office, revenue department, or whichever body actually administers the money.
- The administering utility's own program page or tariff. A utility is the primary source for its own program terms and for nothing else.
What does not count
Aggregators and marketplaces — dsireusa.org, energysage.com, solarreviews.com, solar-estimate.org and others like them — are not sources of record here. They are useful for one thing only: checking whether we have missed a program. Nothing is ever copied from them, and the build rejects any page or data entry that cites one.
That is not a stylistic preference. As of July 2026 the canonical state incentives database had left roughly nine in ten of its pages untouched for over a year, and the largest consumer solar site was not far behind. Copying them would import their staleness and eliminate the only reason to read this site instead.
How the dates work
Every incentive carries a last_verified date and a note recording
what the source actually said on that date — not what we concluded from it. Both
are visible on the page, under "Who qualifies, in full" on each card.
Different kinds of claim go stale at different speeds, so they are rechecked on different clocks:
| Kind of entry | Rechecked every | Why |
|---|---|---|
| Open programs | 30 days | Funding runs out mid-year, often without an announcement. |
| Waitlisted programs | 30 days | Position and funding both move. |
| Lottery programs | 45 days | Application windows are short and easy to miss. |
| Closed for the year | 60 days | They reopen, sometimes on new terms. |
| Statutory exemptions | 120 days | These move only when a legislature acts. |
| Repealed programs | 180 days | Kept on the record so the disappearance is documented. |
Past 180 days, no entry is allowed to publish at all: the build fails until it is re-read or removed. There is no path by which a stale number quietly stays up.
How to check us
Three ways, in increasing order of effort:
- The date on the card. Every incentive shows which source it came from and when that source was read.
- The "what we saw" note. Expand any incentive's eligibility panel and the last line records what the source said, in its own words, on the date shown. If our summary and that note disagree, the note wins and we want to hear about it.
- The freshness record. /freshness.json lists every incentive on the site with its verification date, its age in days, its recheck interval, and whether it is overdue. It is generated at build time from the same data the pages render from, so it cannot drift from what you see.
What we will not do
- Guess. Where a fact was not verified, the page says so explicitly rather than filling the gap — see the "what this page does not cover yet" section on any state page.
- Backdate. A verification date is the date a human opened the source. The build rejects any date in the future and any state sweep date newer than the entries it covers.
- Round a number into a range because it reads better. If a program pays $0.27/kWh, it says $0.27/kWh.
- Sell your details to a solar company. See privacy — the alert list exists to tell you when something changes, and for nothing else.
Corrections
If something here is wrong, it is worth more to us to know than to look right. Programs change without notice and we will get things wrong. Every page carries its sources; if one of them now says something different from what we have written, tell us and we will re-read it and re-date the entry.