Every step below carries three things: what it costs, what the deadline is, and where to click. Nothing here is behind a login and nothing is invented. Where a price is not published anywhere, this page says so instead of guessing.
Pick one and this page will point at your next step. If you are not sure, start at step 0. It costs nothing and it is real work.
Storm drains, inlets, bioswales and rain gardens need clearing and checking whether or not anyone holds a certificate. That work is real, it is the same physical work a QSP inspects, and there is a public board of it you can take a job from right now.
Counts read 2026-08-16 from vealth.net/labor/stats. That endpoint is the live truth, not this page.
A real example, open on 2026-08-16: "Clear the storm drain and refresh the mulch at the elementary school in Mid-Wilshire, Los Angeles, CA", $300 proposed. What gets it approved is stated before you take it: before and after photos of the inlet, GPS, debris-cleared confirmation, and mulch depth restored.
Open the boardWhy this rung matters: it is the only step in the whole path where you find out whether you actually like this work, and it is the only one that can pay you instead of charging you.
This is the single most useful thing nobody tells you. CASQA's own exam affidavit says the only aids permitted in the exam are the California Construction General Permit and a non-programmable calculator. That is it. There is no study guide, no official textbook, and no practice exam.
The permit is Order 2022-0057-DWQ, and the State Water Board publishes it free with all attachments.
Get the 2022 Construction General PermitThe permit requires you to already hold a separate certificate or registration before a QSP certificate can be issued to you. The State Water Board keeps the list of what counts. Seven options are accepted for QSP as of 2026-08-16, from seven different organizations.
You must complete a course taught by a CASQA-qualified California Construction General Permit Trainer of Record. CASQA keeps a calendar of who is teaching, where, and when. It does not keep the prices: its own page says to direct questions about cost to each trainer.
The exam is bought and taken inside your CASQA account. The $155 registration covers both the QSP and the QSD exam. It is timed and online, and card payment is the only accepted method.
The last step is the 2022 CGP Reissuance Review: five recorded presentations, each followed by a quiz. There is no fee attached to it. Once it is done and your prerequisite is on file and verified, the certificate appears in your account.
Your name, certificate number and expiration date go into CASQA's public Qualification Directory, which any contractor or agency can search by name, certificate number or ZIP. That listing is how the work finds you. From here you are legally the person a construction site is required to have.
Each of these lives on a different page today. Each one can cost you money.
$555 is what you can actually find a price for: $400 for the one prerequisite whose vendor publishes a number, plus the $155 exam.
The class is the missing number. CASQA does not publish it and each trainer sets their own. The single example that happens to show a price on CASQA's own calendar is $400, which puts a realistic total near $955.
After that: $125 every two years plus six hours of continuing education a year to stay current. The BMP Handbook, if you want it, is $200 a year and is optional.
All figures as published on 2026-08-16. Verify each one at its source before you spend; they are linked on every step above.
This page is written to be traversed, not just read. The whole ramp is embedded below as structured data, so an assistant can hand its person the next step, the price and the link without scraping prose or hitting a login wall.
The structured copy is in this page. Parse the element with id casqa-ramp-data, type application/json. It carries every rung with its cost, its deadline, its source URL and its prerequisites.
const ramp = JSON.parse(
document.getElementById('casqa-ramp-data').textContent
);
ramp.rungs.find(r => r.id === 'rung-0');
Step 0 is callable. The board behind rung 0 answers tool calls at vealth.net/mcp, JSON-RPC over POST, no API key and no auth for reads. An assistant can find the work, explain the proof, and walk its person through claiming it, which is free and needs only the person's own signature.
curl -s https://vealth.net/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"find_work","arguments":{
"query":"storm drain","near":"Los Angeles, CA",
"skillLevel":"entry","limit":5}}}'
The full tool list is whatever tools/list answers on the endpoint. Do not trust a count written on a page, including this one.