← back
# strandedgrid Pricing model
**Source of truth.** Any price displayed on the public site, quoted in
an outbound email, or charged via Stripe must reconcile to the formula
in §2 of this document. Drift = bug.
Last revised: 2026-06-08 (dossier $49 reprice: self-serve front-door).
Replaces the 2026-06-03 $1,500 unit; the lead-form-only PAYG
front-door is gone, replaced by a one-click Stripe Checkout.
---
## 1. Audience and unit-of-value
The buyer is a **site-selection BD lead at a Bitcoin or AI-compute
miner**, or the equivalent at an HPC colo / flare-capture vendor. Their
in-house cost to source a single stranded-energy site lead (research,
operator resolution, decision-maker hunt, outreach prep) is **8–14
analyst-hours @ $150/h fully loaded → $1,200–$2,100 per site**.
The product unit is one **Site Dossier** priced as a self-serve
$49 impulse buy: instant Stripe Checkout, no account, 48h PDF.
The unit-of-value framing in this section explains why bundles
exist (high-volume BD funnels), but the per-dossier headline is
now $49, not the old $1,500 analyst-hour-replacement number.
- 1 stranded-energy event (flare / curtailment / negative DA),
- 1 resolved operator + ultimate parent,
- 1 named decision-maker (Operations / New Ventures / Midstream
Marketing, never the CEO), email checked against the company pattern,
- 3 talking points + 5 comparable assets,
- delivered as PDF + JSON within 48h of order.
A miner BD team typically needs **8–20 site leads per quarter** to fill
its build-out funnel; that bounds the ladder.
---
## 2. The ladder (the only prices in the system)
```
SKU Unit price Mode Use it when…
-----------------------------------------------------------------------
sample_dossier $0 lead form evaluating fit (1 per company)
dossier_payg $49 self-serve card one-off, instant
sprint_pack_5 $5,500 sales-led invoice active hunt, 1 basin focus
roster_basin_seat $9,000/yr sales-led invoice stable funnel, 1 basin
roster_us_wide_seat $25,000/yr sales-led invoice multi-basin programmatic
```
### 2.1 No single-unit formula
The 2026-06-08 reprice ends the single-base-unit formula. The PAYG
dossier is now priced as a self-serve impulse buy ($49) decoupled
from the bundle prices: packs and roster seats reflect the
sales-led contract value of a multi-asset BD engagement, not a
percentage discount off the unit. The bundles are quoted directly
(no derived `BASE × N × ratio` calculation).
### 2.2 Why no $99/$299/$999 monthly tier
A persistent miner BD lead reads ~2–6 site leads per month; at $99/mo
the consumer asks for unlimited which we cannot underwrite, at $299+
the buyer needs approval. The dead zone is solved differently now:
the $49 self-serve dossier covers the impulse layer, and the
sales-led packs/seats cover the volume layer. The bimodal dead
zone (§4 of `MARKET_AND_BM.md`) stays killed.
### 2.3 Why no per-MW commission
A finder's-fee model (`intro_brokerage` in `product_catalog.py`) is
preserved for closed warm intros, but it cannot be the primary SKU
because:
1. Sales cycle for a 25–80 MW site PPA is 9–18 months, so revenue
would lag the work-product by ~12 months.
2. Attribution is fraught: the buyer also runs in-house BD, and the
dossier merely accelerated a lead they'd have found in 6 months.
3. The product-vs-broker positioning collapses; we'd be a recruiter,
not a data product.
It stays an **optional** add-on, off the public pricing strip.
---
## 3. Test contract
Every price on the public site is asserted in two places, both of
which must agree with this document:
1. `tests/test_web_server.py::test_landing_renders_html` pins the
four dollar amounts that appear in the pricing strip.
2. `stranded/services/product_catalog.py::SEED_PRODUCTS` pins the
SKUs, names, and `price_usd` cents-equivalent that hit Stripe.
If the formula in §2.1 is edited, both must be updated in the same
commit and a row must be appended to `docs/PRICING_CHANGES.md`.
---
## 4. Worked examples (the three the operator must see)
Given a visitor lands on `/`, the three example quotes that prove
pricing is **deterministic and consistent**:
| Input (what the visitor asks) | Output (what the page quotes) |
|---|---|
| "I just want to see one example" | Sample dossier, $0 (1 per company) |
| "Send me a dossier on Permian flare site X" | PAYG dossier, $49 one-click via Stripe Checkout |
| "We have a Permian originator and need ~3 leads/mo for the next year" | Roster · Permian, $9,000 / year |
These are the three rows surfaced on the home page (and in
`docs/DELIVERY_PROOF.md` after the redeploy).