Our numbers, on the public record.
Every figure Cottage CMS quotes anywhere — this site, a podcast, a pitch deck — is defined on this page, recomputed on a schedule, and hash-linked so it cannot be quietly revised later. Commerce figures are released only for qualified completed periods.
Live storefronts
2,051
as of 2026-07-31T02:06:00Zchain 0ce9379dc856
- Registered accounts
- 2,056
- Active accounts
- 2,056
- New live in 30d
- 377
- On own domain
- 286
01
From account to actual sales.
Every new account receives a default storefront, so account status and storefront totals naturally sit close together. Each figure below answers a progressively stronger platform-wide question: does the account exist, is its storefront reachable, and has that surviving shop ever recorded a paid order?
- Step 01Current snapshot · 2026-07-31
Account created
2,056
Registered accounts
Every shop account that exists on the platform right now.
A signup is the beginning of the journey. It does not mean the shop published or sold.
Exact rule
All tenant records regardless of status, including suspended accounts. Accounts deleted by their owner are removed from the database and are therefore excluded entirely.
- Step 02Current snapshot · 2026-07-31
Storefront reachable
2,051
Live storefronts
Active accounts with a real, publicly reachable shop.
Every new account receives a default storefront, so this milestone currently sits close to account creation.
Exact rule
Active account with at least one published page, or at least one product that is active and set to display in the shop. This is the number we use when we say "shops live".
- Step 03Recorded through · Jun 2026
Has made a sale
239
Shops with recorded sales
At least this many distinct shops have recorded a paid, non-cancelled order.
Privacy batching and owner-deleted records can make it conservative, and a counted shop may no longer be live or actively selling.
Exact rule
A cumulative lower bound across all currencies. Its boundary advances when the observed total is unchanged or rises by at least five shops.
Administrative status remains available in the public dataset: 2,056 of 2,056 registered accounts are active. It is not shown as a journey step because “active” only means the account is not suspended or pending deletion.
Free plan
1,634
Paid subscription
341
Lifetime
76
Current live storefronts split by their Cottage CMS plan. This is a platform-plan count, separate from the completed-period seller commerce figures below. If any plan group has fewer than five shops, every plan group is withheld so subtraction cannot recover it.
02
From signups to shops making sales.
The account curve begins in the month the first surviving account was created and accumulates from there, so it shows the platform's actual operating history instead of empty pre-launch months. Shops with sales is a monthly activity measure: each closed point counts distinct shops with at least one paid, non-cancelled order across any currency. It is not cumulative, so the curve shows how many sellers were active in each month rather than how many have ever sold.
Registered accounts by month
Jul 2025–Jul 2026 · 13 monthly checkpoints · cumulative accounts · no snapshots published yet, every month reconstructed
Show data tableHide data table
| Month | Accounts | Shops with sales | USD order count | Gross USD | Source |
|---|---|---|---|---|---|
| 2026-07 | 2,056 | — | — | — | reconstructed |
| 2026-06 | 1,679 | 158 | 1,066 | $41K | reconstructed |
| 2026-05 | 1,389 | 124 | 910 | $38K | reconstructed |
| 2026-04 | 1,066 | 90 | 586 | $25K | reconstructed |
| 2026-03 | 861 | 70 | 499 | $22K | reconstructed |
| 2026-02 | 617 | 43 | 238 | $8K | reconstructed |
| 2026-01 | 502 | 22 | 108 | $4K | reconstructed |
| 2025-12 | 349 | 5 | 19 | $700 | reconstructed |
| 2025-11 | 276 | 0 | 0 | $0 | reconstructed |
| 2025-10 | 226 | 0 | 0 | $0 | reconstructed |
| 2025-09 | 54 | 0 | 0 | $0 | reconstructed |
| 2025-08 | 22 | 0 | 0 | $0 | reconstructed |
| 2025-07 | 1 | 0 | 0 | $0 | reconstructed |
03
What these shops sold — after the month closes.
Commerce is released by closed UTC month. Every published month and currency must independently represent at least five shops; current-month values remain pending, and withheld intervals are never smuggled into a later total. The chart reports all-currency shops with sales alongside a USD-currency order count and USD gross.
Released through
2026-06
Shops with a paid order · latest closed month
158
Paid-plan shops with a paid order · latest closed month
134
The first count includes every surviving shop account that recorded at least one paid, non-cancelled order during the month, even if its storefront later became inactive. The second is the subset on a paid or lifetime Cottage CMS plan. A dash means the count is pending or withheld by a threshold or complementary privacy control.
Qualified completed history
CAD
history
withheld
No completed CAD month in this window independently met the five-shop publication threshold.
USD
history
$138K
- Order count
- 3,426
- Published
- 7 mo
- Withheld
- 0 mo
Latest 3 completed months
CAD
3 months
withheld
No completed CAD month in this window independently met the five-shop publication threshold.
USD
3 months
$104K
- Order count
- 2,562
- Published
- 3 mo
- Withheld
- 0 mo
04
Where the shops are.
Cottage food law is written state by state and province by province, so the regional shape of the platform matters more here than in most markets. Regions are self-reported at signup and never inferred from a visitor’s IP address.
Live storefronts by state · self-reported at signup
No state-level breakdown is published for United States. Regional detail stays unavailable whenever a complete, privacy-safe partition cannot be shown. Shops without a stated state remain in the national total.
05
Check the arithmetic yourself.
Self-reported numbers invite scepticism, and they should. The strongest thing we can do is make revision detectable: each daily snapshot is hashed together with the hash before it, so altering a figure breaks every link that follows. This page verifies the latest bounded window; independent archives are what anchor earlier history.
Integrity check
Verify the ledger in your browser
Every published snapshot is hashed and linked to the one before it. Press the button and your browser recomputes the latest 1 digests, validates their displayed metadata, and checks every loaded predecessor link from the same JSON our API serves — no part of this check runs on our servers.
- Chain head
- 0ce9379dc85666ef
- Snapshots loaded
- 1
- Latest snapshot
- 2026-07-31
1 links awaiting verification
Reproduce it yourself
payload_hash = SHA-256( canonical_json(payload) ) chain_hash = SHA-256( (prev_chain_hash or "genesis") + ":" + payload_hash ) outer metadata: - snapshot date, methodology version, and capture time equal the hashed payload - sequence numbers are contiguous canonical_json: - object keys sorted lexicographically - no insignificant whitespace - array order preserved - all numbers are integers
Fetch /api/transparency and apply the rules above. A loaded window that verifies proves its payloads and links are internally consistent with the published checkpoint. It does not verify rows before a bounded checkpoint or prove the figures were right when captured — we control the chain head, which is why archiving this endpoint independently is worth more than our word.
06
What these numbers cannot tell you.
Ambiguous definitions destroy credibility faster than unimpressive figures, so the limits are published with the same weight as the results. If you find something misleading here, tell us and we will change the definition and log the change.
- 01
Commerce is released by completed UTC month, never as a live or rolling value.
A month-and-currency cell is published only when at least five distinct shops contributed during that exact closed interval. Current-month values remain pending, and suppressed months are never folded into a later total.
- 02
Completed-history and trailing-three-month totals are derived only from immutable monthly cells already present in the public payload.
This makes every aggregate change reproducible from previously disclosed intervals instead of exposing a hidden shop’s activity by subtraction.
- 03
Survivorship bias applies to reconstructed history.
Registered-account history is bucketed from creation timestamps for accounts that still exist today. Completed-month shops-with-sales values are reconstructed once from surviving paid orders, then frozen in the ledger. Owner-deleted accounts and their cascaded orders make early totals conservative.
- 04
The all-history shops-with-sales total is a monotonic lower bound of distinct shop accounts with at least one paid, non-cancelled order in any currency through a published closed-month boundary.
The boundary advances when the observed count is unchanged or has increased by at least five shops; smaller or net-negative changes retain the prior release. Owner-deleted accounts and privacy batching can make it conservative, and it does not imply that every counted storefront is still live or still selling.
- 05
The hash ledger proves consistency, not correctness.
It shows that no published row has been altered after the fact, because changing one breaks every link after it. It does not prove the figures were right when captured — we control the chain head. Anyone wanting a stronger guarantee should archive the JSON endpoint independently, which pins our numbers to a date we cannot revise.
- 06
We do not convert currencies.
Completed-month currency cells remain separate and are never folded into a blended total at an invented exchange rate.
- 07
Small cells are suppressed.
A numeric breakdown is published only when it and every implied complement contain either zero or at least 5 distinct shops. Geography omits an entire level if any stated or unstated partition is smaller than that threshold, so the omitted region cannot be identified.
- 08
Changing platform and live-storefront breakdowns are released as one atomic block only on a daily snapshot.
If any visible cell or implied complement changed by one to four shops, the prior block remains published until every changed value has accumulated a safe delta.
- 09
Plan buckets are complementarily suppressed as one group: if any free, paid, or lifetime bucket contains one to four live shops, all three bucket values are withheld so the public live-storefront total cannot be used to reconstruct the small bucket..
- 10
The monthly chart reports distinct shops with a paid, non-cancelled order across all currencies, plus a USD-currency paid-order count and USD gross.
Each closed-month series is independently qualified by at least five contributing shops. The latest completed-month paid-plan count is the subset of selling shops on a paid or lifetime Cottage CMS plan and is withheld when subtraction would expose fewer than five free-plan shops.
- 11
Gross merchandise value is rounded to the nearest $100 per qualified completed-month cell and includes offline payments sellers marked paid.
It measures commerce recorded by these shops, not money that flowed through Cottage CMS, and we take no percentage of it.
- 12
Location is self-reported at signup and never inferred from visitor IP addresses.
Sellers who did not state a region are counted in the national total and omitted from the regional breakdown.
- 13
A released commerce interval is immutable.
Later refunds, deletions, or status corrections do not revise its public value; any methodology change is introduced in a new version rather than rewriting the ledger.
We would rather be checked than believed.
If you are a journalist, a researcher, or a competitor and something here does not add up, we want to hear about it. If you are citing us, every rung above has a copyable citation with its definition attached so the number never travels without its meaning.