Compare commits

...
Sign in to create a new pull request.

314 commits

Author SHA1 Message Date
justin
bfdbf8f031 bounce-sync: stop blocklisting good carriers on first auth/policy bounce
This script ran every 5 min and blocklisted on the FIRST hard bounce of ANY
5xx DSN via direct SQL, bypassing Listmonk's count-based bounce.actions rule.
That is the actual mechanism that wrongly killed ~17,000 good carriers during
the broken-DKIM window (their mail got 5.7.1 DMARC-reject, not bad-mailbox).

Fix: only genuine bad-mailbox DSNs (5.1.1/5.1.0/5.0.0/5.4.1/5.5.0) count toward
a blocklist, and a subscriber must accumulate >=3 such hard bounces (matching
Listmonk's threshold) before being blocklisted. Reputation/policy 5.7.x and
quota/greylist 5.2.x never trigger a blocklist.
2026-06-26 23:53:20 -05:00
justin
f3442872f2 trucking builder: widen catch-all bounce window 2d->5d to stop volume whipsaw
A 2-day guardrail window let one bad daily batch (Jun-24: 465 sent / 10.75%)
flip catch-all OFF, starving daily volume to ~200/day -- which then could not
reach the 300-sent min sample to ever re-enable (self-reinforcing trap). The
same period over 5 days is a true ~3.8% (7,995 sent / 303 bounced), well under
the 8% ceiling, so catch-all stays ON and steady ~3k/day flows. Still trips
fast on a sustained real spike.
2026-06-26 23:48:31 -05:00
justin
48fb9f7fbb Add CMS revalidation-overdue mailable-pool builder (red-result urgent leads)
The institutional NPPES pool is ~98% not_on_list org NPIs, which land on a
soft/green result in the public NPI tool ('you're basically fine') -- so they
click and leave with no buy trigger. The providers who get a RED 'revalidation
PAST DUE, CMS may deactivate' result (a real $599 reason to act) are the CMS
revalidation-overdue NPIs.

This joins the CMS Revalidation Due Date List to NPPES endpoint emails and
applies the warmup deliverability gates in the correct order, critically
re-filtering Google by REAL MX *after* SMTP verification populates mx_provider
(a one-off manual run on 2026-06-26 filtered on the pre-verify empty mx_provider
column and leaked 214 sends to Gmail, earning a low-reputation bounce).
2026-06-26 14:43:12 -05:00
justin
b350a1367d fix(hc-cron): stop re-mailing the whole list daily (per-day send lists)
The HC warmup imported ~1000 fresh providers/day into a persistent segment list
(list 10), but each day's campaign targeted that WHOLE cumulative list -- so the
cohort imported on day 1 received the identical 'Free NPI Check' email every
subsequent day (verified: subscriber 3410 got campaigns 38-42, 5x). Program-wide
that was 23,843 sends to 6,587 people (3.6x avg, max 30x) and blocklisted ~12%
of the list -- a Yahoo 'user complaints' deferral now confirms the burn.

Fix: import each day's slice into a dedicated dated SEND list and bind that day's
campaign to ONLY that list, so every provider gets exactly one send. The
persistent segment list is still used for dedup/records. ensure_campaign now
matches the exact dated name (never reuses a prior day's campaign/slice).
2026-06-26 12:19:41 -05:00
justin
4276adab80 infra(mail): fix warmed sending IPs dropping off ens18 on reboot (Jun 24 outage)
Unattended kernel-upgrade reboot (Jun 24 04:04) left only .71 bound because
classic ifupdown applies just the first 'address' line. Postfix then failed to
bind .94/.107 ('Cannot assign requested address') and silently egressed from
.71 -- which is NOT in SPF (every fallback msg failed SPF) and is on RLR621 +
Trend ERS-QIL. ~37h of bypassed IP-warming + a near-zero sales day.

Fixes:
- /etc/network/interfaces: explicit up/down ip-addr hooks for .72/.94/.107
- pw-mail-ips.service: systemd oneshot re-binds IPs + flushes queue on boot
- pw-mail-ip-watchdog: */5 cron re-binds missing IPs + flushes, also catches
  'Cannot assign' bind failures
- runbook: full incident writeup + reboot-test lesson

Host already remediated live; this commits the host artifacts + docs.
2026-06-25 17:28:33 -05:00
justin
7ad4c920c6 fix(deploy): cd to script's own dir instead of hardcoded /opt/performancewest
The dev deploy.sh is an identical copy of prod's, so its hardcoded
`cd /opt/performancewest` meant running /opt/performancewest-dev/deploy.sh
silently rebuilt and recreated PROD's containers instead of dev's. Resolve the
script's real directory (readlink -f handles symlinks/relative paths) so the
same tracked script is correct in every clone; docker compose then derives the
project name + auto-loads docker-compose.override.yml from that directory,
keeping dev (project performancewest-dev) and prod isolated.
2026-06-25 16:07:47 -05:00
justin
618fafe1d5 order: payment-first express checkout + fix dead Tawk chat widget
Conversion fix for the checkout drop-off (54 sessions reached an /order/ page
over 3 days, 0 advanced to payment). Root cause was friction, not a bug: every
order page dropped a cold email-click straight into a 28-field intake Wizard
before showing any payment option.

- New ExpressCheckout.astro: payment-first entry. Shows price + the minimal
  fields the API needs (prefilled from public records: ?dot= FMCSA census for
  trucking, ?npi= NPPES lookup for healthcare) + Continue to payment. Creates a
  single-service batch-of-one (POST /compliance-orders/batch, which does NOT
  gate Stripe on intake_data_validated) then create-session -> Stripe. Full
  intake is collected AFTER payment via the per-service 'Complete Your Intake
  Form' email the webhook already sends (links to /order/<slug>?order=CO-xxx,
  which re-enters the Wizard in paid-intake mode).

- New OrderFlow.astro: single source of truth replacing ~50 near-identical thin
  Wizard wrappers. Trucking + healthcare default to payment-first (express on
  top, marketing hero moved BELOW the CTA). Telecom + corporate keep Wizard-first
  (rich pre-payment FCC/499 intake, no public-records prefill). Paid-intake
  re-entry (?order=/?token=) always renders the full Wizard.

- Rewrote all 50 /order/*.astro pages to use OrderFlow (foreign-qualification
  keeps its multi-state toggle via slotted content).

- Fixed the dead Tawk.to live-chat widget site-wide: the snippet set an invalid
  crossorigin='*' attribute, forcing the browser into anonymous CORS mode and
  blocking the script (0 chat requests fired anywhere). Removed it to match
  Tawk's official snippet (footer partial + 73 static public/*.html files).

Verified: build clean; express on top with hero below; ?dot=/?npi= prefill;
paid-intake re-entry swaps to Wizard; telecom stays wizard-first; batch-of-one
-> live Stripe URL; both POST endpoints allow the prod origin via CORS.
2026-06-25 11:32:48 -05:00
justin
ae68edbc58 fix(monitoring): repair both dead mail-alert crons + de-noise DMARC digest
Three bugs the owner hit:
1. Per-operator reputation alert (06:10 cron, mail_reputation_monitor --alert)
   silently never ran: it redirected to /var/log/pw-mail-reputation.log but
   /var/log is root-only and that file was never pre-created, so the deploy
   user's >> redirect failed and cron aborted before the command. Repointed
   both mail-alert crons to deploy-writable /opt/performancewest/logs/.
2. IP reputation alert (20:00 cron) still referenced the removed rehab pool
   (.91-.93) and used 8.8.8.8 for Spamhaus (which returns the open-resolver
   error, not a real answer). Dropped the rehab section, relabeled to the two
   live IPs (.94/.107), and switched the DNSBL check to Control D (76.76.2.0)
   which returns real Spamhaus ZEN data. (It was correctly SILENT lately
   because delivery is healthy -- silent-on-healthy is by design.)
3. DMARC daily digest was pure noise: it alerted on ANY external IP with >=20
   failing msgs, but those are legit recipient-side forwarders/security
   gateways (inkyphishfence, cloud-sec-av, Proofpoint, Mimecast, ...) that
   re-send our mail and naturally break SPF/DKIM alignment -- benign under
   p=reject. Added PTR-based forwarder detection (FORWARDER_PTR_HINTS) so the
   digest tags them [fwd] and only alerts on (a) OUR IP <95% pass or (b) an
   UNKNOWN non-forwarder external IP with >=100 failing msgs = real spoofing.

Verified: all 4 currently-flagged external IPs now classify as forwarder=True.
2026-06-24 06:28:50 -05:00
justin
c20edb28cd docs(deliverability): document Gmail re-enablement stale-Date/burial fix
When we resume Gmail sends, the front-loaded-inject + slow-drain pattern
buries mail: Listmonk stamps Date at injection (verified live: queued msg
Date matched postfix arrival, deferred 4h47m later), and Gmail sorts the
inbox by the Date header. So a msg injected at 08:00 but accepted at 14:00
files 6h down a Gmail inbox.

Documents: why NOT to future-date the Date header (spam signal + breaks our
DKIM which signs Date + doesn't help Outlook's received-time sort), and the
real fix -- pace Listmonk injection to match Gmail's accept rate (just-in-time
Date) via a dedicated Gmail stream on its own IP + low sliding-window rate +
queue-age guard. Outlook/M365 (current audience) sorts by received time so the
burial is cosmetic there and not worth fixing.

Procedure only; Gmail still excluded in _email_exclusions.py until re-enabled.
2026-06-24 01:24:24 -05:00
justin
9dd6f53eb2 infra(mail): remove 18 dormant snowshoe IPs from postfix + host
Consolidate the outbound mail footprint to match the SPF intent (already
trimmed to .94/.107 on 2026-06-19). A 20-IP sending footprint reads as
snowshoe spam to receivers and was contributing to domain-reputation
throttling (Microsoft 451 4.7.500, Gmail low-reputation).

Removed from /etc/postfix/master.cf: transports yahooslow, out02-04,
out06-20, rehab02-04, HC submission ports 2527/2528, hcout2/hcout3.
Removed from /etc/network/interfaces (+ live ip addr del): host bindings
.90-.93, .95-.106, .108-.109. Kept: .94 (trucking/out05), .107 (HC/hcout1),
.71/.72 (infra).

Verified live: postfix check OK, both streams still status=sent post-change,
SSH session on .71 unaffected, transport_maps still routes via out05.

Snapshots: infra/postfix/live-snapshots/master.cf, infra/network/interfaces.
Live backups on server: /root/{master.cf,interfaces}.bak_snowshoe_*.
2026-06-23 23:45:41 -05:00
justin
14357a0223 fix(nginx): unblock public API routes powering lead tools/flows (HC sales killer)
api.performancewest.net uses an explicit per-path allowlist; everything else
falls through to a trusted-IP-only catch-all that returns 403. Six browser-
facing routes had no location block, so they 403'd for every public visitor:

  /api/v1/npi/                 <- THE healthcare sales killer. The 'Free NPI
                                  Compliance Check' tool (top of the HC funnel,
                                  where every HC campaign sends traffic) fetches
                                  /api/v1/npi/lookup. It 403'd -> CORS error in
                                  the browser -> the tool never rendered results
                                  or the upsell CTAs (Revalidation $399 / NPPES
                                  $149 / Bundle $899) -> 0 HC sales despite 17
                                  sessions reaching it in 30d and 0 HC orders
                                  EVER created in the compliance DB.
  /api/v1/cdr/                 telecom CDR profile tool
  /api/v1/icc/                 intrastate/ICC profile tool
  /api/v1/corp/                corporate foreign-qual check
  /api/v1/foreign-qualification/   foreign qualification quote/jurisdictions
  /api/v1/lnpa-regions         LNPA region lookup

Added explicit proxy_pass blocks (mirroring the existing entities/identity
pattern) before the catch-all. Verified live: all six now reach the app with
proper CORS; the NPI tool renders results + order CTAs end-to-end via a real
browser; npi-revalidation order page -> Stripe confirmed.

The live /etc/nginx/sites-enabled/pw-api.conf was hand-edited and untracked;
committing the current state here so it is version-controlled. (Live backup:
/root/pw-api.conf.bak_20260623.)
2026-06-23 15:51:30 -05:00
justin
a90cdc9066 fix(trucking-email): route order CTAs to the correct service page (not $399 catch-all)
Two routing bugs that sent carriers to wrong/dead order pages:

1. MCS-150 + Inactive campaigns linked to /order/dot-full-compliance ($399)
   instead of their actual service: build_lp_link()/lp_slug_for() fell through
   to the dot-full-compliance catch-all for any campaign_type not in
   DEFICIENCY_SEGMENTS, ignoring the existing PRICE_SLUG_BY_CAMPAIGN map. So
   MCS-150 carriers (should be mcs150-update $79) and Inactive carriers (should
   be usdot-reactivation $149) were both quoted a 5x-priced bundle they never
   asked for — a severe conversion killer on the two highest-volume segments.
   Fix: lp_slug_for() now checks PRICE_SLUG_BY_CAMPAIGN first; build_lp_link()
   delegates to it (single source of truth).

2. IFTA-quarterly + UCR-annual builders set lp_link to a BARE path when no
   coupon was active (LP_LINK with no query). The body appends '&utm_source=...'
   so the CTA rendered as /order/ifta-quarterly&utm... (no '?') = 404. Fix:
   both now always emit a leading '?' query carrying ?dot= (and ?code= when a
   coupon is on), mirroring the main builder's lp_link_with_coupon().

Audited every campaign_type: all 14 order slugs now resolve 200 and match the
intended service/price. Compliance-check secondary links (/tools/dot-compliance-
check) verified correct and intentionally kept where a 'check status' CTA fits.
2026-06-23 15:19:23 -05:00
justin
e3f439221a fix(trucking-email): kill recurring @TrackLink 404 at the source-clone boundary
Root cause of the order-CTA 404s recurring after the prior live fix: the
builder clones email bodies from STORED Listmonk source campaigns (ids
186/188/271-274/309/310/469/473), not from the edited source files. Those
stored bodies still carried @TrackLink on the per-subscriber order CTA, so
every nightly build re-registered a single static /order/<slug>&utm... link
(no '?') that 404s for every recipient. This morning's 3,000 real sends AND
the owner spot-check both went out with dead order links.

Two durable guards:
1. get_base_campaign() now strips @TrackLink from any cloned body (with a
   warning), so a stale/re-edited source campaign can never reach recipients
   broken again. Human clicks are already attributed via Umami.
2. The owner test-send now builds the CTA via lp_link_with_coupon(dot=...)
   (leading '?') instead of build_lp_link() (bare path).

Also fixed live: stripped @TrackLink from the 10 stored source campaign
bodies; rewrote the 12 already-registered broken links. Backups in listmonk:
pw_source_tracklink_bak_20260623 + pw_links_tracklink_bak_20260623.
2026-06-23 15:02:05 -05:00
justin
60d2572f19 fix(intake): HC checkout 400 — resolve customer email/name from intake_data
The NPI/healthcare intake step persists provider email + name only into
intake_data (not the top-level state.email/state.name that the DOT/?dot=
flow sets). ReviewStep's order-create POST therefore sent empty
customer_email/customer_name -> API 400 'service_slug, customer_email, and
customer_name are required', blocking EVERY healthcare checkout at the
review step (explains 0 HC sales despite 13,425 sends).

ReviewStep now falls back to intake_data.{email,provider_name,
organization_name,legal_name,entity_name}; the Wizard cold-visitor create
path also now recognizes provider_name/organization_name. Verified the
trucking path is unaffected (it already populated top-level state).
2026-06-23 13:40:19 -05:00
justin
f773718e4d fix(intake): send application/json Content-Type on ReviewStep validate
The cold-visitor review-step path POSTed /validate with no Content-Type, so
the API returned 415 and validation silently failed — the user could create
the order but never advance from review to payment (the last blocker in the
trucking/HC checkout funnel). The Wizard's own validate call already set the
header; ReviewStep now matches. Completes the checkout repair in 5546c58.
2026-06-23 13:11:35 -05:00
justin
5546c58bf0 fix(intake): repair order wizard — checkout was fully broken on trucking/HC
Diagnosed via live browser E2E why campaign clicks (25 checkout-page-views,
36h) produced 0 conversions. Four bugs, all blocking checkout:

1. DOTIntakeStep: a missing `});` (DFWP hydration block, commit 9718ab9
   Jun 2) left the pw:step-shown listener unclosed -> 'missing ) after
   argument list' SYNTAX ERROR killed the whole DOT intake script. Effect:
   ?dot= prefill silently failed for ~3 weeks (exactly the campaign window),
   so every carrier had to re-type all their details.

2. ReviewStep: service slug read from `.pw-step[data-slug]` (first match),
   which on trucking/HC is the INTAKE step's slug ('dot-intake'/'npi-intake'),
   not the order. The cold-visitor order-create POST sent
   service_slug='dot-intake' -> API 501/400 -> 'Could not validate order',
   blocking checkout at the review step on EVERY multi-step vertical. Now
   reads `.pw-wizard[data-service]` (authoritative). Confirmed against prod:
   bad slug=400, correct slug=201.

3. Shared-bundle null derefs: every step's <script> is bundled onto every
   order page, so steps whose anchor element is absent threw at top level and
   could abort siblings:
     - ClassificationWizard: top-level renderQuestion(0) -> appendChild on
       null (errored on 47/67 order pages)
     - BDCDataStep: (querySelector as HTMLElement).getAttribute on null
     - STIRShakenStep / EarthStationStep: top-level addEventListener on null
     - ForeignQualStep: many top-level getElementById(...)! lookups
   Each now guarded to no-op when its step isn't present.

Verified by browser E2E: full flow dot-intake -> review -> payment ->
live Stripe Checkout session, and a 67-page scan now reports 0 JS errors
(was 47 pages erroring). Real human clicks are tracked via Umami; these
were pure functional breakages of the conversion path.
2026-06-23 13:08:41 -05:00
justin
3325259af7 fix(email): drop @TrackLink from per-subscriber CTAs (404 + collapse bug)
Listmonk @TrackLink registers ONE static URL per tracked link and points
every recipient's /link/<uuid> redirect at it. On per-subscriber hrefs
({{ lp_link }}, ?dot=, ?npi=, ?clia=) this is doubly broken:
 - the registered links.url was captured before the {{ lp_link }} token
   rendered, yielding /order/slug&utm_source=... (first &, no ?) -> 404
 - even when valid it collapses every carrier/provider onto the first
   subscriber's dot/npi/clia value

Real human clicks are already tracked via Umami campaign-click (bot
filtered), so Listmonk link tracking here is redundant and destructive.

Stripped @TrackLink from per-subscriber CTAs:
 - scripts/create_deficiency_source_campaigns.py (_cta, _dot_check_cta)
 - data/trucking_campaigns/{ucr,ifta}_*.html
 - data/hc_campaigns/*.html (10 templates)

Static CTAs (e.g. CRTC ?code= order link) keep @TrackLink (safe).
Live fix to the 10 broken registered links.url rows applied separately
(first & -> ?), backup in listmonk.pw_links_dkim_fix_bak_20260622.

Docs: new runbook incident section + corrected the disproven
'use @TrackLink on all CTAs' guidance in fmcsa/hc plans.
2026-06-22 17:01:39 -05:00
justin
1e9dcfcfd1 mail(rampcap): step trucking cap back up to 400/h (day 19-20), 500/h ceiling
The day-9 Gmail block that forced the 200/h hold is resolved: per-MX throttling
shipped, Google is excluded entirely (MAIN_EXCLUDE_OPERATORS=google), and the
OpenDKIM signing bug is fixed. With Google out of the mix, 400/h (~4k/day) is
within the envelope these IPs cleanly sustained at 68-76% delivery with zero
blocks. Lets the post-DKIM re-send backlog drain in ~1 day instead of ~3.
2026-06-22 12:49:54 -05:00
justin
62292b96af docs(deliverability): document Jun 22 re-send of never-delivered DKIM-window audience
Records the MAIN_EXCLUDE_OPERATORS=google override, the resend_dkim_backup_20260622
rollback table, the past-send_at HTTP 400 gotcha (use --send-hour for same-day
re-runs), and the exact revert SQL. 6461-row backup; ~2999 re-sent Jun 22, rest
drain on subsequent daily runs (Gmail excluded, Microsoft/Hotmail included).
2026-06-22 11:59:29 -05:00
justin
5a3063ecb3 campaigns: MAIN_EXCLUDE_OPERATORS override + Gmail-only exclusion for post-DKIM re-send
After the Jun 2026 no-DKIM incident (campaign mail went out unsigned ->
junked/blocked, ~23% delivery), DKIM is fixed and we must re-send to the
now-signed audience. The builder previously held Google AND Microsoft AND
consumer-MX out until warmup day 30; that blocks the re-send of the Microsoft-
hosted business domains that are most of the list.

Add MAIN_EXCLUDE_OPERATORS (comma-separated mx_provider labels) to override
WARMUP_EXCLUDE_OPERATORS. Set it to 'google' in the workers env so we send to
everything EXCEPT Google's consumer inboxes (still recovering reputation),
including Microsoft/Hotmail. Drives both the SQL exclude and the per-operator
daily cap consistently. Unset => prior default; '' => exclude nobody.
2026-06-22 07:35:22 -05:00
justin
2d220a273d ops(carbonio): add noreply@ mailbox auto-purge + daily cron
Server-side classifier for the noreply@performancewest.net Carbonio mailbox
(35,337 msgs, ~98.6% machine noise). Deletes bounces/auto-replies/ticket
auto-acks, keeps genuine human Re: replies + unsubscribes (move to Trash,
reversible).

Classifier precedence: unsubscribe guard > RFC3834 Auto-Submitted header >
machine From-address (localpart/strong-token/display-bot) > STRONG auto
subjects (deletes deceptive Re: auto-acks) > human Re: keep > broad auto-ack
subjects > default keep. Subjects RFC2047 MIME-decoded first.

Three-phase execution: Phase1 fast MAILER-DAEMON search-delete, Phase1.5 fast
search-delete of common auto classes (guarded against Re:/unsub), Phase2
header-classify the small remainder with KEEP-caching.

Validated 23/23 against hand-labelled live sample. Initial backfill reduced
35,337 -> 68 (67 human replies + 1 unsubscribe). Daily cron installed in root
crontab: 17 4 * * * --apply --days 3.
2026-06-21 04:55:50 -05:00
justin
e414ec4a5f fix(email): correct Reply-To header shape for listmonk (was silently dropped)
Listmonk applies campaign headers as `for hdr,val := range set { h.Add(hdr,val) }`
(internal/manager/manager.go v6.1.0): each map's KEY is the literal header name.
The trucking/CRTC/deficiency builders wrote {"name":"Reply-To","value":..} (and
{"key":..,"value":..}), which emits junk `name:`/`value:` headers and NO real
Reply-To, so replies fell back to the From address (noreply@send.performancewest.net)
instead of info@performancewest.net. HC builder already used the correct
{"Reply-To": value} shape; match it everywhere. Verified against listmonk source.

Impact: outbound only; no customer replies were lost (noreply@ is a real mailbox),
but reply UX pointed at a no-reply address. Live campaign headers re-patched separately.
2026-06-21 01:03:07 -05:00
justin
297db74fee trucking: support full-price control arm in coupon A/B (pct 0 = no code)
CAMPAIGN_COUPON_AB_PCTS="20,30,0" now means 20% / 30% / full-price. The 0 arm
mints no code; pick_coupon_for_email returns ("","") so it renders identically
to a normal-price send, while carriers are still deterministically hash-bucketed
into it (re-hash a converter's email to recover their arm). Even ~33/33/33 split
incl. the control verified over 30k. Adds test_full_price_control_arm; 8/8 pass.
2026-06-21 00:12:30 -05:00
justin
2f0753f00e trucking: add idempotent patcher for main-campaign coupon blocks (186/188 computed prices) 2026-06-20 17:43:46 -05:00
justin
579919197d trucking: compute coupon discounted prices on the fly (true per A/B arm) + fix CTA URL bug
Two correctness fixes that gate enabling the coupon test:

1. On-the-fly pricing. The coupon block hardcoded '$79 $47' (only true at 40%
   off) — a false claim on the 20/30% arms. Now build_trucking_campaigns.py
   reads api/src/service-catalog.ts (same source checkout uses) and computes
   coupon_price_full / coupon_price_deal per recipient as full - round(full*pct/100),
   exactly matching the server. Service-fee-only; non-discountable services
   (boc3-filing passthrough) get NO price and fall back to percent-only copy.
   Quotes the service the email is ABOUT (mcs150 $79, reactivation $149), not the
   bundle the CTA happens to link to. service-catalog.ts now ships in the worker
   image; helper degrades to percent-only if it can't be read.

2. CTA URL bug (likely a big driver of the zero-click problem). Main campaign
   CTAs render '/order/slug&utm_source=...' (no '?') -> HTTP 404, verified live.
   Deficiency CTAs would double-'?' once a coupon added '?code='. lp_link now
   owns the query (?dot=...&code=...) so every template appends with a leading
   '&' and is valid in all 4 states (main/deficiency x coupon on/off), verified
   against live URLs returning 200.

Deficiency _deal_box now shows real was/now prices (percent-only for boc3).
Tests: 7/7 pass (adds URL-wellformed + price-matches-checkout cases).
2026-06-20 17:43:11 -05:00
justin
6fce3ec9eb trucking: A/B/C coupon price test (20/30/40% off) + SpamAssassin harness
- CAMPAIGN_COUPON_AB_PCTS="20,30,40" mints one daily code per arm; each
  carrier is bucketed by a stable sha256(email) hash so the split is even
  (~33/33/33 verified over 30k) and stable across re-sends (no arm-hopping).
- Each arm's code stores its own percent in discount_codes, so the advertised
  discount always matches what checkout applies; redemptions are countable per
  code (marker campaign-daily:<date>:<pct>).
- Empty/unset keeps legacy single-arm behavior (COUPON_PCT, legacy marker).
- coupon_attribs() now takes per-recipient pct.
- Tests: scripts/tests/test_coupon_ab.py (5 pass). SpamAssassin: both main
  campaigns (186/188) score 0.0 HAM across all 3 arms, coupon block renders
  clean; harness saved for re-runs.
2026-06-20 16:41:47 -05:00
justin
1acae2f20c healthcare: fix 4 bugs in segment-assignment + free-check email
Found during a bug-review pass of the one-email-per-provider work:

1. assign_all overwrite bug: an email on MULTIPLE rows (shared practice inbox /
   multiple NPIs -- 2,592 such emails, 299 with mixed status) was assigned by
   the LAST row, so a less-urgent row could clobber an urgent one (overdue ->
   free check). Now keeps the most-urgent (lowest-priority) assignment.

2. warm_segment double-import + wrong-row render: all of an email's rows passed
   the candidate filter, so it could be imported twice (over-counting the slice)
   and attribs_for could render a sibling row's blank due-date in the overdue
   email. Now requires row_matches(seg) for the specific row AND dedupes by
   email (one row per email).

3. free-check email rendered broken text ('last updated on  -- about  years
   ago', 'Last updated  . ~ yrs ago') for any provider whose NPPES date isn't
   cached yet (the free check goes to everyone, and the fill is gradual). Wrapped
   the example sentence + official-record card in listmonk {{ if
   .nppes_last_updated }}...{{ else }}...{{ end }}; added a date-free else
   branch. altbody keeps the conditionals (listmonk evaluates body+altbody), and
   the test/preview renderer gained a minimal {{ if/else/end }} evaluator so
   previews match real sends. Verified both branches render with zero unfilled
   tokens.

4. cross-cron double-send: pw-hc-campaign (warmup file) and pw-hc-nppes (63k
   file) share state but tracked imports per-segment; 312 emails overlap both
   files, so a provider could get an urgent email from one cron AND the free
   check from the other. Added load_all_imported() global guard (union of all
   segment state) so each provider gets exactly one healthcare email overall.

All verified: assignment regression test (10 cases) + new dup-email/guard checks
pass; all 6 templates render clean.
2026-06-20 16:14:44 -05:00
justin
0320dc17ba healthcare: one-email-per-provider by urgency priority + free check as default
Make the free NPI compliance check the catch-all for ALL verified institutional
providers, but route anyone with a more important/time-sensitive issue to THAT
email instead -- each provider gets exactly one email, their most urgent.

- SEGMENTS gain a 'priority' (lower=more urgent): reactivation 10, revalidation
  overdue 20, due-soon 30, bundle 45, free-NPI-check 100 (catch-all).
- assign_segment()/assign_all(): route each provider to the single
  highest-priority active segment whose selector matches; warm_segment() takes
  the assignment map and only claims its assigned providers (disjoint pools, no
  double-mailing). main() now splits the daily slice by priority order, serving
  urgent segments fully before the broad free-check consumes the remainder.
- nppes_outdated selector -> 'institutional_default' (every verified, non-
  deactivated row), since the free check's value no longer depends on staleness;
  list/campaign renamed 'HC Warmup - Free NPI Check'.
- FIX latent bug: reactivation selector treated 'not on CMS reval list' as
  deactivated -- false for org NPIs (would mis-tell active practices they're
  deactivated). Now uses the REAL nppes_deactivated flag (or OIG/SAM exclusion).
- Drop blanket oig_screening from the default rotation: it matched every row and
  would starve the catch-all, and the free check already screens OIG/SAM and
  routes to the paid fix on a hit. Still runnable via --segments.
- Add scripts/test_segment_assignment.py (10 cases incl. 'overdue AND stale ->
  overdue wins'); all pass.
2026-06-20 16:01:23 -05:00
justin
4ed1498ef3 healthcare: reframe NPPES email as a FREE NPI compliance check
Pivot the weakest healthcare email from an 'your record is out of date -> buy an
update' sell into a free, value-first compliance check (the funnel already
exists: /tools/npi-compliance-check + /api/v1/npi/lookup run 5 live gov checks --
NPI status, Medicare revalidation, OIG/SAM exclusions, NPPES freshness -- and
deep-link to the right paid fix).

- Subject: 'A free compliance check for your NPI' (was 'may be out of date').
- Header: 'Free NPI Compliance Check' covering NPPES/revalidation/exclusions/NPI.
- Body: keep the REAL last_updated date as a credibility hook ('we pulled your
  public records'), but frame it honestly ('that's usually fine') and pivot to
  the broader free check. Adds a 4-item 'your free check covers' card.
- CTA now -> /tools/npi-compliance-check?npi={npi} (prefills + auto-runs their
  own check on landing) with @TrackLink + UTM; dropped the straight-to-order
  NPPES CTA and the redundant 'look up on NPPES' button.
- Reassurance reframed to free-first ('the check is completely free; a fix is
  optional, flat-fee'). cta_path updated in the segment registry.
- Verified: render + plaintext + headless screenshot, CTA tracked, no stray
  order link, zero unfilled tokens.
2026-06-20 15:46:26 -05:00
justin
a430d5e329 healthcare: honest NPPES framing -- stale != out of business / no auto-penalty
An old NPPES last_updated date does NOT mean the practice closed or that CMS
penalizes them: an NPI never expires and there is no NPPES login schedule. Many
records are stale precisely because nothing changed. Removed the overclaim that
an old record 'has almost certainly drifted' and the false 'attest periodically'
duty. Now states the real rule (correct NPPES within 30 days of a change) and
makes the harm conditional ('if anything has changed since then, your record is
now out of date'). Keeps NPPES distinct from Medicare revalidation/PECOS, which
is the separate segment that actually carries deactivation stakes.
2026-06-20 15:30:03 -05:00
justin
744f0a89cf healthcare: bound NPPES-stale window [3,10]yr + restore verify_ok gate
- Add NPPES_STALE_MAX_YEARS (default 10): a record untouched for many years is
  a stronger signal the practice closed/moved, and a bounce burns the warming
  IP. Observed institutional distribution clusters 3-7yrs with ~0 beyond 8, so
  10 is a safe ceiling that mails the whole real pool while excluding any
  outlier ancient record. MIN stays 3 (keeps the 'out of date' claim credible).
- Restore the SMTP-verification gate (verify_ok) that the shared
  institutional_verified selector had -- the swap to nppes_stale dropped it; we
  only mail inboxes we already proved live.
- enrich: process the re-fetch queue STALEST-FIRST so a bounded (--limit) or
  --max-age refresh spends its budget on the most-overdue cache entries (and new
  NPIs) first, never starving them behind merely-aging ones.
- Selector unit-tested (10 cases incl. window edges, verify gate, deactivated).
2026-06-20 15:28:12 -05:00
justin
9e155d214c healthcare: cite REAL NPPES last_updated date in 'outdated' email
The NPPES 'may be out of date' email previously asserted staleness with no
per-record evidence (softened earlier to a generic 'periodic review required').
NPPES is fully public and every record carries basic.last_updated, so we now
cite the actual government date the provider can verify on the registry.

- enrich_nppes_last_updated.py: joins real basic.last_updated /
  enumeration_date / deactivated onto the institutional list via a cached,
  resumable per-NPI crawl (no batch endpoint exists). Adds nppes_last_updated,
  nppes_enumeration, nppes_years_stale, nppes_deactivated.
- cron: new 'nppes_stale' selector mails ONLY records >= 3yrs stale (env
  HC_NPPES_STALE_MIN_YEARS) and excludes deactivated NPIs; empty date => no
  match, so we never claim staleness without the government date to back it.
- template: headline + official-record card now show the real last_updated
  date and ~N-years-ago, sourced to npiregistry.cms.hhs.gov.
- attribs + test SAMPLE expose the new fields; verified render + plaintext.
2026-06-20 15:21:15 -05:00
justin
d8e3e40dda healthcare emails: remove prices, fix click tracking, de-risk claims
Diagnosing zero healthcare sales (11k sent, 5479 opens, 0 clicks, 0 orders).
Root cause of clicks=0: Listmonk only registers a link for tracking when the
href ends with the literal @TrackLink marker; all 10 hc templates lacked it
(trucking/CRTC have it). So the entire funnel was unmeasurable below 'open'.

Changes:
- Click tracking: append @TrackLink + UTM to every /order/ CTA across all 10
  templates (external gov self-verify links left untracked on purpose).
- Remove all service prices from emails (99/49/49/99yr/9mo). Price is
  now revealed on the order page after value is established; catalog
  (api/src/service-catalog.ts) stays source of truth. Kept the 0,000 OIG
  penalty stat (regulatory fact, not our price). Added a neutral 'flat fee shown
  up front' reassurance block where the fee table used to be.
- Compliance/honesty: the nppes_outdated email asserted a per-record
  'FLAGGED OUT OF DATE / detected' status, but its selector only checks
  deliverability and the data has no NPPES last-updated field -> unsubstantiated
  for every recipient. Reframed to a generally-true periodic-attestation message
  ('PERIODIC REVIEW REQUIRED', 'most practices drift out of date'). Same hedging
  applied to npi_reactivation ('may be deactivated ... confirm on official
  sources'). Substantiated reval 'past due' claims (backed by the public CMS
  Revalidation list) were kept.
- Fixed stale $299 OIG metadata in build script -> $79/mo (reference only).

Docs: docs/healthcare-competitive-pricing.md (benchmark research) and
docs/healthcare-email-compliance-review.md (CAN-SPAM / FTC / impersonation pass;
flags SOC2/HIPAA/PCI badge claims for owner confirmation).

Verified headless: all 10 render with 0 JS errors, exactly 1 tracked CTA each,
no price leaks.
2026-06-20 09:37:02 -05:00
justin
9a9b0b9130 Add Ontario alongside BC on CRTC page
- New 'Choose your province: BC or Ontario' comparison card (entity name,
  registered office city, fees, annual return, portal, area codes, corp tax)
  inserted above the carriers banner. Previously Ontario was only mentioned
  in a buried FAQ; BC outnumbered ON 53:12.
- Tax-comparison H2 + collapse-menu label now read 'British Columbia / Ontario'
  and the key-takeaway notes ON is ~12.2% (within ~1pt of BC).
- Made hero chip, 'what we deliver' (registered office + file corporation),
  and banking copy province-aware (BC or Ontario) instead of BC-only.
- Verified headless: province card renders, H2 visible (not auto-collapsed),
  13 accordions + proof expander intact, 28 Ontario mentions, no new JS errors.
2026-06-20 06:40:18 -05:00
justin
b1629160d5 crtc collapse: skip card-wrapped headings whose body isn't a sibling (fixes empty US-wholesale + banking expanders; vendor directory left inline) 2026-06-20 01:30:26 -05:00
justin
345c22e561 crtc page: add 'is this real?' proof expander (public RMD/499 stats + named CA operators, defamation-safe); keep standalone expanders out of auto-collapse 2026-06-20 01:12:10 -05:00
justin
0562fd2bd3 crtc page: add 5-min-read TL;DR + collapsible deep-detail sections (non-destructive JS/CSS enhancement) 2026-06-20 01:08:41 -05:00
justin
4f52d12629 docs: mark MX-exclusion plan complete (all 3 fixes shipped)
Fix 2 (untagged NULL bucket cap) shipped in bc93d93; default is no-starve.
Plan fully implemented.
2026-06-20 00:21:52 -05:00
justin
bc93d93c5b mail: Fix 2 — bound the untagged (NULL mx_provider) bucket in the selector
Completes the MX-exclusion plan. Untagged carriers can't be excluded (the big-MX
gate is MX-based, so an unresolved Google/Yahoo domain would slip through), and
were previously UNCAPPED in select_sendable_carriers -- a flood of freshly-imported,
never-resolved domains could dominate a run before pw-mx-tag resolves them.

Added a single shared untagged_cap (env MAIN_UNTAGGED_MX_CAP, default max(quota,200))
so untagged sends are bounded without starving the pool: at the default the bucket
can still fill an entire run's quota (no behavior change today), but the cap can be
tightened to a fraction once pw-mx-tag has drained the backlog -- which is fast,
since only ~3,035 distinct *verified-sendable* untagged domains remain (< one
20k/day tag run). Tagged carriers keep their per-operator caps unchanged.

Verified: compiles; cap logic never starves at default, enforces the limit when
set lower.
2026-06-20 00:19:14 -05:00
justin
b7cce370d7 docs: mark MX-exclusion plan Fix 1 + Fix 3 shipped
Fix 1 (consumer mx: exclusion) and Fix 3 (pw-mx-tag cron) live as of 9eeed47.
Verified: warmup pool 353,909 after fix (not starved), mx:yahoodns.net cap=0
during warmup, cron tags idempotently. Fix 2 (NULL bucket cap) deferred.
2026-06-20 00:06:56 -05:00
justin
9eeed47c4b mail: close MX-exclusion gaps — exclude consumer mx: operators + add mx-tag cron
Fix 1 (build_trucking_campaigns.py): the warmup big-MX exclusion only covered the
clean-label operators (google/microsoft/proofpoint/...). Consumer mailbox
operators that mx_tag_carriers.py labels with an "mx:" prefix slipped BOTH the
exclusion and the per-MX throttle -- notably mx:yahoodns.net (283k sendable
carriers = Yahoo Small Business/AOL custom domains) and mx:icloud.com (25k), plus
comcast/charter/centurylink/windstream/tds/earthlink. These are custom domains
whose MX points at a consumer provider, invisible to the literal-domain blocklist.
Added CONSUMER_MX_OPERATORS, folded into WARMUP_EXCLUDE_OPERATORS used by both the
fetch_carriers() exclusion SQL and mx_daily_caps() (same day-30 ramp). Behind the
existing MAIN_SKIP_BIG_MX switch.

Validated read-only: after the fix the warmup-eligible pool is 353,909 carriers
(315,892 untagged + ~38k genuinely small/self-hosted operators), so the long tail
still sustains the daily quota -- not starved -- while 0 consumer-MX carriers are
selected during warmup.

Fix 3 (infra/cron/pw-mx-tag): mx_tag_carriers.py was on no cron, so the untagged
(NULL) backlog (~316k) never drained and new FMCSA imports stayed untagged,
slowly re-opening the gap. Added a daily 05:45 UTC cron (--only-unsent
--limit-domains 20000), before the 08:00 builder. Idempotent/bounded (only tags
mx_provider IS NULL). Verified live: a 200-domain test run tagged 216 domains.

(Fix 2 -- bounding the NULL bucket cap -- deferred; the cron will drain it.)
2026-06-20 00:03:47 -05:00
justin
285a4a087c docs: plan to close MX-exclusion gaps in trucking warmup
Analysis-only plan (no code shipped). The trucking builder's warmup excludes
big receiving operators (Google/MS/Proofpoint/...) by mx_provider, but three
holes let throttling/consumer MX through during the day<=30 window:

1. Consumer operators tagged with the "mx:" prefix (mx:yahoodns.net = 283,113
   sendable carriers, mx:icloud.com = 24,985, comcast/charter/centurylink/...)
   are NOT in BIG_MX_OPERATORS, so they slip both the exclusion and the throttle.
   These are custom domains whose MX points at Yahoo/iCloud -- invisible to the
   literal-domain blocklist, only catchable via MX tagging. Biggest hole.
2. 315,892 untagged (NULL) sendable carriers are sent to unvetted (kept by design
   for anti-starvation, but uncapped).
3. mx_tag_carriers.py is on no cron, so the NULL backlog never drains and new
   FMCSA imports stay untagged -- slowly re-opening gaps 1 and 2.

Plan proposes: CONSUMER_MX_OPERATORS set folded into exclusion+throttle (behind
the existing MAIN_SKIP_BIG_MX switch), a bounded cap on the NULL bucket, and a
daily pw-mx-tag cron. Includes live numbers, validation steps (dry-run selector
diff, no sends), and open decisions (re-introduction ramp, permanent vs warmup-
only exclusion for Yahoo/iCloud custom domains).
2026-06-19 23:55:15 -05:00
justin
98364009b0 docs: international compliance expansion plan (UK/AU/IE/NZ) + vertical portability matrix 2026-06-19 10:44:11 -05:00
justin
433b10ce98 mail: CRTC/USF campaign — add @TrackLink + UTM to CTAs (was recording 0 clicks)
Campaign 509 (CRTC USF Q3, 4,156 sent) shipped with raw <a href> URLs, so
Listmonk never registered the links and recorded ZERO clicks -- even though
Umami logged the real order-page visits AND a carrier phoned in after clicking.
Same mistake docs/fmcsa-trucking-plan.md already flagged ("Use @TrackLink on all
CTAs"); the trucking campaigns do it, the CRTC one didn't.

Listmonk only tracks a link when its href ends with the literal @TrackLink marker
(it strips it and rewrites through lists.performancewest.net/link/). Added a
_track() helper that appends UTM params (so Umami attributes the visit too) +
@TrackLink, applied to both the primary order CTA and the guide-PDF download.

The running campaign 509's body was also patched live in the DB (same two links)
so its remaining sends record clicks. Future CRTC campaigns get it from source.
2026-06-19 10:05:01 -05:00
justin
707d538847 mail: DMARC parser — classify whole 207.174.124.0/24 as ours (warmup pool)
First live ingest (28 reports) showed our warmup rotation pool (.91-.109, out0x)
mislabeled EXTERNAL because OUR_IPS only listed 4 specific IPs -- every one was
100% DMARC-passing, clearly ours, and would have generated false spoofing alerts.
Replace the literal-IP set with an ipaddress subnet check on 207.174.124.0/24
(our whole block). The only genuinely-external failing sender is 35.174.145.124
(AWS, 32 msgs spoofing us, SPF-fail/no-DKIM, all correctly rejected by p=reject) --
exactly the signal the --alert path is meant to surface.
2026-06-19 08:54:41 -05:00
justin
8e5590b492 mail: DMARC aggregate-report parser + dedicated dmarc@ mailbox ingestion
Tool 2 of the deliverability monitoring pair (Tool 1 = mail_reputation_monitor).
DMARC rua reports from dozens of operators (Google, Yahoo, Comcast, Cox, Bell,
Mimecast, Cisco ESA, GMX, mail.com, ...) were landing in ops@ (dmarc@ was a DL),
burying real mail and never parsed. Now ingested + queryable:

- dmarc@performancewest.net converted DL -> dedicated Carbonio mailbox; isolated
  IMAP creds in server .env, surfaced to workers in docker-compose.yml (mirrors
  OPS_IMAP_*). 29 historical reports moved ops@ -> dmarc@ via IMAP.
- scripts/dmarc_report_parser.py: IMAP fetch unseen -> decompress .gz/.zip/.xml
  (namespace-agnostic: classic + urn:ietf:params:xml:ns:dmarc-2.0 GMX/mail.com) ->
  parse aggregate XML -> upsert dmarc_report (keyed (org_name,report_id), no-op on
  re-parse) + dmarc_record per source IP. dmarc_pass = dkim_aligned OR spf_aligned.
  Marks \Seen. --dry-run/--all/--alert (7d per-IP summary + Telegram if one of OUR
  IPs <95% pass, or EXTERNAL IP sends >=20 failing msgs as us = spoofing under
  p=reject). psycopg2 imported lazily so --dry-run runs without the driver.
- api/migrations/102_dmarc_aggregate.sql: dmarc_report + dmarc_record tables.
- infra/cron/pw-dmarc-parser: 06:20 UTC daily --alert (after reputation, before scrub).
- docs/deliverability.md: DMARC section DONE; query examples.

Verified: dry-run --all parses all 28 reports (1 non-report test probe), 0 unknown
after the namespace fix.
2026-06-19 08:50:20 -05:00
justin
b45332b5f7 infra(cron): nightly mail-reputation snapshot (pw-mail-reputation)
Runs mail_reputation_monitor --alert at 06:10 UTC, piping the day's postfix log
(sudo cat, same pattern as pw-warmup-tg-alert) into the DB-connected workers
container. Builds the daily SNDS-equivalent reputation trend and Telegram-alerts
on operator regressions. Installed to /etc/cron.d/pw-mail-reputation.
2026-06-19 08:38:35 -05:00
justin
08f651dc1e feat(deliverability): mail reputation monitor (SNDS-equivalent from postfix logs)
Adds scripts/mail_reputation_monitor.py + migration 101 (mail_reputation_daily).
Sender reputation is judged by the RECEIVING operator (Microsoft/Google/Yahoo/
Proofpoint), and the provider portals (SNDS/Postmaster/CFL) need a login and lag
24-48h. Our postfix logs already carry the ground truth in real time: every send
records the receiving host + SMTP response, and the response classifies WHY:
  250            -> accepted
  451 4.7.500    -> throttled (Microsoft rate-limiting a cold IP)
  550 5.7.x      -> reject_reputation (spam/reputation)
  550 5.1.1/5.4.1-> reject_recipient (dead mailbox / access denied = list hygiene)
  550 ...SPAM    -> reject_content (SpamAssassin)

The parser classifies each egress delivery (out0x/hcout/relay) by (sending_ip,
receiver, outcome, reason_code) and upserts ONE daily aggregate row per bucket
(idempotent ON CONFLICT), so a nightly cron over the rotated log gives a queryable
trend without re-parse double-counting. --alert prints a per-operator summary and
Telegram-alerts on regressions (>=10% reputation rejects, or Microsoft >=70%
throttled). Reads stdin ("-") so the host-owned /var/log/mail.log can be piped
into the DB-connected workers container.

Motivation: 2026-06-19 audit found ~80% of Microsoft sends were getting 451 4.7.500
throttles on the warming IPs -- this makes that trend visible as reputation recovers.
2026-06-19 08:35:45 -05:00
justin
bd7ba23841 docs(deliverability): Yahoo CFL ENROLLED for both domains (reporting fbl@)
performancewest.net + send.performancewest.net both show Enrolled in the Yahoo
Sender Hub, reporting email fbl@. All three FBLs (Google Postmaster, MS SNDS+JMRP,
Yahoo CFL) now complete.
2026-06-19 08:29:12 -05:00
justin
b8b6444084 docs(deliverability): Yahoo CFL verification keys added for both domains
Added yahoo-verification-key TXT records via Hestia for performancewest.net
(apex) and send.performancewest.net; both propagated to all HE.net slaves +
public resolvers. Ready to click Verify in the Yahoo CFL form, complaint dest fbl@.
2026-06-19 02:13:48 -05:00
justin
a9bbfbf59b docs(deliverability): Microsoft MANUAL 2 fully DONE — SNDS access + JMRP both set
SNDS access requested/granted for 207.174.124.94 + .107; JMRP feeds registered
with complaint dest fbl@. Section marked complete. SNDS data populates in ~24-48h.
2026-06-19 02:03:30 -05:00
justin
f293466519 docs(deliverability): JMRP complaint dest set to fbl@performancewest.net
Corrected: JMRP feed destination was set to fbl@ directly (no forward needed);
ARF complaints route to ops@.
2026-06-19 01:00:16 -05:00
justin
60540f949d docs(deliverability): JMRP done — both IPs registered (pw1/.94, pw2/.107)
Note JMRP delivers ARF complaints to the signed-in MS account's email, not
automatically to fbl@; set a forward if that account isn't fbl@performancewest.net.
2026-06-19 00:59:49 -05:00
justin
776817c727 docs(deliverability): correct SNDS entry URL (snds.microsoft.com does not resolve)
Use the legacy sendersupport.olc.protection.outlook.com/snds/ (308-redirects) or
the direct substrate.office.com/ip-domain-management-snds/SNDS app URL. Flag that
snds.microsoft.com has no DNS.
2026-06-19 00:46:25 -05:00
justin
7828ee4587 docs(deliverability): fix SNDS/JMRP URLs for Microsoft's 2026 substrate migration
SNDS moved off sendersupport.olc.protection.outlook.com to
substrate.office.com/ip-domain-management-snds/. The old /snds/ and /pm/ links
308-redirect there. Document that the footer/help links going to microsoft.com
are boilerplate (not broken), and that you must Log in FIRST or the Request
Access / JMRP links bounce to login.microsoftonline.com (expected, not dead).
Add working direct links + canonical https://snds.microsoft.com entry point.
2026-06-19 00:45:59 -05:00
justin
e18f23634a docs(deliverability): document consumer-domain exclusion two-layer model + scrub
Records the Apple/iCloud addition, the builder-vs-list-based distinction, the
scrub_listmonk_consumer reconciliation tool + daily cron, and the 2026-06-19
first-run numbers (7,943 trucking + 21 HC stale consumer subs blocklisted).
2026-06-19 00:01:17 -05:00
justin
72c69a05c9 infra(cron): daily Listmonk consumer-domain reconciliation (pw-listmonk-scrub)
Runs scrub_listmonk_consumer against both listmonk and listmonk_hc at 06:30 UTC,
before the campaign builders, so any ENABLED subscriber matching the authoritative
exclusion list is blocklisted retroactively. Keeps list-based campaigns (FCC
Direct Contacts, CRTC/USF, etc.) from leaking onto consumer mailboxes after a new
domain (e.g. Apple/iCloud) is added to the exclusion list. Installed to
/etc/cron.d/pw-listmonk-scrub on the host.
2026-06-19 00:00:46 -05:00
justin
b40fc7ec36 feat(deliverability): exclude Apple consumer mail + scrub stale consumer subs from Listmonk
The fmcsa campaign builders already exclude gmail/yahoo/microsoft/etc. from NEW
audience selections, but two reputation leaks remained on the LIST-BASED side:

1. iCloud/Apple gap. icloud.com/me.com/mac.com were never in the exclusion set.
   A 2026-06 Listmonk audit found 1,321 ENABLED iCloud subscribers on list 3
   ("FCC Carriers - Direct Contacts") -- the single largest enabled-consumer
   bucket -- being cold-blasted with no exclusion at all. Add APPLE_CONSUMER_DOMAINS.

2. Stale already-imported consumer subs. List-based campaigns (e.g. the running
   CRTC/USF blast on list 3) keep hitting consumer addresses imported BEFORE the
   relevant domain joined the exclusion list. gmail.com was still the #1 bounce
   domain via that campaign even though new selections exclude it. Add
   scrub_listmonk_consumer.py: reconciles the live Listmonk subscriber table
   against the authoritative exclusion list and blocklists any ENABLED subscriber
   whose address is_blocked(). Idempotent; re-run whenever the exclusion grows so
   it applies retroactively. Uses the same 'blocklisted' terminal state as the
   bounce handler, so contacts are excluded from all current/future campaigns
   without deleting history. Supports --dry-run and both listmonk / listmonk_hc.
2026-06-18 23:55:58 -05:00
justin
49842bddbb docs(deliverability): Microsoft #1 priority + role mailboxes created (Carbonio)
Created postmaster@/abuse@/fbl@/dmarc@ as Carbonio DLs -> ops@ (they previously
REJECTED 5.1.1, which would have blocked SNDS verification AND was silently
dropping all DMARC aggregate reports). Verified accept-at-MX + delivered E2E.
Reframe Microsoft as the #1 monitoring priority (85% of audience), Yahoo as
lowest (<1%); add Carbonio admin access note; note DMARC parser now worth building.
2026-06-18 23:31:20 -05:00
justin
3ca960aca5 docs+infra(deliverability): document bulk subdomain; ansible signs send.performancewest.net
- infra/ansible/roles/mail: refactor OpenDKIM to support multiple signing domains
  via opendkim_signing_domains list (root + send.performancewest.net). Loops
  keygen/ownership/keytable/signingtable so the live two-domain setup is
  reproducible from ansible.
- infra/ansible group_vars: add bulk_mail_subdomain + campaign_from_* +
  campaign_reply_to documentation vars (map to CAMPAIGN_FROM / HC_CAMPAIGN_FROM
  env read by the builder scripts). smtp_from (transactional) stays on root.
- docs/deliverability.md: rewrite TL;DR with the carrierone-vs-performancewest
  A/B proof (same server/IPs, different From domain -> Inbox vs Junk) and the
  ~85% Microsoft / 14% Google / <1% Yahoo audience mix; add the bulk-subdomain
  section, SPF trim, rehab-disabled, and the Hestia DNS automation runbook.
2026-06-18 23:12:05 -05:00
justin
5c3b4291e7 feat(deliverability): send bulk campaigns from dedicated subdomain send.performancewest.net
Isolates bulk sending reputation onto a dedicated subdomain so the root domain
stays clean for transactional/verification mail (and recovers faster). Replies
still go to the root domain via Reply-To, so the customer-facing reply experience
is unchanged.

- build_trucking_campaigns.py: add env-overridable FROM_EMAIL
  (noreply@send.performancewest.net); use it for both scheduled + test sends
  instead of inheriting base["from_email"] from the DB base campaign.
- build_healthcare_campaigns_cron.py: FROM_EMAIL ->
  compliance@send.performancewest.net (env-overridable).
- bounce-watcher.sh / hc-bounce-watcher.sh: track the new subdomain envelope
  sender (keep legacy root-domain sender so the pre-cutover queue still drains;
  HC also tracks by hcout transport regardless of sender).

Infra already live (separate, non-code): subdomain DNS (A/MX/SPF/DKIM
selector=send/DMARC p=reject) on the Hestia master, OpenDKIM signs
d=send.performancewest.net (verified end-to-end), egress .94/.107. Root SPF
trimmed to the real IPs; pointless IP-rehab cron disabled.
2026-06-18 23:07:23 -05:00
justin
1056705cf9 docs(deliverability): Google Postmaster TXT added+verified via Hestia DNS master
DNS is fully automatable: Hestia (cp.carrierone.com, zone owner = justin user)
is the DNS master, HE.net are slaves. Added google-site-verification TXT (id
14464) via v-add-dns-record as root; verified resolving on public resolvers +
HE.net slaves. Owner just clicks Verify in the Postmaster console. Documents the
v-add-dns-record path for future records.
2026-06-18 22:05:01 -05:00
justin
5253f16675 docs: deliverability runbook (incident, IP consolidation, monitoring setup)
Documents the 2026-06-18 reputation incident (snowshoe -> Gmail domain-rep
blocks, RBLs all clean), the single-IP-per-stream consolidation, and
fill-in-the-blanks setup steps for Google Postmaster Tools, Microsoft SNDS/JMRP,
and Yahoo CFL (all require owner account login + HE.net DNS). Plus ongoing
hygiene + how to re-expand IPs once reputation recovers.
2026-06-18 17:46:28 -05:00
justin
545e6f7ed7 infra(mail): consolidate sending IPs (kill snowshoe) now that DKIM is fixed
The multi-IP rotation was built to spread risk while DKIM was broken (fixed
2026-06-17) and after the May 30-31 over-volume blast. With DKIM signing
correctly, spreading ~3k trucking msgs/day across 12 IPs (.94-.105) + ~1.2k
healthcare msgs/day across 3 IPs (.107-.109) gave each IP far too little
per-receiver volume to build reputation. Gmail/Outlook read it as snowshoe spam
and reputation-blocked ~200 msgs/day ("very low reputation of the sending
domain") -> 0 human clicks, 0 sales.

Consolidate to ONE IP per stream so each accrues real reputation:
 - trucking: pw-mta-warmup ALL=(out05) -> randmap collapses to {out05:} = .94
 - healthcare: listmonk-hc SMTP servers 2/3 (ports 2527/2528 -> .108/.109)
   disabled in DB; all HC mail now egresses .107 (hcmta01). [applied live]

Applied live: transport_maps now randmap:{out05:}; listmonk-hc restarted.
To re-expand later: add transports back to ALL + re-enable the HC SMTP servers.
2026-06-18 17:41:07 -05:00
justin
f43957882f docs(billing): record OIG/SAM recurring validation status
Checkout half proven against live Stripe (dry-run session created + expired,
zero charge), webhook subscription-id extraction + worker renewal fulfillment
covered by unit tests (31 + 13). Remaining gap: full E2E with a Stripe test
clock, which needs test-mode keys in the server .env (currently unset).
2026-06-18 09:38:51 -05:00
justin
5c1f239307 test(workers): NPI recurring-cycle fulfillment path (13 assertions)
Runs the real _BaseNPIHandler.handle() with _create_todo monkeypatched (no DB /
ERPNext / email side effects) and asserts:
 - first OIG/SAM screening has no [Monthly cycle] prefix / RECURRING banner
 - a recurring_cycle order gets the [Monthly cycle] title prefix, the
   "RECURRING MONTHLY CYCLE" banner, the invoice id, and the re-run-against-
   CURRENT-data + issue-NEW-certificate instructions
 - recurring_cycle works with and without an invoice id
 - the bundle handler's first run is not flagged recurring

Verified passing both locally and inside the deployed workers container.
2026-06-18 09:38:26 -05:00
justin
0083bc1354 docs(billing): record Stripe subscription webhook events as ENABLED + api-version caveat
The 3 subscription-lifecycle events (invoice.paid, invoice.payment_failed,
customer.subscription.deleted) are now enabled on the live endpoint
we_1THBjyB46qMvF2jnYyN8IfkK (6 events total). Documents the unpinned-endpoint
api_version caveat (account default 2024-12-18.acacia, not the SDK's dahlia) and
why invoiceSubscriptionId() must read both invoice shapes. Notes that
charge.dispute.created / balance.available are handled in code but not yet
enabled on the endpoint.
2026-06-18 08:45:22 -05:00
justin
8af2685d07 fix(webhooks): read invoice.subscription in both API shapes (acacia + dahlia)
The live Stripe webhook endpoint has NO pinned api_version, so it follows the
account default (currently 2024-12-18.acacia), which delivers the subscription
link as the top-level invoice.subscription. The code only read the new
2026-03-25.dahlia shape (invoice.parent.subscription_details.subscription), so
recurring renewal/payment-failed events would have returned a null subscription
id and silently failed to fulfill once the events were enabled.

invoiceSubscriptionId() now reads the modern shape first, then falls back to the
legacy top-level field. All other invoice fields used by the handlers
(amount_due, attempt_count, hosted_invoice_url, id) are stable across both
versions. +5 tests (legacy string/object, modern-preferred-over-legacy).
2026-06-18 08:42:29 -05:00
justin
cf021e2f91 feat(healthcare): OIG/SAM exclusion screening as $79/mo Stripe Subscription
Convert OIG/SAM from one-time $299/yr to recurring $79/month (card+ACH only) -
the first real recurring-billing product in the system. Exclusion screening is
a *monthly* federal obligation, so recurring monitoring fits the requirement and
is the biggest valuation lever (vs a one-time annual run).

Catalog (single source of truth):
- service-catalog.ts: add billing_interval + allowed_methods to ComplianceService;
  oig-sam-screening -> 7900c, billing_interval:"month", allowed_methods:[card,ach],
  name "(Monthly Monitoring)".
- gen-service-catalog.py + check-service-catalog-drift.py: carry/guard the two new
  fields; regenerate site catalog.

Checkout (api/src/routes/checkout.ts):
- mode:"subscription" with recurring price_data when billing_interval is set;
  surcharge absorbed for recurring (clean $79/mo); server-side METHOD_NOT_ALLOWED
  re-validation against allowed_methods.
- ensureColumns + migration 100: compliance_orders.stripe_subscription_id,
  bundle_upsell_sent_at (+ subscription index).

Webhooks (api/src/routes/webhooks.ts):
- record stripe_subscription_id on checkout.session.completed (subscription mode).
- invoice.paid (subscription_cycle only) -> re-dispatch screening for the cycle;
  invoice.payment_failed -> admin alert + first-failure customer nudge;
  customer.subscription.deleted -> mark order cancelled. (API 2026-03-25 moved the
  subscription link to invoice.parent.subscription_details.subscription.)

Fulfillment:
- job_server.py: pass recurring_cycle/invoice_id into the order.
- npi_provider.py: OIG handler labels renewal cycles "[Monthly cycle]" + re-screen
  note; bundle action runs only the FIRST screening + flags the $79/mo upsell.

Bundle land-and-expand:
- Provider Compliance Bundle now includes only the first OIG/SAM screening (was
  giving away $948/yr of monitoring inside an $899 bundle).
- new worker scripts/workers/bundle_upsell.py (+ pw-bundle-upsell timer): ~3 weeks
  after a paid bundle, emails the customer to continue $79/mo monitoring; dedup via
  bundle_upsell_sent_at; skips customers who already have an OIG/SAM order.

Surfaces updated to $79/mo: PaymentStep (filters methods, "Billed every month,
cancel anytime"), order pages, healthcare index, npi-compliance-check tool (also
fixed stale $699 bundle drift -> $899), hc_oig_screening + hc_compliance_bundle
emails.

Docs: billing.md gains a "Stripe-native Subscriptions" section + a reality-check
banner (Adyen/ERPNext-gateway model documented there is NOT live; Stripe is the
real rail). Fixed run-migrations.yml container name bug
(performancewest-postgres-1 -> performancewest-api-postgres-1, overridable).

Tests: api/tests/recurring-subscription.test.ts (28 assertions) covers catalog
gating, method validation, surcharge suppression, recurring line-item build,
invoiceSubscriptionId extraction, renewal-cycle gating. tsc clean; site build
clean; catalog drift OK.

Manual deploy step: enable invoice.paid, invoice.payment_failed,
customer.subscription.deleted on the Stripe webhook endpoint.
2026-06-18 07:54:38 -05:00
justin
f481a1d13c analytics: filter email-scanner / headless traffic out of Umami stats
Email security gateways (Microsoft Defender Safe Links / ATP, Proofpoint,
Mimecast, Barracuda, etc.) auto-fetch and often render every link in a
campaign email to scan for malware. The advanced ones drive a real headless
browser, execute JS, and fire Umami pageviews/clicks that masquerade as human
visits -- inflating campaign click-through.

New site/public/js/pw-bot-filter.js queries multiple real-browser signals and
gates Umami via its official data-before-send hook (umamiBeforeSend), dropping
all events when the visitor is a bot. Signals (from empirical chromium probing):
  decisive: navigator.webdriver, HeadlessChrome UA, known scanner UAs, zero/
            collapsed screen|viewport|outer geometry, window LARGER than the
            physical screen (impossible on real HW; uses outerW/H so page zoom
            does not false-positive), software GPU rasterizer (SwiftShader/
            llvmpipe/swrast via WebGL UNMASKED_RENDERER), zero logical CPUs.
  soft (>=2 to trip): tiny screen, inner>screen, low color depth, empty
            navigator.languages, no input device (no fine/coarse pointer + no
            hover + 0 touch), no WebGL on a desktop UA.
Designed to FAIL OPEN: only strong/corroborated evidence suppresses, so real
visitors (incl. zoomed, privacy-tooled, remote-desktop, kiosk) still count.

Wired before the Umami tag in Base.astro (Astro pages) and all 86 static
public/**/*.html pages; both load with defer so order is guaranteed and the
hook is defined before Umami reads it.

Tested end-to-end with chromium (site/tests/bot-filter.test.sh, 4/4):
default headless-new, spoofed-Windows-UA + normal 1366x768 window, and
spoofed-UA + 1x1 window are all caught; hook returns null to drop the event.
2026-06-18 02:02:34 -05:00
justin
40da017b79 campaigns: auto-rollout catch-all pool gated by warmup day + live bounce rate
Replaces the panic-era burner-domain verification plan with an in-house
automatic catch-all rollout in the trucking/IFTA/UCR builders. Root-cause
classification of the 75k pre-DKIM-fix bounces showed ~55% were reputation/
auth (now fixed by DKIM signing) and only ~29% genuinely-dead mailboxes;
catch-all domains accept at RCPT time so they do not user-unknown bounce at
send, making a controlled in-house bleed safer than warming a separate burner.

catch_all_enabled() adds catch-all results only when warmup_day >=
CAMPAIGN_CATCH_ALL_MIN_DAY (21) AND the recent 2-day live bounce rate is below
CAMPAIGN_CATCH_ALL_MAX_BOUNCE_PCT (8%) on a >=300-sent sample; auto-reverts to
the clean smtp_valid/send_confirmed pool on the next run if bounces spike.
Short window so a past disaster cannot block the rollout forever and a fresh
spike trips fast. CAMPAIGN_INCLUDE_CATCH_ALL=1/0 still hard-overrides.

USABLE_FILTER (static) -> usable_filter() (per-run, memoized, one DB probe).
IFTA/UCR SELECT_SQL -> _select_sql() so tc.usable_filter() resolves at call
time, not import. 13 logic unit tests pass; live dry-run decision = OFF
(day 15 < 21 and recent 2d bounce 42% from the aging-out Jun-16 disaster).
2026-06-18 01:39:09 -05:00
justin
c36ef07310 crtc site: defensible framing + 'who this is for' compliance posture
Reduce evasion optics that would draw FCC enforcement attention while keeping the
real value props:
- 'What they avoid by being Canadian' -> 'What the Canadian structure changes'
- Drop 'No US telecom taxes on invoices (15-40% saved)' -> Canadian tax treatment
  on the Canadian entity's billing; 'No US FCC regulatory fees on the Canadian entity'
- '...avoid this by routing US traffic...' -> '...instead route US traffic through
  US intermediaries who carry the 499-A obligation...'
- Add prominent 'Who this is for - and who it isn't' section: legitimate
  conversational voice (UCaaS/PBX/business/residential/live-agent) yes;
  short-duration/dialer/robocall-evasion no. States upstreams are fully
  STIR/SHAKEN compliant and we don't onboard traffic designed to evade
  caller-ID auth; notes Canadian carriers police ASR/ACD more strictly than
  anywhere (a feature). HTML validated balanced.
2026-06-18 00:22:58 -05:00
justin
720197095c CRTC USF email: defensible framing + conversational-voice caveat
Reframe away from 'escape the FCC' optics that would draw enforcement attention:
- Header/flagbar: 'Move your VoIP home to Canada' / 'US obligations ride on your
  upstream' (was 'no FCC reporting, no USAC, no S/S to run')
- Recast claims to 'CRTC regulatory home, not FCC' and scope the no-USF/no-499/
  no-RMD claims to the Canadian-jurisdiction traffic (accurate for US-number
  traffic, which rides on the compliant US upstream)
- STIR/SHAKEN bullet now explicitly pro-compliance: 'we don't help anyone dodge
  call-authentication; upstream partners are fully S/S compliant'
- Drop 'outside the FCC's reach'
- Add honest caveat: Canada is not for short-duration/dialer traffic; Canadian
  carriers are more stringent on ACD/ASR than anywhere; this is for real
  conversational voice (UCaaS/PBX/business/residential/live-agent)
2026-06-18 00:20:44 -05:00
justin
a82b356921 CRTC USF email: reframe to 'run your whole VoIP as a Canadian carrier'
Pivot from the hedge/second-entity framing to the consolidation pitch: one CRTC
carrier as the home base, nexus in Canada, customers onboarded from anywhere.
Lead value props with the three concrete reseller realities:
- No FCC reporting (no 499-A/Q, no RMD recert)
- No USAC/USF on your revenue (contribution sits upstream)
- No STIR/SHAKEN to set up or run (reseller can't get a US token; upstream signs)
Add: No FCC Section 214 / no ongoing 214 burden -- CRTC BITS is a cheap,
low-burden notification by comparison. Header/subject reworked; keeps the honest
US-termination + upstream-signing explanation.
2026-06-18 00:10:06 -05:00
justin
d9ecb94b27 CRTC USF email: add honest US-termination + STIR/SHAKEN section
Address the two most common objections truthfully (researched against CRTC,
FCC 2025 Third-Party Authentication Order, and STIR/SHAKEN cross-border docs):
- US-based long-distance termination operators routinely accept traffic from
  Canadian carriers (cross-border voice is a standard interconnect).
- STIR/SHAKEN: a Canadian reseller cannot get a US SPC token (US-carrier-only),
  so US-bound calls are signed by the upstream US-number provider that assigns
  the DIDs -- exactly how most small US carriers already rely on upstream
  signing. Canadian-origin traffic falls under the lighter CRTC regime, handled
  by the upstream Canadian carrier. Does NOT claim S/S disappears -- it moves to
  the upstream, off the carrier's day-to-day operation.
2026-06-18 00:03:31 -05:00
justin
8099afc5ab CRTC USF email: note US DIDs available from Canadian carriers + point to guide
Address the obvious 'but I need US numbers' objection: several Canadian
wholesale carriers (Fibernetics, Iristel, VoIP.ms, Telnyx, Bandwidth, Twilio,
Frontier) provision US DIDs to CRTC-registered carriers, so they can keep
serving US customers from the Canadian entity. Adds a Canada-advantage bullet
and updates the guide block to call out both US + Canadian DIDs.
2026-06-17 23:53:19 -05:00
justin
1c63e8f4b5 CRTC USF email: add FCC photo-ID KYC requirement to the burden list + Canada contrast
The FCC's 2025 Robocall Mitigation Order (47 CFR 64.1200(n)(4), FCC 25-6)
requires collecting + authenticating a government-issued photo ID for every
new customer before turning up voice service. Add it to the US-carrier burden
list and the matching 'does not apply in Canada' advantage.
2026-06-17 23:46:04 -05:00
justin
2611b5458b CRTC USF campaign: shared campaign_helpers + Q3 38.8% USF email builder
- campaign_helpers.py: extract the branded Listmonk HTML helpers (hdr/flagbar/
  stats/cta/footer/P/UL/etc.) + create_campaign() from create_campaigns.py into
  a side-effect-free shared module; create_campaign() now takes an altbody so
  every campaign ships a plaintext alternative (deliverability).
- create_crtc_usf_campaign.py: build the one-off CRTC email hooked on the Q3
  2026 USF factor (38.8%, +1.8pts, eff Jul 1), with a $200-off CANADA200 banner
  (expires Fri 23:59 ET, CTA links carry ?code= for auto-apply), the full US
  carrier burden vs Canada advantage, BC/ON incorporation, and a hosted
  carrier-guide PDF download. Creates a DRAFT only; sending stays manual.
2026-06-17 23:40:01 -05:00
justin
e379e2b10f CRTC: ERPNext as portal source of truth + harden discount expiry + carrier guide PDF
- checkout.ts: generalize ensureCompliancePortalUser -> ensurePortalUser and
  call it in the CRTC post-payment path so PayPal/crypto/webhook-confirmed CRTC
  orders always get an ERPNext Customer + Website User (the single source of
  truth for portal login/password), matching the compliance fix from the
  PayPal incident. Also flip portal_user_created for canada_crtc/formation.
- canada-crtc.ts: enforce discount active+start/expiry windows, global usage
  limit and applies_to scope server-side at checkout (was active-only), so a
  promo like CANADA200 actually stops working after its expiry.
- scripts/generate_canada_carrier_guide_pdf.py: render the public Canadian
  wholesale carrier/vendor guide PDF (reuses the canonical VENDORS list) to
  site/public/guides/canada-carrier-guide.pdf for the CRTC campaign lead magnet.
2026-06-17 23:34:13 -05:00
justin
eed5e4a258 campaigns: disable daily discount by default — test normal-price deals
The daily 40%-off coupon was being merged into every trucking/UCR/IFTA/OTC
send, but those discount sends were not actually being delivered (the
DKIM-broken window). Now that deliverability is fixed, re-test whether
normal-price offers convert before giving margin away.

New CAMPAIGN_ENABLE_COUPON env flag (default OFF) gates daily-coupon
minting in build_trucking_campaigns + the UCR/IFTA/OTC builders (which
import it as tc.COUPON_ENABLED). With it off, no code is minted and an
empty coupon_code is merged -> the campaign templates' existing
{{ if .Subscriber.Attribs.coupon_code }} guard falls through to the
normal-price {{ else }} branch and landing-page links carry no ?code=.
No template or DB changes; fully reversible (set CAMPAIGN_ENABLE_COUPON=1).

Verified: COUPON_ENABLED defaults False, coupon_attribs(None) -> empty,
lp_link drops ?code= when no coupon, all 4 builders compile.
2026-06-17 22:51:28 -05:00
justin
a04ecf7df3 chore(email): decommission SMTP2GO references — local MTA only
SMTP2GO is no longer used: Listmonk relays through the local Postfix MTA
(172.18.0.1:25 from the Docker network), which DKIM-signs and delivers
direct-to-recipient-MX; transactional mail goes through Carbonio. Verified
zero smtp2go in any live container env + postfix has no external relayhost.

Removed the stale references so a rebuild/new dev can't re-introduce it:
- api/src/config.ts: SMTP_HOST default mail.smtp2go.com -> co.carrierone.com
- scripts/workers/crypto_payment_worker.py: same default fix
- infra/ansible all.yml: listmonk_smtp_* now 172.18.0.1:25, no auth (+comment)
- app.env.j2 / email.ts / crm.md / go-live-todo.md / architecture.svg: docs
2026-06-17 22:46:59 -05:00
justin
eba525f83f docs: runbook fix #8 — telecom/transactional HTML-only plaintext fix + campaign 407 finding 2026-06-17 21:17:06 -05:00
justin
b375385efd fix(email): add text/plain part to every transactional + telecom email
All transactional/worker senders built multipart/alternative (or mixed)
messages with ONLY an HTML part. A single-part multipart/alternative is
malformed and HTML-only mail is a spam-score signal -- the same class of
deliverability bug that hurt the campaign pipeline, but on the telecom /
filing / customer-transactional path (499-Q reminders, RMD/FCC filing
review links, intake/completion/delivery emails, commissions, etc).

- worker_email.send_worker_email: auto-derive plaintext from HTML when
  caller omits text= (fixes the shared helper for all current+future use)
- 16 rolled-their-own senders in scripts/workers/** + scripts/formation/
  document_delivery.py: attach html_to_text(...) plaintext sibling before
  the HTML part (job_server + document_delivery wrap text+html in an
  alternative sub-part so PDFs still attach to the mixed root)
- api/src/email.ts: add dependency-free htmlToText() and default
  sendEmail text to it (fixes checkout/webhook HTML-only sends)

Verified: all py files compile + import at runtime, api tsc passes,
htmlToText handles hrefs/lists/entities, 11 plaintext unit tests pass.
Telecom campaign 407 (Jun 8) was HTML-only + sent in the DKIM-broken
window -> 384 sent / 0 clicks (same junked-mail signature).
2026-06-17 21:07:40 -05:00
justin
899b880e7f trucking: weekly FMCSA source refresh so new non-compliant carriers are caught
The FMCSA census was a one-time snapshot (last loaded ~May 30) with NO refresh
timer -- carriers newly falling out of MCS-150/UCR compliance were never picked
up. New scripts/workers/fmcsa_source_refresh.py orchestrates the full pipeline
(census download -> enrichment -> deficiency flag -> verify new emails ->
MX-tag new) and runs weekly via cron pw-fmcsa-refresh (Sun 09:00 UTC), codified
in the mail-pipeline Ansible role.

Idempotent + incremental: the census upsert preserves email_verified /
listmonk_sent_at / deficiency_flags, so existing carriers keep their send state
and only census fields refresh; new DOTs flow into verification then campaigns.
A carrier who refiled gets a fresh mcs150_parsed, so the builder's overdue
WHERE clause stops targeting them automatically. Verify is capped per run
(20k) so it never stalls on millions of rows.

(Healthcare already auto-catches newly-revalidation-overdue providers within
its 63k institutional pool via pw-hc-refresh Mon/Wed/Fri.)
2026-06-17 20:44:54 -05:00
justin
4171f48736 docs: record post-incident email hardening (7 fixes) in runbook 2026-06-17 20:30:59 -05:00
justin
466460112b email: handle unquoted hrefs in plaintext converter + add tests
The anchor regex only matched quoted hrefs; unquoted (href=URL) dropped the
URL from the plaintext part. Now handles double/single/unquoted. Added
scripts/test_email_plaintext.py (11 cases: link forms, mailto, template-tag
preservation, tag stripping, entity unescape, blank-line collapse).
2026-06-17 20:28:15 -05:00
justin
4dc5690666 infra: codify the email-campaign pipeline in Ansible (new mail-pipeline role)
The entire outbound campaign pipeline lived ONLY on the host and was never in
IaC -- a fresh rebuild would have silently shipped NO campaigns, NO IP warmup/
ramp, and NO bounce processing. New mail-pipeline role + deploy-mail-pipeline.yml
playbook deploy it from the canonical repo copies:

  cron.d (infra/cron/):
    - pw-trucking-campaign-builder, pw-ifta-campaign, pw-ucr-campaign
    - pw-hc-campaign, pw-hc-nppes, pw-hc-refresh
    - pw-mta-warmup, pw-listmonk-rampcap, pw-hc-rampcap
    - pw-ip-rehab, pw-warmup-tg-alert
  helper scripts (-> /usr/local/bin):
    - pw-mta-warmup, pw-listmonk-rampcap, pw-hc-rampcap, pw-warmup-tg-alert
    - postfix-bounce-notify.sh, postfix-hc-bounce-notify.sh, listmonk-bounce-sync.py
  systemd services:
    - pw-bounce-watcher.service (was missing from repo), pw-hc-bounce-watcher.service

Also creates the deploy-owned {{project_dir}}/logs dir (deploy can't write
/var/log, so a missing dir made cron redirects fail). Added the 6 cron.d files
that existed only on the host, the trucking bounce-watcher unit, and synced
infra/cron/pw-hc-refresh to the live version (revalidation download + enrich
steps). Role wired into site.yml after the mail (OpenDKIM) role.

Part of the email-deliverability incident hardening.
2026-06-17 20:26:01 -05:00
justin
c183957939 email: suppress defunct/legacy/satellite ISP domains in cold sends
Added DEAD_ISP_DOMAINS (52 domains) to BLOCKED_EMAIL_DOMAINS, so every
campaign builder that imports the shared exclusions (trucking, UCR, IFTA via
create_and_schedule_campaign, and the healthcare importer) stops cold-mailing
them. Domains were identified from our own Listmonk bounce table (top bounced
recipient domains) cross-checked against ISP status: defunct dial-up brands
(earthlink, netzero, juno, mindspring...), Qwest/Embarq legacy, satellite
(hughes, wildblue, dishmail), Altice/Suddenlink rural, WOW!/Knology, small
rural ISPs (windstream, tds, iowatelecom...) and Alaska regional.

Deliberately keeps still-active large consumer ISPs (comcast/charter/cox/
centurylink) -- their bounces were the cold-IP/no-DKIM reputation problem
(now fixed), not dead mailboxes, and they carry real prospects.

Part of the email-deliverability incident hardening.
2026-06-17 20:16:00 -05:00
justin
a32a3b05a0 email: add plaintext MIME part + stable Message-ID hostname
Two deliverability hardening fixes from the email audit:

1. Plaintext (altbody): all campaigns were HTML-only. Listmonk only emits
   multipart/alternative when altbody is set, and HTML-only bulk mail is a
   spam-score signal. New scripts/_email_plaintext.py renders a readable
   text/plain part from the HTML body (dependency-free; preserves Listmonk
   {{ .Subscriber }}/{{ UnsubscribeURL }} template tags, turns links into
   'text (url)'). Wired into the trucking builder (and thus UCR + IFTA, which
   reuse create_and_schedule_campaign) and the healthcare builder.

2. Stable container hostname: Listmonk derived its Message-ID from the random
   docker container id -> @localhost.localdomain (spam-score signal). Pin both
   listmonk + listmonk-hc hostname to perfwest.performancewest.net, matching
   Listmonk's SMTP hello_hostname.

Part of the email-deliverability incident hardening.
2026-06-17 20:09:02 -05:00
justin
2e4388a803 mail: add logrotate for Postfix mail.log (postlogd copytruncate)
mail.log had no logrotate rule and grew unbounded to ~1GB (~150MB/day)
since Jun 8. This host logs via Postfix's built-in postlogd (maillog_file
mode), not rsyslog (no rsyslog.service exists), so postlogd holds the file
open -- a plain rename+create would leave it writing to the stale inode.
Use copytruncate (no daemon signal needed). Rotate daily, keep 14 days
compressed. Applied live: forced first rotation, compressed the 1GB
archive (->99MB), verified logging + bounce watchers + DKIM signing intact.

Part of the email-deliverability incident hardening (follows DKIM fix 4d59019).
2026-06-17 19:47:13 -05:00
justin
4d5901921e mail: fix OpenDKIM not signing campaign mail (Docker-injected) + codify in Ansible
Root cause of the Jun 2026 deliverability collapse / 'no new sales':
opendkim.conf was in single-key mode with no InternalHosts, so it signed only
127.0.0.1. Transactional/cron mail (injected locally) was signed, but ALL
campaign mail -- injected over the Docker bridge from the Listmonk containers
(172.18.0.5 trucking, 172.18.0.25 healthcare) -- went out UNSIGNED. Gmail/Yahoo
require DKIM on bulk mail since Feb 2024, so cold campaigns were junked/blocked
(~23% delivery, 550-5.7.1). Proof: 2,620 campaign msgs that day, 0 DKIM sigs.

The correct table files already existed on the server but were never wired into
opendkim.conf. Fix points the daemon at key.table/signing.table and sets
InternalHosts/ExternalIgnoreList to trusted.hosts (which includes 172.16.0.0/12,
the Docker subnet). Fixes BOTH streams: HC submission ports 2526-2528 inherit
the global smtpd_milters and *@performancewest.net covers compliance@.

Verified by injecting from a Docker IP through port 25 and port 2526 -- both now
get 'DKIM-Signature field added'. Codified as new Ansible role 'mail' so it
can't silently regress (OpenDKIM was previously not in IaC at all).
2026-06-17 19:31:19 -05:00
justin
f7212b3969 scripts: one-off fresh password-set link for Paul Wilson (ERPNext auth) 2026-06-17 10:19:53 -05:00
justin
9c87759501 auth: make ERPNext the single source of truth for customer passwords
Customer portal login previously checked a bcrypt customers.password_hash
in Postgres, while portal.performancewest.net validated against ERPNext —
two stores that drifted (the Paul Wilson lockout). Consolidate on ERPNext:

- erpnext-client: add verifyWebsiteUserPassword() — delegates the credential
  check to Frappe /api/method/login (Host header = site name; 200=ok,401=bad).
- portal-auth /login: verify against ERPNext, then mint the pw_customer cookie.
- portal-auth /register: create+set the ERPNext password (authority) and upsert
  a password-less customers profile row; takeover guard still honors any legacy
  PG password until the column is dropped.
- portal-auth /reset-password + /forgot-password: write the new password to
  ERPNext; forgot-password now also works for ERPNext-only users (creates the
  PG profile row on demand).
- Legacy customers with only a PG bcrypt password reset via forgot-password.
- checkout: refresh the stale comment (customers row is now a profile, no pw).

Build + typecheck green.
2026-06-17 10:09:32 -05:00
justin
557b45f65d fix(erpnext): self-heal outgoing Email Account password from SMTP_* env
Root cause of recurring 'Password not found for Email Account Performance West
Outgoing': the account was shipped as a fixture with awaiting_password=1 and no
password. Email Account SMTP passwords are encrypted per-site and cannot live in
a fixture, so every `bench migrate` reimported the fixture and re-broke
outgoing mail (login notifications, password resets, welcome emails).

- Remove the Email Account fixture (it cannot carry the encrypted secret).
- Add email_account_sync.sync_outgoing_password: idempotent, exception-safe
  upsert that reconciles the account + password from SMTP_* env and clears
  awaiting_password.
- Wire it to after_migrate (repairs at end of every deploy/migrate, right after
  fixtures import) and the daily scheduler (heals out-of-band restore/restart
  drift).
- Pass SMTP_* into the erpnext + erpnext-scheduler containers so the sync has
  the secret (they previously had no SMTP env).
2026-06-17 09:48:28 -05:00
justin
1eb29f80be fix(verifier): mx_unreachable was mislabeling live big-ISP mailboxes
The verifier returned (True, 'mx_unreachable') when it couldn't complete a port-25
probe to ANY MX — marking 438,163 addresses email_verified=TRUE. But these are NOT
dead: they're dominated by Comcast (13.7k), AT&T/SBCGlobal (13.5k), Verizon, Cox,
Charter, Frontier, etc. — major ISPs that deliberately tarpit/refuse probes from
unknown IPs. Confirmed from prod: comcast MX connects + returns 220. The probe
failure ≠ undeliverable.

Fix: return (False, 'mx_probe_blocked') — MX exists, deliverability UNKNOWN, must
be confirmed by a real send. Excluded from PW campaigns; prime burner-verification
target (burner_list_verify upgrades it to send_confirmed on delivery). Existing
438,163 mx_unreachable rows reclassified in prod to mx_probe_blocked / verified=FALSE.
2026-06-17 05:48:08 -05:00
justin
c2737f2001 feat(deliverability): burner-domain list verification + plan doc
The smtp_valid pool is only ~3k unsent — too small to sustain campaigns. SMTP
probing can't confirm catch-all/mx_unreachable deliverability; only a REAL send
can. burner_list_verify.py reconciles a verification send from a DISPOSABLE burner
domain (isolated from PW/carrierone reputation):
  - hard bounce  -> fmcsa_carriers.email_verify_result='hard_bounced' (excluded)
  - delivered    -> 'send_confirmed' (proven deliverable; PW campaigns send to it)
It tails the burner MTA mail.log (reuses bounce-watcher's status= pattern) and
writes back idempotently. The PW trucking filter now treats smtp_valid +
send_confirmed as sendable. docs/campaign-deliverability-plan.md captures the full
diagnosis, the burner design, and CAN-SPAM guardrails.

Remaining (needs a domain + isolated MTA identity — operator/infra decision):
stand up the burner domain, the verification-send worker, and a writeback cron.
2026-06-16 22:28:24 -05:00
justin
1652a3b8bc fix(campaigns): stop sending trucking blasts to mx_unreachable dead domains
Root cause of zero conversions since Jun 9 + the Gmail/Outlook block storm:
the send filter was '(email_verified IS TRUE OR result IN ...)'. The verifier
sets email_verified=TRUE optimistically for mx_unreachable (domain exists but
its mail server never answered the RCPT probe) — 438,163 such rows. Those HARD
BOUNCE on send, producing ~1,100 bounces/day (~47% rate) and blocklisting half
the 120k subscriber base, so real prospects never saw the offer.

Fix: key the send filter ONLY off email_verify_result, never the broken boolean.
Recovery mode (default): send only 'smtp_valid' to drive bounce rate to ~0 and
rebuild reputation; set CAMPAIGN_INCLUDE_CATCH_ALL=1 to re-add catch-all domains
once recovered. Mirrors the healthcare list-cleaning approach (HC bounces ~2-3%,
which proves the fix). Note: only ~3k smtp_valid unsent remain — list growth via
real-send bounce verification (separate burner domain) is the follow-up.
2026-06-16 22:24:15 -05:00
justin
35f204c2b8 fix(mcs150): point intake email to per-slug wizard (not sales page) + add Trailers field
The MCS-150 intake-completion email linked customers to /order/dot-compliance,
which is the sales/checkout page -- it ignores ?order= and asks the customer to
re-pick services and pay again, so they 'cannot enter any data' (Paul Wilson's
report). Link to the per-service intake wizard /order/<slug>?order=... instead,
which loads the paid order, pre-fills from the FMCSA census, and drops payment.

Also add a Trailers field to the DOT intake fleet section and wire it through to
the MCS-150 PDF Q26 trailer row, so carriers can update trucks AND trailers.
2026-06-16 16:21:57 -05:00
justin
674979c928 tweak(sc-coc): tell carrier to check with insurer before answering + Reply-To info@
- Added a line asking them to call their insurance agent to confirm Form E
  ability before clicking yes/no, so we pick the right path first time.
- Reply-To now routes to info@performancewest.net (monitored), overridable via
  SC_COC_REPLY_TO env.
2026-06-16 09:35:13 -05:00
justin
ab9491be6a fix(deploy): hard-reset to origin/main + assert HEAD advanced (stop silent strands)
deploy.sh used 'git pull origin main', which silently ABORTS when the tracked
tree is dirty (generated site files, or any drift), stranding new commits on an
old checkout — this bit us twice today (prod stuck at b125d46 while origin had
the COC work). Replaced with:
  git fetch origin main && git reset --hard origin/main
The deploy box is a pure mirror of origin (all real changes land via git), so a
hard reset is safe and untracked files (data/*, .secrets/) are preserved. Added
a post-reset assertion that HEAD == origin/main and exits 1 loudly otherwise, so
a strand can never again be masked by a '| tail' in the caller.
2026-06-16 09:25:11 -05:00
justin
147657d82d fix(docker): COPY SC COC Form.pdf into workers image
The Dockerfile copies form PDFs explicitly by name; the SC COC template was
missing, so fill_sc_coc() would FileNotFoundError in the container. Added it.
2026-06-16 09:23:43 -05:00
justin
c46efe5730 feat(sc-coc): SC intrastate Certificate of Compliance flow (insurance gate -> $25 fee -> file)
Routes SC intrastate-authority orders to the real SCDMV COC product instead of a
PSC certificate (which doesn't apply to property carriers):

  - sc_coc_filing.py: emails the carrier a one-click yes/no — does your insurer
    have / can they file a Form E (SC intrastate liability, $750k or $300k by
    GVWR) with SCDMV? Records the answer; builds the filled COC package.
  - state_trucking._handle_sc_coc_gate: SC intrastate gate —
      no answer  -> email the question once, HOLD
      answered no -> broker referral opened, HOLD (ops todo)
      answered yes-> proceed to bill the exact $25 SCDMV COC fee (at cost) + file
  - API POST /compliance-orders/:id/sc-insurance: records yes/no in intake_data
    (no schema change); NO opens an insurance_lead broker-referral ticket +
    Telegram; YES re-dispatches the worker to bill the $25 + file.
  - site/order/sc-insurance: customer one-click yes/no page (auto-submits when
    the email links straight to ?have=yes|no).

Non-SC intrastate still uses the PSC/PUC email path or a manual todo.
2026-06-16 09:15:55 -05:00
justin
dae9603808 fix(erpnext): remove default 'BC' from Sales Order incorporation_province
The custom_incorporation_province field had default='BC', which stamped 'BC'
on EVERY Sales Order (US trucking, formation, compliance) — not just Canadian
CRTC orders. This leaked a meaningless 'BC' onto e.g. an SC scrap-metal carrier's
order. Removed the default and added a blank option so it's empty unless it's an
actual Canadian incorporation. Existing non-canada_crtc orders cleared in prod
via db_set (13 fixed; the 2 real canada_crtc orders keep BC).
2026-06-16 09:12:49 -05:00
justin
ad590aab7c feat(sc-coc): SCDMV Certificate of Compliance PDF filler + correct $25 state fee
SC for-hire PROPERTY carriers (not passenger/HHG/hazwaste) register intrastate
via the SCDMV Certificate of Compliance (COC), not a PSC certificate. This adds:
  - sc_coc_pdf_filler.fill_sc_coc(): fills the official SCDMV Form COC from
    intake (business name, officers, physical/mailing address, phone), picks
    New vs Renewal, and stamps the coverage class (E-L low-value / E-LC).
    Field names in the source PDF are auto-generated + offset from their labels;
    mapped here by verified on-page geometry. Verified by render.
  - suggest_coverage_class(): E-L for low-value cargo (scrap/dump/aggregate),
    else E-LC (safer default).
  - gov_fee: SC intrastate fee corrected from $0 placeholder to the real $25
    COC new-application fee (renewals $0), billed at cost.

The carrier's INSURER files the Form E (liability) + Form H (cargo, E-LC only)
directly with SCDMV; we collect the COC app + $25 and submit it.
2026-06-16 09:08:50 -05:00
justin
01b3e1d234 chore(env): scaffold ISA_SC_DMS_USER/PASS for SC PSC MyDMS e-file portal
Non-attorney 'Service' filer account registered under Performance West
(filings@performancewest.net). Credentials live only in the server .env
(blank default in template, never committed). Consumed by the upcoming SC
intrastate Playwright e-filer.
2026-06-16 08:19:17 -05:00
justin
c27cfd3242 docs(crons): note IRP invoice poller now also handles intrastate [PW-ISA] replies 2026-06-16 07:59:38 -05:00
justin
b125d46663 feat(intrastate): automate state PUC/PSC authority filing (email + invoice + auto-bill)
Intrastate operating authority is state-specific + application-based like IRP, so
it reuses the same email/POA + invoice-reconciliation flow:
  - intrastate_filing.send_intrastate_submission: emails the state PSC/PUC the
    authority application with the signed POA attached (subject tag [PW-ISA CO-..]),
    reusing irp_filing's MinIO download + census enrich helpers.
  - The shared poller (irp_invoice_poller) now matches BOTH [PW-IRP] and [PW-ISA]
    tags, parses the fee, Telegram-alerts, and bills the customer the exact amount
    with the correct service slug.
  - state_trucking gov-fee gate routes intrastate-authority to the PSC/PUC email
    path; if no submission email is configured for the base state it falls back
    to a manual todo (safe default — no emailing guessed agency addresses).

Per-state ISA_<ST>_EMAIL env (blank until the exact agency address is verified).
SC/GA/TX scaffolded. Customer still only sees an exact-fee payment link; you only
approve the final filing.
2026-06-16 07:57:57 -05:00
justin
42b433db5a deploy: reset generated site files before pull (fixes silently-stranded commits)
deploy.sh ran sync_nav.py / gen-service-catalog.py which dirty site/public +
site/src in place; that made 'git pull' abort, so recent commits never reached
prod until pulled manually. Reset those generated paths before pulling so deploys
always fast-forward. Also document the IRP POA signer-name/title follow-up.
2026-06-16 05:28:45 -05:00
justin
a74516a255 irp: attach signed POA + census-enrich address; fix date JSON crash
- send_irp_submission now REQUIRES and ATTACHES the signed Power of Attorney PDF
  (downloaded from MinIO) — the state won't act on a third-party filing without
  it, and 'on file, available on request' stalls the request. If the POA isn't
  available we don't email and fall back to a manual todo.
- Backfill missing legal_name + registered address from the FMCSA census so the
  submission isn't sent with a blank address (root cause of the empty
  'Legal/registered address: , ,' line). Customer-supplied values win.
- state_trucking passes signed_auth_key through to the IRP submitter.
- Fix 'Object of type date is not JSON serializable' when creating the admin
  todo (json.dumps(..., default=str)) — broke the intrastate (bash-fee) path.
2026-06-16 05:18:23 -05:00
justin
1d6693adb9 govfee: itemize the estimate in the email + add a 'fix my fee' dispute path
The gov-fee email now lists exactly what the amount covers (full breakdown) so
the customer can check it for accuracy, with two clear actions: a  pay link and
a  'something looks wrong' link to /order/dispute.

New /order/dispute page shows the fee breakdown and lets the customer describe
what's wrong; it opens an 'issue' support ticket pre-tagged with the order
(amount + label + their note) via /api/v1/tickets, so ops corrects the fee
before any payment is taken. The /order/pay page also shows the itemized
breakdown and a dispute link.
2026-06-16 05:00:31 -05:00
justin
ea695d6828 feat(govfee): exact fees + agency processing fees; IRP email/invoice reconciliation
- gov_fee: add AGENCY_PROCESSING_FEE (per-service card/convenience fee passed
  through so the customer pays the true all-in cost); estimate_gov_fee now folds
  it into the billed total. IFTA/intrastate/UCR fees are published/near-exact.

- IRP fees can't be looked up — only the base state computes them. New
  irp_filing.py: emails the base-state IRP unit a Schedule A/B request (Reply-To
  the IRP filings mailbox, [PW-IRP CO-...] subject tag), and a 15-min cron
  (irp_invoice_poller) scans the mailbox for the state's invoice reply, parses
  the exact apportioned fee, Telegram-alerts you, and bills the customer the
  EXACT amount via a gov-fee child order + payment link. Then it proceeds to
  ready_to_file for your final approval.

- state_trucking gov-fee gate now routes IRP to the email/invoice path and
  IFTA/intrastate to immediate exact-fee billing.

- Mailbox is configurable (IRP_FILINGS_IMAP_* in app.env.j2); falls back to
  OPS_IMAP_* filtered by the [PW-IRP] tag until a dedicated mailbox exists.

Telegram alerts fire on IRP submission sent, invoice received (billed), and
un-parseable replies (so you can read + enter the fee manually).
2026-06-16 04:58:14 -05:00
justin
861f2fbfd4 feat(govfee): auto-quote + collect state fees for at-cost trucking services
At-cost services (IRP/IFTA/intrastate) only collected our service fee at
checkout; the variable state fee was never billed, so orders stalled at
authorization_signed and the filing card would have had to front large IRP fees.

New end-to-end, hands-off flow (you only approve the final filing):
  1. After authorization is signed, state_trucking auto-estimates the gov fee
     from intake (base/op states, power units, weight) via gov_fee.estimate_gov_fee.
  2. Creates a CHILD compliance order (CG-..., service_fee=0, gov_fee=estimate,
     parent_order_number set, migration 099) that flows through the EXISTING
     checkout/payment/webhook machinery.
  3. Emails the customer a payment link to /order/pay (new self-contained page)
     showing every method with correct surcharges — ACH 0% (Stripe 0.8%/ cap
     absorbed, no GoCardless needed), card/PayPal 3%, Klarna 6%, crypto 0%.
  4. Order holds at awaiting_government_fee_approval until paid.
  5. On payment, handlePaymentComplete detects the child (parent_order_number)
     and re-dispatches the PARENT with gov_fee_paid=true, which proceeds to
     prepare + queue the filing and stops at ready_to_file for your approval.

IRP fees are estimates billed at cost (refund overage / rebill shortfall); IFTA
decals + most intrastate fees are near-exact. Tunable via env.
2026-06-16 04:35:45 -05:00
justin
3e13b722f6 fix(relay): logging.getenv -> crash on import (card loading was broken)
relay_integration.py line 34 called logging.getenv (no such attr), which threw
AttributeError on import -> load_card_from_erpnext() crashed for every caller
(BOC-3 and now UCR filing payment). Drop the bogus line; LOG is set correctly on
the next line. Present since the initial commit.
2026-06-16 03:30:40 -05:00
justin
aadf9f5bc1 feat(ucr): Playwright auto-filing for UCR registration on approval
Adds scripts/workers/services/ucr_playwright.py — a UCR.gov National Registration
System automation that, given a USDOT + fleet size, runs the register/pay flow,
pays the federal UCR fee with the matched PW filing card (Relay/Stripe Issuing),
and captures a confirmation screenshot + number. Conventions match
boc3_playwright / fmcsa_web_submitter: dev-mode dry-run guard, undetected
(patchright) browser, CAPTCHA detection, screenshot evidence, dataclass result.

Safety: verifies the displayed fee against the federal schedule before paying and
refuses to auto-charge a surprising amount (UCR_MAX_AUTO_FEE_USD) — falls back to
manual filing instead.

Wires it into MCS150UpdateHandler: when an approved (admin_approved) order has
slug ucr-registration, _file_ucr_registration runs the automation, uploads the
confirmation screenshot to MinIO, records filing_status + confirmation, and sets
fulfillment_status=completed on success. On CAPTCHA / fee-mismatch / failure it
reverts to ready_to_file with a high-priority 'file manually' todo. This replaces
the old behavior where approving a UCR just sat at authorization_signed.
2026-06-16 03:29:05 -05:00
justin
bf69960e8c admin: mark-filed action to advance manual/admin-assisted orders to completed
Admin-assisted services (UCR, MC authority, etc.) have no automated submission,
so approving them only flips to authorization_signed and then sits there -- there
was no way to advance to completed. Add POST /mark-filed (filed_waiting_state |
completed, optional confirmation #, transactional + audit-logged) and drawer
buttons 'Mark as filed (waiting on agency)' / 'Mark completed' shown for orders in
authorization_signed / ready_to_file / filed_waiting_state. Confirmation number
is recorded into intake_data.filing_status.manual_confirmation.
2026-06-16 03:12:57 -05:00
justin
6c10c6a6cd mcs150 handler: service-aware todos/notifications/emails (stop mislabeling UCR as MCS-150)
UCR (and other admin-assisted DOT services) route through MCS150UpdateHandler,
which hardcoded 'MCS-150' and self.SERVICE_SLUG in the admin todo, the Telegram
fulfillment notification, and the customer status email -- so approving Paul's
UCR produced an 'MCS-150 Review / mcs150-update / PDF: not generated' alert and
an 'MCS-150 biennial update' customer email, both wrong.

Add SERVICE_DISPLAY_NAMES + _service_label(slug); use the actual slug everywhere.
Admin-assisted services now show 'UCR Annual Registration — FILE NOW ... file
manually on the portal (no auto-generated form)' instead of MCS-150/PDF wording,
and the customer email names the right service.
2026-06-16 03:02:53 -05:00
justin
326aee7714 admin: inline filing screenshots + atomic approve transaction
- Documents now flag is_image and the drawer renders screenshots / confirmation
  images as inline clickable thumbnails (click to open full size); PDFs keep the
  View link. Evidence keys are labeled (Filing confirmation screenshot, etc.),
  the worker-temp screenshot_path (not a MinIO key) is dropped in favor of the
  durable evidence copy, and non-file evidence (fax_log_id) is skipped.
- Wrap approve's status-update + audit-insert in a transaction so a failure can
  no longer leave an order out of ready_to_file without dispatching (the earlier
  audit CHECK violation did exactly that to Paul's UCR; it has been reset).
2026-06-16 02:57:24 -05:00
justin
73c27c75b1 migration 098: allow compliance order types in order_audit_log
The admin compliance-orders approve/re-arm actions write order_audit_log rows
with order_type='compliance', but the CHECK constraint (from migration 004)
only allowed formation/service/quote -- so every approve failed with a 500
('Approve failed.'). Expand the constraint to include compliance + compliance_batch.
2026-06-16 02:49:46 -05:00
justin
3df3a08221 mcs150 handler: derive admin-assisted intake from census; gate ready_to_file
Admin-assisted DOT services (UCR, BOC-3) routed to this handler were marked
ready_to_file with whatever intake existed -- e.g. a UCR with only a DOT number,
missing legal name / state / fleet-size bracket (which sets the UCR fee tier).
That made the admin 'ready to file' status dishonest and unfileable.

Now, for ADMIN_ASSISTED_REQUIRED services we first enrich intake from the FMCSA
census (legal_name, address_state, power_units) + the order email, and derive
the UCR fleet_size_bracket from power units (UCR_FLEET_BRACKETS). If every
required field is then present we persist it and mark intake validated (falls
through to the admin review gate -> ready_to_file). If anything is still
missing, we persist what we have, set fulfillment_status=awaiting_intake, and
email the customer to complete intake -- instead of falsely showing ready_to_file.
2026-06-16 02:46:10 -05:00
justin
8e1e2f16bf admin docs: only list objects that actually exist (drop dead/phantom rows)
Filter the documents list to objects that exist in storage, so stray keys (a
template pdf_minio_path, or a phantom mcs150 esign_records row on a UCR order
from the shared remediation pipeline) no longer surface as dead rows. The UI
drops the now-unreachable 'not generated yet' branch.
2026-06-16 02:37:33 -05:00
justin
c8e0065729 admin docs: hide phantom prepared-filing PDF for non-form services
The dot-compliance-remediation pipeline seeds filing_status.pdf_minio_path on
every order in a batch, but only MCS-150-producing slugs (mcs150-update,
dot-registration, usdot-reactivation, dot-full-compliance) ever generate it.
For admin-assisted services like UCR it was a phantom 'Prepared filing PDF /
not generated yet' row. Gate the prepared-filing artifacts on FORM_PRODUCING_SLUGS
(mirrors the worker's MCS150_FORM_SLUGS) and give the empty state a clearer
explanation.
2026-06-16 02:35:29 -05:00
justin
d18de006d8 admin approve: block filing when intake incomplete (force override + warning)
Paul Wilson's UCR (CO-FE07212A) sat at fulfillment_status=ready_to_file with
intake_data_validated=false, so the Approve & File button would have dispatched
it for government submission with incomplete intake and no document to review.

Backend: /approve now refuses an order whose intake_data_validated is false
unless {force:true} is passed (409 code=intake_incomplete); the override is
recorded in order_audit_log. The fulfillment_status=ready_to_file requirement
is unchanged, so awaiting_intake orders (e.g. Mitchell's MCS-150s) still 409.

UI: the drawer shows an amber 'intake not complete' warning above the approve
button, and approving an intake-incomplete order triggers an explicit
override confirmation before sending force=true.
2026-06-16 00:33:22 -05:00
justin
aa498fdfdf admin docs: probe existence with ranged GET (HEAD fails presigned-URL sig) 2026-06-16 00:23:40 -05:00
justin
1f3b36b29e admin docs: verify object existence, mark dead links, cleaner 404
The DB can record a pdf_minio_path before the object is uploaded (e.g. a
prepared-filing path written for an order whose prep never completed -- Paul
Wilson / Mark Adams MCS-150s). The documents list now HEAD-checks each key and
returns an exists flag; the UI shows 'not generated yet' instead of a dead View
button, and the stream endpoint returns a clean 404 for a missing object.
2026-06-16 00:22:35 -05:00
justin
bce5db4a09 admin: view order PDFs from MinIO (signed forms, prepared filings, evidence)
Adds a Documents section to the compliance-order detail drawer so you can
review the actual filing PDFs before approving an order:
  GET /api/v1/admin/compliance-orders/:id/documents  list viewable objects
  GET /api/v1/admin/compliance-orders/:id/document?key=&token=  stream one

Key discovery pulls from esign_records (unsigned + signed docs per order),
intake_data.filing_status (pdf_minio_path, attested_pdf, evidence/*), and the
order's engagement_letter / rmd_packet columns.

Rather than hand out presigned URLs (MinIO's public host is IP-allowlisted to a
few office IPs, so links break elsewhere), the API streams the object through
itself from internal minio:9000, gated by the admin JWT. The stream endpoint
accepts the token via ?token= (new middleware requireAdminQueryOrHeader) so a
PDF opens in a new tab, and refuses any key that isn't one of the order's own
documents.
2026-06-16 00:20:15 -05:00
justin
d65f5ea279 nginx: stop blocking /admin (bot-scan rule matched our own dashboard)
The shared security snippet blocked any path matching /(admin|administrator|
login.action|struts) with 'return 444', which drops the connection. That bare
'admin' token also matched our own operations dashboard at /admin and the new
/admin/compliance-orders, so the browser showed 'This site can't be reached'.
Dropped the bare 'admin' token; administrator/login.action/struts stay blocked.
Applied live on prod (sudo edit + nginx reload); this updates the source of
truth so the ansible nginx role won't reintroduce it.
2026-06-16 00:05:54 -05:00
justin
48fab25840 docs: document the admin compliance-orders surface in the runbook 2026-06-16 00:00:12 -05:00
justin
2296566e85 admin: compliance-orders dashboard (view, approve-to-file, re-arm intake)
The admin SPA only managed formation_orders; compliance service orders
(telecom/DOT/healthcare) had no admin surface, so you couldn't see what was
paid, what was stuck on intake, or approve a prepared filing for submission.

API (api/src/routes/admin.ts), all requireAdmin:
  GET  /api/v1/admin/compliance-orders            list, grouped by batch, filters
  GET  /api/v1/admin/compliance-orders/stats      queue overview counts
  GET  /api/v1/admin/compliance-orders/:id        full detail + audit log
  POST /api/v1/admin/compliance-orders/:id/approve       approve ready_to_file + dispatch worker
  POST /api/v1/admin/compliance-orders/:id/rearm-intake  clear reminder stamp so daily nudge resumes

UI: new static page /admin/compliance-orders/ (self-contained, CSP-safe inline
CSS, no external JS framework) reusing the existing pw_admin_token session.
Cards group multi-service batches, flag paid+intake-incomplete in red, show
reminder counts, and expose Approve & Re-arm buttons. Linked from the main
/admin top bar. Every approve/re-arm writes an order_audit_log entry.
2026-06-15 23:57:05 -05:00
justin
b48d0cb799 docserver: self-healing Task Scheduler config + docs
Companion to the worker MinIO-retry fix. Makes the worker auto-recover from
process death (crash, manual kill, missed boot trigger), not just MinIO outages.

- start_worker.bat: propagate Python's exit code (exit /b %rc%) so Task
  Scheduler can actually detect a failed run (it previously always exited 0).
- reconfigure_task.ps1 (new): re-registers PW-DocserverWorker with
  RestartCount=99 / 1-min interval, StartWhenAvailable, and two triggers —
  AtStartup plus a 5-min repeating trigger with MultipleInstances=IgnoreNew, so
  a dead worker relaunches within ~5 min and never double-runs. Idempotent.
- install.ps1: same self-healing settings for fresh installs.
- Verified on the box: killed the worker -> task relaunched it; firing again
  while running stayed at one instance.

Docs updated to match reality:
- docserver/README.md: new 'Reliability / self-healing' section.
- document-generation.md: corrected the stale 'Flask DocServer :5050 / HTTP'
  description to the actual MinIO outbound-only transport.
- e2e-test-plan.md: removed the outdated 'Word COM fails under SYSTEM / requires
  RDP after every reboot' limitation; now self-healing under SYSTEM session 0.
- infrastructure.md: fixed VM spec (Win Server 2019, Word 16.0, Python 3.13,
  SSH port 22422) + self-healing note.
- architecture.md / formation-system.md: trigger + self-healing details.
2026-06-15 22:49:21 -05:00
justin
7929413eeb docserver: survive MinIO outages instead of exiting
The worker called sys.exit(1) on any MinIO connection error, so a single
transient 502 from MinIO/its reverse proxy left it dead until a manual restart
or reboot (its scheduled task only runs at system startup). It had been dead
~5 weeks after a 502 on May 9.

- _connect_minio_forever(): retry the initial MinIO connect indefinitely with
  capped exponential backoff (5s..120s) instead of exiting.
- main loop: wrap each poll cycle; on any error, log + rebuild the client and
  keep polling rather than crashing.

Verified on the box: normal DOCX->PDF still works (~11s e2e); a bogus endpoint
now retries forever without ever calling sys.exit (was the exact May-9 failure).
2026-06-15 22:40:27 -05:00
justin
ef3b7a96f0 intake-reminder: weekly fallback so capped paid orders aren't abandoned
Two of our three real paid customers (Mark Adams / mark@adamslumber.com and
Paul Wilson / synthetic@pipeline.com) never completed intake. They each hit the
old hard cap of 10 daily reminders (last sent Jun 12 / Jun 13) and the worker
then went permanently silent -- the last two daily runs reminded 0 orders even
though both still owe us intake on paid work. (The third, mitchell allen /
mitchell@allenscrapmetal.com, did complete intake; his orders are dispatched.)

Replace the dead-stop cap with a two-phase cadence:
  - daily for the first DAILY_PHASE (10) nudges -- the initial burst,
  - then weekly (WEEKLY_INTERVAL_DAYS) up to an absolute MAX_REMINDERS (60),
so a paid order with missing intake keeps getting a gentle nudge instead of
being dropped. Tunable via INTAKE_REMINDER_DAILY_PHASE /
INTAKE_REMINDER_WEEKLY_INTERVAL_DAYS / INTAKE_REMINDER_MAX. Clearing
intake_reminder_last_at re-arms an order immediately (documented in the
module docstring).
2026-06-15 22:13:27 -05:00
justin
ba6f171c9d docs: record trucking per-MX throttling fix + the 702k-google smoking gun 2026-06-14 21:39:14 -05:00
justin
b9b963f87b trucking: extend big-operator exclusion to day 30 (reputation recovery)
Main pool is calendar-day 12 but reputation is wrecked (54% delivery, Gmail+
Outlook blocks) -- NOT warmed. MX tagging confirmed the cause: 702k carriers on
Google + 135k on Microsoft = the warmup was hammering exactly the two operators
blocking us. Hold Google/MS/Proofpoint/etc. OUT entirely until day 30 (configurable),
sending only to the long-tail operators (yahoo/comcast/charter/centurylink/etc.)
that don't bot-throttle, so reputation can recover; then re-introduce big
operators gradually via mx_daily_caps. 1.24M/1.49M carriers now tagged.
2026-06-14 21:35:58 -05:00
justin
3fbfcbfaab mx_tag: bulk UPDATE via temp-table join (per-domain UPDATE full-scanned 1.49M rows each time)
The real bottleneck was the write, not DNS: each per-domain UPDATE full-scanned
fmcsa_carriers (no functional index on lower(split_part(email,'@',2))). Resolve
all domains concurrently into a list, load a temp table, then ONE join-UPDATE =
single table scan. Tags ~12k domains -> hundreds of thousands of carriers fast.
2026-06-14 21:29:52 -05:00
justin
fd1522abee mx_tag: per-call Resolver (dns Resolver not thread-safe -- was deadlocking) 2026-06-14 21:26:38 -05:00
justin
5fd187a001 mx_tag: incremental write via as_completed (no straggler hold-up) 2026-06-14 21:24:46 -05:00
justin
60e6dc5d19 mx_tag: concurrent DNS resolution (40 workers, 3s timeout) for bulk speed
The serial path (verifier's 8s+6s lifetime per domain) was far too slow for
bulk tagging -- 0 tagged in 3 min on dead domains. Self-contained fast resolver
+ ThreadPoolExecutor(40) resolves thousands of domains in minutes.
2026-06-14 21:16:17 -05:00
justin
9e40965092 trucking: per-MX-operator throttling + Google/MS-Workspace warmup exclusion
The Jun 13-14 Gmail+Outlook block storm came from the main/trucking pool having
NO per-MX throttling (only HC had it) -- it concentrated warmup volume on
Google/Microsoft-Workspace-hosted business domains. Port the HC fix:

- migration 097: fmcsa_carriers.mx_provider column.
- mx_tag_carriers.py: resolve MX once per distinct domain (reuses the verifier's
  classifier+cache), tag every carrier with that domain's operator. Bounded per
  run, prioritizes unsent verified carriers.
- build_trucking_campaigns: during warmup (day<=6) EXCLUDE tagged Google/MS/
  Proofpoint/etc. carriers in fetch_carriers; per-MX cap in select_sendable_
  carriers so known operators never dominate the quota. Untagged carriers pass
  (not collapsed onto one bucket) until tagging fills in. mx_daily_caps ramps
  with the main warmup day; MAIN_SKIP_BIG_MX=0 disables once warmed.
2026-06-14 21:11:23 -05:00
justin
2caab6aa69 hc: warmup must run DAILY for the full 21-day ramp (not weekdays-only)
The HC warmup crons were '* * 1-5' (Mon-Fri), silently skipping weekends -- but a
proper warmup needs CONTINUOUS daily volume for 21 days (mailbox providers reward
consistency; gaps stall reputation). The Jun 14 'HC 0 sent' alert was just a
skipped Sunday, but the weekend skips also broke ramp continuity.

- pw-hc-campaign + pw-hc-nppes: '* * 1-5' -> '* * *' (daily), vendored + applied live.
- Re-aligned the warmup start stamp from calendar-day 9 to send-day 5 so the
  volume ramp matches reputation actually built (it had skipped ~4 weekend days,
  running the ramp ahead of real history).
- Fixed the stale 'Mon-Fri only' comment in daily_slice().
- Vendored nppes cron now carries the enriched-CSV + 4-segment config.
2026-06-14 21:02:08 -05:00
justin
134a2611f6 otc: reincorporation email template + campaign builder
otc_reincorporation.html: redomesticate-to-Texas hook (Business Court + TXSE +
DE franchise-tax cost) personalized by state_inc_name/company/ticker, cross-sell
RA/foreign-qual/annual-report/franchise-tax, same-day coupon, lead-capture CTA to
/contact?service=reincorporation (high-touch corporate service, not self-serve),
careful 'not a law firm / not legal advice' disclaimers + CAN-SPAM address.

build_otc_campaign.py: emails only verified-email issuers from the harvest+scrape
+verify pipeline, --de-nv-only for the best reincorp fit, reuses trucking sender
plumbing + coupon. Per-deal value is high so capped modestly (400/run default).
2026-06-14 06:58:43 -05:00
justin
4d3af2aeae otc: domain->email scraper + filing-agent domain filtering
scrape_otc_emails.py: fetch each issuer domain's IR/contact pages (gzip,
HTML-only, early-abort, prefer ir@/investor@/info@), extract a contact email.
Skip filing-agent domains (DFN/Donnelley/Broadridge/etc.) that leak into the
extracted domain -- those are not the issuer's site. Same filter added to the
harvester's DOMAIN_NOISE for future runs. Phone (100%) is the fallback channel
for email misses.
2026-06-14 06:56:45 -05:00
justin
fdea97e57e otc: EDGAR harvester for US-domestic OTC issuers + domain-from-filings
Pilot -> production: harvest_otc_issuers.py pulls the OTC/None universe (2,771),
keeps US-domestic (requires BOTH a US state-of-incorporation AND a US-state
business address -- disambiguates the 'DE'=Delaware-vs-Germany trap that leaked
Infineon etc.), and extracts each issuer's website DOMAIN directly from its
latest 10-K/8-K/DEF-14A filing (free, no scrape; ~58-60% find rate in testing).
Outputs cik,name,ticker,state_inc,phone,city,state,zip,domain -- ready for the
domain->email scrape + verify step. Phone is 100% (clean fallback call channel).
Reincorporation-to-TX / RA / foreign-qual / franchise-tax / annual-report fit.
2026-06-14 01:24:56 -05:00
justin
591e387513 docs: SEC/OTC pilot results - viable (domain free from EDGAR filings, 100%)
Ran the email-findability pilot we should have run for CLIA. SEC/OTC is viable:
~940 US-domestic OTC issuers, domain recoverable from the 10-K/8-K filing itself
at ~100% (free, no scrape), email via site scrape ~25-50%, phone 100%. High
per-deal value (reincorporation/RA/foreign-qual/franchise tax). Documented the
build plan.
2026-06-14 01:22:04 -05:00
justin
1465690832 docs: record HC org-email diversification + CMS-URL maintenance note 2026-06-14 01:10:31 -05:00
justin
b73edadb89 hc: unlock the full 62k verified institutional pool for broad offers
The OIG-screening + NPPES-update segments were effectively limited to ~1,437
providers because the warmup 'any' selector excluded not-on-reval-list rows as a
deliverability proxy -- but that excludes almost the ENTIRE institutional list
(org NPIs aren't individual Medicare enrollees). Since we already SMTP-verified
all 63k inboxes, add an 'institutional_verified' selector that trusts our own
verification instead of reval-list presence. Result: OIG + NPPES-update now
address 62,422 (43x more), giving multiple broad offers to test engagement on.

- enrich_institutional_revalidation.py: fast local join of the institutional
  list to the CMS Revalidation Due Date List bulk file (revalidation_base.csv)
  by NPI -> adds reval_due_date/days_overdue/reval_status. ~1,437 are genuine
  Medicare enrollees (197 overdue / 164 due-soon) -> flagship $599 reval pitch.
- npi_reactivation stays on leie_or_deactivated (only REAL deactivations -- no
  false 'your NPI is deactivated' claims to active orgs).
2026-06-14 01:07:40 -05:00
justin
792f5e948f docs: vertical lead-source analysis ranked by email-source reliability
Synthesize this session's findings into a ranking of candidate verticals by the
one thing that actually gates cold email: a reliable public bulk source of
deliverable emails. Tier 1 (email native): FCC, FMCSA. Tier 2 (one free hop):
healthcare ORG NPIs (already harvested 63k verified), SEC/OTC corporate. Tier 3
(domain-scrape): FMC OTI, state business entities by trigger. Tier 4 (phone/mail
only, NOT email): CLIA (0.3% match proven), EPA RCRA, individual NPIs.
2026-06-14 00:56:27 -05:00
justin
a2665c22c2 ucr: annual-renewal reminder campaign + order-alert campaign source
UCR (Unified Carrier Registration) is annual: opens Oct 1, due Dec 31, mandatory
for interstate carriers (op A, same ~628k pool as IFTA) -> recurring revenue.

- build_ucr_annual_campaign.py: 3-touch business-day cadence (30/12/4 bd before
  Dec 31, wider than IFTA since it's once a year), escalating tone, same-day
  coupon, 'I already did it' suppression. Reuses build_trucking_campaigns +
  IFTA business-day/token helpers (DRY). Per-year cycle reset.
- ucr_annual_reminder.html: deadline + fines/OOS risk + 'we figure out your fee
  tier' + coupon + filed link + CAN-SPAM. Source campaign 473.
- migration 096: ucr_reminded_at / ucr_touch_no / ucr_self_filed_at.
- ifta.ts: add GET /api/v1/ucr/filed (shares the HMAC token scheme).
- checkout.ts: order-placement Telegram now shows 'Source: campaign (code X)'
  when a discount code is present, so IFTA/UCR/CLIA conversions are visible.
  (Confirmed order-alert Telegram already fires from handlePaymentComplete for
  all compliance orders via both webhook + session paths.)
2026-06-14 00:30:23 -05:00
justin
2b361a83a8 fix(ifta): 'I already filed' link must use the API host, not the site host
The handler is an API route; performancewest.net/api/* proxies to the Astro site
(:4322), only api.performancewest.net serves the API. Build the filed link from
PUBLIC_API_URL (default https://api.performancewest.net). Verified end-to-end:
valid token -> 200 confirmation page, invalid -> 403.
2026-06-13 23:49:05 -05:00
justin
3d4226e95c ifta: 3-touch business-day cadence + 'I already filed it' suppression
- Multi-touch reminders at 10/7/4 BUSINESS days before each deadline (weekends
  skipped; biz-day math so a touch never lands purely on a weekend with no
  runway). Escalating tone soft -> urgent -> last-chance, with the 'almost too
  late to DIY, we can still file it' angle so it's a convenience sale, not a free
  reminder service. ifta_touch_no tracks the highest touch sent so each touch
  hits only carriers below that level; never repeats a touch.
- 'I already filed it' one-click link: HMAC-tokenized GET /api/v1/ifta/filed
  (token matches between Python builder and api/src/routes/ifta.ts -- verified
  identical output), records ifta_self_filed_at, friendly confirmation page,
  stops further touches this cycle + gives DIY-vs-prospect signal. Builder
  excludes self-filed carriers.
- migration 094 (ifta_touch_no) + 095 (ifta_self_filed_at); cycle reset clears
  both each new quarter. Verified: biz-day touch schedule, token cross-match.
2026-06-13 23:41:14 -05:00
justin
872154ebf7 fix(trucking): refresh subscriber attribs for existing carriers on re-import
add_subscriber only attached existing subscribers to the new list without
updating attribs, so a carrier emailed in a prior campaign kept STALE attribs --
meaning the daily coupon code and IFTA merge fields (ifta_due_date, ifta_quarter,
lp_link) rendered BLANK for any repeat recipient. Now merge+PUT the fresh attribs
on the existing subscriber before attaching. Affects all trucking campaigns, not
just IFTA. Verified: IFTA preview now persists ifta_quarter/ifta_due_date/lp_link.
2026-06-13 23:26:47 -05:00
justin
19bbef3231 ifta: recurring quarterly-return reminder campaign (calendar-triggered)
IFTA returns are due on fixed dates (Apr30/Jul31/Oct31/Jan31) and every
interstate carrier (op code A, ~628k sendable) files 4x/year forever -- pure
recurring revenue, no per-carrier deadline data needed.

- build_ifta_quarterly_campaign.py: self-gates to the reminder window (~21d
  before each deadline), selects interstate carriers, mints the same-day coupon,
  builds+schedules the campaign reusing build_trucking_campaigns plumbing (DRY:
  one source of truth for sending/suppression/coupon). Per-quarter cycle reset
  (ifta_reminder_cycle marker) so each quarter re-reminds the full pool; marks
  ifta_reminded_at to avoid double-sends within a cycle.
- ifta_quarterly_reminder.html: deadline + penalties + 'we do the math' + coupon
  + CAN-SPAM. Listmonk source campaign id 469.
- migration 094: fmcsa_carriers.ifta_reminded_at column + partial index.
Verified: deadline/window logic correct, imports reuse tc helpers, migration
applied on prod.
2026-06-13 23:24:47 -05:00
justin
766e32e555 docs: CLIA / multi-vertical email enrichment plan
Capture the full decision trail and chosen approach for making CLIA labs
emailable: why NPI->NPPES (0.3%) and DirectTrust failed, datacenter-IP search
blocking, the $99 B2B-list -> email-domain -> scrape-current-email -> verify
pipeline (durable domain even when the mailbox is stale), hard rules protecting
the warming mail pool, gzip/HTML-only bandwidth optimization, residential proxy
options, the sample-validation gate before committing, what's already built
(harvest, service, order page, email template), and the postcard fallback.
2026-06-13 23:07:08 -05:00
justin
9c7a08f5c9 clia: new CLIA certificate renewal service, order page, email template + harvest
Set up the CLIA recurring-renewal vein (every clinical lab renews its CLIA cert
on a 2-year cycle; CMS publishes the full lab file with expiration dates):
- service-catalog: clia-renewal ($449, discountable) + order page (npi-intake
  steps) + intake manifest entry.
- harvest_clia_renewals.py: parse the CMS Provider-of-Services CLIA file, filter
  to labs expiring within a window (default 120d), emit name/address/phone/expiry.
  676k labs -> ~70k expiring in the next ~4 months.
- match_clia_to_nppes.py: CLIA has no NPI/email, so bridge to emailable NPPES
  orgs by normalized name+zip to recover NPI+email (yield TBD; labs that do not
  match still have clean phone+postal for a phone/mail channel).
- hc_clia_renewal.html: warm turnover-safety-net email with the striped official-
  record card (CLIA #, expiry, status), verify-on-CMS-QCOR, founder guarantee
  card, full CAN-SPAM address.
2026-06-13 22:10:51 -05:00
justin
d1a9260854 hc: consistent striped official-record card + wire past-due overdue variant
- Upgrade the plain teal record banner to the authoritative barber-pole 'Official
  record' banner in the personal/turnover/overdue-personal templates (the switch
  to personal templates had dropped the striped look from live revalidation sends).
- nppes_outdated: replace plain info table with the striped 'Official record -
  NPPES NPI Registry' card (status honestly labeled as our compliance flag).
- Wire revalidation_overdue -> hc_revalidation_overdue_personal.html with a direct
  past-due subject ('Your Medicare revalidation is past due - let's get it filed')
  and PAST DUE status + days-overdue in the record card; due_soon stays warm.
- Striped card now on all 7 templates that show a real record; oig_screening and
  compliance_bundle correctly omit it (no specific record to display).
2026-06-13 21:55:50 -05:00
justin
7b69b5c314 hc: add barber-pole official-record card to NPI reactivation email
Match the authoritative 'official record' look of the revalidation emails on the
deactivated/NPI-reactivation template: striped banner + structured NPPES record
card. Kept it accurate -- NPI/name are labeled NPPES (the real public source);
the deactivation status is labeled as our compliance flag (not an NPPES field),
since deactivation is not a single public dataset, with a 'confirm via official
sources' footnote.
2026-06-13 21:53:39 -05:00
justin
bb736f6c01 hc: add founder guarantee card to all other HC templates (npi/nppes/oig/bundle)
Per your call: add the same personal founder card (headshot linked to /about,
service-neutral satisfaction-guarantee quote, signature, title) to the four
remaining HC templates for a consistent trust signal across all healthcare
outreach. Kept the factually-direct subjects where the situation IS past-due/
deactivated (npi_reactivation) -- only the framing softens, not the facts.
All HC templates now use the v2 signature.
2026-06-13 21:31:01 -05:00
justin
16f3dd67e4 can-spam: add full street address to ALL email templates + wire HC personal variant
CAN-SPAM requires a valid physical postal address in every commercial email.
All 8 HC campaign templates and the FCC campaign_template.html only had
'Cheyenne, WY' (no street) -- added the full
'525 Randall Ave Ste 100-1195, Cheyenne, WY 82001' to match the (already-correct)
trucking templates. Audited every Listmonk source/sent campaign + wrapper
templates: all active sends carry address + unsubscribe.

Also: revalidation segments now use hc_revalidation_personal.html with subject
'Let's make sure your Medicare revalidation is handled in time'.
2026-06-13 21:27:16 -05:00
justin
0dc208ef65 hc: version signature filename (v2) to defeat email/CDN image caching 2026-06-13 21:13:36 -05:00
justin
9d78783258 hc: resize signature to 300x81 (cropped+optimized, 106KB->22KB) for email 2026-06-13 21:12:11 -05:00
justin
84a521d388 hc: use higher-quality Justin Hannah signature in personal email variant 2026-06-13 21:11:45 -05:00
justin
c7c83499d7 hc: personal founder-guarantee revalidation variant (photo + signature)
Adds hc_revalidation_personal.html: the turnover safety-net email plus a
personal guarantee card from Justin Hannah -- round headshot (links to /about so
readers can confirm a real person stands behind it), an italic satisfaction-
guarantee quote ('I will personally make it right... that is my promise'), a
rendered 'Justin Hannah' signature (Dancing Script, SIL OFL), and his title
(Founder & Principal Consultant). Signature image generated via PIL and added to
site/public/images/justin-signature.png. Test sent to justin@.
2026-06-13 21:06:30 -05:00
justin
1c64dc48c2 hc: add 'start now - government processing takes time' urgency to turnover email 2026-06-13 21:00:39 -05:00
justin
23af463213 hc: honest-but-warm 'turnover safety-net' revalidation email draft
New HC template (hc_revalidation_turnover.html) that gets the warm, 'someone who
has our back' feel WITHOUT falsely claiming a prior business relationship (which
would be a deceptive practice under FTC/UDAP and is especially risky with
compliance-minded healthcare admins). Instead it leans on:
 - the real staff-turnover insight ('whoever last handled this may have moved on')
 - genuine relevance (their actual NPI + CMS revalidation due date)
 - the safety-net positioning ('we keep an eye on this so it does not become your
   problem' / 'we will make sure it gets done right no matter who handled it')
 - true social proof (trusted by providers nationwide) + verify-on-CMS.gov
Every claim is true and defensible. Test sent to justin@.
2026-06-13 20:54:57 -05:00
justin
5e9aec40d1 trucking: same-day expiring coupon to drive immediate conversion
The sales we got came at $79 + a 24hr coupon; cutting MCS-150 to $39 flat
removed urgency and conversions did NOT improve (a permanent low price sets a
new anchor and lets people defer). Restore the higher anchor and let an
expiring discount create the now-or-lose-it decision.

- Restore MCS-150 anchor $39 -> $79 (catalog single source + regenerated).
- build_trucking_campaigns.py: mint ONE random 5-letter coupon per send-day
  (40% off, valid through 23:59:59 ET that day) into the existing discount_codes
  table; inject coupon_code/pct/expires + a ?code= LP link into every email.
  Idempotent per day; service-fee-only scope (gov/pass-through fees never cut).
- Listmonk MCS-150 (186) + Inactive USDOT (188) templates: lead with the
  struck-through anchor + sale price + code + 'expires tonight', and point the
  primary CTA at the order page (with code) instead of the 'free check' tool.
- OrderPriceBanner: validates ?code= via /api/v1/discount and shows
  was/now + expiry; Wizard forwards the code to order creation.
- Verified: code gen, expiry math, scope enforcement, discount API
  (40% off $79 = $47.40), site+api builds clean.
2026-06-13 20:43:47 -05:00
justin
dd4ed3ea38 warmup: ROLL BACK main pool to 200/h after Gmail spam-blocked IPs at 400/h
Day 9 (2026-06-13) alert: main pool 54% delivery, 202 Gmail spam-blocks
(550-5.7.1 'Gmail has detected') on warming IPs .94-.98. The 4k/day (400/h)
ramp was too aggressive AND the trucking pool lacks the per-MX throttling the HC
pool got -- Google-Workspace-hosted business domains (weberfarms.net, uatruck.com,
etc.) concentrated and Gmail blocked us. Held at 200/h (~2k/day) through day 20 to
recover, then slow step to 300/h. Applied live (cap already set to 200/h).
2026-06-13 20:10:13 -05:00
justin
709d00004b legal: re-check CommLaw attack page (unchanged) + archive new 'Record Straight' article naming PW 2026-06-12 23:48:15 -05:00
justin
303235a595 todo: note umami Goals/Funnels added for DOT, CRTC, Healthcare (was FCC-only) 2026-06-12 22:34:53 -05:00
justin
3f7ecf9d13 hc: persist mx_provider on imported subscribers (per-operator audit)
So we can verify/analyze the per-MX-operator throttle distribution from the
listmonk DB after import (and re-throttle future segment membership).
2026-06-12 22:28:49 -05:00
justin
ff4ab262a8 hc: cron to feed NPPES institutional base (63k verified) into warmup, MX-throttled
Adds /etc/cron.d/pw-hc-nppes (weekdays 07:30) that imports the verified NPPES
institutional general-compliance base into the OIG screening segment, throttled
per MX operator. Separate from the 07:00 reval-segment run so the two pipelines
stay independent. Vendored the cron file under infra/cron/.
2026-06-12 22:11:12 -05:00
justin
5237c81385 hc: per-MX-operator warmup throttle (spread load across receiving systems)
Reputation is tracked per receiving mail operator, not per recipient domain, so
the daily warmup slice is now distributed across MX operators with per-operator
daily caps (ramping with the warmup day): Microsoft/Google/Proofpoint/etc. capped
individually, long-tail operators each get a generous default. This lets total
daily volume be much higher than a flat cap without hammering any single system.
mx_throttled() respects the mx_provider column the verifier now writes; falls back
to flat slicing if absent.
2026-06-12 22:09:29 -05:00
justin
4638fbe3d2 umami: fix Goals/Funnels 'Something went wrong' (migrate saved reports to v3.1.0 schema)
The saved Goal + Funnel reports used a pre-v3.1.0 parameters shape (urls/dateRange)
that umami 3.1.0's report schema rejects (400 -> 'Something went wrong'). Migrated
both reports in the umami DB to the current funnelReportSchema/goalReportSchema
(steps[], top-level dates, goal type/value). Verified funnel route now passes schema
validation. TODO updated/closed.
2026-06-12 20:17:09 -05:00
justin
921cd1ce3c verify: tag each address with its MX provider for per-operator warmup throttling
Reputation is tracked per receiving mail operator (Microsoft 365, Google
Workspace, Proofpoint, etc.), not per recipient domain -- so warmup can safely
send far more total volume if it's spread across many MX operators and throttled
per-operator. The verifier now classifies each domain's (already-cached) MX into
a provider label and writes an mx_provider column, so the warmup importer can
cap sends per operator per day. NPPES institutional sample distribution:
Microsoft 33%, Google 11%, Proofpoint ~16%, long tail across dozens of others.
2026-06-12 20:06:44 -05:00
justin
51a287271f hc: NPPES endpoint mailable-inbox harvester (institutional/consumer, HISP-filtered)
Extracts cold-mailable provider inboxes from the NPPES endpoint_pfile, dropping
Direct/HISP gateway domains (not deliverable from a normal MTA). From the
June 2026 NPPES file: 88,728 institutional + 19,355 consumer mailable
candidates. Institutional is the warmup-safe slice (consumer webmail is held
back -- aggressive filtering would hurt the warming IP).
2026-06-12 20:03:12 -05:00
justin
a648ae6e0a todo: track Umami Goals/Funnels 'Something went wrong' fix 2026-06-12 19:57:39 -05:00
justin
6c8c823e5e hc: refresh attribs when cross-adding an existing subscriber to a segment
add_subscriber only attached an already-existing subscriber to the new list
without updating attribs, so the due-soon template's days_until merge field was
blank for providers already imported by another segment. Now PUT the merged
attribs (existing + this segment's npi/practice/due-date/days_until) before
adding to the list.
2026-06-12 19:37:01 -05:00
justin
c8c9a04c1d hc: add 'revalidation due soon' warmup segment (proactive, grows supply)
The HC warmup pool is supply-constrained (~400 verified providers, all fed by
the same narrow 'revalidation 1-90 days OVERDUE' slice). This adds a mirror-image
proactive segment that targets providers whose Medicare revalidation is UPCOMING
within the next 1-90 days, drawn from the same CMS Revalidation Due Date List --
no new data source needed. 'Handle it before your deadline' is a strong pitch and
roughly doubles the deliverable pool.

- New selector reval_due_soon (status=upcoming, days_until in [HC_DUE_SOON_MIN,
  HC_DUE_SOON_MAX] default 1-90).
- New segment revalidation_due_soon reusing the existing /order/npi-revalidation
  service ($599) with template hc_revalidation_due_soon.html.
- attribs_for now exposes days_until (positive days to due date).
- Added to ACTIVE_SEGMENTS.
2026-06-12 19:33:49 -05:00
justin
773c443079 legal: permanent do-not-contact for dataspindle.com + close re-import gap
David Sgro (PA OAG complaint BCP-26-05-025816) opted out 2026-04-13; response
emailed to the AG 2026-06-11. To make the suppression bulletproof and keep the
response's representations true:
- Added a legal do-not-contact list (DO_NOT_CONTACT_DOMAINS/_EMAILS) to
  _email_exclusions.py with dataspindle.com / dave@dataspindle.com; folded into
  BLOCKED_EMAIL_DOMAINS and is_blocked().
- listmonk_import.upsert_subscriber now refuses to import/re-confirm any
  suppressed address. This closes the exact gap that re-added him on 2026-04-26:
  the duplicate-import branch re-added an existing unsubscribed subscriber to
  lists with status=confirmed, overriding the opt-out.
2026-06-11 13:24:10 -05:00
justin
32623d36b8 legal: draft PA AG response re David Sgro complaint BCP-26-05-025816 (docx + md)
Draft response to PA OAG Bureau of Consumer Protection mediation request.
Core arguments: (1) address came from his own public FCC RMD filing, not
scraping; (2) commercial email is governed by CAN-SPAM (opt-out, permits B2B),
not the fax/telemarketing 'Unsolicited Telecommunication Advertisement Act' he
cites; (3) opt-out honored same day (manual suppression Apr 13), now permanent;
(4) no purchase/harm; (5) the post-opt-out 'emails' he complains of were our
replies to HIS own argumentative emails, not solicitations. Marked DRAFT FOR
ATTORNEY REVIEW with bracketed items to confirm before sending.
2026-06-11 12:40:48 -05:00
justin
887bf9a14a warmup: grow main (trucking) pool faster -- 3k -> 4k/day now, 5k at day 14
The main sending IPs are cleanly warmed: today 3,845 sent at 0.18% bounce,
ZERO deferrals, ZERO ISP rate-limit/blocklist/Spamhaus hits. The script's own
note records these IPs historically sustained ~2,500/day at 68-76% delivery;
collapses only ever came from 17k-29k spikes. So we have ample headroom to
accelerate the trucking ramp safely:
  day 7-13: 300/h -> 400/h (~4,000/day)   [applied now, day 8]
  day 14+:  new    500/h    (~5,000/day)   [hard ceiling, well under ~17k]

Also vendored pw-listmonk-rampcap into the repo (infra/postfix/) -- it
previously lived only on the server at /usr/local/bin. Live script updated and
applied (listmonk cap now 400/h).
2026-06-11 00:13:41 -05:00
justin
c8a0824143 firewall: allow ezstorehost (207.174.124.51) to reach Forgejo SSH
Add ezstorehost to trusted_admin in both layers — the nft input set and
the DOCKER-USER iptables chain (Forgejo is containerised; DNAT means the
post-DNAT dport 22 rule applies). Required for static-tenant deploys from
ezStorehost-infra to clone repos over ssh://.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 22:45:43 -05:00
justin
a1db921c71 mcs150/workers: don't fill MCS-150 for non-form services; quiet ERPNext workflow advance
- MCS150UpdateHandler is the catch-all for many admin-assisted DOT services
  (UCR, MC authority, audit prep, ETA, name reservation, registered agent,
  annual report). It was filling an MCS-150 PDF for ALL of them -- e.g. a UCR
  order produced a wrong MCS-150 PDF. Now only MCS150_FORM_SLUGS fill the form;
  others get an admin-review todo (PDF 'not generated') for manual handling.
  Signature flow was already correctly scoped (UCR is not in DOT_SIGNING).
- handle_process_compliance_service forced the Sales Order workflow_state to
  'Review' via set_value, which bypasses ERPNext's allowed transitions and
  threw WorkflowPermissionError (Received -> Review) on every run. The Postgres
  fulfillment_status is the source of truth; the ERPNext workflow_state is a
  cosmetic mirror. Now try the proper apply_workflow action and stay quiet
  (debug, not warning) when no valid Review transition exists.
2026-06-10 17:22:38 -05:00
justin
a04146da2b crtc: remove Canadian accountant/accounting-setup service (no longer offered)
We no longer offer Canadian accountant/accounting setup. Removed all
service-offering content:
- Marketing page (services/telecom/canada-crtc): the 'Set Up Canadian
  Accounting (we help)' next-steps card, the '3 hours of complimentary
  accounting consultation' deliverable bullet, and the whole 'Accounting
  Support' section (assigned accountant, portal chat, $75/hr, 3 complimentary
  hours).
- Order page (order/canada-crtc): the '3 hrs Canadian accounting support'
  included-feature bullet and the 'Preferred accounting software'
  (Xero/QuickBooks) form field + its accounting-hours helper text.
- Fulfillment (canada_crtc.py): dropped the bank-setup email line offering
  '3 hours of Canadian accounting consultation'.

Kept factual GST/HST tax advisories and the bank's QuickBooks/Xero
transaction-sync feature (third-party bank capability, not our service).
2026-06-10 16:51:33 -05:00
justin
7d8a08d9d3 mcs150: scope intake-completion email to actual MCS-150-form services
MCS150UpdateHandler is the catch-all for many admin-assisted DOT services
(UCR, MC authority, audit prep, ETA, name reservation, registered agent,
annual report). My new intake-completeness gate was firing the 'confirm your
MCS-150 details' email for ALL of them -- e.g. a UCR order wrongly emailed the
customer about MCS-150 details. Scope the gate to MCS150_FORM_SLUGS (the
services that actually file an MCS-150: mcs150-update, dot-registration,
usdot-reactivation, dot-full-compliance).
2026-06-10 14:52:36 -05:00
justin
1ff8b88ac8 fix: stop suppressing synthetic@pipeline.com (real customer address)
Paul Wilson (Compound Technologies) signed up with synthetic@pipeline.com,
which is a genuine, deliverable EarthLink address (pipeline.com MX ->
earthlink-vadesecure.net; he confirmed receipt by phone). Our code had
hardcoded pipeline.com + the synthetic@ prefix as a 'non-deliverable
FMCSA-census placeholder' and silently suppressed every automated email to
him (checkout provisioning, order-creation validation, intake reminders,
set-password invites). Nothing in the codebase actually generates that
address, so the placeholder rationale was wrong. Removed pipeline.com and the
synthetic@ rule from all four suppression sites; only RFC-reserved
example.com/test.com/invalid remain blocked.
2026-06-10 14:41:19 -05:00
justin
983c732baf migration 093: add awaiting_intake fulfillment status for MCS-150 intake gate 2026-06-10 14:14:45 -05:00
justin
a3aeedd716 mcs150: census-prefilled intake-completion flow + completeness gate
Closes the data gap for orders that bypass the full intake (e.g. the DOT
compliance-remediation pipeline) and for all MCS-150 variants:

- Worker intake-completeness gate (mcs150_update): before filling, check the
  customer-required operational fields the FMCSA census cannot supply
  (operation classification, cargo, CURRENT annual mileage, email; plus
  signer/address for new-registration/reactivation, and states-of-operation
  for 150B hazmat). If missing, email the customer a census-pre-filled intake
  link and hold the order at fulfillment_status='awaiting_intake' with an admin
  todo, instead of fabricating a blank filing. The existing intake PUT endpoint
  already re-dispatches the worker on submit, so filing auto-resumes.
- Intake wizard (Wizard.astro): when resuming ?order=CO-xxx for a DOT/MCS order,
  seed still-empty fields from the FMCSA census (name/address/fleet/interstate)
  so the customer only confirms the operational details.
- /api/v1/dot/census now also returns total_drivers + a normalized
  carrier_operation_code for the prefill.
- MCS150Step.astro extended to collect every field the filler needs across all
  variants: mailing address, cdl_drivers, primary_vehicle_type,
  reason_for_filing, usdot_revoked, cell/fax, hazmat-safety-permit block
  (needs_hmsp, operating states, security plan), and intermodal-equipment
  provider counts; all prefill from intake_data.

verify_mcs150_variants.py covers 150/150B/150C end-to-end (ALL PASS).
2026-06-10 14:03:28 -05:00
justin
38739e023c mcs150: complete all-variant field mapping (150/150B/150C)
Adds the previously-unmapped fields so every variant fills fully:
- Q25 hazmat C/S/B/NB matrix (HAZMAT_ROW_MAP x HAZMAT_COL_MAP, 156 boxes)
- MCS-150B states-of-operation checkboxes (full name or 2-letter code), HMSP
  Hazard/Permit/Security radios, and accident count (32accidentNumber)
- MCS-150C intermodal equipment counts (20owned/leased/serviced) + correct
  field renumbering (17dunbrad/18irs/19eMail) + USDOT Button + named-export
  Reason/Mailing radios
- Structured fleet via intake['vehicles'] = {vehicle_type: {owned, term_leased,
  trip_leased}} across all Q26 vehicle rows; non-CMV count; cell/fax; second
  officer
- _set_button now resolves a candidate tuple against each field's actual export
  states, so numeric (/0../4) and named (/Yes,/Biennial...) radios both work

verify_mcs150_variants.py exercises all three variants end-to-end: ALL PASS.
2026-06-10 13:55:55 -05:00
justin
96f31e7c31 mcs150: only check Q29 passenger-cert box for passenger carriers
certifyBox is the Q29 Passenger Carrier Compliance Certification YES box
(page 3, y=530), not a general perjury checkbox. It was being checked
unconditionally, which wrongly marked freight/property carriers as passenger
carriers. Now only check it when the carrier is a passenger carrier; the
Q31 perjury declaration is made via the signature.
2026-06-10 13:44:34 -05:00
justin
b95ee04752 mcs150: fill all checkboxes/radios correctly + stamp explicit checkmarks
Fixes a batch of missing fields the FMCSA census does not provide and the
filler was mis-mapping:

- Corrected the question->field mapping to match the actual form: Q22 =
  COMPANY OPERATIONS (interstate/intrastate, 22xBox), Q23 = OPERATION
  CLASSIFICATIONS (for-hire/private/govt, 23xBox). These were swapped, and
  the bogus entity-type->23xBox map (no entity-type question exists on this
  form revision) was removed.
- Added proper radio-group handling for Reason for Filing (Biennial Update),
  Mailing-address (Same as principal vs below), and Q28 USDOT-revoked, with
  correct option indices (these are /0../n radios, not /Yes checkboxes; the
  old code set them to /Yes and never selected the right option).
- Map interstate/intrastate from the FMCSA census carrierOperationCode, and
  populate email/phone/mileage/cargo from intake.
- AcroForm checkbox/radio appearances use a ZapfDingbats glyph that
  poppler/Preview fail to render (value set but box looks empty). Now stamp
  an explicit X overlay into the page content for every 'on' box so it shows
  in every viewer and in the faxed output.
2026-06-10 13:41:48 -05:00
justin
386467bedf mcs150: trim FMCSA instruction pages from form templates
The official MCS-150/150B/150C PDFs ship with 8 (150/150B) or 4 (150C)
FMCSA instruction/example pages before the actual fillable form. We were
generating + faxing/submitting all of them. Trimmed the source templates
down to the FORM pages only:
  MCS-150  11 -> 3 pages (289 fields preserved)
  MCS-150B 12 -> 4 pages (349 fields preserved)
  MCS-150C  6 -> 2 pages (33 fields preserved)

The filler iterates writer.pages (no absolute index) and signature
anchors are derived dynamically via enumerate(reader.pages), so no
page-specific markup needed fixing. Removed one-off diag script.
2026-06-10 13:25:07 -05:00
justin
4447905864 workers: don't re-upload handler-returned MinIO keys as local files
handle_process_compliance_service assumed handlers return local temp
paths and re-uploaded each to MinIO. The MCS-150 handler uploads itself
and returns the MinIO key, so the re-upload tried to read a nonexistent
local file and logged a 'File not found' error after the order was
already correctly held at the admin gate. Now we skip files that don't
exist locally and keep the returned key as-is.
2026-06-10 12:47:16 -05:00
justin
71404810c4 mcs150: backfill signer name from signed cert + re-stamp signed form
- When intake lacks signer_name, backfill it from the name the client
  typed when signing the perjury certification (that name is exactly what
  belongs in the form's print/type-name field, certifyName).
- After a client-approved re-dispatch, re-point the signed esign record at
  the freshly filled form and re-stamp the signature, so the signed PDF an
  admin reviews reflects the current complete form (not a stale earlier
  fill). Field layout (and thus signature anchors) is unchanged across
  fills, so the recorded anchor coordinates stay valid.
2026-06-10 12:41:27 -05:00
justin
bd0d8c0e2c verify_mcs150: correct handler class name 2026-06-10 12:39:41 -05:00
justin
79c460ef25 mcs150: render verification harness + auto-generate appearance streams
- fill_mcs150 now uses auto_regenerate=True so pypdf writes appearance
  streams for every text field. Preview/Chrome ignore /NeedAppearances and
  were showing blank widgets over the values; generated /AP streams make
  the text render in all viewers.
- New verify_mcs150.py reads each widget's /AP /N appearance stream (the
  literal drawn glyphs) to confirm expected values actually render, since
  the container has no OCR/raster tooling. Exits non-zero on any miss.
2026-06-10 12:37:25 -05:00
justin
534f13e480 gitignore: stray personal image 2026-06-10 12:35:56 -05:00
justin
d5e66786a2 mcs150: enrich intake from FMCSA carrier census before PDF fill
The MCS-150 biennial update re-confirms the carrier's existing FMCSA
record. Previously the PDF filler only had whatever the intake form
collected; rescued/sparse orders (or orders where the carrier's data
lives in FMCSA, not the intake) produced near-empty forms. Now we pull
the carrier census (legal name, address, EIN, fleet counts) from the
FMCSA carrier API and merge it under any customer-provided intake values
(customer edits win), so the form is pre-filled with the carrier's
current registered data. Refactored the FMCSA fetch into a shared
_fetch_fmcsa_carrier helper used by both enrichment and status check.
2026-06-10 12:35:52 -05:00
justin
7e5946d65a fix(mcs150 pdf): set /NeedAppearances so filled field values actually render
Customer saw the MCS-150 looking blank / 'data covered by the form fields': the
values were correctly written to the AcroForm /V, but pypdf left the template's
empty /AP appearance streams in place and NeedAppearances was false, so viewers
rendered the blank widget over the value. Setting AcroForm /NeedAppearances=true
makes viewers regenerate appearances from the values. (The missing signature was
a downstream effect of the separate fobj_put MinIO-upload bug, now fixed -- with
no PDF in MinIO the anchor extraction + signature stamping both failed.)
2026-06-10 12:20:45 -05:00
justin
b28dda7c5a feat(telegram): include a presigned PDF view link in the admin-review alert
When an MCS-150/USDOT order hits the pre-submission admin-verification gate, the
Telegram FULFILLMENT NEEDED alert now appends a presigned link to the prepared
PDF (via the public minio.performancewest.net endpoint, IP-allowlisted to admin)
so you can review the document straight from the alert before approving. Added
notify_fulfillment_todo(view_url=...) + a _presigned_view_url helper (public
endpoint + explicit region to avoid the region-probe that 403s from the worker).
2026-06-10 12:13:43 -05:00
justin
09d928a582 fix(mcs150): MinIO upload used wrong method fobj_put -> fput_object
The MCS-150/USDOT PDF was generated fine but the MinIO upload threw 'Minio object
has no attribute fobj_put' (wrong method name + signature), so the prepared filing
PDF was never persisted -- nothing for an admin to review at the verification gate,
and the esign-completed re-dispatch failed with 'File not found'. Use the correct
minio fput_object(bucket, key, file_path). Affects every MCS-150/USDOT filing.
2026-06-10 12:08:12 -05:00
justin
1fe942c109 fix(checkout): don't skip ERPNext SO for synthetic@pipeline.com (real customers use it)
ensureComplianceSalesOrder skipped the FMCSA-census placeholder email, but a real
paying customer (Paul Wilson) genuinely uses synthetic@pipeline.com, so his SO
never got created/regenerated. A Sales Order is internal bookkeeping, not an
outbound email, so the placeholder skip is unnecessary here (the email/portal
guard in ensureCompliancePortalUser still protects actual sends).
2026-06-10 07:05:21 -05:00
justin
7708086130 Fix batch payment totals in Telegram and ERPNext invoice flow 2026-06-10 07:04:06 -05:00
justin
6827aafdbc fix(checkout): batch surcharge 5x over-count + ERPNext SO missing discount
Mitchell's batch CB-95BA6C90: Stripe correctly charged $450.88 ($437.75 net +
$13.13 surcharge), but the DB + Telegram showed $503.40 with a $65.65 surcharge.
Two bugs:

1) On Stripe session creation, the per-row surcharge UPDATE wrote the FULL batch
   surcharge ($13.13) to EVERY row via WHERE batch_id, so anything summing the
   per-row field (the Telegram order notification) over-counted Nx (5 x $13.13 =
   $65.65). Now the single surcharge is split across the rows so they sum to the
   true total. Stripe was always charged correctly (one surcharge line item).

2) ensureComplianceSalesOrder built the ERPNext SO from full line-item prices but
   applied NO discount, so the SO grand total over-stated what the customer paid.
   Now applies the promo/bundle discount via apply_discount_on=Grand Total +
   discount_amount on both the primary and fallback SO create.
2026-06-10 06:57:59 -05:00
justin
058d4d426a feat(compliance): admin verification gate + durable submission evidence
Per request: after the customer signs but BEFORE we submit to the government, hold
the order for a human to verify the prepared filing is correct.

- MCS-150 handler (mcs150-update + usdot-reactivation): new admin-verification gate
  after the signature gate -- if not admin_approved, set fulfillment_status=
  'ready_to_file', create a HIGH-priority 'VERIFY before filing' admin todo, and
  STOP (no FMCSA submission). job_server injects admin_approved from the dispatch
  payload (mirrors client_approved).
- New admin endpoint POST /api/v1/admin/compliance-orders/:id/approve-submit
  (requireAdmin): verifies status=ready_to_file, re-dispatches the worker with
  admin_approved=true to proceed to actual submission.
- Durable submission EVIDENCE: the web/fax submitters only wrote confirmation
  screenshots to an ephemeral temp dir. Now _upload_submission_evidence copies the
  FMCSA confirmation screenshot + attested PDF + fax_log_id to MinIO under
  filings/<slug>/<order>/evidence/ and records the keys on the order, so we keep
  proof of every government submission.

(state-trucking + the FCC handlers already gate via admin todos / auto_filing.py;
this brings MCS-150 to parity and adds evidence retention.)
2026-06-09 22:50:30 -05:00
justin
e87715aee7 fix(portal): onboarding/login links last 7 days, not 60 min
The rescue onboarding emails hardcoded a 60-minute expiry -- way too short for a
paid customer who hasn't engaged yet (they may not check email for hours/days),
so Paul's and Mitchell's links expired before they used them. Onboarding links
now last 7 days (ONBOARDING_TTL_MINUTES); the standard security password-RESET
window bumped 30min -> 2h. Re-issued fresh 7-day links to all 3 affected
customers (none had set a password yet) via reissue-onboarding-links.mjs, cc'd.
2026-06-09 22:50:09 -05:00
justin
a6d2f10149 chore: Mark Adams rescue (3rd real customer stuck on the login bug)
Paid Jun 1 for MCS-150 (card), no customers row -> couldn't log in -> no intake ->
filing stuck 'NEEDS MANUAL FILING'. Created his customers row + sent login +
intake email (cc justin). All 3 real paying customers now rescued; the underlying
card/PayPal login bug is fixed so new orders won't hit this.
2026-06-09 22:34:52 -05:00
justin
1854753c70 monitoring: add .91-.93 IP rehab to daily Telegram warmup alert
Tracks the rehab pool (rehab02-04 / .91-.93) delivery + bounce + Spamhaus ZEN
DNSBL status in the daily report and alert body. Alerts only if a rehab IP lands
on a DNSBL or rehab delivery drops <40% with real volume (recipient quality
slipped) -- a recovering IP naturally bounces more so the threshold is lenient.
2026-06-09 20:34:41 -05:00
justin
1c2e263bb7 warmup(ip-rehab): bias recipients to multi-subscriber business domains (cut bounce)
Day-0 batch saw ~45% bounce because 'no listmonk bounce record' is a weak
liveness signal. Now require the recipient's domain to have >=2 enabled
subscribers (a real org, not a one-off typo'd address), which materially lowers
the dead-mailbox bounce rate on the recovering IPs.
2026-06-09 20:31:45 -05:00
justin
25f4a7503b warmup: IP rehab for .91-.93 so they can be reallocated
The 3 IPs (mta02-04 / .91-.93) retired after the May 30-31 over-volume blast are
NOT on any DNSBL (Spamhaus/Barracuda/SpamCop/SORBS all clean) and have clean PTRs
+ SPF/DKIM/DMARC -- the damage was provider-internal reputation, which recovers
with slow clean sending. scripts/ip_rehab.py sends a tiny ramping trickle
(10/IP/day -> cap 60) of genuine CAN-SPAM-compliant compliance check-in mail to
clean business-domain, never-bounced recipients via dedicated heavily-throttled
postfix transports rehab02/03/04 (30s/msg, bound to .91/.92/.93). Routing uses an
X-PW-Rehab-IP header + header_checks FILTER to override the transport_maps randmap
warmup rotation (verified: mail routes via rehab transports, status=sent). Daily
cron pw-ip-rehab. After ~2-3 weeks of clean sending the IPs can be reallocated.
2026-06-09 20:27:47 -05:00
justin
6f361d307d warmup: add Microsoft consumer (hotmail/outlook/live/msn) to cold-mail exclusions
Main-pool delivery was stuck ~60-67% (897+ daily spam-blocks). Audit of the main
listmonk found ~47k consumer mailboxes still enabled in OLD cold trucking lists
(built before the exclusion existed): 19k gmail, 27.5k yahoo-family + Microsoft
consumer. gmail alone was 101 of today's 909 550-5.7.1 blocks. Blocklisted all
~47k consumer addresses NOT in the protected FCC lists 3/6 (per the keep-gmails
decision for those warm lists). Also added Microsoft consumer domains to
BLOCKED_EMAIL_DOMAINS so the daily trucking builder stops re-adding them
(Microsoft SmartScreen silently junks/defers cold B2B mail -- a reputation drag
even though it doesn't 550 like Google). Enabled base 95455 -> 48707 (real
business/ISP domains).
2026-06-09 20:10:54 -05:00
justin
9fa2c86f01 fix(warmup): HC cron logged to /var/log (deploy can't write) -> cron silently died
The HC warmup builder ran from cron at 07:00 but the >> /var/log/pw-hc-campaign.log
redirect failed (deploy user cannot write /var/log), and a failed output redirect
makes cron abort the command BEFORE it runs -> HC sent 0/day since the log file was
removed. Route HC cron logs to /opt/performancewest/logs/ (deploy-owned) so the
redirect always succeeds. Builder itself was fine (verified: imports + sends work,
0 bounces). Also removed the stale 'campaign-warmup.sh 122' root-cron line that
pointed at a finished campaign + no longer existed.
2026-06-09 16:06:28 -05:00
justin
3dbf5b3bb2 chore: Mitchell Allen rescue scripts (customers row, SO backfill, re-dispatch, login+signature email) 2026-06-09 14:58:52 -05:00
justin
8d301a1ab7 fix(checkout): SO creation falls back to generic item if a catalog Item is missing
Tracing Mitchell's batch, SO creation 404'd on a missing ERPNext Item
(INTRASTATE-AUTHORITY) -- 30 of 70 catalog erpnext_item codes were missing in
ERPNext. Created all 30. Added a safety net: if createResource('Sales Order')
404s on a missing Item, retry once with every line remapped to the generic
COMPLIANCE-SERVICE item so a missing catalog Item never strands a paid order's SO.
2026-06-09 14:50:06 -05:00
justin
e2467752dc chore: export ensureComplianceSalesOrder for rescue/backfill use 2026-06-09 14:44:28 -05:00
justin
68e6b60951 fix: worker emails (localhost:25 -> SMTP relay) + create ERPNext SO on webhook payment
Two bugs found tracing Mitchell Allen's batch CB-95BA6C90 (5 DOT services, card):

1) Worker authorization/signing-link/status emails were sent via
   smtplib.SMTP('localhost', 25), which has no MTA in the workers container ->
   every send failed '[Errno 111] Connection refused', so customers never got
   their e-sign links and orders sat 'awaiting client signature' forever. Routed
   all 9 hardcoded localhost:25 sites (state_trucking, mcs150_update, boc3_filing,
   hazmat_phmsa, mailbox_setup, dot_esign, completion_emails) through the
   authenticated SMTP relay (SMTP_HOST/PORT/STARTTLS/login) + added a shared
   worker_email.send_worker_email helper.

2) The ERPNext Sales Order for compliance/compliance_batch was only created in
   the /checkout/create-session endpoint, but CARD orders confirm via the Stripe
   WEBHOOK -> handlePaymentComplete, which never created the SO. Result: every
   webhook-confirmed order had erpnext_sales_order=NULL and workers logged
   'Sales Order not found 404' then built from PG. Added idempotent
   ensureComplianceSalesOrder() to handlePaymentComplete so ALL payment methods
   (card-webhook, PayPal, crypto) create + link the SO.
2026-06-09 14:40:46 -05:00
justin
220f301453 test(e2e): fix compliance_orders seed columns (no total_cents); regression PASS
e2e-paypal-portal-fix.mjs now passes against live prod: completing a compliance
order creates the customers row (id, name=E2E Tester, company from intake_data,
no password) -> customer can register/reset + log in. PayPal login bug fixed.
2026-06-09 14:35:04 -05:00
justin
3c65dd8748 fix(checkout): pull company from intake_data (compliance has no customer_company col)
compliance_orders stores company in intake_data JSON, not a column; read it from
there (company/legal_name/entity_name) with graceful fallback. Fix e2e test seed
accordingly.
2026-06-09 14:31:42 -05:00
justin
9987b1e30d fix(checkout): create Postgres customers row on order completion (PayPal login bug)
Portal login + forgot-password read the Postgres customers table (bcrypt), NOT
ERPNext. ensureCompliancePortalUser (the common path for Stripe/PayPal/crypto via
handlePaymentComplete) only provisioned the ERPNext customer/website-user and
never created the customers row -- so customers (notably PayPal, who reach this
path directly) had no account to log into or reset a password against. Now upserts
the customers row (no password; ON CONFLICT keeps any existing hash) with name +
company so they can register/reset and log in immediately.

Also: narrowed the placeholder-email skip from 'any synthetic@ or pipeline.com' to
exactly 'synthetic@pipeline.com' (the FMCSA-census placeholder) so real customers
on those real consumer domains aren't wrongly skipped -- which is what bit Paul
Wilson. Added cc support to sendEmail. e2e-paypal-portal-fix.mjs is the regression
test (seeds a compliance order, runs handlePaymentComplete, asserts the customers
row is created). Rescue scripts for the affected customer included.
2026-06-09 14:28:19 -05:00
justin
b437f66bc8 docs(dexit): name search fixed (TX open-data API) / honest (NV unknown); rm probes
E2E harness re-run = ALL PASS: TX returns real availability via the open-data API,
NV returns unknown (available=None) to flag manual verification, both flow through
to correct ERPNext Sales Orders. Removed one-off portal-probe scripts.
2026-06-09 08:46:28 -05:00
justin
20c11e6180 fix(formation/NV): name search returns unknown (admin-verify), not a fake result
Nevada's entity search (esos.nv.gov/SilverFlume) is behind Imperva Incapsula bot
protection that blocks headless + the residential proxy IPs, and NV has no public
open-data API/bulk dataset. The old adapter scraped the blocked challenge page and
returned available=False for everything (would tell customers a free name is taken)
and also had a NameError bug (f"${CODE}..."). Now NV detects the Incapsula
challenge and returns available=None ('could not determine') with a note to verify
manually on SilverFlume -- never a false 'taken', so it never wrongly blocks an
order. TX remains fully automated via the open-data API.
2026-06-09 08:41:22 -05:00
justin
f94ad1682b fix(formation/TX): name search via Texas open-data API, not scraping
The TX Comptroller web search is now a JS form (old input#entityName selector
dead) and SOSDirect is login-gated, so the scraper returned garbage. Replaced
search_name with the Texas Socrata 'Active Franchise Taxpayers' dataset
(data.texas.gov/resource/9cir-efmm.json) over SoQL -- free, no-auth, no-login,
no bot-blocks. Exact normalized match => unavailable; no rows => available; API
error => available=None (never a false 'taken'). Verified: unique name = 0 rows
(available), 'APPLE INC.' = exact match (taken).
2026-06-09 08:34:37 -05:00
justin
561ad78ea8 docs(dexit): note NV adapter also mis-parses happy path (not just errors) 2026-06-09 08:14:09 -05:00
justin
76c4d55603 fix(formation): name-search returns null (not false) on adapter error
E2E harness exposed that the NV name-search adapter times out on a stale input
selector and search_name() swallowed the error and returned available=False --
i.e. it would tell customers an AVAILABLE name is taken. Now returns
available=None ('could not determine') on adapter error / unknown state, which the
API already maps to null. The NV/TX portal selectors still need a scraping fix
(separate task; e2e harness is the acceptance test) before enabling a self-serve
formation checkout. Documented full e2e results + the bugs caught (missing ERPNext
Items, entity_type case, missing /name-search route) in the readiness doc.
2026-06-09 08:06:43 -05:00
justin
4c0decd175 fix(formation): add working /name-search worker route + e2e harness
Two latent bugs the e2e harness caught:
1. api entities.ts GET /states/:code/name-search calls WORKER_URL/name-search,
   but job_server had NO such route -> 404 -> silently fell back to stale
   entity_cache on every live name check. Added a synchronous /name-search route
   returning {available,exact_match,similar_names,state}.
2. both the new route AND the existing async handle_name_search imported a
   nonexistent search_name_sync(); fixed to drive the real async search_name()
   via an event loop (same pattern as /entity-status).

scripts/e2e-formation-order.mjs: replays the real formation order flow (live
name search -> formation_orders insert -> ERPNext customer + Sales Order with
BUSINESS-FORMATION + STATE-FILING-FEE line items -> verify SO total + DB linkage
-> cleanup) without a real Stripe charge or state filing. Run in the api container.
Also created the missing ERPNext Items (BUSINESS-FORMATION, STATE-FILING-FEE,
FOREIGN-QUAL-SINGLE/MULTI) that the formation SO references.
2026-06-09 07:51:54 -05:00
justin
c0344769a0 docs(dexit): handle foreign-qualification complication on a move
A DE corp foreign-qualified in CA/NY/etc must update EVERY foreign registration
when it domesticates (withdraw in the destination state since it becomes domestic
there; amend or re-file in the rest to reflect the new home state) -- getting it
wrong = doing business unregistered (default judgments/penalties). We already have
the building block (foreign-qualification-single/multi SKU + ForeignQualificationHandler
that fans out per state + migration 066/073 schema); missing is amend/withdraw modes
+ an intake step capturing the list of qualified states. Product = multi-part, priced
per state touched (revenue multiplier), scoped at intake.
2026-06-09 07:39:50 -05:00
justin
b5b2e6e6c3 site: add DEXIT corporate-services page + readiness assessment + cited filings
New page /services/corporate/dexit-reincorporation (matches CRTC service-page
structure): explains DEXIT, the DE franchise-tax dollar driver (real Oracle Health
proxy: $23,600 -> ~$1,000), NV/TX/FL destination guidance, 6-step how-it-works,
3 cited real SEC reincorporation filings (Oracle Health, FG Financial, LogicMark)
with verbatim quotes + EDGAR links, honesty callout, and a lead-gen CTA ('Get my
DEXIT estimate' -> /contact?topic=dexit, NOT a buy-now checkout). Linked from the
corporate services index (new card) + the global Services dropdown across the site.

docs/dexit-cited-filings.md: the filing excerpts + verified gov/statute links.
docs/dexit-readiness-assessment.md: HONEST e2e readiness -- new NV/TX formation is
built (checkout order_type=formation -> formation_orders -> ERPNext SO ->
formation_worker -> TX/NV adapters) but unverified e2e; the 'move a company'
(conversion/domestication) flow + corporate annual-report automation are NOT built;
EIN is kept on a conversion (our ein_worker does NEW EINs only). Page stays lead-gen
until the generic entity-conversion SKU + admin-assisted handler are built+tested.
2026-06-09 07:35:12 -05:00
justin
bcedf2b318 docs(otc): add audience + DEXIT motivation + appeal strategy (sec 4d)
Grounded in real reincorporation proxies. WHO: microcap CEO/founder/CFO/secretary
(no legal dept -> decision-maker, not gatekeeper). WHAT they want: (1) cut the DE
franchise tax -- the hard-dollar driver; real proxy shows a pre-revenue startup
paid $23,600 DE franchise tax vs ~$1,000 in NV; (2) stronger D&O liability shield
(NRS 78.138); (3) escape DE's 2024 case-law shift; (4) TXSE/story optionality.
HOW to convert: lead with their dollar math not features, productize the dread
(flat fee, we do filing legwork, lawyer just signs), recommend the destination,
stack recurring RA + annual-report revenue, de-risk with guarantee + verifiable
sources.
2026-06-09 07:16:34 -05:00
justin
0ccc323af7 data(otc): add display_name + short_name merge fields for outreach
EDGAR issuer names are messy (ALL-CAPS, trailing /DE/ /NV state tags, entity
suffixes) and render badly in a personalized subject line. Added:
  display_name -- title-cased, state-tag-stripped, suffix kept
  short_name   -- suffix dropped too, for a punchy subject merge field
    e.g. 'WINDTREE THERAPEUTICS INC /DE/' -> 'Windtree Therapeutics'
So 'Is DEXIT in the cards for {{short_name}}?' renders clean. ~98% of short_names
are <=40 chars (survive mobile subject truncation).
2026-06-09 07:14:06 -05:00
justin
37393e5bbc scripts(otc): dedupe by CIK; commit the 861-company lead list
The master file lists warrants/units as separate tickers under one CIK, so the
pull now dedupes to one row per company (other tickers kept in all_tickers).

data/otc_leads.csv: 861 unique active US-domestic microcap OTC issuers
(<$75M float, all actively filing, 100% with business address + phone). By
incorporation: DE 365, NV 325 (DE+NV=690 = the reincorporation targets), WY 44,
FL 39, MD 38. Dropped from the 2,771 OTC universe: 1,672 foreign, 62
accelerated/large filers, 73 delinquent/dark. EDGAR has no email -> phone +
address captured for enrichment / direct mail / call.
2026-06-09 07:10:54 -05:00
justin
1b3cbf2fbf scripts(otc): SEC EDGAR lead-pull + reincorporation-destination research
scripts/otc_lead_pull.py: pulls company_tickers_exchange.json + per-issuer
submissions/CIK*.json from SEC EDGAR (10 req/sec, declared User-Agent), filters
to active US-domestic microcaps (drops foreign ADRs, accelerated/large filers
that keep counsel on retainer, and delinquent/dark shells), writes a CSV with
state of incorporation, business/mailing address, phone, SIC, filer size bucket,
last filing date. DE/NV prioritized.

docs 4c: where companies actually reincorporate TO -- Nevada #1 (281 filings),
Texas the fast riser (99 all-time, but 27 vs NV 33 since 2024), Florida modest
(23), Wyoming niche (8). Lead with 'leaving Delaware?' and let client pick
NV/TX/FL; same flat-fee conversion productizes across all three.
2026-06-09 06:58:01 -05:00
justin
ee44800934 docs(otc): add size analysis -- skip large filers, target the ~93% microcaps
SEC filer-category data (n=139 US-domestic OTC): ~93-95% are sub-$75M-float
Smaller Reporting / non-accelerated microcaps; only ~4-5% are accelerated/large
(those keep securities counsel on retainer -- not our lane). 91% actively filing.
Recommend filtering OUT Large accelerated/Accelerated + delinquent/dark -> ~700-850
active microcap prospects. Pitch framing: not 'replace your lawyer' but 'flat-fee
commoditized state filings so counsel only does what needs a lawyer'.
2026-06-09 06:49:16 -05:00
justin
497a4d4409 docs: research OTC Markets/pink sheets as a corporate-services lead source
SEC EDGAR (free, public, bulk-OK at 10 req/sec) is the goldmine -- per-issuer
state of incorporation, business/mailing address, phone, SIC, entity type via
company_tickers_exchange.json + submissions/CIK*.json. ~2,771 OTC SEC filers;
~35% US-domestic (~970), of which DE+NV = 73% -> the reincorporate-to-Texas /
registered-agent / annual-report / foreign-qualification target list. EDGAR has
no email (enrich from IR pages or direct mail/call). Texas reincorporation is a
real early trend (48/43 EDGAR filings; TBOC Ch.10 conversion, Texas Business
Court, TXSE). CAN-SPAM compliant B2B; filter to US states to avoid CASL/GDPR.
Do NOT scrape OTCMarkets.com (ToS prohibits; unneeded).
2026-06-09 06:43:15 -05:00
justin
9b9d317916 infra/k8s: shkeeper liveness+readiness probes (fix recurring crypto.performancewest.net downtime)
crypto.performancewest.net kept going down because the shkeeper-deployment web
pod periodically HANGS (HTTP server deadlocks while the apscheduler background
thread keeps the process alive). The helm chart (shkeeper-1.7.15) ships NO
liveness or readiness probe, so k8s saw the hung pod as Running and never
restarted it, and kept routing traffic to the dead backend -> site down until a
manual restart.

Added HTTP probes on / :5000 (302 = healthy): liveness auto-restarts a hung pod,
readiness pulls it from the Service endpoints. Applied live via kubectl patch
(chart does not expose probes via values; re-apply after any helm upgrade --
command in the file header). Verified: new pod comes up READY 1/1 (probe passes)
and crypto.performancewest.net serves 302 again.
2026-06-09 04:57:50 -05:00
justin
a308aeed6b fix(checkout): batch SO custom_order_type must be 'compliance' not 'compliance_batch'
ERPNext's PW Order Type select field only allows formation/canada_crtc/bundle/
compliance. A batch is a compliance order (multi-service), so use 'compliance';
the multi-service nature is already captured by the line items + external order
id.
2026-06-09 00:27:17 -05:00
justin
baa40443de fix(checkout): create ERPNext Sales Order for compliance_batch orders
Batch orders (CB-XXXX, used by the trucking new-carrier flow and any multi-
service cart) never created an ERPNext Sales Order -- the SO-creation branch was
gated to order_type 'compliance' only. So those paid orders never reached
ERPNext for fulfillment/accounting (0 of all paid batch orders had an
erpnext_sales_order). Added a compliance_batch branch that creates ONE Sales
Order with a line item per service in the batch (+ government-fee + processing-
fee lines), then stamps the SO name on every batch row. Non-blocking like the
others. Also created the missing ERPNext Items the new slugs reference
(DOT-NEW-CARRIER-BUNDLE, LLC-FORMATION, CORP-FORMATION, NEW-CARRIER-BUNDLE which
was missing too, GOVERNMENT-FILING-FEE).
2026-06-09 00:23:15 -05:00
justin
90bccfda32 fix(checkout): route dot-new-carrier-bundle on success page + worker pipeline
Follow-on to the trucking new-carrier slug fix:
- success page: add dot-new-carrier-bundle to DOT_SLUGS + NEW_CARRIER_SLUGS so
  the order-confirmation 'what to expect' messaging classifies it as trucking.
- pipeline_orchestrator: the trucking onboarding PIPELINE was keyed under the
  bare 'new-carrier-bundle' slug, which is the TELECOM bundle's slug (also a
  collision at the worker layer). Re-keyed to 'dot-new-carrier-bundle' so a
  trucking bundle never runs the telecom pipeline (and vice versa).
2026-06-08 23:48:56 -05:00
justin
c6819371d8 fix(checkout): trucking new-carrier ordered the wrong (telecom) product + ACH broke
Two reported bugs, plus two related ones found while tracing:

1. WRONG PRODUCT (Stripe showed 'FCC setup package' for a trucking order): the
   trucking new-carrier form reused the slug 'new-carrier-bundle', which is the
   TELECOM VoIP onboarding bundle (FRN+499+RMD+CPNI+CALEA, $1799). So trucking
   customers were charged the telecom product/price and saw FCC on their receipt.
   Added a distinct 'dot-new-carrier-bundle' (USDOT+MC+BOC-3+MCS-150+Drug&Alcohol,
   $599 + FMCSA gov fees) and pointed the trucking page at it.

2. ACH 500 error: the Stripe session requested the Financial Connections
   'balances' permission, which isn't activated on the account -> Stripe rejected
   the whole session (invalid_request_error). Removed 'balances' (+prefetch); we
   only need 'payment_method' to collect+charge the bank account.

Also fixed (found while tracing):
3. The telecom new-carrier-bundle's BUNDLE_COMPONENTS listed TRUCKING slugs by
   mistake (copy/paste) -- corrected to its real FCC components.
4. The trucking page offered llc-formation / corp-formation / foreign-qual which
   did not exist in the catalog (batch would 400). Added llc-formation +
   corp-formation; remapped foreign-qual -> foreign-qualification-single.

Catalog regenerated (66 -> 69 services), drift-check + tsc clean.
2026-06-08 23:42:36 -05:00
justin
7c39a858cc monitoring: daily warmup IP-reputation Telegram alert
End-of-day (20:00 Central) check of campaign deliverability across both sending
pools (main out05-09 + healthcare hcout). Sends a Telegram alert ONLY when there
is a reputation problem -- delivery below 65% or a spam/policy-block (550-5.7.1)
spike above 150/day -- so healthy days stay silent. Reuses the existing
TELEGRAM_BOT_TOKEN/CHAT_ID from /opt/performancewest/.env. Logs every run to
/var/log/pw-warmup-healthcheck.log for history. Excludes internal/probe noise so
the delivery figure reflects real external recipients.
2026-06-08 21:06:41 -05:00
justin
09b32d6e75 fix(bounce-watchers): QID regex broke on out05-09/hcout transports
Both Postfix bounce watchers extracted the queue-ID with regex
postfix/[a-z]*[ (main) and postfix/[a-z0-9]*[ (hc), which only matched simple
transports like qmgr/cleanup. When the MTA started rotating sends through the
numbered warmup transports (out05-09/smtp, hcout1-3/smtp -- a transport/subprocess
name WITH a slash), the QID extraction returned empty, so status=bounced lines
never matched a tracked campaign QID and NO bounces were posted to listmonk since
~May 31. Result: dead mailboxes never got blocklisted and kept being retried,
dragging the warmup bounce rate.

Fix: regex postfix/[^[]*[ matches any transport/subprocess name up to the [pid].
Verified live on both watchers (out07/smtp and hcout1/smtp test bounces now
detected + posted).

Separately (server-side, not in repo): listmonk bounce.actions was null (no
auto-action), so even posted bounces did nothing. Set hard=1->blocklist,
complaint=1->blocklist; verified a real bounce now records + blocklists.
2026-06-08 15:02:32 -05:00
justin
b973c6c132 exclusions: block Google consumer mailboxes (gmail) from cold/warmup sends
Warmup audit (2026-06-08) found the main sending pool was eating a 37% bounce
rate, and 556 of those were Google 550-5.7.1 'likely unsolicited mail' spam
blocks -- of which gmail.com alone was 427 (77%). Google's cold-IP filter is the
strictest of the big providers and consumer gmail has the highest complaint
sensitivity, so mailing it from a warming IP is pure reputation damage.

Added GOOGLE_CONSUMER_DOMAINS (gmail.com, googlemail.com) to BLOCKED_EMAIL_DOMAINS,
which the daily trucking builder already enforces in its recipient SQL
(lower(domain) <> ALL(blocked)). Takes effect on the next nightly build.

Custom domains silently on Google Workspace are a smaller (~5%) MX-only signal,
already handled in the healthcare builder via the mx_provider flag; can be ported
to the main pool later if the residual warrants it.
2026-06-08 13:50:27 -05:00
justin
2156a5e05f hc refresh: run Mon/Wed/Fri instead of weekly to shrink CMS data-lag
The 'already revalidated' replies come from the CMS data-lag window (a provider
completes their revalidation but CMS's public Due Date List still shows them
overdue for weeks). Running the refresh 3x/week instead of weekly shrinks that
window from up to 7 days to ~2-3, so a provider who just completed stops being
targeted faster. No change to the overdue window or audience size -- this is the
lever that reduces stale-data complaints without losing prospects.
2026-06-08 10:53:36 -05:00
justin
a78d60a127 hc: auto-reply for 'already revalidated' replies + permanent suppression
A lead replied with proof their Medicare revalidation was already approved (CMS
data-lag: the public Revalidation Due Date List still showed them overdue weeks
after approval). Two of these arrived same-day, so:

- Carbonio auto-reply (deployed on co.carrierone.com): created mailbox
  hc-replies@ on the info@ distribution list with a Sieve that auto-acknowledges
  'my revalidation is already complete' replies (tag + mark read + file into a
  'Reval Completed (auto-acked)' folder + on-brand reply explaining the CMS lag).
  CRITICAL: info@ is the shared reply-to for ALL campaigns (healthcare, trucking,
  telecom), so every rule is anchored to Medicare/revalidation context -- a
  trucking 'MCS-150 done, this is bogus' or telecom 'RMD done' reply does NOT
  trigger it (tested + passing). A buyer guard ('please file / how much') also
  suppresses the auto-reply so a human handles the sale.
  Carbonio 25.x Sieve quirks documented (vacation/imap4flags/body :text all
  unsupported; use reply/flag/tag/body :contains).

- Permanent suppression: new data/hc_suppress.txt do-not-contact list the warmup
  honors at import AND --prune removes from the live lists. Seeded with the two
  completed providers (Pangea Lab, Yakima Valley FWC); both also blocklisted in
  listmonk_hc and removed from lists 3 + 4.
2026-06-08 10:37:49 -05:00
justin
9cb10b18e0 feat(hc): deliverability prune -- evict newly-Google-hosted subscribers
Belt-and-suspenders for the edge you flagged: a domain already in a warmup list
could flip its MX to Google Workspace between weekly refreshes, after which it
would hard-bounce from the cold IP. The import-time guard only catches NEW adds.

- prune_holdouts(): enumerates each warmup list's subscribers, matches them
  against the FRESH master CSV (re-classified weekly), and removes any whose
  domain is now Google-hosted. DELIVERABILITY-ONLY -- it never evicts for
  audience reasons (an overdue provider drifting out of the 1-90 day window was
  a valid target when warmed; re-litigating that just wastes warmup progress).
- --prune (run alongside warming) and --prune-only (prune then exit).
- Wired into the weekly refresh cron as a --prune-only chained step, so MX is
  re-checked and holdouts removed every Monday before the weekday sends.

Verified end-to-end: with no Google domains in lists it's a 0-op; injecting a
simulated Google-flipped domain into the master, the prune correctly detects and
(in a real run) would remove it from every list it's on.
2026-06-08 03:39:56 -05:00
justin
54b92b1f06 fix(hc deliverability): MX-based Google-host exclusion during warmup
Found via live mail.log: Google-Workspace-hosted PRACTICE domains (custom
domains whose MX is aspmx.l.google.com, e.g. moosepharmacy.com, hc2kidney.com)
were getting hard 550-5.7.1 rejects from Google's cold-IP bulk filter -- exactly
the bounces that wreck a warming IP's reputation. The original google/non-google
split classified by the email's domain STRING, which can't see that a custom
domain silently uses Google Workspace; only an MX lookup reveals it (33% of our
domains, 228/689, are Google-hosted this way).

- hc_data_refresh.py: new MX classification (one lookup per unique domain via
  dnspython, cached) writes an mx_provider=google/other flag into the master and
  propagates it into the channel CSVs (auto-adding the column). --skip-mx for a
  fast status-only run.
- build_healthcare_campaigns_cron.py: warm_segment now drops mx_provider=google
  rows during warmup (HC_SKIP_GOOGLE=1 default; set 0 once IPs are warm). This is
  defense-in-depth -- correct regardless of which CSV the cron is pointed at.

Verified: today's sends (nongoogle CSV) had 0 Google bounces; the guard cuts the
Google-containing week1_verified cohort's revalidation candidates 82->8.
2026-06-08 03:32:12 -05:00
justin
feb677f6ce fix(hc warmup): only mail slightly-overdue providers (deliverability)
Mailing heavily-overdue NPIs (months/years past due) risks hitting practices
that have closed, merged, or abandoned the inbox -> hard bounces, which are the
fastest way to wreck a warming IP's reputation. The warmup now restricts the
reval_overdue selector to an inclusive [HC_OVERDUE_MIN, HC_OVERDUE_MAX] window
(default 1-90 days) and the OIG 'any' selector likewise excludes heavily-overdue
and dropped-off-list rows. On the current cohort this trims the overdue audience
178->96 and the OIG audience 399->317, holding out the stale long tail
(181-365d + 366d+). upcoming/active providers are unaffected.
2026-06-08 03:27:22 -05:00
justin
c79a7715e1 fix(hc): bugs found in self-audit of the new refresh + warmup + templates
Refresh (hc_data_refresh.py):
- CRITICAL: drop optout_ending from REFRESHED_FIELDS -- the refresh never
  computes it, so propagating it blanked the channel CSVs and would starve the
  compliance_bundle segment (whose selector IS optout_ending).
- MAJOR: only rewrite leie_excluded when OIG was actually pulled (guard was
  'not skip_oig OR not skip_sam', so a --skip-oig run blanked all exclusion
  flags). Also write 'Y' (matching the original list builder) not '1'.
- Use 'no_reval_flag' (the original vocabulary) instead of 'not_on_list' when an
  NPI drops off the reval list, and clear reval_due_date too.
- Throttle politeness: move time.sleep(0.05) above the early-continue paths so
  EVERY CMS request is spaced, not just the minority that are on the list.
- Guard blank-NPI rows (leave their status untouched instead of mislabeling).
- Master write preserves any columns beyond HEADER (no silent column drop).

Warmup cron (build_healthcare_campaigns_cron.py):
- Fix the daily-slice split: it summed to less than the budget (dropped ~2/day)
  and could OVERSHOOT on tiny totals (each 'other' floored to >=1). Now uses
  divmod for an even remainder and reclaims rounding onto the lead, so
  sum(per_seg) == total_slice exactly for every input (verified 0,1,2,7,100,300).

Templates: the non-revalidation emails rendered {{ .Subscriber.Attribs.detail }}
(a reval due date) under a 'Practice'/'Status'/'Record' label -- a wrong/
confusing personalization on a live send (esp. OIG, selector 'any'). All four
now show the practice name; 'detail' is retired from rendering (revalidation
uses reval_due_date/days_overdue directly).
2026-06-08 03:23:47 -05:00
justin
167c4a3847 infra/cron: multi-segment hc warmup + weekly data-refresh cron
Tracks the deployed cron.d files in the repo:
- pw-hc-campaign: updated comment to reflect the now multi-segment warmup
  (revalidation + OIG + NPPES + reactivation + bundle); command unchanged.
- pw-hc-refresh (NEW): Mon 06:00 Central weekly data refresh, ~1h before the
  07:00 weekday send, so every send uses fresh CMS/OIG status.
2026-06-08 03:15:47 -05:00
justin
85dc3d5c3b hc refresh: propagate fresh status into the channel CSVs the cron reads
The channel CSVs (hc_warmup_nongoogle/google/week1_verified) are email-keyed
subsets of the master with extra deliverability columns (verify_ok/verify_reason).
The refresh now writes the fresh status fields (reval_due_date, days_overdue,
reval_status, leie_excluded, optout_ending, name/specialty/state) back into each,
preserving the extra columns and row membership, so a single weekly run updates
everything the campaign cron consumes -- not just the master.
2026-06-08 03:13:00 -05:00
justin
4f455475c0 hc: weekly data-refresh pipeline + multi-segment warmup cron
Two gaps closed:

1. hc_data_refresh.py (NEW): weekly source-data refresh. Re-checks every
   emailable NPI against the LIVE government sources so sends never go stale:
   - CMS Revalidation Due Date List (data.cms.gov per-NPI API; handles both ISO
     and US date formats, normalizes to MM/DD/YYYY).
   - OIG LEIE full CSV download (the NPI-bearing exclusion source).
   - SAM.gov v4 exclusions (key in .secrets/sam-api-key) -- OFF by default since
     SAM exclusions rarely carry an NPI and the full set is ~167k records; it's
     opt-in via --sam-pages. SAM's real value is the live per-name screening
     service, not a bulk NPI join.
   Writes the master CSV atomically (temp+rename). A provider who has since
   revalidated flips overdue->upcoming/not_on_list, so we stop nagging them.

2. build_healthcare_campaigns_cron.py: was revalidation-only (one hardcoded
   list/campaign/CSV/template). Now multi-segment: imports SEGMENTS from the
   single-source-of-truth registry, warms ALL five programs in parallel, each
   with its own list, dated campaign, and per-segment import-state file (so
   dedup is per-segment). A  per segment maps master-CSV rows to the
   right program (reval_overdue / reval_upcoming / leie_or_deactivated /
   optout_ending / any). Daily ramp slice is split across segments (revalidation
   leads at 50%, rest share the remainder) so every program collects engagement
   data while the IPs warm. Back-compat: seeds revalidation import-state from the
   legacy hc_imported_emails.txt once.
2026-06-08 03:06:29 -05:00
justin
42c6b9607f home: add healthcare to meta description + hero vertical lists
The homepage meta description (description/og/twitter) and hero paragraph listed
'trucking, telecom, data privacy, TCPA, and corporate' but omitted healthcare,
even though healthcare is now a first-class vertical (5-areas strip, full
service pages, active email program). Added healthcare to both vertical lists
and a healthcare-specifics clause (Medicare revalidation, NPI/NPPES, enrollment,
OIG/SAM) mirroring the existing DOT/FMCSA clause.
2026-06-08 02:58:49 -05:00
justin
0b0ff9d311 hc campaigns: make the HTML templates the single source of truth
build_healthcare_campaigns.py had a divergent inline HTML generator (old teal-
header + yellow issue-box layout, missing the official-record card and the per-
segment verify-it-yourself blocks) that nobody called -- the live cron reads the
hand-tuned data/hc_campaigns/hc_*.html files directly. Removed the dead
generator + cmd_render(); render() now READS the canonical template file so the
files can't drift from a parallel generator. SEGMENTS is now a metadata registry
(subject, template, cta_path, price, list_name, campaign_name, selector) that the
multi-segment cron will consume. Verified --list and that send-test still reads
the real bodies.
2026-06-08 02:57:49 -05:00
justin
aa195e6c18 hc emails: add source-grounded 'verify it yourself' trust blocks to all programs
The revalidation email had a 'check the official CMS record yourself' proof
block (the strongest trust signal), but the other four healthcare programs had
none -- just the generic SOC2/guarantee footer. Each now points the provider to
the actual public government source that backs its claim:

- NPPES outdated -> 'Look up my NPI on NPPES' (npiregistry.cms.hhs.gov, fully
  public; shows the exact address/taxonomy/contact payers and CMS see).
- OIG screening -> 'Search OIG LEIE / Search SAM.gov' (exclusions.oig.hhs.gov +
  sam.gov), with an honest note that a one-time self-search isn't the documented
  recurring screening CMS expects.
- Reactivation (deactivated) -> deactivation isn't a single public dataset, so
  this is framed honestly: most deactivations follow a lapsed revalidation
  (public CMS Revalidation list) and show in NPPES; also 'are your claims
  paying?' as a self-check. No fabricated 'deactivated record' card.
- Compliance bundle -> all four official sources (CMS Revalidation, NPPES, OIG
  LEIE, SAM.gov) it monitors year-round.

All four government URLs verified reachable (200/302). No paper/mail filing
mechanics revealed; CMS/NPPES/OIG/SAM public names are fine and signal
expertise.
2026-06-08 02:43:02 -05:00
justin
19785629d1 checkout: add shared trust band (guarantee + security) to order flow
High-friction conversion points (payment step, review step, order intro) had
almost no trust reinforcement at the moment of payment. Adds a shared,
regulator-agnostic CheckoutTrustBand component used across all four verticals:

- Payment step: 'full' variant -- money-back-if-we-fail-to-file guarantee +
  256-bit TLS / Stripe / SOC 2 / PCI / fixed-price security badges + the right
  'not affiliated with <agency>' disclaimer for the vertical.
- Review step: 'compact' variant -- guarantee + disclaimer (no badges).
- Order intro (VerticalOrderHeader, shared by all 49 order pages): thin green
  'Secure checkout / Fixed price / Money-back guarantee' bar.

Guarantee copy is a real promise (full refund if we cannot file), worded so it
never overpromises a regulatory outcome (agency approval is not ours to give).

Vertical is inferred from the intake-step list via slugVertical() (single
source of truth, no hand-maintained slug table), with an explicit corporate
slug set since corporate services share the generic 'entity' step. Note: the
'dc_agent' step is the telecom D.C. process-agent designation, not corporate.

Also fixes two pre-existing mislabeled order-page headers surfaced by an
exhaustive header-vs-disclaimer audit: rmd-filing (Robocall Mitigation DB) and
new-carrier-bundle (VoIP carrier onboarding) are telecom, not healthcare/
trucking.
2026-06-08 02:36:38 -05:00
justin
ada9e01321 checkout(healthcare): collapse + reposition surrogate how-to when not granted
The order confirmation asked providers to optionally grant CMS I&A Surrogate
access, then showed the full how-to to everyone high up. Now it respects their
intake answer:
- Granted (surrogate_access=yes): keep the how-to prominent up top so they can
  complete the step they chose.
- Not granted / undecided: top block just confirms 'we're handling it, nothing
  else to do' (no nagging); the speed-it-up how-to moves lower and is collapsed
  behind a 'Show me how' <details> expander (still available, just out of the way).
2026-06-08 00:36:41 -05:00
justin
978b36ad92 home: replace TCPA with Healthcare in the five-areas strip, Healthcare first
Per priority shift to the healthcare vertical: drop the TCPA card from the
'Five areas of compliance expertise' strip and add Healthcare as the first
card (teal accent, links to /services/healthcare). Still five cards.
2026-06-08 00:27:56 -05:00
justin
25cf23dded feat(orders): reduce friction & chargebacks across order flow
1. Email: add a 'Problem with your order? We're here to help' support band to
   the shared htmlEmail() footer, so EVERY transactional email (confirmation,
   portal link, receipts) has a prominent 'Get help with your order' button
   linking to /contact. Less silent frustration -> fewer chargebacks.

2. NPI order form: entering a 10-digit NPI now auto-fills provider name, practice
   state, and specialty from the live NPPES lookup (same API as the free
   compliance-check tool), with a 'Found: <name>' confirmation. Only fills empty
   fields so it never clobbers edits.

3. NPI order form: read ?npi= from the URL so the email 'Start my revalidation'
   click lands with the NPI prefilled and the rest auto-filled (was being
   ignored entirely before).

4. Support FAB: add the floating help button + panel to 27 static public pages
   that were missing it (order, portal, trucking, survey, upload pages), so help
   is one click away everywhere.
2026-06-08 00:24:17 -05:00
justin
80e07aecbb email(healthcare): brighter barber stripe + center the official-record header
Brighten the stripe to #2563eb/#ef4444, lighten the text band to 58% so the
colors show through more, and center the official-record header text.
2026-06-08 00:14:20 -05:00
justin
5edc6151cf email(healthcare): restore CMS-855/PECOS terms + style the service-fee row as a card
- Keep public CMS terms (CMS-855, PECOS) in client copy; the rule is about not
  exposing the paper/mail filing mechanic, not public form/system names.
- Wrap the bare 'service fee / $599' row in a bordered card with a prominent
  green price so it no longer floats awkwardly under the verify box.
2026-06-08 00:12:09 -05:00
justin
6be066ccc9 email(healthcare): brighten official-record stripe to blue/red barber pole
Swap the dark slate stripe for a bright blue/white/red diagonal barber-pole
pattern; keep the header text readable via a translucent dark band behind it.
2026-06-08 00:11:04 -05:00
justin
22d7c72ab3 email(healthcare): restore the no-login/no-2FA convenience blurb
Adds a teal 'No logins, no 2FA codes, no headaches' card (between the fee and
the CTA): we do the whole revalidation, you never share a password or chase a
two-factor code, just a one-minute e-signature. Mirrors the npi-revalidation
service page's convenience pitch, kept clean of form numbers.
2026-06-08 00:09:50 -05:00
justin
5b78141997 email(healthcare): add diagonal stripe pattern behind the official-record header
Adds a subtle barber-shop diagonal stripe (repeating-linear-gradient over the
solid slate bg) to the CMS official-record card header. Layered over the solid
#1e293b so clients that ignore the gradient (Outlook) still get the dark bar.
2026-06-08 00:07:41 -05:00
justin
022407e807 email(healthcare): add not-affiliated disclaimer to all HC campaigns + scrub mechanics
- Add the 'Performance West is an independent compliance firm, not affiliated
  with CMS or Medicare' footer disclaimer to the 4 remaining HC emails
  (reactivation, NPPES, OIG/SAM, bundle), matching the revalidation email.
  OIG email also names the OIG and SAM.gov it references.
- Scrub client-facing mechanics: drop the CMS-855 form number from the
  reactivation CTA and the PECOS system name from the revalidation CTA; clean
  the same out of source comments.
2026-06-08 00:06:29 -05:00
justin
a91d7c8513 email(healthcare): move 'not affiliated with CMS' disclaimer to footer
Keeps the official-record card clean (just the data.cms.gov source line) and
puts the not-affiliated disclaimer in the standard footer alongside the
company line.
2026-06-08 00:03:24 -05:00
justin
483f185861 feat(healthcare): prove revalidation is real via official CMS data + self-verify
Skepticism ("is this even real?") is the top objection. The data IS accurate
(verified our subscribers' NPIs match the official CMS Revalidation Due Date List
exactly), so this is a credibility-presentation fix:

1. Email: replace the plain detail row with an "Official record - CMS Medicare
   Revalidation Due Date List" card (NPI, legal name, due date, days overdue)
   plus a "Verify on CMS.gov" button. Clearly labeled as our presentation of
   public CMS data, not a CMS screenshot (no impersonation).
2. API: npi/lookup now pulls the revalidation due date LIVE from the public CMS
   dataset (data.cms.gov) instead of the empty local table, and returns a
   revalidation{ due_date, source, cms_legal_name, verify_url } proof object.
3. Tool: /tools/npi-compliance-check shows a live "official record" card with a
   self-verify link when CMS returns a due date.

Builder now stores reval_due_date/days_overdue as separate attribs for the card
(existing 194 subscribers backfilled from their detail string).
2026-06-07 23:54:01 -05:00
justin
a732423f04 fix(deploy): port catalog generator + drift-check to Python (prod has no node)
The host-side generator ran 'node scripts/*.mjs' in deploy.sh, but the prod box
has python3 only (no node outside containers), so the site deploy failed at the
generation step. Reimplemented both in Python (byte-identical output, verified
via diff against the node version; matches scripts/sync_nav.py tooling).
2026-06-07 19:26:01 -05:00
justin
09e21a6c97 refactor(pricing): single source of truth for the service catalog
Previously two hand-maintained price lists (API COMPLIANCE_SERVICES + site
SERVICE_META) drifted apart -- that is how the healthcare +$200 raise charged
$399 while displaying $599. Eliminate the drift class entirely:

- Move the catalog to api/src/service-catalog.ts (the authority; checkout
  charges from it). compliance-orders.ts imports it.
- scripts/gen-service-catalog.mjs generates site/src/lib/service-catalog.generated.ts
  from the API source. intake_manifest.ts re-exports SERVICE_META from it, so all
  ~60 site pages keep working unchanged.
- deploy.sh regenerates + drift-checks before building (site build context is
  ./site only and cannot read ../api, so generation happens host-side).
- scripts/check-service-catalog-drift.mjs fails the build if the generated file
  ever diverges from the API (verified: passes aligned, fails on mismatch).

To change a price now, edit ONE file: api/src/service-catalog.ts.
2026-06-07 19:11:34 -05:00
justin
2bba28ae6b fix(pricing): align all displayed telecom prices to the charged (higher) price
10 telecom services displayed LESS than the API charged (overcharge/dispute
risk), e.g. calea-ssi shown $299 but charged $799; ocn shown $650 charged
$2650. Raised the displayed prices (manifest + form-477 BDC cards) to match
what is actually charged. No charge amounts changed.

  calea-ssi              $299 -> $799
  ocn-registration       $650 -> $2650
  bdc-broadband          $199 -> $249
  bdc-filing             $299 -> $349
  bdc-voice              $149 -> $199
  cpni-certification     $149 -> $199
  cores-frn-registration  $99 -> $149
  dc-agent                $99 -> $149
  fcc-499-initial        $299 -> $349
  rmd-filing             $219 -> $249

All 53 shared services now match between API catalog and display manifest.
2026-06-07 19:04:33 -05:00
justin
e54459776c fix(healthcare): apply the +$200 increase to the API price catalog (was display-only)
The healthcare +$200 raise (commit 3859557) updated the displayed prices
(intake_manifest + service pages) but NOT the API COMPLIANCE_SERVICES catalog,
which is what actually charges. Customers saw $599 but were charged $399.

  npi-revalidation           $399 -> $599
  npi-reactivation           $249 -> $449
  nppes-update               $149 -> $349
  medicare-enrollment        $499 -> $699
  oig-sam-screening           $99 -> $299
  provider-compliance-bundle $699 -> $899

checkout.ts charges order.service_fee_cents (set from this catalog at order
creation), so this makes charged = displayed for all 6 provider services.
2026-06-07 18:57:26 -05:00
justin
a4d67bcf9b hc-warmup: add list-hygiene script (drop undeliverable addrs, smtp_valid first)
Keeps only deliverable addresses (smtp_valid + catch_all_detected), drops
mx_unreachable + smtp_unknown rejects that defer/bounce and damage the warming
HC IP reputation. Sorts smtp_valid first so the daily slice hits verified
mailboxes first. Used to clean hc_warmup_nongoogle.csv (501 -> 399 rows).
2026-06-07 18:08:36 -05:00
justin
e5db147319 esign: make signing copy fully generic - remove all ink references from website/API
Client-facing and website code now describes only a generic per-document signing
authorization; nothing visible to signers or recorded in the website/API code or
DB schema references ink, paper, reproduction, or any fulfillment mechanics.

- rename esign-ink-consent.ts -> esign-sign-consent.ts; INK_CONSENT_TEXT ->
  SIGN_CONSENT_TEXT (generic: 'use my signature to complete and submit this
  single filing', no ink/paper/reproduce language); helpers ink* -> sign*
- portal-esign-generic.ts: API field ink_reproduction -> require_sign_consent,
  ink_consent_text -> sign_consent_text, request field ink_consent -> sign_consent
- signing page (site/public/portal/esign): all ids/vars/comments ink* -> sign*;
  no 'ink' string remains
- npi_provider metadata flag ink_reproduction -> require_sign_consent
- migration 090/092 + live DB column comments rewritten to drop ink/plotter
  wording (DB column names kept as ink_consent* for compat, internal only)
- order-timeline.ts buffer comments neutralized
- tests: 37 checks, consent text asserted to omit ink/plotter/paper/reproduce/etc

DB columns ink_consent* retained (internal, never sent to clients) to avoid a
risky rename of already-applied prod columns.
2026-06-07 05:06:26 -05:00
justin
dba7632ce2 fix(deploy): extract TELEGRAM vars from .env without sourcing it
`. ./.env` choked on shell-hostile values (SMTP_PASS special chars), aborting
before TELEGRAM vars loaded and rendering an empty alertmanager.yml. Extract just
the two keys with sed instead, and warn if either is empty.
2026-06-07 04:51:02 -05:00
justin
7670608c1a fix(monitoring): render alertmanager.yml from template at deploy (fixes crash loop)
Alertmanager does not expand ${ENV} in its YAML, so the committed config with
${TELEGRAM_BOT_TOKEN}/${TELEGRAM_CHAT_ID} crash-looped it (line 24: cannot
unmarshal !!str `${TELEG...` into int64) - 11k+ restarts on prod, alerting dead.

- rename alertmanager.yml -> alertmanager.yml.template (keeps ${} placeholders)
- deploy.sh: envsubst the template into the (gitignored) alertmanager.yml from
  .env, scoped to the two TELEGRAM vars so the {{ }} Go-template message survives
- gitignore the rendered file (contains the bot token)
- warns if the vars are unset
2026-06-07 04:49:53 -05:00
justin
a4bad723bc esign: ink-reproduction consent gate + patent-risk research
Consent gate (the legal linchpin from the wet-signature memo):
- migration 092 adds ink_consent/ink_consent_at/ink_consent_text to esign_records
- extract pure, unit-tested gate logic into esign-ink-consent.ts (DRY single
  source for route + signing page): isInkReproduction / inkConsentRequired /
  inkConsentSatisfied + verbatim client-safe INK_CONSENT_TEXT
- portal-esign-generic.ts: GET surfaces ink_reproduction + consent text; POST
  gates DRAWN signatures on ink-path docs on explicit consent, stores it
- signing page locks the signature block until consent is checked (drawn only)
- npi_provider marks cms855/cms10114 esign metadata ink_reproduction=true
- 33 unit checks: gate truth table + consent text omits all internal mechanics
  (plotter/machine/CMS/MAC/etc) and keeps required legal reassurances

Patent-risk memo (docs/legal/patent-risk-mechanical-wet-signature.md):
- prior-art-dated risk analysis (autopen 1803/1942, plotters, CNC = public domain
  => low risk on core concept; e-sign workflow space litigious)
- firsthand recent-grant sweep (1.58M USPTO grants 2021-2025, queried via DuckDB):
  ZERO patents on machine-applies-signature-in-ink; e-sign players hold only
  electronic-workflow patents. Not an FTO; flags where attorney search is needed
2026-06-07 04:44:11 -05:00
justin
f8d2a7f01f docs: remote wet-signature product opportunity map + legal precedent research
Two internal docs:

- docs/plans/remote-wet-signature-products.md: opportunity map for new remote
  signing/filing services that leverage the existing esign + wet-ink + fulfillment
  stack (83(b) IRS filings, apostille concierge, estate packages, mechanics
  liens, FinCEN BOI / SAM.gov renewals, RON layer, proof-of-life attestations).
  Prioritized by revenue x fit x moat; top 3 = 83(b), apostille, estate package.

- docs/legal/remote-mechanical-wet-signature-precedent.md: source-grounded legal
  research on whether a machine-applied wet-ink signature (autopen/plotter
  reproducing the signer's own captured strokes) is authentic/valid/accepted.
  Primary sources retrieved firsthand: DOJ/OLC 2005 autopen opinion (29 Op.
  O.L.C. 97); CMS-855B 'signatures must be original'; ESIGN 15 USC 7001/7006;
  UCC 1-201 'Signed'. Key finding: common-law + autopen precedent strongly
  support own-signature-by-directed-machine as VALID, but 'original ink / no
  stamps' administrative rules (CMS-855) are UNADJUDICATED -> highest risk, keep
  true wet-sign fallback. Notarized/witnessed instruments: do NOT use plotter.
  Explicitly separates established law from interpretive/no-precedent zones.
2026-06-07 04:24:06 -05:00
justin
894d989445 Add portable Line-us pen-arm support to ink-signature pipeline
Adds a second machine class (small fan-shaped reach arm) alongside the
CR-10/AxiDraw rectangular-bed plotters, so wet signatures can be produced
while away from the home station.

ink_signature_plotter.py:
- PlotterConfig gains dialect (marlin|lineus) + name; new LineUsConfig
  (native units, pen height = per-move Z, reach annulus from shoulder pivot).
- Named machine profiles (cr10 default, axidraw, lineus) via load_profile().
- bed_mm_to_lineus_units(), check_reach() (annulus for lineus, rectangle for
  marlin), compute_jig_offset_for_box() (solves jig from the ACTUAL fitted ink
  extent so a wide cell line doesn't over-constrain a small arm).
- emit_gcode() dispatches to emit_marlin_gcode()/emit_lineus_gcode().
- send_lineus(): WiFi TCP 1337 (NUL-terminated, ok-acked) or USB serial,
  dry_run=True default (same gating as the CR-10 path).

ink_signature_cli.py: --profile, --solve-jig (auto-applies jig offset),
--lineus-host/--lineus-usb, reach-check that refuses to --plot out-of-reach
on Line-us.

Tests: 43 checks (was 30) covering profiles, reach check, jig solve, lineus
emitter, dry-run sender. Docs updated with profiles + portable workflow.
2026-06-07 03:45:46 -05:00
justin
aafa76df83 Add missing admin_todos migration (091)
The admin_todos table is written by 8 worker handlers (and the new shared
create_admin_todo helper) but had NO CREATE migration anywhere, so every
fulfillment-task insert silently failed in environments without the table.
Define it with the exact column set the handlers use, plus status/priority/
order indexes and operator workflow columns (assigned_to, notes, completed_at).

Applied 076,085,086,088,089,090,091 to the dev DB (all idempotent); verified
admin_todos, esign_records, paper_filing_batches, compliance_orders.
fulfillment_status, and esign_records.signature_vector all exist and accept the
handler insert shape.
2026-06-07 03:22:28 -05:00
justin
28b1af341d Wire fulfillment alerts to Telegram + surface order progress in portal + even out ERPNext sync
Telegram notifications:
- Add shared scripts/workers/telegram_notify.py (send_telegram, notify_fulfillment_todo,
  create_admin_todo) so every worker alerts the operator the same way; fire-and-forget.
- Fire notify_fulfillment_todo after each admin_todos insert across all 8 service
  handlers (9 sites) so no fulfillment task waits unseen.
  (Orders + quotes + tickets already notified via checkout/quotes/tickets routes.)

Client portal order progress:
- order-timeline: derive real per-step status from live signals (payment paid,
  e-signature signed, fulfillment_status) instead of a static template; add
  current_step to the response.
- Extract pure applyLiveStatus into order-timeline-status.ts (DB-free) + unit test
  (api/test/test_timeline_status.ts, 8 cases).
- portal /me now returns compliance_orders.fulfillment_status.
- Dashboard renders a client-safe Progress badge (In progress / Action needed /
  Filed-awaiting-confirmation / Completed); batches show the most actionable status.
  No back-office mechanics exposed.

ERPNext sync parity:
- Create a Sales Order for formation and fcc_carrier_registration orders (previously
  only canada_crtc + compliance synced); write erpnext_sales_order back to each table.
  Non-blocking, matches existing pattern.

Verified: API tsc clean, timeline unit tests 8/8, Astro build 58 pages,
cms10114/ink/paper_batch Python tests still green, no mechanics leaks.
2026-06-07 03:17:46 -05:00
justin
41df4d9553 healthcare: go live with wet-signature filings + 2-day ETA buffer
Adds explicit order timelines for the 5 CMS provider filings (nppes-update,
npi-reactivation, npi-revalidation, medicare-enrollment, provider-compliance-
bundle) and a +2 business-day buffer applied from the signature step onward,
giving us time to produce + mail the original ink signature while the plotter
station is brought online.

- Buffer only affects post-signature steps; pre-signature steps and all
  non-wet-signature services are unchanged (verified with date math).
- Single source of truth: order-timeline route (consumed by the order success
  page), so the buffer flows through to the customer-facing ETA.
- Remove WET_SIGNATURE_BUFFER_DAYS once the ink-signature station is in
  steady-state (see docs/plans/plotter-plan.md).

API tsc clean; buffer compiled into dist.
2026-06-07 02:56:41 -05:00
justin
0b06043437 healthcare: verify wet-signature requirements across all services
Source-grounded check of which services need an ORIGINAL ink signature (plotter
target) vs e-sign/typed. Verified firsthand against the official forms:

- Confirmed wet-ink: the 5 CMS Medicare/NPI paper filings only (855I/B/O +
  10114), which are exactly the no-login Standard-path filings the plotter serves.
- CLIA CMS-116 does NOT require original ink — the form explicitly permits 'SIGN
  IN INK OR USE A SECURE ELECTRONIC SIGNATURE', so our digital stamp suffices;
  plotter optional for CLIA.
- DEA registration/renewal is online-only (Form 224 unavailable in PDF),
  e-certified, no wet ink.
- State CSR / state Medicaid are the only open items: paper in many states but
  original-ink-vs-e-sign is state-specific; verify per state.
- All FCC/telecom/DOT/BOC-3/CRTC/PUC filings are electronic (e-sign fine).

Added the verified matrix to state-healthcare-compliance-opportunities.md, saved
docs/CMS-116 Form.pdf, and the plotter plan.
2026-06-07 02:40:47 -05:00
justin
b0a8563a93 ink-signature: pen-plotter pipeline for original wet-ink CMS signatures
The Standard no-login CMS path needs an ORIGINAL ink signature on paper
(CMS-10114: 'Stamped, faxed or copied signatures will not be accepted'). This
adds a pipeline to redraw the provider's own captured strokes in real ink with a
pen on a CR-10 V2 (or any Marlin/GRBL machine) — original, in ink, never copied.

- migration 090: esign_records.signature_vector (JSONB stroke paths, 0..1).
- signing page now captures normalized stroke paths alongside the PNG; API
  stores a size-bounded vector for drawn signatures.
- ink_signature_plotter.py (hardware-independent): fit strokes to the signature
  anchor box, PDF-pt -> bed-mm via jig offset, emit Marlin/GRBL G-code (Z pen or
  M280 servo/BLTouch), SVG toolpath preview, and render_signature_on_pdf (a
  digital twin that proves the toolpath lands on the cert line). Gated serial
  sender (dry_run default).
- ink_signature_cli.py: end-to-end load-record -> gcode+preview, --test-box jig
  calibration, --plot to stream over USB.
- Corrected CMS-10114 signature anchor to sit inside the Section 4A signing cell
  (above the bottom rule, below the label).
- docs/ink-signature-plotter.md documents the CR-10 retrofit + interpretive risk.

Tests: test_ink_signature.py 30/30, test_cms10114.py 27/27, test_paper_batch.py
15/15, API tsc clean, Astro build 58 pages.
2026-06-07 02:34:17 -05:00
justin
e6a630ada1 healthcare: verify CMS-10114 update path, correct NPI Enumerator address, build CMS-10114 filler
Verified firsthand against the live CMS-10114 (Rev. 02/25, OMB 0938-0931):
- Section 1A confirms paper is valid for Change of Information (#2) AND
  Reactivation (#4), not just initial enumeration. Resolves the UNCERTAIN flag.
- Current mailing address is CMS NPI Enumerator Services, Mail Stop DO-01-51,
  7500 Security Blvd, Baltimore MD 21244. The old Fargo PO Box 6059 is retired;
  corrected in mac_routing.NPI_ENUMERATOR + all docs.
- No electronic no-login equivalent exists for CMS (NPI Registry API is
  read-only; PECOS/NPPES-IA require login), unlike FMCSA's ask.fmcsa ticket form.
  So tiers stay: Standard=paper CMS-10114 (no login), Expedited=NPPES surrogate.

New: cms10114_pdf_filler.py fills the flat official form via text overlay
(reason checkbox + NPI + Section 2A identity + Section 4A cert name + signature
anchor); wired into npi_provider._generate_10114_for_signing for nppes-update.
Signed forms route to the NPI Enumerator via the existing daily batch.

Tests: test_cms10114.py 27/27, test_paper_batch.py 15/15, Astro build 58 pages.
2026-06-07 02:04:41 -05:00
justin
f9c294e962 healthcare: state/adjacent no-login matrix + verified-tiers status
- state-healthcare-compliance-opportunities.md: add A/B/C/D no-login
  classification per service (Medicaid, CAQH, payer credentialing, DEA/CSR,
  PDMP, CLIA, license). CLIA (CMS-116 paper) + state CSR reuse the daily batch.
- healthcare-filing-tiers-verified.md: implementation status + TODO-before-live
  (MAC addresses, CMS-10114 filler, migration run, print-mail API phase 2).
2026-06-07 00:34:34 -05:00
justin
7ea18dd3d8 healthcare: optional surrogate-access intake question (expedited path)
- NpiIntakeStep: add positively-framed 'can you grant electronic I&A Surrogate
  access?' question for all filing slugs (reval/reactivation/nppes-update/
  enrollment/bundle). Optional, never required, never mentions paper; captured
  as intake_data.surrogate_access (yes/no/blank). Astro build green (58 pages).
- npi_provider.py: surface the surrogate answer in the admin todo so fulfillment
  knows EXPEDITED (online via surrogate) vs STANDARD (e-sign + daily mail batch).
2026-06-07 00:33:33 -05:00
justin
138fec17e9 healthcare: daily batched paper-filing fulfillment
Standard (no-login) CMS filings are mailed in one Priority Mail envelope per
destination agency, batched each postal working-day morning to save postage.

- migration 089: paper_filing_batches table + esign_records.paper_batch_id /
  filing_destination_key (idempotent: a filing is batched at most once).
- batch_cover_sheet.py: per-agency cover sheet (sender/dest/date/manifest) +
  merged print-job PDF (cover + all enclosed signed filings).
- daily_paper_batch.py worker: gather signed+unbatched cms855/cms10114 filings,
  group by destination (MAC by state via mac_routing; Fargo for CMS-10114),
  build cover+merged PDF per agency, persist batch, mark filings batched.
  Self-gates on postal working days (skips weekends + federal/USPS holidays).
  Phase 1 = human prints+mails; phase 2 = wire print-mail API.
- worker-crons: pw-paper-batch systemd timer (Mon-Fri 13:30 UTC, self-gated).
- test_paper_batch.py: 15/15 pass (working-day gating, routing, cover+merge).
2026-06-07 00:30:01 -05:00
justin
258d23bdc6 healthcare: two-tier (standard paper / expedited surrogate) filing model
- Verified Standard(no-login)/Expedited(surrogate) matrix from official CMS-855
  PDFs (docs/healthcare-filing-tiers-verified.md): reactivation+revalidation are
  855I paper-to-MAC reasons, original-signature, routed by state; sig may not be
  delegated; 855B needs PECOS app fee.
- Add scripts/workers/mac_routing.py: state->MAC routing (all 56 jurisdictions,
  12 destinations) for envelope addressing + daily batch grouping. Addresses
  marked VERIFY before live mail.
- npi_provider.py: fix access strings to two-tier framing; NPPES update/reactivation
  no longer 'online-only'; note 855B fee.
- checkout.ts + service pages: strip client-facing mechanics & the paper-vs-tier
  choice; surrogate is the only optional, positively-framed ask (faster, never
  required, never share password).
2026-06-07 00:24:56 -05:00
justin
74c1259c9a docs: state healthcare compliance service opportunities (Medicaid revalidation/enrollment, CAQH, payer credentialing, DEA/CSR/PDMP, CLIA, license renewal) 2026-06-06 22:34:46 -05:00
justin
0a40e4874e fix(site): bug audit fixes - dot-compliance cart prices now match SERVICE_META (12); /pricing/bundles wrong category links (4); fcc tool order CTAs (new-carrier->fcc-carrier-registration, canada-crtc); reset-password logo; nav duplicate id (137 pages via sync_nav); +3 DOT services in SERVICE_META; classification IntakeStep type 2026-06-06 22:29:38 -05:00
justin
bf4e8c2277 infra: MTA-STS HTTPS vhost (cert issued, policy live) 2026-06-06 21:03:30 -05:00
justin
7399211271 trust/security: DMARC p=reject; MTA-STS cert+HTTPS policy live; cookie consent banner (CSP-safe); /accessibility page; footer legal links (Security/Accessibility) on all pages; scope TrustedSite to /order payment pages only 2026-06-06 21:01:36 -05:00
justin
34daa0c1d3 infra: MTA-STS status note - cert pending stable HE.net DNS propagation 2026-06-06 19:37:37 -05:00
justin
7bd2f70de4 infra: MTA-STS policy + vhost + README (cert pending DNS propagation) 2026-06-06 19:36:27 -05:00
justin
eea1d02045 trust/security: add RFC 9116 /.well-known/security.txt + /security trust page (verified TLS A+/SOC2/HIPAA-PCI, security practices, vuln disclosure) 2026-06-06 19:34:18 -05:00
justin
a56ee01d96 fix(pricing): Trucking/DOT header was invisible (bg-orange-500 purged from CSS) -> inline orange background 2026-06-06 18:19:54 -05:00
justin
3d4269a053 pricing: add Healthcare section at top (6 services: revalidation $599, enrollment $699, reactivation $449, NPPES $349, OIG/SAM $299/yr, bundle $899/yr) with teal header 2026-06-06 18:08:49 -05:00
justin
6c9956d14c about: real founder headshot (face-detected crop from suit photo) replacing placeholder 2026-06-06 18:07:01 -05:00
justin
9eceb18f3e about: add color - gradient hero (navy->teal) + uppercase pill, teal-fade 'What we do', teal/blue founder section, color-varied approach icons 2026-06-06 16:58:36 -05:00
justin
ea0937f723 about: remove Cherry Voice reference from founder bio (company was sold) 2026-06-06 16:53:39 -05:00
justin
971eb8d9d0 about: rewrite founder bio with Justin Hannah's real background (20+ yrs telecom/VoIP, President of Carrier One since 2001, Asterisk/FreeSWITCH pioneer, payments) from LinkedIn 2026-06-06 16:53:11 -05:00
justin
0b51d400f9 about page: add healthcare to firm story + 'What we do' (Medicare/PECOS/NPI, accuracy-verified filings); add founder bio for Justin Hannah with photo placeholder + LinkedIn link 2026-06-06 16:52:09 -05:00
justin
3da7794a85 hc email: add 'verify every detail for accuracy' (core strength) so the filing isn't rejected 2026-06-06 16:49:36 -05:00
justin
4233c90a4f hc email: reframe value-add to 'No 2FA. No government portals.' (we have a portal; the pain is CMS 2FA/identity-proofing); cron creates fresh dated campaign when prior is finished; add hc bounce watcher (Postfix->listmonk-hc webhook, hard/complaint->blocklist) 2026-06-06 16:47:12 -05:00
justin
2c4854f2db hc tracking: fix listmonk-hc app.root_url (was localhost:9000 -> zero views) to public domain + enable individual tracking; verified pixel records views 2026-06-06 16:40:22 -05:00
justin
6738a335af infra: nginx vhost for listmonk-hc admin portal (lists-hc.performancewest.net -> 127.0.0.1:9101, LE cert) 2026-06-06 07:02:50 -05:00
justin
2aa9e770c9 healthcare email: add color variety - amber warning box (urgency) + red overdue date + green price/CTA, breaking up the all-teal look into a problem->relief->action color story 2026-06-06 04:58:44 -05:00
justin
8eea9a694f healthcare email: add 'About Performance West' explainer (regulatory compliance consulting firm) after the no-logins relief copy 2026-06-06 04:57:42 -05:00
justin
0d212787ef healthcare email: add 'No logins. No portals. No headaches.' value-add (sells the relief, hides the mechanics); research doc on verified no-login third-party submission paths 2026-06-06 04:53:26 -05:00
justin
53ec011198 email trust signals: add data-safety + guarantee + social-proof strip to HC, telecom (campaign_template), and trucking (6 source + active campaigns via injector). Vertical accents: teal/blue/orange 2026-06-06 04:13:16 -05:00
justin
95698852ce healthcare warmup: gate Google/Workspace domains out of week 1 (they hard-reject cold IPs 550-5.7.1); send 501 non-Google practice domains first, defer 222 Google to week 2-3; cron uses hc_warmup_nongoogle.csv 2026-06-06 04:02:00 -05:00
justin
2bc86268f7 healthcare: HC warmup campaign cron (Mon-Fri 7AM Central) - imports overdue-first verified slice into listmonk-hc + runs Medicare-revalidation campaign via hc HOT stream; rate-throttled by pw-hc-rampcap 2026-06-06 03:57:08 -05:00
justin
2d3bccd31e healthcare email: white logo for teal header (was dark navy, invisible); drop NPPES-source footer line 2026-06-06 03:48:04 -05:00
justin
29c7a421e9 healthcare email: teal gradient header (matches site hero) + standalone CSV MX/SMTP verifier (binds .72 non-sending IP); gitignore PII warmup lists 2026-06-06 03:39:19 -05:00
justin
5129ebec5c healthcare email: add List-Unsubscribe/List-Id/Date/Precedence bulk headers to improve inbox placement on the cold hc IPs 2026-06-06 03:31:22 -05:00
justin
3859557506 healthcare: +$200 across all 6 provider services; add segmented marketing email builder (5 compliance-problem campaigns) + rendered HTML 2026-06-06 02:33:46 -05:00
justin
9bcd27db80 feat(site): vertical-specific order-page headers (trucking/telecom/healthcare/corporate) via unified VerticalOrderHeader; apply to all 49 order pages; retire TruckingOrderHeader 2026-06-06 01:52:22 -05:00
justin
695c3e2431 security: drop all CBC TLS suites (Qualys WEAK -> AEAD-only, still A+); sync ansible nginx templates (ciphers + ywxi CSP); capture host firewall as IaC 2026-06-06 00:49:21 -05:00
484 changed files with 36393 additions and 3339 deletions

5
.gitignore vendored
View file

@ -27,3 +27,8 @@ api/dist/
site/dist/
site/.astro/
mcp/dist/
data/hc_warmup*.csv
# Rendered from monitoring/alertmanager.yml.template by deploy.sh (contains secrets)
monitoring/alertmanager.yml
docs/justino suit.jpg

View file

@ -0,0 +1,49 @@
-- 089: Daily paper-filing batch tracking for the Standard (no-login) CMS filing path.
--
-- When a provider e-signs a CMS-855 (or CMS-10114), the signed PDF is mailed to
-- the destination agency (the provider's MAC for 855s; the NPI Enumerator in
-- Fargo for NPPES updates). To save postage and handling we batch all signed,
-- not-yet-mailed filings each postal working-day morning, group them by
-- destination agency, and mail one Priority Mail envelope per agency.
--
-- This migration records, per signed filing, which daily batch it went out in,
-- so the batch worker is idempotent (never re-mails) and we can audit/track.
-- A paper-filing batch = one Priority Mail envelope to one destination agency
-- on one mailing day.
CREATE TABLE IF NOT EXISTS paper_filing_batches (
id SERIAL PRIMARY KEY,
batch_date DATE NOT NULL, -- the postal working day mailed
destination_key TEXT NOT NULL, -- mac_routing key, e.g. noridian_je / npi_enumerator
destination_name TEXT NOT NULL DEFAULT '', -- human-readable MAC/agency name
destination_address TEXT NOT NULL DEFAULT '', -- full mailing address block
item_count INTEGER NOT NULL DEFAULT 0, -- number of filings enclosed
cover_sheet_key TEXT, -- MinIO key for the batch cover sheet
merged_pdf_key TEXT, -- MinIO key for the merged print job
tracking_number TEXT, -- USPS tracking, filled when mailed
status TEXT NOT NULL DEFAULT 'prepared'
CHECK (status IN ('prepared', 'mailed', 'cancelled')),
created_at TIMESTAMPTZ DEFAULT NOW(),
mailed_at TIMESTAMPTZ
);
CREATE INDEX IF NOT EXISTS idx_paper_batch_date ON paper_filing_batches(batch_date);
CREATE UNIQUE INDEX IF NOT EXISTS idx_paper_batch_day_dest
ON paper_filing_batches(batch_date, destination_key);
-- Link each signed esign filing to the batch it shipped in. NULL = not yet
-- batched (the worker picks these up). Set once -> idempotent (worker skips
-- anything already assigned a batch).
ALTER TABLE esign_records
ADD COLUMN IF NOT EXISTS paper_batch_id INTEGER REFERENCES paper_filing_batches(id);
-- The destination MAC/agency for this filing, derived from the provider's
-- practice state at sign time (snapshot so later routing-table changes don't
-- retroactively move historical filings).
ALTER TABLE esign_records
ADD COLUMN IF NOT EXISTS filing_destination_key TEXT;
-- Index the work queue: signed, paper-path filings not yet batched.
CREATE INDEX IF NOT EXISTS idx_esign_unbatched_signed
ON esign_records(status)
WHERE status = 'signed' AND paper_batch_id IS NULL;

View file

@ -0,0 +1,26 @@
-- 090: Capture the vector (stroke-path) form of a drawn signature.
--
-- Today esign_records.signature_data holds a base64 PNG of the drawn signature,
-- which is fine as a raster copy, but a resolution-independent vector form of the
-- strokes is more faithful and reusable for downstream rendering.
--
-- We store the captured strokes as JSON so the same signing event yields both:
-- * signature_data -- base64 PNG (raster copy, audit trail)
-- * signature_vector -- stroke paths (high-fidelity vector form)
--
-- Format (normalized into a 0..1 box, origin top-left, matching canvas capture):
-- {
-- "v": 1,
-- "w": <canvas css width px>, "h": <canvas css height px>,
-- "strokes": [ [ {"x":0.12,"y":0.40,"t":12}, ... ], ... ]
-- }
-- x/y are fractions of the capture box (resolution-independent); t is ms since
-- stroke start (optional, for future pressure/speed modeling).
ALTER TABLE esign_records
ADD COLUMN IF NOT EXISTS signature_vector JSONB;
COMMENT ON COLUMN esign_records.signature_vector IS
'Stroke-path (vector) form of a drawn signature (normalized 0..1, origin '
'top-left). NULL for typed signatures or signatures captured before this '
'column existed.';

View file

@ -0,0 +1,37 @@
-- 091: admin_todos — operator fulfillment task queue.
--
-- Service handlers (npi_provider, mcs150_update, state_trucking, boc3_filing,
-- hazmat_phmsa, mailbox_setup, carrier_closeout, ein_application, …) insert a
-- row here whenever a filing needs human action. This table was referenced by
-- the workers but never had a CREATE migration, so the inserts silently failed
-- in any environment without the table. This migration defines it.
--
-- The shared helper scripts/workers/telegram_notify.create_admin_todo() and the
-- inlined INSERTs all use the same column set:
-- (title, category, priority, order_number, service_slug, description, data, status)
CREATE TABLE IF NOT EXISTS admin_todos (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL,
category TEXT NOT NULL DEFAULT 'filing', -- filing, provisioning, review, …
priority TEXT NOT NULL DEFAULT 'normal', -- low, normal, high, urgent
order_number TEXT, -- e.g. CO-ABCD1234 (nullable for ad-hoc tasks)
service_slug TEXT, -- which service generated this task
description TEXT NOT NULL DEFAULT '',
data JSONB NOT NULL DEFAULT '{}', -- structured intake/context payload
status TEXT NOT NULL DEFAULT 'pending'
CHECK (status IN ('pending', 'in_progress', 'done', 'cancelled')),
assigned_to TEXT, -- operator email/handle (optional)
notes TEXT, -- operator working notes
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
completed_at TIMESTAMPTZ
);
CREATE INDEX IF NOT EXISTS idx_admin_todos_status ON admin_todos(status) WHERE status IN ('pending', 'in_progress');
CREATE INDEX IF NOT EXISTS idx_admin_todos_order ON admin_todos(order_number);
CREATE INDEX IF NOT EXISTS idx_admin_todos_priority ON admin_todos(priority);
CREATE INDEX IF NOT EXISTS idx_admin_todos_created ON admin_todos(created_at DESC);
COMMENT ON TABLE admin_todos IS
'Operator fulfillment task queue; one row per filing that needs human action.';

View file

@ -0,0 +1,26 @@
-- 092: Per-document signing authorization on signature records.
--
-- On the Standard (no-login) CMS filing path the signer gives an EXPLICIT,
-- per-document authorization to use their drawn signature to complete and submit
-- the filing on their behalf. These columns capture that authorization at
-- signing time, alongside the existing perjury attestation. They are only
-- meaningful for drawn signatures on documents that require it
-- (metadata.require_sign_consent = true); other docs leave them false/NULL.
--
-- NB: the column names use the ink_consent* prefix for historical/migration
-- compatibility; they store the generic signing authorization described above.
--
-- Idempotent.
ALTER TABLE esign_records
ADD COLUMN IF NOT EXISTS ink_consent BOOLEAN DEFAULT FALSE,
ADD COLUMN IF NOT EXISTS ink_consent_at TIMESTAMPTZ,
ADD COLUMN IF NOT EXISTS ink_consent_text TEXT;
COMMENT ON COLUMN esign_records.ink_consent IS
'TRUE when the signer expressly authorized using their drawn signature to '
'complete and submit this filing. Captured at signing time.';
COMMENT ON COLUMN esign_records.ink_consent_at IS
'When the signing authorization was given (signer-side timestamp).';
COMMENT ON COLUMN esign_records.ink_consent_text IS
'Verbatim authorization language the signer agreed to (for the audit trail).';

View file

@ -0,0 +1,12 @@
-- Add 'awaiting_intake' fulfillment status for MCS-150/DOT orders that are
-- held waiting on the customer to confirm operational details the FMCSA
-- census cannot supply (operation classification, cargo, current mileage,
-- email). The worker sets this state and emails a census-pre-filled intake
-- link; the order auto-resumes when the customer submits.
ALTER TABLE compliance_orders DROP CONSTRAINT IF EXISTS compliance_orders_fulfillment_status_check;
ALTER TABLE compliance_orders ADD CONSTRAINT compliance_orders_fulfillment_status_check
CHECK (fulfillment_status IS NULL OR fulfillment_status = ANY (ARRAY[
'authorization_required','authorization_signed','awaiting_customer_delegation',
'awaiting_secure_credentials','awaiting_government_fee_approval','awaiting_insurance_filing',
'awaiting_intake','ready_to_file','filed_waiting_state','completed'
]));

View file

@ -0,0 +1,13 @@
-- Track IFTA quarterly-return reminder touches per interstate carrier so the
-- multi-touch cadence (10/7/4 business days before deadline) never repeats a
-- touch and escalates correctly. Reset each new quarter by the IFTA builder.
-- ifta_reminded_at : timestamp of the most recent IFTA touch (any)
-- ifta_touch_no : highest touch number sent this cycle (1=10d, 2=7d, 3=4d)
ALTER TABLE fmcsa_carriers
ADD COLUMN IF NOT EXISTS ifta_reminded_at TIMESTAMPTZ,
ADD COLUMN IF NOT EXISTS ifta_touch_no SMALLINT;
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_fmcsa_carriers_ifta_reminded
ON fmcsa_carriers (ifta_touch_no)
WHERE carrier_operation = 'A';

View file

@ -0,0 +1,12 @@
-- "I already filed it" suppression for IFTA quarterly reminders.
-- When a carrier clicks the one-click "I already filed it" link in a reminder
-- email, we record it here: it stops further touches THIS cycle (the IFTA
-- builder excludes self-filed carriers) and gives us DIY-vs-prospect signal.
-- Reset each new quarter alongside ifta_reminded_at.
ALTER TABLE fmcsa_carriers
ADD COLUMN IF NOT EXISTS ifta_self_filed_at TIMESTAMPTZ;
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_fmcsa_carriers_ifta_self_filed
ON fmcsa_carriers (ifta_self_filed_at)
WHERE ifta_self_filed_at IS NULL;

View file

@ -0,0 +1,15 @@
-- UCR annual-renewal reminder tracking (mirrors IFTA): per-carrier touch number,
-- last-touch timestamp, and "I already did it" self-filed suppression.
-- Reset each year by build_ucr_annual_campaign.py.
-- ucr_reminded_at : timestamp of the most recent UCR touch
-- ucr_touch_no : highest touch number sent this cycle (1=30bd,2=12bd,3=4bd)
-- ucr_self_filed_at: clicked "I already registered" -> stop reminding this cycle
ALTER TABLE fmcsa_carriers
ADD COLUMN IF NOT EXISTS ucr_reminded_at TIMESTAMPTZ,
ADD COLUMN IF NOT EXISTS ucr_touch_no SMALLINT,
ADD COLUMN IF NOT EXISTS ucr_self_filed_at TIMESTAMPTZ;
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_fmcsa_carriers_ucr_touch
ON fmcsa_carriers (ucr_touch_no)
WHERE carrier_operation = 'A';

View file

@ -0,0 +1,13 @@
-- Per-MX-operator throttling for the trucking/main warmup pool.
-- Sender reputation is tracked by the RECEIVING mail operator (Microsoft 365,
-- Google Workspace, Proofpoint, ...), not by recipient domain. The Jun 13-14
-- Gmail + Outlook block storm came from hammering Google/MS-Workspace-hosted
-- business domains. mx_provider lets the builder exclude those during warmup and
-- cap volume per operator (mirrors the HC pool). Populated by mx_tag_carriers.py.
ALTER TABLE fmcsa_carriers
ADD COLUMN IF NOT EXISTS mx_provider TEXT;
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_fmcsa_carriers_mx_provider
ON fmcsa_carriers (mx_provider)
WHERE mx_provider IS NOT NULL;

View file

@ -0,0 +1,17 @@
-- 098: Allow compliance order types in order_audit_log.
--
-- order_audit_log was created (migration 004) for formation orders only, with a
-- CHECK constraint limiting order_type to ('formation','service','quote'). The
-- admin compliance-orders dashboard writes audit entries for compliance orders
-- (approve-for-submission, intake re-arm), which were rejected by that check and
-- surfaced as "Approve failed" 500s. Add the compliance order types.
--
-- Idempotent: drops and recreates the constraint with the expanded value set.
ALTER TABLE order_audit_log DROP CONSTRAINT IF EXISTS order_audit_log_order_type_check;
ALTER TABLE order_audit_log
ADD CONSTRAINT order_audit_log_order_type_check
CHECK (order_type IN (
'formation', 'service', 'quote', 'compliance', 'compliance_batch'
));

View file

@ -0,0 +1,20 @@
-- 099: Government-fee child orders for at-cost compliance services.
--
-- At-cost services (IRP, IFTA, intrastate authority, etc.) collect only our
-- SERVICE fee at checkout; the actual government/state fee is variable and
-- "billed at cost" afterward. To collect it we create a CHILD compliance_orders
-- row (service_fee_cents = 0, gov_fee_cents = the quoted state fee) that flows
-- through the EXISTING checkout/payment-picker/webhook machinery unchanged, and
-- email the customer a payment link with every payment method + correct
-- surcharges. parent_order_number links that child back to the original order so
-- the worker can resume filing once the fee is paid.
--
-- Idempotent.
ALTER TABLE compliance_orders
ADD COLUMN IF NOT EXISTS parent_order_number text;
-- Look up a parent's gov-fee children quickly (and vice-versa).
CREATE INDEX IF NOT EXISTS idx_compliance_orders_parent
ON compliance_orders (parent_order_number)
WHERE parent_order_number IS NOT NULL;

View file

@ -0,0 +1,25 @@
-- 100: Recurring (Stripe Subscription) support for compliance services.
--
-- The OIG/SAM exclusion screening is sold as a $79/month Stripe Subscription
-- (catalog billing_interval="month"). We track the Stripe Subscription id so the
-- invoice.paid renewal webhook can map a monthly charge back to the order and
-- re-run that cycle's screening.
--
-- The Provider Compliance Bundle ($899/yr) includes only the FIRST OIG/SAM
-- screening; bundle buyers are converted to the $79/mo monitoring subscription
-- after that first cycle via an automated upsell email. bundle_upsell_sent_at
-- dedupes that send.
--
-- Idempotent. (Mirrors ensureColumns() in api/src/routes/checkout.ts so a fresh
-- deploy and this migration converge on the same schema.)
ALTER TABLE compliance_orders
ADD COLUMN IF NOT EXISTS stripe_subscription_id text;
ALTER TABLE compliance_orders
ADD COLUMN IF NOT EXISTS bundle_upsell_sent_at timestamptz;
-- Map a renewal invoice's subscription back to its order quickly.
CREATE INDEX IF NOT EXISTS idx_compliance_orders_subscription
ON compliance_orders (stripe_subscription_id)
WHERE stripe_subscription_id IS NOT NULL;

View file

@ -0,0 +1,39 @@
-- Daily mail-reputation snapshots parsed from the postfix logs.
--
-- WHY: Sender reputation lives at the RECEIVING operator (Microsoft 365, Google,
-- Yahoo, ...), not at the recipient domain. The provider portals (SNDS, Postmaster,
-- Yahoo CFL) show this but each needs a login and lags 24-48h. Our own postfix logs
-- already contain the ground truth in real time: every send to a Microsoft tenant
-- returns 250 (accepted) / 451 4.7.500 (throttled, "server busy") / 5xx (rejected),
-- and the reject text tells us WHY (reputation 5.7.1, recipient unknown 5.1.1, etc.).
-- A 2026-06-19 audit found 80% of Microsoft sends were getting 451 4.7.500 throttles
-- on the warming IPs -- exactly the signal we need to watch ease as reputation builds.
--
-- This table stores ONE row per (log_date, sending_ip, receiver_operator, outcome
-- class) so we can chart accepted% / deferred% / reject-reason mix per operator over
-- time without re-parsing logs (which rotate fast). Populated by
-- scripts/mail_reputation_monitor.py (idempotent upsert per day).
CREATE TABLE IF NOT EXISTS mail_reputation_daily (
id BIGSERIAL PRIMARY KEY,
log_date DATE NOT NULL, -- the calendar day of the log lines (server TZ)
sending_ip TEXT NOT NULL, -- our egress IP (207.174.124.94 / .107 / ...)
receiver TEXT NOT NULL, -- normalized receiving operator: microsoft|google|yahoo|proofpoint|other
outcome TEXT NOT NULL, -- accepted|throttled|reject_reputation|reject_recipient|reject_content|reject_other|deferred_other
reason_code TEXT, -- representative enhanced status / code (e.g. 4.7.500, 5.7.1, 5.1.1)
msg_count INTEGER NOT NULL DEFAULT 0,
sample_text TEXT, -- one representative raw response, for debugging
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
UNIQUE (log_date, sending_ip, receiver, outcome, reason_code)
);
CREATE INDEX IF NOT EXISTS idx_mail_rep_daily_date ON mail_reputation_daily (log_date);
CREATE INDEX IF NOT EXISTS idx_mail_rep_daily_receiver ON mail_reputation_daily (receiver, log_date);
COMMENT ON TABLE mail_reputation_daily IS
'Daily per-IP per-receiving-operator mail delivery outcome counts parsed from postfix logs (SNDS-equivalent reputation trend, no provider login needed). Populated by scripts/mail_reputation_monitor.py.';
COMMENT ON COLUMN mail_reputation_daily.receiver IS
'Normalized receiving operator: microsoft|google|yahoo|proofpoint|mimecast|other';
COMMENT ON COLUMN mail_reputation_daily.outcome IS
'accepted|throttled|reject_reputation|reject_recipient|reject_content|reject_other|deferred_other';

View file

@ -0,0 +1,66 @@
-- DMARC aggregate (rua) report ingestion.
--
-- WHY: DMARC aggregate reports (RFC 7489) are the authoritative, cross-operator
-- view of who is sending mail AS us (header_from = performancewest.net / its
-- subdomains) and whether that mail passes SPF + DKIM alignment. Every major
-- receiver (Google, Yahoo, Comcast, Cox, Bell, Mimecast, Cisco ESA, GMX, mail.com,
-- ...) emails one zipped/gzipped XML per day to rua=mailto:dmarc@performancewest.net.
-- Reading them by hand is hopeless (dozens/day). This turns them into queryable
-- per-source-IP / per-domain SPF+DKIM+DMARC pass-fail trends so we can SEE:
-- * our own senders (.94 bulk / .107 hcout / .71 transactional / .15 relay) all
-- passing alignment (DKIM d=send. selector send, d=root selector mail) -- the
-- deliverability fixes this session were exactly about this; and
-- * any UNKNOWN IP sending as us that fails -- i.e. spoofing or a forgotten relay,
-- which is reputation poison under p=reject.
--
-- Populated by scripts/dmarc_report_parser.py (IMAP fetch dmarc@ -> unzip -> parse
-- XML -> upsert). Idempotent: each report is keyed by (org_name, report_id) and
-- re-parsing the same report is a no-op (ON CONFLICT DO NOTHING).
-- One row per aggregate report (the <report_metadata> + <policy_published>).
CREATE TABLE IF NOT EXISTS dmarc_report (
id BIGSERIAL PRIMARY KEY,
org_name TEXT NOT NULL, -- reporting operator (google.com, yahoo.com, ...)
org_email TEXT, -- contact email from the report
report_id TEXT NOT NULL, -- operator's unique report id
date_begin TIMESTAMPTZ, -- report window start (from epoch)
date_end TIMESTAMPTZ, -- report window end
policy_domain TEXT, -- <policy_published><domain>
policy_p TEXT, -- published policy: none|quarantine|reject
policy_sp TEXT, -- subdomain policy
policy_adkim TEXT, -- DKIM alignment mode r|s
policy_aspf TEXT, -- SPF alignment mode r|s
policy_pct INTEGER, -- % of mail policy applies to
received_at TIMESTAMPTZ NOT NULL DEFAULT now(),
UNIQUE (org_name, report_id)
);
-- One row per <record> inside a report (a distinct source_ip + auth result combo).
CREATE TABLE IF NOT EXISTS dmarc_record (
id BIGSERIAL PRIMARY KEY,
report_id BIGINT NOT NULL REFERENCES dmarc_report(id) ON DELETE CASCADE,
source_ip TEXT NOT NULL, -- the IP that sent the mail
msg_count INTEGER NOT NULL DEFAULT 0, -- messages from this IP in the window
disposition TEXT, -- DMARC disposition applied: none|quarantine|reject
dkim_aligned TEXT, -- policy_evaluated/dkim: pass|fail
spf_aligned TEXT, -- policy_evaluated/spf: pass|fail
dmarc_pass BOOLEAN, -- derived: dkim_aligned=pass OR spf_aligned=pass
header_from TEXT, -- identifiers/header_from
envelope_from TEXT, -- identifiers/envelope_from
dkim_domain TEXT, -- auth_results/dkim/domain
dkim_selector TEXT, -- auth_results/dkim/selector
dkim_result TEXT, -- auth_results/dkim/result (raw)
spf_domain TEXT, -- auth_results/spf/domain
spf_result TEXT -- auth_results/spf/result (raw)
);
CREATE INDEX IF NOT EXISTS idx_dmarc_report_window ON dmarc_report (date_begin);
CREATE INDEX IF NOT EXISTS idx_dmarc_report_org ON dmarc_report (org_name);
CREATE INDEX IF NOT EXISTS idx_dmarc_record_report ON dmarc_record (report_id);
CREATE INDEX IF NOT EXISTS idx_dmarc_record_ip ON dmarc_record (source_ip);
CREATE INDEX IF NOT EXISTS idx_dmarc_record_fail ON dmarc_record (dmarc_pass) WHERE dmarc_pass = false;
COMMENT ON TABLE dmarc_report IS
'DMARC aggregate (rua) report headers. One row per operator report, keyed (org_name, report_id). Populated by scripts/dmarc_report_parser.py.';
COMMENT ON TABLE dmarc_record IS
'Per-source-IP rows inside each DMARC aggregate report: SPF/DKIM alignment + raw auth results. dmarc_pass = dkim_aligned=pass OR spf_aligned=pass.';

View file

@ -99,7 +99,7 @@ function loadConfig(): Config {
webhookSecret: optional("STRIPE_WEBHOOK_SECRET", ""),
},
smtp: {
host: optional("SMTP_HOST", "mail.smtp2go.com"),
host: optional("SMTP_HOST", "co.carrierone.com"),
port: parseInt(optional("SMTP_PORT", "587"), 10),
user: optional("SMTP_USER", ""),
pass: optional("SMTP_PASS", ""),

View file

@ -6,7 +6,7 @@
* - Portal access link emails (JWT-signed links)
*
* All transactional emails go through Carbonio: co.carrierone.com:587
* (SMTP2GO is used only by Listmonk for mass-mail campaigns.)
* (Listmonk mass-mail relays through the local Postfix MTA, not this path.)
* Env vars: SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, SMTP_FROM
*/
@ -34,16 +34,47 @@ function getTransporter(): nodemailer.Transporter {
return _transporter;
}
// ─── HTML → plaintext (dependency-free) ─────────────────────────────────────
// A multipart/alternative (which nodemailer builds when both html+text are
// given) with ONLY an HTML part is malformed, and HTML-only mail is a spam
// signal. When a caller doesn't supply `text`, derive a readable plaintext
// fallback from the HTML so every message ships a proper text/plain part.
export function htmlToText(html: string): string {
if (!html) return "";
let s = html;
// Drop non-content blocks entirely.
s = s.replace(/<(script|style|head)[\s\S]*?<\/\1>/gi, "");
// <a href="url">text</a> -> text (url)
s = s.replace(/<a\b[^>]*\bhref\s*=\s*["']?([^"'>\s]+)["']?[^>]*>([\s\S]*?)<\/a>/gi,
(_m, url, txt) => {
const t = txt.replace(/<[^>]+>/g, "").trim();
return t && !url.startsWith("mailto:") && t !== url ? `${t} (${url})` : (t || url);
});
// List items -> "- item"; block/line breaks -> newlines.
s = s.replace(/<li\b[^>]*>/gi, "\n- ");
s = s.replace(/<\/(p|div|tr|h[1-6]|li|ul|ol|table)>/gi, "\n");
s = s.replace(/<br\s*\/?>/gi, "\n");
// Strip remaining tags, unescape common entities, collapse whitespace.
s = s.replace(/<[^>]+>/g, "");
s = s.replace(/&nbsp;/gi, " ").replace(/&amp;/gi, "&").replace(/&lt;/gi, "<")
.replace(/&gt;/gi, ">").replace(/&quot;/gi, '"').replace(/&#39;/gi, "'")
.replace(/&rarr;/gi, "->").replace(/&middot;/gi, "-").replace(/&sect;/gi, "Section");
s = s.replace(/[ \t]+/g, " ").replace(/[ \t]+\n/g, "\n").replace(/\n{3,}/g, "\n\n");
s = s.split("\n").map((line) => line.trim()).join("\n");
return s.trim();
}
// ─── Generic send ─────────────────────────────────────────────────────────────
export async function sendEmail(opts: { to: string; subject: string; html: string; text?: string }): Promise<void> {
export async function sendEmail(opts: { to: string; subject: string; html: string; text?: string; cc?: string }): Promise<void> {
const t = getTransporter();
await t.sendMail({
from: SMTP_FROM,
to: opts.to,
...(opts.cc ? { cc: opts.cc } : {}),
subject: opts.subject,
html: opts.html,
text: opts.text || "",
text: opts.text || htmlToText(opts.html),
});
}
@ -78,6 +109,20 @@ function htmlEmail(title: string, body: string): string {
${body}
</td>
</tr>
<!-- Help / support band: reduces friction & chargebacks by giving an
obvious place to get help with any order issue. -->
<tr>
<td style="padding:0 40px 24px;">
<table width="100%" cellpadding="0" cellspacing="0" style="background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;">
<tr><td style="padding:18px 20px;text-align:center;">
<p style="margin:0 0 4px;font-family:Arial,sans-serif;font-size:15px;font-weight:700;color:#0c4a6e;">Problem with your order? We're here to help.</p>
<p style="margin:0 0 14px;font-family:Arial,sans-serif;font-size:13px;color:#0369a1;line-height:1.5;">Questions, a change, or something not right? Reach our team and we'll make it right, fast.</p>
<a href="https://performancewest.net/contact" style="display:inline-block;background:#1e3a5f;color:#ffffff;padding:11px 26px;border-radius:6px;text-decoration:none;font-family:Arial,sans-serif;font-size:14px;font-weight:700;">Get help with your order &rarr;</a>
<p style="margin:12px 0 0;font-family:Arial,sans-serif;font-size:12px;color:#64748b;">Or email <a href="mailto:info@performancewest.net" style="color:#0369a1;">info@performancewest.net</a> &middot; call <a href="tel:18884110383" style="color:#0369a1;">1-888-411-0383</a></p>
</td></tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td style="background:#f4f5f7;border-top:1px solid #e8ecf0;padding:16px 40px;text-align:center;">

View file

@ -1011,6 +1011,48 @@ export async function setWebsiteUserPassword(
});
}
/**
* Verify a customer's password against ERPNext the single source of truth for
* customer credentials. The API portal does NOT keep its own password hash; it
* delegates the check here and (on success) mints its own session cookie.
*
* Uses Frappe's form login endpoint (`/api/method/login`, usr/pwd). That
* endpoint resolves the site by the Host header (NOT the X-Frappe-Site-Name
* token header), so we must send Host explicitly or Frappe 404s with
* "<site> does not exist". A 200 means the password is correct; 401 means it
* is not. Network/other errors throw so the caller can fail closed.
*
* NB: this is a plain credential check we discard any session cookie ERPNext
* returns; the API issues its own `pw_customer` cookie.
*/
export async function verifyWebsiteUserPassword(
email: string,
password: string,
): Promise<boolean> {
const res = await fetch(`${ERPNEXT_URL}/api/method/login`, {
method: "POST",
headers: {
"Content-Type": "application/json",
// Frappe resolves the site for this endpoint from Host, not the token
// site header. Send both so it works regardless of routing.
Host: ERPNEXT_SITE_NAME,
"X-Frappe-Site-Name": ERPNEXT_SITE_NAME,
},
body: JSON.stringify({ usr: email, pwd: password }),
});
if (res.status === 200) return true;
if (res.status === 401) return false;
// 4xx/5xx other than auth failure (e.g. user disabled, site error) — surface
// as an error so the route returns a 500 rather than a misleading "bad
// password". Read the body for diagnostics.
const body = await res.text().catch(() => "");
throw new ERPNextError(res.status, {
message: `ERPNext login check failed (status ${res.status})`,
exception: body.slice(0, 500),
} as FrappeErrorResponse);
}
/**
* Link a Frappe User to a Customer record (portal_user_name field).
* This is required for the ERPNext portal to show the correct customer's data.

View file

@ -14,6 +14,7 @@ import ticketsRouter from "./routes/tickets.js";
import quotesRouter from "./routes/quotes.js";
import formationsRouter from "./routes/formations.js";
import discountsRouter from "./routes/discounts.js";
import iftaRouter from "./routes/ifta.js";
import adminRouter from "./routes/admin.js";
import webhooksRouter from "./routes/webhooks.js";
import identityRouter from "./routes/identity.js";
@ -92,6 +93,7 @@ app.use(ticketsRouter);
app.use(quotesRouter);
app.use(formationsRouter);
app.use(discountsRouter);
app.use(iftaRouter);
app.use(adminRouter);
app.use(webhooksRouter);
app.use(refundsRouter);

View file

@ -39,3 +39,26 @@ export function requireAdmin(req: Request, res: Response, next: NextFunction): v
res.status(401).json({ error: "Invalid or expired token." });
}
}
/**
* Verify admin JWT from EITHER the Authorization header OR a `?token=` query
* param. Needed for endpoints opened directly by the browser (e.g. a PDF in a
* new tab / <iframe>), where custom request headers cannot be set. The token is
* the same short-lived admin JWT; only use this for read-only document streams.
*/
export function requireAdminQueryOrHeader(req: Request, res: Response, next: NextFunction): void {
const header = req.headers.authorization;
const headerTok = header && header.startsWith("Bearer ") ? header.slice(7) : null;
const queryTok = typeof req.query.token === "string" ? req.query.token : null;
const token = headerTok || queryTok;
if (!token) {
res.status(401).json({ error: "Authentication required." });
return;
}
try {
req.admin = jwt.verify(token, JWT_SECRET) as AdminPayload;
next();
} catch {
res.status(401).json({ error: "Invalid or expired token." });
}
}

View file

@ -1,7 +1,7 @@
import { Router } from "express";
import bcrypt from "bcryptjs";
import { pool } from "../db.js";
import { requireAdmin, signAdminToken } from "../middleware/admin-auth.js";
import { requireAdmin, requireAdminQueryOrHeader, signAdminToken } from "../middleware/admin-auth.js";
import { submitLimiter } from "../middleware/rate-limit.js";
const router = Router();
@ -301,4 +301,578 @@ router.get("/api/v1/admin/audit", requireAdmin, async (req, res) => {
}
});
// =====================================================================
// Compliance Orders (telecom / DOT / healthcare service fulfillment)
//
// The legacy admin SPA only manages formation_orders. Compliance service
// orders (compliance_orders) had no admin surface at all -- you couldn't see
// what was paid, what was stuck on intake, or approve a prepared filing for
// submission. These endpoints back the /admin/compliance-orders page.
// =====================================================================
/** GET /api/v1/admin/compliance-orders — list, grouped by batch, with filters. */
router.get("/api/v1/admin/compliance-orders", requireAdmin, async (req, res) => {
try {
const payment = (req.query.payment as string) || "";
const fulfillment = (req.query.fulfillment as string) || "";
const intake = (req.query.intake as string) || ""; // 'incomplete' | 'complete'
const q = ((req.query.q as string) || "").trim().toLowerCase();
const limit = Math.min(parseInt(req.query.limit as string, 10) || 200, 500);
const where: string[] = ["1=1"];
const params: any[] = [];
let i = 1;
if (payment) { where.push(`co.payment_status = $${i++}`); params.push(payment); }
if (fulfillment === "none") { where.push(`co.fulfillment_status IS NULL`); }
else if (fulfillment) { where.push(`co.fulfillment_status = $${i++}`); params.push(fulfillment); }
if (intake === "incomplete") { where.push(`COALESCE(co.intake_data_validated, FALSE) = FALSE`); }
else if (intake === "complete") { where.push(`co.intake_data_validated = TRUE`); }
if (q) {
where.push(`(lower(co.customer_email) LIKE $${i} OR lower(co.customer_name) LIKE $${i} OR lower(co.order_number) LIKE $${i} OR lower(COALESCE(co.batch_id,'')) LIKE $${i})`);
params.push(`%${q}%`); i++;
}
params.push(limit);
const { rows } = await pool.query(
`SELECT co.order_number, co.batch_id, co.service_slug, co.service_name,
co.customer_email, co.customer_name, co.customer_phone,
co.payment_status, co.payment_method, co.paid_at,
co.service_fee_cents, co.gov_fee_cents, co.surcharge_cents, co.discount_cents,
co.fulfillment_status, co.fulfillment_status_at,
COALESCE(co.intake_data_validated, FALSE) AS intake_data_validated,
co.intake_reminder_count, co.intake_reminder_last_at,
co.erpnext_sales_order, co.created_at
FROM compliance_orders co
WHERE ${where.join(" AND ")}
ORDER BY co.created_at DESC
LIMIT $${i}`,
params,
);
// Group multi-service batches (batch_id) into a single card; standalone
// orders (no batch_id) become their own one-item group keyed by order_number.
type Grp = {
group_id: string;
is_batch: boolean;
customer_name: string;
customer_email: string;
customer_phone: string | null;
payment_status: string;
payment_method: string | null;
paid_at: string | null;
created_at: string;
total_cents: number;
intake_all_complete: boolean;
intake_any_incomplete: boolean;
max_reminder_count: number;
last_reminded_at: string | null;
services: any[];
};
const groups = new Map<string, Grp>();
for (const r of rows as any[]) {
const key = r.batch_id || r.order_number;
let g = groups.get(key);
if (!g) {
g = {
group_id: key,
is_batch: !!r.batch_id,
customer_name: r.customer_name,
customer_email: r.customer_email,
customer_phone: r.customer_phone,
payment_status: r.payment_status,
payment_method: r.payment_method,
paid_at: r.paid_at,
created_at: r.created_at,
total_cents: 0,
intake_all_complete: true,
intake_any_incomplete: false,
max_reminder_count: 0,
last_reminded_at: null,
services: [],
};
groups.set(key, g);
}
g.total_cents += Number(r.service_fee_cents || 0) + Number(r.gov_fee_cents || 0)
+ Number(r.surcharge_cents || 0) - Number(r.discount_cents || 0);
if (!r.intake_data_validated) { g.intake_all_complete = false; g.intake_any_incomplete = true; }
g.max_reminder_count = Math.max(g.max_reminder_count, Number(r.intake_reminder_count || 0));
if (r.intake_reminder_last_at && (!g.last_reminded_at || r.intake_reminder_last_at > g.last_reminded_at)) {
g.last_reminded_at = r.intake_reminder_last_at;
}
g.services.push({
order_number: r.order_number,
service_slug: r.service_slug,
service_name: r.service_name || r.service_slug,
fulfillment_status: r.fulfillment_status,
fulfillment_status_at: r.fulfillment_status_at,
intake_data_validated: r.intake_data_validated,
erpnext_sales_order: r.erpnext_sales_order,
ready_to_approve: r.fulfillment_status === "ready_to_file",
});
}
res.json({ groups: Array.from(groups.values()) });
} catch (err) {
console.error("[admin/compliance-orders] Error:", err);
res.status(500).json({ error: "Could not load compliance orders." });
}
});
/** GET /api/v1/admin/compliance-orders/stats — queue overview counts. */
router.get("/api/v1/admin/compliance-orders/stats", requireAdmin, async (_req, res) => {
try {
const { rows } = await pool.query(`
SELECT
COUNT(*) FILTER (WHERE payment_status = 'paid') AS paid,
COUNT(*) FILTER (WHERE payment_status = 'pending_payment') AS pending_payment,
COUNT(*) FILTER (WHERE payment_status = 'paid' AND COALESCE(intake_data_validated, FALSE) = FALSE) AS paid_intake_incomplete,
COUNT(*) FILTER (WHERE fulfillment_status = 'ready_to_file') AS ready_to_file,
COUNT(*) FILTER (WHERE fulfillment_status = 'awaiting_intake') AS awaiting_intake,
COUNT(*) FILTER (WHERE fulfillment_status = 'completed') AS completed,
COUNT(*) AS total
FROM compliance_orders
`);
res.json(rows[0]);
} catch (err) {
console.error("[admin/compliance-orders/stats] Error:", err);
res.status(500).json({ error: "Could not load stats." });
}
});
/** GET /api/v1/admin/compliance-orders/:order_number — single order full detail. */
router.get("/api/v1/admin/compliance-orders/:order_number", requireAdmin, async (req, res) => {
try {
const { rows } = await pool.query(
`SELECT co.*, te.legal_name AS entity_name, te.frn AS entity_frn
FROM compliance_orders co
LEFT JOIN telecom_entities te ON te.id = co.telecom_entity_id
WHERE co.order_number = $1`,
[req.params.order_number],
);
if (rows.length === 0) { res.status(404).json({ error: "Order not found." }); return; }
const order = rows[0];
const audit = await pool.query(
`SELECT * FROM order_audit_log
WHERE order_number = $1 AND order_type IN ('compliance', 'compliance_batch')
ORDER BY created_at DESC`,
[order.order_number],
);
res.json({ order, audit_log: audit.rows });
} catch (err) {
console.error("[admin/compliance-orders/:id] Error:", err);
res.status(500).json({ error: "Could not load order." });
}
});
/**
* POST /api/v1/admin/compliance-orders/:order_number/approve
* Approve a prepared filing held at fulfillment_status='ready_to_file' and
* dispatch the worker to actually submit it to the government system.
*/
router.post("/api/v1/admin/compliance-orders/:order_number/approve", requireAdmin, async (req, res) => {
const id = req.params.order_number;
try {
const { rows } = await pool.query(
`SELECT order_number, service_slug, fulfillment_status,
COALESCE(intake_data_validated, FALSE) AS intake_data_validated
FROM compliance_orders WHERE order_number = $1`,
[id],
);
const order = rows[0];
if (!order) { res.status(404).json({ error: "Order not found." }); return; }
if (order.fulfillment_status !== "ready_to_file") {
res.status(409).json({
error: `Order is not awaiting submission approval (status=${order.fulfillment_status ?? "none"}).`,
});
return;
}
// Safety gate: never let an order be filed while its intake is still
// incomplete (e.g. an admin-assisted service parked at ready_to_file before
// the customer finished intake). The caller must pass {force:true} to
// override, which is logged in the audit trail.
if (!order.intake_data_validated && req.body?.force !== true) {
res.status(409).json({
error: "Intake is not complete for this order. Review the documents and resend the intake reminder, or pass force to override.",
code: "intake_incomplete",
});
return;
}
// Flip status + write the audit row atomically. Previously these were two
// separate pool.query calls, so a failure on the audit insert (e.g. an
// order_type CHECK violation) left the status changed but un-dispatched and
// returned a 500 -- the order silently fell out of ready_to_file without
// being filed. A transaction keeps them all-or-nothing.
const client = await pool.connect();
try {
await client.query("BEGIN");
await client.query(
`UPDATE compliance_orders
SET fulfillment_status = 'authorization_signed', fulfillment_status_at = now(), updated_at = now()
WHERE order_number = $1`,
[id],
);
await client.query(
`INSERT INTO order_audit_log (order_type, order_id, order_number, action, from_status, to_status, actor_type, actor_id, actor_name, note)
VALUES ('compliance', 0, $1, 'approved_for_submission', 'ready_to_file', 'authorization_signed', 'admin', $2, $3, $4)`,
[id, req.admin!.id, req.admin!.username,
(req.body?.note as string)
|| (order.intake_data_validated
? "Approved + dispatched for government submission"
: "Approved + dispatched (intake-incomplete override)")],
);
await client.query("COMMIT");
} catch (txErr) {
await client.query("ROLLBACK").catch(() => {});
throw txErr;
} finally {
client.release();
}
const workerUrl = process.env.WORKER_URL || "http://workers:8090";
let dispatched = false;
try {
const r = await fetch(`${workerUrl}/jobs`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
action: "process_compliance_service",
order_name: id,
order_number: id,
service_slug: order.service_slug,
admin_approved: true,
}),
});
dispatched = r.ok;
} catch (err) {
console.error(`[admin/compliance-orders] approve dispatch failed for ${id}:`, err);
}
res.json({ success: true, order_number: id, dispatched });
} catch (err) {
console.error(`[admin/compliance-orders] approve error for ${id}:`, err);
res.status(500).json({ error: "Approve failed." });
}
});
/**
* POST /api/v1/admin/compliance-orders/:order_number/rearm-intake
* Re-arm the daily intake reminder for a paid+incomplete order whose reminders
* went quiet (clears intake_reminder_last_at so the next daily run nudges it).
* Optionally resets the count back to 0 with { reset_count: true }.
*/
router.post("/api/v1/admin/compliance-orders/:order_number/rearm-intake", requireAdmin, async (req, res) => {
const id = req.params.order_number;
try {
const resetCount = req.body?.reset_count === true;
const { rows } = await pool.query(
`SELECT order_number, batch_id, payment_status,
COALESCE(intake_data_validated, FALSE) AS intake_data_validated
FROM compliance_orders WHERE order_number = $1`,
[id],
);
const order = rows[0];
if (!order) { res.status(404).json({ error: "Order not found." }); return; }
if (order.payment_status !== "paid") {
res.status(409).json({ error: "Only paid orders can be re-armed." });
return;
}
if (order.intake_data_validated) {
res.status(409).json({ error: "Intake is already complete for this order." });
return;
}
// Re-arm the whole batch when this order belongs to one, so a multi-service
// customer gets a single consolidated nudge (matches the worker grouping).
const filter = order.batch_id
? { clause: "batch_id = $1", val: order.batch_id }
: { clause: "order_number = $1", val: id };
const updated = await pool.query(
`UPDATE compliance_orders
SET intake_reminder_last_at = NULL
${resetCount ? ", intake_reminder_count = 0" : ""},
updated_at = now()
WHERE ${filter.clause}
AND payment_status = 'paid'
AND COALESCE(intake_data_validated, FALSE) = FALSE
RETURNING order_number`,
[filter.val],
);
await pool.query(
`INSERT INTO order_audit_log (order_type, order_id, order_number, action, actor_type, actor_id, actor_name, note)
VALUES ('compliance', 0, $1, 'intake_reminder_rearmed', 'admin', $2, $3, $4)`,
[id, req.admin!.id, req.admin!.username,
`Re-armed intake reminder for ${updated.rowCount} order(s)${resetCount ? " (count reset to 0)" : ""}`],
);
res.json({ success: true, rearmed: updated.rowCount });
} catch (err) {
console.error(`[admin/compliance-orders] rearm-intake error for ${id}:`, err);
res.status(500).json({ error: "Re-arm failed." });
}
});
/**
* POST /api/v1/admin/compliance-orders/:order_number/mark-filed
* Advance an order's fulfillment_status after a human has handled it. Used for
* admin-assisted services (UCR, MC authority, etc.) that have no automated
* filing path: once you've filed it on the government portal, mark it
* filed_waiting_state (submitted, awaiting the agency) or completed (done).
* body: { status: 'filed_waiting_state' | 'completed', note?, confirmation? }
*/
router.post("/api/v1/admin/compliance-orders/:order_number/mark-filed", requireAdmin, async (req, res) => {
const id = req.params.order_number;
const ALLOWED = new Set(["filed_waiting_state", "completed"]);
try {
const status = String(req.body?.status || "");
if (!ALLOWED.has(status)) {
res.status(400).json({ error: "status must be filed_waiting_state or completed." });
return;
}
const { rows } = await pool.query(
`SELECT order_number, fulfillment_status FROM compliance_orders WHERE order_number = $1`,
[id],
);
const order = rows[0];
if (!order) { res.status(404).json({ error: "Order not found." }); return; }
const confirmation = (req.body?.confirmation as string) || "";
const note = (req.body?.note as string)
|| `Marked ${status} by admin${confirmation ? ` (confirmation: ${confirmation})` : ""}`;
const client = await pool.connect();
try {
await client.query("BEGIN");
await client.query(
`UPDATE compliance_orders
SET fulfillment_status = $2, fulfillment_status_at = now(), updated_at = now()
WHERE order_number = $1`,
[id, status],
);
// Record the confirmation number into intake_data.filing_status when given.
if (confirmation) {
await client.query(
`UPDATE compliance_orders
SET intake_data = jsonb_set(
jsonb_set(COALESCE(intake_data, '{}'::jsonb), '{filing_status}',
COALESCE(intake_data->'filing_status', '{}'::jsonb)),
'{filing_status,manual_confirmation}', to_jsonb($2::text))
WHERE order_number = $1`,
[id, confirmation],
);
}
await client.query(
`INSERT INTO order_audit_log (order_type, order_id, order_number, action, from_status, to_status, actor_type, actor_id, actor_name, note)
VALUES ('compliance', 0, $1, 'marked_filed', $2, $3, 'admin', $4, $5, $6)`,
[id, order.fulfillment_status, status, req.admin!.id, req.admin!.username, note],
);
await client.query("COMMIT");
} catch (txErr) {
await client.query("ROLLBACK").catch(() => {});
throw txErr;
} finally {
client.release();
}
res.json({ success: true, order_number: id, status });
} catch (err) {
console.error(`[admin/compliance-orders] mark-filed error for ${id}:`, err);
res.status(500).json({ error: "Mark-filed failed." });
}
});
// ── Document discovery + viewing ─────────────────────────────────────────────
//
// Every prepared/signed filing PDF lives in MinIO. We surface them so you can
// review the actual document (e.g. the signed MCS-150 / authorization) before
// approving an order for government submission. Keys come from three places:
// 1. esign_records — the unsigned + signed e-sign PDFs per order
// 2. intake_data.filing_status — pdf_minio_path / attested_pdf / evidence/*
// 3. compliance_orders cols — engagement_letter_minio_key, rmd_packet_minio_paths
//
// Browsers can't open MinIO's IP-allowlisted public host, so instead of handing
// out presigned URLs we STREAM the object through the API (JWT-gated). The
// stream endpoint accepts the token via ?token= so it works in a new tab.
const WORKER_URL_ADMIN = process.env.WORKER_URL || "http://workers:8090";
// Slugs that actually generate an MCS-150 PDF (mirrors MCS150_FORM_SLUGS in
// scripts/workers/services/mcs150_update.py). Other admin-assisted DOT services
// routed to the same handler (UCR, MC authority, audit prep, ETA, etc.) never
// produce that form, even though the shared filing_status carries a phantom
// pdf_minio_path.
const FORM_PRODUCING_SLUGS = new Set<string>([
"mcs150-update",
"dot-registration",
"usdot-reactivation",
"dot-full-compliance",
]);
/** Ask the worker for a presigned (internal minio:9000) GET URL. */
async function presignInternal(key: string): Promise<string | null> {
if (!key) return null;
try {
const r = await fetch(`${WORKER_URL_ADMIN}/jobs/presign`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ key, expires: 600, method: "GET" }),
});
if (!r.ok) return null;
const data = (await r.json()) as { url?: string };
return data.url || null;
} catch {
return null;
}
}
/** Collect every known MinIO document key for an order (deduped, labeled). */
async function collectOrderDocuments(orderNumber: string): Promise<Array<{ label: string; key: string }>> {
const docs: Array<{ label: string; key: string }> = [];
const seen = new Set<string>();
const add = (label: string, key: unknown) => {
if (typeof key === "string" && key && !seen.has(key)) {
seen.add(key);
docs.push({ label, key });
}
};
// 1. Order row: intake_data filing artifacts + per-order document columns.
const ord = await pool.query(
`SELECT service_slug, intake_data, engagement_letter_minio_key, rmd_packet_minio_paths
FROM compliance_orders WHERE order_number = $1`,
[orderNumber],
);
if (ord.rows.length) {
const o = ord.rows[0];
const slug = (o.service_slug as string) || "";
const intake = (o.intake_data && typeof o.intake_data === "object" ? o.intake_data : {}) as Record<string, any>;
const fs = (intake.filing_status && typeof intake.filing_status === "object" ? intake.filing_status : {}) as Record<string, any>;
// The shared dot-compliance-remediation pipeline seeds a filing_status with a
// template pdf_minio_path on EVERY order in a batch, but only services that
// actually produce an MCS-150 form ever generate that PDF. For admin-assisted
// services (UCR, MC authority, audit prep, etc.) it's a phantom that never
// exists, so only surface the prepared-filing artifacts for form producers.
if (FORM_PRODUCING_SLUGS.has(slug)) {
add("Prepared filing PDF", fs.pdf_minio_path);
add("Attested PDF (faxed)", fs.attested_pdf);
}
// Submission evidence: durable MinIO copies written by the worker after a
// government submission. NOTE: fs.screenshot_path is a worker-local temp
// path (not a MinIO key) -- the durable copy lives in fs.evidence, so we use
// that. Skip evidence entries that aren't object keys (e.g. fax_log_id).
if (fs.evidence && typeof fs.evidence === "object") {
const EVIDENCE_LABELS: Record<string, string> = {
confirmation_screenshot: "Filing confirmation screenshot",
pre_submit_screenshot: "Pre-submission screenshot",
attested_pdf_minio: "Attested filing PDF",
};
for (const [k, v] of Object.entries(fs.evidence as Record<string, any>)) {
if (k === "fax_log_id") continue; // an ID, not a file
add(EVIDENCE_LABELS[k] || ("Evidence: " + k.replace(/_/g, " ")), v);
}
}
add("Engagement letter", o.engagement_letter_minio_key);
const rmd = o.rmd_packet_minio_paths;
if (Array.isArray(rmd)) rmd.forEach((k, i) => add(`RMD packet ${i + 1}`, k));
else if (rmd && typeof rmd === "object") for (const [k, v] of Object.entries(rmd)) add("RMD: " + k, v);
}
// 2. e-sign records: the unsigned doc and (once signed) the signed doc.
const es = await pool.query(
`SELECT document_type, status, document_minio_key, signed_document_minio_key
FROM esign_records WHERE order_number = $1 ORDER BY created_at`,
[orderNumber],
);
for (const r of es.rows as any[]) {
const t = (r.document_type || "document").replace(/[-_]/g, " ");
if (r.signed_document_minio_key) add(`Signed ${t}`, r.signed_document_minio_key);
add(`${r.status === "signed" ? "Unsigned" : "Pending"} ${t}`, r.document_minio_key);
}
return docs;
}
/** GET /api/v1/admin/compliance-orders/:order_number/documents — list viewable PDFs. */
router.get("/api/v1/admin/compliance-orders/:order_number/documents", requireAdmin, async (req, res) => {
try {
const exists = await pool.query("SELECT 1 FROM compliance_orders WHERE order_number = $1", [req.params.order_number]);
if (exists.rows.length === 0) { res.status(404).json({ error: "Order not found." }); return; }
const docs = await collectOrderDocuments(req.params.order_number);
// Verify each object actually exists in storage. A key can be recorded in
// the DB before (or without) the object ever being uploaded -- e.g. a
// template pdf_minio_path, or a stray esign_records row from the shared
// remediation pipeline. We DROP non-existent objects so the UI only ever
// lists documents you can actually open; the empty state explains the rest.
const checked = await Promise.all(docs.map(async (d) => {
let present = false;
try {
const url = await presignInternal(d.key);
if (url) {
// The presigned URL is signed for GET, so a HEAD request fails the
// signature check. Use a 1-byte ranged GET to confirm existence
// cheaply without downloading the whole object.
const probe = await fetch(url, { headers: { Range: "bytes=0-0" } });
present = probe.ok; // 200 or 206
}
} catch { /* treat as missing */ }
const lower = d.key.toLowerCase();
const isImage = lower.endsWith(".png") || lower.endsWith(".jpg") || lower.endsWith(".jpeg") || lower.endsWith(".gif") || lower.endsWith(".webp");
return { ...d, exists: present, is_image: isImage };
}));
const available = checked.filter((d) => d.exists);
res.json({ order_number: req.params.order_number, documents: available });
} catch (err) {
console.error("[admin/compliance-orders/documents] Error:", err);
res.status(500).json({ error: "Could not list documents." });
}
});
/**
* GET /api/v1/admin/compliance-orders/:order_number/document?key=...&token=...
* Stream a single MinIO object through the API (JWT-gated via header or ?token).
* The key MUST be one we discovered for this order prevents arbitrary-object
* reads from a valid admin token.
*/
router.get("/api/v1/admin/compliance-orders/:order_number/document", requireAdminQueryOrHeader, async (req, res) => {
try {
const key = typeof req.query.key === "string" ? req.query.key : "";
if (!key) { res.status(400).json({ error: "key required" }); return; }
const docs = await collectOrderDocuments(req.params.order_number);
if (!docs.some((d) => d.key === key)) {
res.status(403).json({ error: "Key does not belong to this order." });
return;
}
const url = await presignInternal(key);
if (!url) { res.status(502).json({ error: "Could not generate object URL." }); return; }
const upstream = await fetch(url);
if (upstream.status === 404) {
res.status(404).json({ error: "Document not found in storage (it may not have been generated yet)." });
return;
}
if (!upstream.ok || !upstream.body) {
res.status(502).json({ error: `Object fetch failed (${upstream.status}).` });
return;
}
// Infer a sensible content type; default to PDF (almost all are).
const lower = key.toLowerCase();
const ct = lower.endsWith(".pdf") ? "application/pdf"
: lower.endsWith(".png") ? "image/png"
: lower.endsWith(".jpg") || lower.endsWith(".jpeg") ? "image/jpeg"
: lower.endsWith(".xlsx") ? "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
: upstream.headers.get("content-type") || "application/octet-stream";
res.setHeader("Content-Type", ct);
res.setHeader("Content-Disposition", `inline; filename="${key.split("/").pop() || "document"}"`);
const len = upstream.headers.get("content-length");
if (len) res.setHeader("Content-Length", len);
const buf = Buffer.from(await upstream.arrayBuffer());
res.end(buf);
} catch (err) {
console.error("[admin/compliance-orders/document] Error:", err);
res.status(500).json({ error: "Could not stream document." });
}
});
export default router;

View file

@ -226,17 +226,34 @@ router.post("/api/v1/canada-crtc/orders", submitLimiter, async (req, res) => {
: company_type === "numbered_tradename" ? TRADE_NAME_SERVICE_FEE
: 0;
// Discount code (applies to service fee only, not gov fees)
// Discount code (applies to service fee only, not gov fees).
// Enforce active + start/expiry windows + global usage limit + scope
// server-side so promotional expiry (e.g. "expires Friday") is honored at
// checkout, not just in the front-end validator. Mirrors GET
// /api/v1/discount/:code in routes/discounts.ts.
let discountCents = 0;
if (discount_code) {
const dcResult = await pool.query("SELECT * FROM discount_codes WHERE code = $1 AND active = TRUE", [discount_code.toUpperCase()]);
if (dcResult.rows.length > 0) {
const dc = dcResult.rows[0];
const discountableAmount = SERVICE_FEE + typeAddon; // discount applies to full service fee
if (dc.discount_type === "percent") {
discountCents = Math.round((discountableAmount * dc.discount_value) / 100);
const now = new Date();
const notStarted = dc.starts_at && new Date(dc.starts_at) > now;
const expired = dc.expires_at && new Date(dc.expires_at) < now;
const usedUp = dc.max_uses !== null && dc.current_uses >= dc.max_uses;
const outOfScope = (() => {
if (!dc.applies_to) return false; // NULL = all services
const allowed = String(dc.applies_to).split(",").map((s: string) => s.trim().toLowerCase());
return !allowed.includes("canada-crtc");
})();
if (notStarted || expired || usedUp || outOfScope) {
console.warn(`[canada-crtc] discount ${dc.code} rejected at checkout`, { notStarted, expired, usedUp, outOfScope });
} else {
discountCents = Math.min(dc.discount_value, discountableAmount);
const discountableAmount = SERVICE_FEE + typeAddon; // discount applies to full service fee
if (dc.discount_type === "percent") {
discountCents = Math.round((discountableAmount * dc.discount_value) / 100);
} else {
discountCents = Math.min(dc.discount_value, discountableAmount);
}
}
}
}

View file

@ -93,6 +93,7 @@ async function ensureColumns(): Promise<void> {
await pool.query(`ALTER TABLE formation_orders ADD COLUMN IF NOT EXISTS stripe_session_id TEXT`);
await pool.query(`ALTER TABLE formation_orders ADD COLUMN IF NOT EXISTS payment_status TEXT DEFAULT 'pending_payment'`);
await pool.query(`ALTER TABLE formation_orders ADD COLUMN IF NOT EXISTS paid_at TIMESTAMPTZ`);
await pool.query(`ALTER TABLE formation_orders ADD COLUMN IF NOT EXISTS erpnext_sales_order TEXT`);
await pool.query(`ALTER TABLE bundle_orders ADD COLUMN IF NOT EXISTS stripe_session_id TEXT`);
await pool.query(`ALTER TABLE bundle_orders ADD COLUMN IF NOT EXISTS payment_method TEXT`);
await pool.query(`ALTER TABLE bundle_orders ADD COLUMN IF NOT EXISTS surcharge_pct NUMERIC`);
@ -103,6 +104,12 @@ async function ensureColumns(): Promise<void> {
try {
await pool.query(`ALTER TABLE compliance_orders ADD COLUMN IF NOT EXISTS paypal_order_id TEXT`);
await pool.query(`ALTER TABLE compliance_orders ADD COLUMN IF NOT EXISTS crypto_details JSONB`);
// Recurring services (e.g. OIG/SAM monthly monitoring) track the Stripe
// Subscription so renewal webhooks (invoice.paid) can map back to the order.
await pool.query(`ALTER TABLE compliance_orders ADD COLUMN IF NOT EXISTS stripe_subscription_id TEXT`);
// Bundle buyers get the first OIG/SAM screening included, then an automated
// upsell to the $79/mo monitoring subscription — this dedupes that send.
await pool.query(`ALTER TABLE compliance_orders ADD COLUMN IF NOT EXISTS bundle_upsell_sent_at TIMESTAMPTZ`);
} catch { /* table may not exist yet */ }
schemaMigrated = true;
}
@ -166,19 +173,21 @@ async function findOrCreateCustomer(
}
/**
* Ensure a compliance customer has an ERPNext portal account and persist the
* Ensure a paid customer has an ERPNext portal account and persist the
* `portal_user_created` flag on their order rows.
*
* ERPNext (portal.performancewest.net) is the single customer portal. Normal
* ERPNext (portal.performancewest.net) is the SINGLE source of truth for the
* customer portal login, password, and the customer/order records. Normal
* Stripe checkout provisions the Website User up-front via findOrCreateCustomer,
* but PayPal / crypto / remediation-pipeline orders reach handlePaymentComplete
* without ever creating one leaving those customers unable to log in. This
* runs in that shared post-payment path so EVERY paid compliance order gets a
* portal account regardless of how it was created or paid. Fully idempotent:
* ensureWebsiteUser no-ops if the User already exists, and we only flip the
* flag (which gates the delivery worker's set-password invite) the first time.
* runs in that shared post-payment path so EVERY paid order (compliance,
* canada_crtc, formation) gets an ERPNext Customer + Website User regardless of
* how it was created or paid. Fully idempotent: ensureWebsiteUser no-ops if the
* User already exists, and we only flip the flag (which gates the delivery
* worker's set-password invite) the first time.
*/
async function ensureCompliancePortalUser(
async function ensurePortalUser(
orderId: string,
orderType: string,
rows: Record<string, unknown>[],
@ -187,16 +196,47 @@ async function ensureCompliancePortalUser(
if (!first) return;
const email = ((first.customer_email as string) || "").toLowerCase().trim();
const name = (first.customer_name as string) || email.split("@")[0] || "Customer";
// Company: compliance_orders has no customer_company column; it lives in
// intake_data. Fall back gracefully across order types.
let company: string | null = (first.customer_company as string) || null;
if (!company && first.intake_data) {
try {
const intake = typeof first.intake_data === "string"
? JSON.parse(first.intake_data as string)
: (first.intake_data as Record<string, unknown>);
company = (intake.company as string) || (intake.legal_name as string)
|| (intake.entity_name as string) || null;
} catch { /* ignore */ }
}
if (!email) return;
// Skip obviously non-deliverable placeholder addresses so we never create a
// dead portal account or fire a set-password invite into the void. (e.g. the
// FMCSA-census "synthetic@pipeline.com" placeholder used when no real email
// was found.) These orders need a real email before onboarding.
const domain = email.split("@")[1] || "";
if (domain === "pipeline.com" || email.startsWith("synthetic@")) {
console.warn(`[checkout] Skipping portal provisioning for ${orderId}: placeholder email ${email}`);
return;
// (No address suppression here. `synthetic@pipeline.com` is a real customer
// address (EarthLink/pipeline.com), not a placeholder -- provisioning + email
// proceed normally. Only RFC-reserved test domains are rejected upstream at
// order creation (emailError in compliance-orders.ts).)
// ── Portal profile row (Postgres `customers`) ───────────────────────
// ERPNext is the single source of truth for portal passwords (see
// portal-auth.ts). This Postgres `customers` row is just the PG-side
// profile + order-linking record (customer_id FK) and carries NO password.
// We create it here so the customer can immediately register/reset (which
// writes the password to ERPNext) and so order routes that join on
// customer_id work. The Stripe path historically relied on the customer
// self-registering; PayPal/crypto orders reach here directly and otherwise
// had NO customers row, which is why PayPal customers could not log in or
// reset their password. Idempotent. See docs / Paul Wilson incident
// 2026-06-09.
try {
await pool.query(
`INSERT INTO customers (email, name, company)
VALUES ($1, $2, $3)
ON CONFLICT (email) DO UPDATE SET
name = COALESCE(customers.name, EXCLUDED.name),
company = COALESCE(customers.company, EXCLUDED.company)`,
[email, name, company],
);
} catch (custErr) {
console.warn("[checkout] Could not upsert portal customers row:", custErr);
}
// Provision the ERPNext Website User (idempotent) and link to the Customer.
@ -209,7 +249,11 @@ async function ensureCompliancePortalUser(
if (portalUserCreated) {
const table = orderType === "compliance_batch" || orderType === "compliance"
? "compliance_orders"
: null;
: orderType === "canada_crtc"
? "canada_crtc_orders"
: orderType === "formation"
? "formation_orders"
: null;
if (table) {
try {
if (orderType === "compliance_batch") {
@ -243,6 +287,123 @@ const CDR_STUDY_GRANTING_SLUGS = new Set([
"cdr-analysis",
]);
/**
* Create the ERPNext Sales Order for a compliance / compliance_batch order on
* payment completion. Idempotent: skips if the order(s) already have
* erpnext_sales_order set. Called from handlePaymentComplete so EVERY payment
* method (Stripe webhook, PayPal, crypto) creates the SO -- previously only the
* /checkout/create-session path did, so webhook-confirmed card orders had no SO
* and the workers logged "Sales Order not found 404".
*/
export async function ensureComplianceSalesOrder(
orderId: string,
orderType: string,
rows: Record<string, unknown>[],
paymentMethod: string,
): Promise<void> {
if (orderType !== "compliance" && orderType !== "compliance_batch") return;
if (!rows.length) return;
// Already created? (any row carrying the SO id) -> idempotent skip.
if (rows.some(r => r.erpnext_sales_order)) return;
const first = rows[0];
const email = ((first.customer_email as string) || "").toLowerCase().trim();
const name = (first.customer_name as string) || email.split("@")[0] || "Customer";
// NOTE: unlike portal provisioning, we do NOT skip the FMCSA-census placeholder
// email here -- a Sales Order is internal bookkeeping (not an outbound email),
// and some real customers genuinely use that address. We only need a non-empty
// email to attach an ERPNext Customer.
if (!email) return;
const { customerName: erpnextCustomer } = await findOrCreateCustomer(email, name);
if (!erpnextCustomer) return;
const { COMPLIANCE_SERVICES } = await import("./compliance-orders.js");
const surchargePct = Number(first.surcharge_pct || 0);
let surchargeCents = 0;
let discountCents = 0;
const lineItems = rows.map((o: Record<string, any>) => {
const info = COMPLIANCE_SERVICES[(o.service_slug as string) || ""];
surchargeCents += Number(o.surcharge_cents || 0);
discountCents += Number(o.discount_cents || 0);
const items: Array<{ item_code: string; description: string; qty: number; rate: number }> = [{
item_code: info?.erpnext_item || "COMPLIANCE-SERVICE",
description: (o.service_name as string) || info?.name || "Compliance Service",
qty: 1,
rate: toDollars((o.service_fee_cents as number) || 0),
}];
const govCents = (o.gov_fee_cents as number) || 0;
if (govCents > 0) {
items.push({
item_code: "GOVERNMENT-FILING-FEE",
description: (o.gov_fee_label as string) || "Government filing fee",
qty: 1,
rate: toDollars(govCents),
});
}
return items;
}).flat();
if (surchargeCents > 0) {
lineItems.push({
item_code: "PAYMENT-PROCESSING-FEE",
description: `${GATEWAY_LABELS[paymentMethod] || paymentMethod} surcharge`,
qty: 1,
rate: toDollars(surchargeCents),
});
}
const so = (await createResource("Sales Order", {
customer: erpnextCustomer,
delivery_date: new Date(Date.now() + 30 * 86400000).toISOString().split("T")[0],
custom_external_order_id: orderId,
custom_order_type: "compliance",
custom_payment_gateway: GATEWAY_LABELS[paymentMethod] || paymentMethod,
custom_surcharge_pct: surchargePct,
workflow_state: "Received",
items: lineItems,
// Reflect the promo/bundle discount so the SO grand total matches what the
// customer actually paid (line items are full price; discount applied here).
...(discountCents > 0 ? { apply_discount_on: "Grand Total", discount_amount: toDollars(discountCents) } : {}),
}).catch(async (e: unknown) => {
// Resilience: if a service's ERPNext Item is missing, the SO would 404.
// Retry once with every line item remapped to the generic COMPLIANCE-SERVICE
// item so a missing catalog Item never strands a paid order's SO. (The
// catalog Item should still be created; this is a safety net.)
const msg = String((e as { body?: { _server_messages?: string } })?.body?._server_messages || e);
if (/not found/i.test(msg)) {
console.warn(`[checkout] SO item missing for ${orderId}, retrying with generic item:`, msg.slice(0, 120));
const fallback = lineItems.map(li => ({ ...li, item_code: "COMPLIANCE-SERVICE" }));
return createResource("Sales Order", {
customer: erpnextCustomer,
delivery_date: new Date(Date.now() + 30 * 86400000).toISOString().split("T")[0],
custom_external_order_id: orderId,
custom_order_type: "compliance",
custom_payment_gateway: GATEWAY_LABELS[paymentMethod] || paymentMethod,
custom_surcharge_pct: surchargePct,
workflow_state: "Received",
items: fallback,
...(discountCents > 0 ? { apply_discount_on: "Grand Total", discount_amount: toDollars(discountCents) } : {}),
});
}
throw e;
})) as { name: string };
try {
await callMethod("frappe.client.submit", { doc: { doctype: "Sales Order", name: so.name } });
} catch { /* submit may fail if workflow doesn't require it */ }
// Link the SO back to the order row(s): batch by batch_id, single by order_number.
if (orderType === "compliance_batch") {
await pool.query(`UPDATE compliance_orders SET erpnext_sales_order = $1 WHERE batch_id = $2`, [so.name, orderId]);
} else {
await pool.query(`UPDATE compliance_orders SET erpnext_sales_order = $1 WHERE order_number = $2`, [so.name, orderId]);
}
console.log(`[checkout] Created ERPNext Sales Order ${so.name} for ${orderType} ${orderId} (${lineItems.length} line items)`);
}
async function grantCDRStudyAccess(
order: Record<string, unknown>,
order_id: string,
@ -748,8 +909,30 @@ router.post("/api/v1/checkout/create-session", async (req, res) => {
// For batch orders, total discount comes from the orderData; for single orders, from the order row
const discount_cents = (orderData as any).discount_cents ?? (order.discount_cents as number) ?? 0;
// ── Recurring (subscription) gate ─────────────────────────────────────
// A service flagged billing_interval in the catalog is sold as a Stripe
// Subscription (mode:"subscription"), not a one-time charge. Only methods
// that can do off-session recurring charges (card/ACH) are permitted, and
// only single compliance orders (no batches) can be recurring.
const { COMPLIANCE_SERVICES: CATALOG } = await import("./compliance-orders.js");
const recurringSlug = (order.service_slug as string) || "";
const recurringSvc = order_type === "compliance" ? CATALOG[recurringSlug] : undefined;
const billingInterval = recurringSvc?.billing_interval; // "month" | "year" | undefined
const allowedMethods = recurringSvc?.allowed_methods; // restricts methods if set
if (allowedMethods && !allowedMethods.includes(payment_method as any)) {
res.status(400).json({
error: `${recurringSvc?.name || "This service"} can only be paid by ${allowedMethods.join(" or ")}.`,
code: "METHOD_NOT_ALLOWED",
allowed_methods: allowedMethods,
});
return;
}
// ── Server-side surcharge (applied to post-discount amount) ───────────
const surcharge_pct = GATEWAY_SURCHARGES[payment_method] ?? 0;
// Recurring services bill a clean flat amount ($79/mo) — Stripe subscription
// line items all recur, so a one-time surcharge line is not representable;
// absorb the ~3% card fee instead. ACH is 0% anyway.
const surcharge_pct = billingInterval ? 0 : (GATEWAY_SURCHARGES[payment_method] ?? 0);
const surcharge_cents = Math.round(((base_cents - discount_cents) * surcharge_pct) / 100);
const total_cents = base_cents + surcharge_cents - discount_cents;
@ -965,6 +1148,184 @@ router.post("/api/v1/checkout/create-session", async (req, res) => {
}
}
// ── Create ERPNext Sales Order (compliance BATCH) ───────────────────────
// A batch (CB-XXXX) is one customer paying for several services at once, so
// it becomes ONE Sales Order with a line item per service (plus the
// processing-fee line). Previously batches created no SO at all, so trucking
// new-carrier orders (which always use the batch path) never reached ERPNext.
if (order_type === "compliance_batch" && erpnextCustomer) {
try {
const { COMPLIANCE_SERVICES } = await import("./compliance-orders.js");
const { rows: batchRows } = await pool.query(
`SELECT * FROM compliance_orders WHERE batch_id = $1 ORDER BY created_at`,
[order_id],
);
const lineItems = batchRows.map((o: Record<string, any>) => {
const info = COMPLIANCE_SERVICES[(o.service_slug as string) || ""];
const svcCents = (o.service_fee_cents as number) || 0;
const govCents = (o.gov_fee_cents as number) || 0;
const items: Array<{ item_code: string; description: string; qty: number; rate: number }> = [{
item_code: info?.erpnext_item || "COMPLIANCE-SERVICE",
description: (o.service_name as string) || info?.name || "Compliance Service",
qty: 1,
rate: toDollars(svcCents),
}];
if (govCents > 0) {
items.push({
item_code: "GOVERNMENT-FILING-FEE",
description: (o.gov_fee_label as string) || "Government filing fee",
qty: 1,
rate: toDollars(govCents),
});
}
return items;
}).flat();
if (surcharge_cents > 0) {
lineItems.push({
item_code: "PAYMENT-PROCESSING-FEE",
description: `${GATEWAY_LABELS[payment_method] || payment_method} ${surcharge_pct}%`,
qty: 1,
rate: toDollars(surcharge_cents),
});
}
const so = (await createResource("Sales Order", {
customer: erpnextCustomer,
delivery_date: new Date(Date.now() + 30 * 86400000).toISOString().split("T")[0],
custom_external_order_id: order_id,
custom_order_type: "compliance",
custom_payment_gateway: GATEWAY_LABELS[payment_method] || payment_method,
custom_surcharge_pct: surcharge_pct,
workflow_state: "Received",
items: lineItems,
})) as { name: string };
try {
await callMethod("frappe.client.submit", { doc: { doctype: "Sales Order", name: so.name } });
} catch { /* submit may fail if workflow doesn't require it */ }
await pool.query(
`UPDATE compliance_orders SET erpnext_sales_order = $1 WHERE batch_id = $2`,
[so.name, order_id],
);
console.log(`[checkout] Created ERPNext Sales Order ${so.name} for batch ${order_id} (${lineItems.length} line items)`);
} catch (soErr) {
console.warn("[checkout] Batch Sales Order creation failed (non-blocking):", soErr);
}
}
// ── Create ERPNext Sales Order (US business formation) ──────────────────
if (order_type === "formation" && erpnextCustomer) {
try {
const pgOrder = orderData.order as Record<string, any>;
const entityType = (pgOrder.entity_type as string) || "LLC";
const stateCode = (pgOrder.state_code as string) || "";
const stateFeeCents = (pgOrder.state_fee_cents as number) || 0;
const so = (await createResource("Sales Order", {
customer: erpnextCustomer,
delivery_date: new Date(Date.now() + 30 * 86400000).toISOString().split("T")[0],
custom_external_order_id: order_id,
custom_order_type: "formation",
custom_payment_gateway: GATEWAY_LABELS[payment_method] || payment_method,
custom_surcharge_pct: surcharge_pct,
workflow_state: "Received",
items: [{
item_code: "BUSINESS-FORMATION",
description: `${entityType} Formation${stateCode ? `${stateCode}` : ""}`,
qty: 1,
rate: toDollars((pgOrder.service_fee_cents as number) || base_cents - stateFeeCents - surcharge_cents),
}, ...(stateFeeCents > 0 ? [{
item_code: "STATE-FILING-FEE",
description: `${stateCode} state filing fee (government fee)`,
qty: 1,
rate: toDollars(stateFeeCents),
}] : []), ...(surcharge_cents > 0 ? [{
item_code: "PAYMENT-PROCESSING-FEE",
description: `${GATEWAY_LABELS[payment_method] || payment_method} ${surcharge_pct}%`,
qty: 1,
rate: toDollars(surcharge_cents),
}] : [])],
})) as { name: string };
try {
await callMethod("frappe.client.submit", { doc: { doctype: "Sales Order", name: so.name } });
} catch { /* submit may fail if workflow doesn't require it */ }
await pool.query(
`UPDATE formation_orders SET erpnext_sales_order = $1 WHERE order_number = $2`,
[so.name, order_id],
);
console.log(`[checkout] Created ERPNext Sales Order ${so.name} for formation ${order_id}`);
} catch (soErr) {
console.warn("[checkout] Formation Sales Order creation failed (non-blocking):", soErr);
}
}
// ── Create ERPNext Sales Order (FCC carrier / ISP registration) ─────────
if (order_type === "fcc_carrier_registration" && erpnextCustomer) {
try {
const pgOrder = orderData.order as Record<string, any>;
const items: Array<Record<string, unknown>> = [{
item_code: "FCC-CARRIER-REGISTRATION",
description: "FCC Carrier / ISP Registration",
qty: 1,
rate: toDollars((pgOrder.service_fee_cents as number) || 129900),
}];
const formationFee = ((pgOrder.formation_fee_cents as number) || 0) + ((pgOrder.state_fee_cents as number) || 0);
if (formationFee > 0) {
items.push({
item_code: "BUSINESS-FORMATION",
description: `Business Formation (${pgOrder.formation_state || "?"} ${((pgOrder.entity_type as string) || "LLC").toUpperCase()})`,
qty: 1,
rate: toDollars(formationFee),
});
}
if (pgOrder.include_stir_shaken) {
items.push({ item_code: "STIR-SHAKEN", description: "STIR/SHAKEN Implementation", qty: 1, rate: toDollars(49900) });
}
if (pgOrder.include_ocn) {
items.push({ item_code: "NECA-OCN", description: "NECA OCN Registration", qty: 1, rate: toDollars(265000) });
}
const pucCents = (pgOrder.puc_fee_cents as number) || 0;
if (pucCents > 0) {
const stateCount = ((pgOrder.state_puc_states as string[]) || []).length;
items.push({ item_code: "STATE-PUC-REGISTRATION", description: `State PUC Registration (${stateCount} state${stateCount !== 1 ? "s" : ""})`, qty: 1, rate: toDollars(pucCents) });
}
if (surcharge_cents > 0) {
items.push({ item_code: "PAYMENT-PROCESSING-FEE", description: `${GATEWAY_LABELS[payment_method] || payment_method} ${surcharge_pct}%`, qty: 1, rate: toDollars(surcharge_cents) });
}
const so = (await createResource("Sales Order", {
customer: erpnextCustomer,
delivery_date: new Date(Date.now() + 30 * 86400000).toISOString().split("T")[0],
custom_external_order_id: order_id,
custom_order_type: "fcc_carrier_registration",
custom_payment_gateway: GATEWAY_LABELS[payment_method] || payment_method,
custom_surcharge_pct: surcharge_pct,
workflow_state: "Received",
items,
})) as { name: string };
try {
await callMethod("frappe.client.submit", { doc: { doctype: "Sales Order", name: so.name } });
} catch { /* submit may fail if workflow doesn't require it */ }
await pool.query(
`UPDATE fcc_carrier_registrations SET erpnext_sales_order = $1 WHERE order_number = $2`,
[so.name, order_id],
);
console.log(`[checkout] Created ERPNext Sales Order ${so.name} for fcc_carrier_registration ${order_id}`);
} catch (soErr) {
console.warn("[checkout] FCC Sales Order creation failed (non-blocking):", soErr);
}
}
// ── Create Stripe Checkout Session ─────────────────────────────────────
const STRIPE_PAYMENT_METHOD_MAP: Record<string, Stripe.Checkout.SessionCreateParams.PaymentMethodType[]> = {
card: ["card"],
@ -1145,36 +1506,68 @@ router.post("/api/v1/checkout/create-session", async (req, res) => {
...(payment_method === "ach" ? { setup_future_usage: "off_session" } : {}),
};
const session = await stripe.checkout.sessions.create({
mode: "payment",
payment_method_types: paymentMethodTypes,
line_items: allLineItems,
...(discounts ? { discounts } : {}),
customer_email: customer_email || undefined,
success_url: `${DOMAIN}/order/success?session_id={CHECKOUT_SESSION_ID}&order_id=${order_id}&order_type=${order_type}`,
cancel_url: `${DOMAIN}/order/cancelled?order_id=${order_id}&order_type=${order_type}${order.expedited ? "&expedited=1" : ""}`,
metadata: {
order_id,
order_type,
payment_method,
customer_email: customer_email || "",
customer_name: customer_name || "",
...(erpnextCustomer ? { erpnext_customer: erpnextCustomer } : {}),
const sharedMetadata = {
order_id,
order_type,
payment_method,
customer_email: customer_email || "",
customer_name: customer_name || "",
...(erpnextCustomer ? { erpnext_customer: erpnextCustomer } : {}),
};
// ACH via Financial Connections: collect bank account details only.
// (We intentionally do NOT request the 'balances' permission — see note
// below; it requires activating that Stripe product and otherwise errors.)
const achPaymentMethodOptions: Stripe.Checkout.SessionCreateParams.PaymentMethodOptions = {
us_bank_account: {
financial_connections: { permissions: ["payment_method"] },
verification_method: "instant",
},
payment_intent_data: paymentIntentData,
// ACH via Plaid: verify account balance before accepting payment
...(payment_method === "ach" ? {
payment_method_options: {
us_bank_account: {
financial_connections: {
permissions: ["payment_method", "balances"],
prefetch: ["balances"],
},
verification_method: "instant",
};
let session: Stripe.Checkout.Session;
if (billingInterval) {
// ── Recurring (Subscription) checkout ──────────────────────────────
// Convert the one-time line items into recurring prices. No surcharge
// line (absorbed above) so every line recurs cleanly at billingInterval.
const recurringLineItems: Stripe.Checkout.SessionCreateParams.LineItem[] =
stripeLineItems.map((li: any) => ({
quantity: li.quantity ?? 1,
price_data: {
currency: "usd",
product_data: li.price_data.product_data,
unit_amount: li.price_data.unit_amount,
recurring: { interval: billingInterval },
},
},
} : {}),
});
}));
session = await stripe.checkout.sessions.create({
mode: "subscription",
payment_method_types: paymentMethodTypes,
line_items: recurringLineItems,
customer_email: customer_email || undefined,
success_url: `${DOMAIN}/order/success?session_id={CHECKOUT_SESSION_ID}&order_id=${order_id}&order_type=${order_type}`,
cancel_url: `${DOMAIN}/order/cancelled?order_id=${order_id}&order_type=${order_type}`,
metadata: sharedMetadata,
// Stamp metadata onto the Subscription too, so renewal invoices
// (invoice.paid) can be mapped back to this order downstream.
subscription_data: { metadata: sharedMetadata },
...(payment_method === "ach" ? { payment_method_options: achPaymentMethodOptions } : {}),
});
} else {
session = await stripe.checkout.sessions.create({
mode: "payment",
payment_method_types: paymentMethodTypes,
line_items: allLineItems,
...(discounts ? { discounts } : {}),
customer_email: customer_email || undefined,
success_url: `${DOMAIN}/order/success?session_id={CHECKOUT_SESSION_ID}&order_id=${order_id}&order_type=${order_type}`,
cancel_url: `${DOMAIN}/order/cancelled?order_id=${order_id}&order_type=${order_type}${order.expedited ? "&expedited=1" : ""}`,
metadata: sharedMetadata,
payment_intent_data: paymentIntentData,
...(payment_method === "ach" ? { payment_method_options: achPaymentMethodOptions } : {}),
});
}
// (Sales Order already created above, before gateway split)
@ -1188,17 +1581,40 @@ router.post("/api/v1/checkout/create-session", async (req, res) => {
};
const table = tableMap[order_type];
if (table) {
// For batch orders, update by batch_id; otherwise by order_number
// For batch orders, update by batch_id; otherwise by order_number.
const whereCol = order_type === "compliance_batch" ? "batch_id" : "order_number";
await pool.query(
`UPDATE ${table}
SET stripe_session_id = $1,
payment_method = $2,
surcharge_pct = $3,
surcharge_cents = $4
WHERE ${whereCol} = $5`,
[session.id, payment_method, surcharge_pct, surcharge_cents, order_id],
);
if (order_type === "compliance_batch") {
// A batch has ONE surcharge for the whole order, but it is stored per
// row. Writing the full surcharge_cents to every row makes anything that
// SUMS the per-row field (e.g. the Telegram order notification) over-
// count by Nx. Split the single surcharge across the rows so the per-row
// values sum to the true total (remainder on the first row).
const { rows: brows } = await pool.query(
`SELECT order_number FROM ${table} WHERE batch_id = $1 ORDER BY created_at`,
[order_id],
);
const n = brows.length || 1;
const per = Math.floor(surcharge_cents / n);
const remainder = surcharge_cents - per * n;
for (let i = 0; i < brows.length; i++) {
const rowSurcharge = per + (i === 0 ? remainder : 0);
await pool.query(
`UPDATE ${table}
SET stripe_session_id = $1, payment_method = $2,
surcharge_pct = $3, surcharge_cents = $4
WHERE order_number = $5`,
[session.id, payment_method, surcharge_pct, rowSurcharge, brows[i].order_number],
);
}
} else {
await pool.query(
`UPDATE ${table}
SET stripe_session_id = $1, payment_method = $2,
surcharge_pct = $3, surcharge_cents = $4
WHERE ${whereCol} = $5`,
[session.id, payment_method, surcharge_pct, surcharge_cents, order_id],
);
}
}
console.log(`[checkout] Stripe session ${session.id} created for ${order_type} ${order_id}`);
@ -1323,6 +1739,21 @@ export async function handlePaymentComplete(
const paymentMethod = (order.payment_method as string) || "card";
console.log(`[checkout] Payment confirmed: ${order_type} ${order_id} via ${paymentMethod}`);
// Prefer the payment gateway's recorded total when available. This keeps
// downstream notifications honest even if older rows still carry stale
// per-line surcharge values from before the batch-surcharge split fix.
let actualPaidCents: number | null = null;
if (stripe && session_id && !session_id.startsWith("crypto-")) {
try {
const session = await stripe.checkout.sessions.retrieve(session_id);
if (typeof session.amount_total === "number") {
actualPaidCents = session.amount_total;
}
} catch (stripeErr) {
console.warn(`[checkout] Could not retrieve Stripe session ${session_id} for notification totals:`, stripeErr);
}
}
// ── Telegram order notification ──────────────────────────────────────
try {
const botToken = process.env.TELEGRAM_BOT_TOKEN;
@ -1343,7 +1774,11 @@ export async function handlePaymentComplete(
surchargeCents += Number(r.surcharge_cents || 0);
serviceNames.push((r.service_name as string) || (r.service_slug as string) || "");
}
const totalCents = subtotalCents - discountCents + surchargeCents;
const totalCents = actualPaidCents ?? (subtotalCents - discountCents + surchargeCents);
const derivedSurchargeCents = totalCents - subtotalCents + discountCents;
if (derivedSurchargeCents >= 0) {
surchargeCents = derivedSurchargeCents;
}
const totalDollars = (totalCents / 100).toFixed(2);
const serviceLine = serviceNames.length <= 1
@ -1363,11 +1798,18 @@ export async function handlePaymentComplete(
const idLine = dotNumber ? `DOT#: ${dotNumber}\n`
: frn ? `FRN: ${frn}\n`
: "";
// Campaign-source hint: an order carrying the daily campaign coupon (or any
// discount code) almost certainly came from an email campaign. Surface it so
// you can see the IFTA/UCR/CLIA/cold-email pipelines actually converting.
const srcLine = order.discount_code
? `Source: campaign (code ${order.discount_code})\n`
: "";
const msg = `💰 NEW ORDER\n\n`
+ `Customer: ${customerName}\n`
+ `Email: ${customerEmail}\n`
+ idLine
+ serviceLine
+ srcLine
+ subtotalLine
+ discountLine
+ surchargeLine
@ -1391,6 +1833,39 @@ export async function handlePaymentComplete(
// reporting year. Non-fatal — the customer still sees ingestion
// counts even without a grant.
if (order_type === "compliance" || order_type === "compliance_batch") {
// ── Government-fee child order paid → resume the parent's filing ──────
// At-cost services (IRP/IFTA/intrastate) bill the state fee via a child
// order (parent_order_number set). When that child is paid, re-dispatch the
// PARENT to the worker with gov_fee_paid=true so it proceeds to file. The
// child itself needs none of the normal compliance post-processing.
const parentNo = (order.parent_order_number as string) || "";
if (parentNo) {
try {
const { rows: prows } = await pool.query(
"SELECT service_slug FROM compliance_orders WHERE order_number = $1",
[parentNo],
);
const parentSlug = prows[0]?.service_slug || "";
const workerUrl = process.env.WORKER_URL || "http://workers:8090";
await fetch(`${workerUrl}/jobs`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
action: "process_compliance_service",
order_name: parentNo,
order_number: parentNo,
service_slug: parentSlug,
client_approved: true, // authorization already signed earlier
gov_fee_paid: true,
}),
});
console.log(`[checkout] Gov-fee ${order_id} paid → re-dispatched parent ${parentNo} to file`);
} catch (e) {
console.error(`[checkout] Failed to resume parent after gov-fee ${order_id}:`, e);
}
return; // child order needs no further compliance processing
}
try {
await grantCDRStudyAccess(order, order_id);
} catch (grantErr) {
@ -1411,10 +1886,23 @@ export async function handlePaymentComplete(
// come straight here and would otherwise skip it (this was the cause of
// customers who paid via PayPal being unable to log in). Idempotent.
try {
await ensureCompliancePortalUser(order_id, order_type, updated.rows);
await ensurePortalUser(order_id, order_type, updated.rows);
} catch (portalErr) {
console.error("[checkout] Compliance portal-user provisioning failed (non-fatal):", portalErr);
}
// ── Create the ERPNext Sales Order (idempotent) ──────────────────────
// The /checkout/create-session endpoint creates the SO for flows that
// confirm there, but card payments confirm via the Stripe WEBHOOK -> this
// function, which previously did NOT create the SO. Result: every webhook-
// confirmed compliance order had erpnext_sales_order=NULL and the workers
// logged "Sales Order ... not found 404" and fell back to building from PG.
// Create it here for all payment methods. Skips if one already exists.
try {
await ensureComplianceSalesOrder(order_id, order_type, updated.rows, paymentMethod);
} catch (soErr) {
console.error("[checkout] Compliance Sales Order creation failed (non-fatal):", soErr);
}
}
// ── Umami analytics — server-side payment event ─────────────────────────
@ -1447,6 +1935,17 @@ export async function handlePaymentComplete(
if (order_type === "canada_crtc") {
const soName = (order.erpnext_sales_order as string) || null;
// Ensure the customer has an ERPNext portal account (the single source of
// truth for login/password). create-session provisions it up-front for
// card/ACH, but PayPal / crypto / webhook-confirmed orders reach here
// directly and would otherwise skip it — the same gap that left PayPal
// compliance customers unable to log in. Idempotent. See ensurePortalUser.
try {
await ensurePortalUser(order_id, order_type, updated.rows);
} catch (portalErr) {
console.error("[checkout] CRTC portal-user provisioning failed (non-fatal):", portalErr);
}
// PayPal: funds are instant — advance directly to "Client Selection"
// Stripe card/ACH/Klarna: advance to "Awaiting Funds" — balance.available webhook handles next step
// Crypto: advance to "Awaiting Funds" — manual admin step later
@ -1604,10 +2103,13 @@ export async function handlePaymentComplete(
// Create Sales Invoice
try {
// Calculate batch total (sum of all line items minus discounts)
const batchTotalCents = (batchRows.rows as any[]).reduce((sum, bo) => {
// Calculate the actual paid amount for the batch: service + gov fees
// - discounts + surcharge. Older versions passed only the pre-
// surcharge total, which understated the Payment Entry amount.
const batchBaseCents = (batchRows.rows as any[]).reduce((sum, bo) => {
return sum + (bo.service_fee_cents || 0) + (bo.gov_fee_cents || 0) - (bo.discount_cents || 0);
}, 0);
const batchTotalCents = batchBaseCents + ((Number(order.surcharge_cents) || 0));
const invName = await createInvoiceFromSalesOrder({
salesOrderName: soName,
paymentGateway: paymentMethod,
@ -2152,58 +2654,78 @@ export async function sendComplianceIntakeEmail(
</p>
</div>` : "";
// CMS filing-method section for PECOS / NPPES orders. We offer two service
// tiers and let the provider pick the one that's easiest for them:
// (1) Standard filing — they review + sign one certification, we submit to
// their MAC. Zero account setup. Default for reval/enrollment.
// (2) Expedited filing — faster/same-day-trackable via CMS I&A surrogate access.
// NPPES-only services (reactivation, update) are web-only, so surrogate access
// is the only path for those. We never ask for the provider's password.
// CMS filing for PECOS / NPPES orders. We file everything for the provider;
// the ONLY client-facing choice is the optional surrogate question, framed
// positively. We NEVER expose the mechanics (paper, CMS-855/10114, MAC, Fargo)
// and we NEVER tell them "the alternative is paper". If they grant I&A
// Surrogate access we file online same-day; if not, we file it for them via our
// Standard path silently. Same price either way — surrogate is just faster for
// us (fewer steps, lets us bulk-file). We never ask for their password.
const npiConfirmUrl = `${SITE_DOMAIN}/order/success?action=ia_surrogacy&order_id=${orderId}`;
// Which ordered services support the standard (no-account) filing path
// vs. are NPPES-web-only (surrogate access required).
const STANDARD_FILING_SLUGS = new Set<string>(["npi-revalidation", "medicare-enrollment", "provider-compliance-bundle"]);
const NPPES_ONLY_SLUGS = new Set<string>(["npi-reactivation", "nppes-update"]);
const hasStandardFiling = npiAccessOrders.some(o => STANDARD_FILING_SLUGS.has(o.service_slug as string));
const hasNppesOnly = npiAccessOrders.some(o => NPPES_ONLY_SLUGS.has(o.service_slug as string));
const standardFilingBlock = hasStandardFiling ? `
<p style="margin:0 0 6px;font-size:13px;font-weight:700;color:#115e59;">Standard filing &mdash; no account needed</p>
<p style="margin:0 0 12px;font-size:13px;color:#134e4a;line-height:1.5;">
We complete the correct CMS-855 for you. You review and sign the certification
from a secure link we send (takes about a minute), and we submit it to your
Medicare Administrative Contractor (MAC) and track it to confirmation. Nothing
for you to set up.
</p>` : "";
// Did the provider opt in to granting CMS I&A Surrogate access on the intake
// form? If yes, surface the how-to prominently (it confirms the step they
// committed to). If no / undecided, we still make it available, but collapsed
// behind a "Show me how" expander and placed lower so it doesn't nag someone
// who already chose to let us handle everything.
const grantedSurrogate = String(intake.surrogate_access || "").toLowerCase() === "yes";
const surrogacyHeading = hasStandardFiling
? `Expedited filing &mdash; CMS I&amp;A surrogate access`
: `Grant CMS I&amp;A surrogate access`;
const npiSection = hasNpiAccess ? `
<div style="background:#ccfbf1;border:1px solid #5eead4;border-radius:8px;padding:16px 20px;margin:20px 0;">
<p style="margin:0 0 10px;font-size:14px;font-weight:700;color:#115e59;">Action Required: Choose How We File</p>
${standardFilingBlock}
<p style="margin:0 0 6px;font-size:13px;font-weight:700;color:#115e59;">${surrogacyHeading}</p>
<p style="margin:0 0 12px;font-size:13px;color:#134e4a;line-height:1.5;">
${hasNppesOnly ? "NPPES updates and reactivations are online-only, so this is required for those. " : ""}You add us as a
<strong>Surrogate</strong> in CMS Identity &amp; Access (I&amp;A) &mdash; you never share your password.
We then file in PECOS / NPPES under our own credentials and capture the tracking ID the same day.
</p>
const surrogateSteps = `
<ol style="margin:0 0 12px;padding-left:20px;font-size:13px;color:#134e4a;line-height:1.7;">
<li>Log in to <a href="https://nppes.cms.hhs.gov/IAWeb/login.do" style="color:#0f766e;">CMS I&amp;A (I&amp;A System)</a></li>
<li>Log in to <a href="https://nppes.cms.hhs.gov/IAWeb/login.do" style="color:#0f766e;">CMS Identity &amp; Access (I&amp;A)</a></li>
<li>Go to <strong>My Connections &rarr; Add Surrogate</strong></li>
<li>Add surrogate organization: <strong>Performance West Inc.</strong> (email <strong>filings@performancewest.net</strong>)</li>
<li>Grant access to <strong>PECOS</strong> and <strong>NPPES</strong> for your NPI, then approve our request</li>
<li>Grant access for your NPI, then approve our request</li>
</ol>
<p style="margin:12px 0;text-align:center;">
<a href="${npiConfirmUrl}" style="display:inline-block;background:#0f766e;color:#ffffff;font-weight:700;padding:12px 28px;border-radius:8px;text-decoration:none;font-size:14px;">
I've granted surrogate access &rarr;
</a>
</p>`;
const npiSection = !hasNpiAccess ? "" : grantedSurrogate ? `
<div style="background:#ccfbf1;border:1px solid #5eead4;border-radius:8px;padding:16px 20px;margin:20px 0;">
<p style="margin:0 0 10px;font-size:14px;font-weight:700;color:#115e59;">We're handling your filing</p>
<p style="margin:0 0 12px;font-size:13px;color:#134e4a;line-height:1.5;">
You're all set &mdash; we prepare and submit your filing and track it to
confirmation. The only thing we may need from you is a quick signature on
a secure link we'll send.
</p>
<p style="margin:0 0 6px;font-size:13px;font-weight:700;color:#115e59;">You chose to grant Surrogate access &mdash; here's how (takes ~2 minutes)</p>
<p style="margin:0 0 12px;font-size:13px;color:#134e4a;line-height:1.5;">
This lets us file faster. You never share your password; you simply
authorize us as a Surrogate for your NPI.
</p>
${surrogateSteps}
<p style="margin:8px 0 0;font-size:12px;color:#115e59;text-align:center;">
${hasStandardFiling ? "Prefer standard filing? Just reply to this email and we'll send your CMS-855 to sign &mdash; no further action needed from you here." : "Clicking this notifies our team so we can begin your filing."}
Changed your mind? No problem &mdash; we'll handle your filing without it.
</p>
</div>` : `
<div style="background:#ccfbf1;border:1px solid #5eead4;border-radius:8px;padding:16px 20px;margin:20px 0;">
<p style="margin:0 0 10px;font-size:14px;font-weight:700;color:#115e59;">We're handling your filing</p>
<p style="margin:0;font-size:13px;color:#134e4a;line-height:1.5;">
You're all set &mdash; we prepare and submit your filing and track it to
confirmation. The only thing we may need from you is a quick signature on
a secure link we'll send. <strong>Nothing else to do.</strong>
</p>
</div>`;
// Optional speed-up block, shown lower in the email ONLY when they didn't
// already grant access. Collapsed behind a "Show me how" expander.
const npiSpeedupSection = (hasNpiAccess && !grantedSurrogate) ? `
<div style="background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;padding:16px 20px;margin:20px 0;">
<p style="margin:0 0 6px;font-size:13px;font-weight:700;color:#115e59;">Optional: want it filed even faster?</p>
<p style="margin:0 0 10px;font-size:13px;color:#134e4a;line-height:1.5;">
If you can electronically grant us <strong>CMS I&amp;A Surrogate access</strong>,
we can process your filing right away. It's never required &mdash; we'll file
it for you either way, at the same price. You never share your password.
</p>
<details style="margin:0;">
<summary style="cursor:pointer;color:#0f766e;font-weight:700;font-size:13px;">Show me how &rarr;</summary>
<div style="margin-top:10px;">
${surrogateSteps}
</div>
</details>
</div>` : "";
// Fully admin-assisted services with NO customer intake form. State-level
@ -2291,6 +2813,8 @@ export async function sendComplianceIntakeEmail(
${intakeSection}
${npiSpeedupSection}
<h2 style="margin:24px 0 8px;font-size:16px;font-weight:700;color:#111827;">What to Expect</h2>
${isDotOnly ? `
<p style="margin:0 0 4px;font-size:14px;color:#374151;"><span style="color:#1e3a5f;font-weight:600;">1.</span> Our team is already working on your filing.</p>

View file

@ -12,501 +12,32 @@
import { Router } from "express";
import { pool } from "../db.js";
import { randomBytes } from "crypto";
import { COMPLIANCE_SERVICES } from "../service-catalog.js";
import { requireAdmin } from "../middleware/admin-auth.js";
const router = Router();
// ── Email validation ────────────────────────────────────────────────────────
// Reject malformed addresses AND known non-deliverable placeholders (e.g. the
// FMCSA-census "synthetic@pipeline.com" used when no real email was found) at
// order-creation time, so we never seed an order/portal account with an
// address we can't actually reach.
// Reject malformed addresses AND RFC-reserved non-deliverable test domains, so
// we never seed an order/portal account with an address we can't reach. NOTE:
// `pipeline.com` is a REAL (EarthLink) domain with deliverable mailboxes and is
// NOT a placeholder -- a customer (Paul Wilson) uses synthetic@pipeline.com as
// his genuine address, confirmed reachable. Only example.com/test.com are
// reserved test domains.
const EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
const PLACEHOLDER_EMAIL_DOMAINS = new Set(["pipeline.com", "example.com", "test.com"]);
const PLACEHOLDER_EMAIL_DOMAINS = new Set(["example.com", "test.com", "invalid"]);
function emailError(raw: unknown): string | null {
const email = String(raw || "").trim().toLowerCase();
if (!email) return "customer_email is required.";
if (!EMAIL_RE.test(email)) return "customer_email is not a valid email address.";
const domain = email.split("@")[1] || "";
if (email.startsWith("synthetic@") || PLACEHOLDER_EMAIL_DOMAINS.has(domain)) {
if (PLACEHOLDER_EMAIL_DOMAINS.has(domain)) {
return "customer_email appears to be a placeholder; a real email address is required.";
}
return null;
}
// ── Service catalog (prices in cents) ──────────────────────────────────────
const COMPLIANCE_SERVICES: Record<
string,
{ name: string; price_cents: number; gov_fee_cents?: number; gov_fee_label?: string; erpnext_item: string; discountable: boolean }
> = {
"fcc-compliance-checkup": {
name: "FCC Carrier Compliance Checkup",
price_cents: 79900,
erpnext_item: "FCC-COMPLIANCE-CHECKUP",
discountable: true,
},
"fcc-499a": {
name: "FCC Form 499-A Filing",
price_cents: 49900,
erpnext_item: "FCC-499A",
discountable: true,
},
"fcc-499a-zero": {
name: "FCC Form 499-A Filing (Zero Revenue)",
price_cents: 17900,
erpnext_item: "FCC-499A-ZERO",
discountable: true,
},
"fcc-499a-499q": {
name: "FCC Form 499-A + 499-Q Bundle",
price_cents: 59900,
erpnext_item: "FCC-499A-499Q",
discountable: true,
},
"fcc-full-compliance": {
name: "FCC Full Compliance Bundle",
price_cents: 149900,
erpnext_item: "FCC-FULL-COMPLIANCE",
discountable: true,
},
"cpni-certification": {
name: "CPNI Annual Certification",
price_cents: 19900,
erpnext_item: "CPNI-CERT",
discountable: true,
},
"rmd-filing": {
name: "RMD Registration / Recertification",
price_cents: 24900,
gov_fee_cents: 10000,
gov_fee_label: "FCC RMD filing fee",
erpnext_item: "RMD-FILING",
discountable: true,
},
"stir-shaken": {
name: "STIR/SHAKEN Implementation Assistance",
price_cents: 49900,
erpnext_item: "STIR-SHAKEN",
discountable: true,
},
"dc-agent": {
name: "D.C. Registered Agent (Annual)",
price_cents: 14900,
erpnext_item: "DC-AGENT",
discountable: false,
},
// BDC filings — the FCC retired Form 477 in Dec 2022 and folded voice
// subscription data into BDC. Broadband-only and voice-only SKUs let
// carriers pay for just what they need; bdc-filing remains as a bundle.
"bdc-broadband": {
name: "BDC Broadband Deployment Filing",
price_cents: 24900,
erpnext_item: "BDC-BROADBAND",
discountable: true,
},
"bdc-voice": {
name: "BDC Voice Subscription Filing (formerly Form 477 Voice)",
price_cents: 19900,
erpnext_item: "BDC-VOICE",
discountable: true,
},
"bdc-filing": {
name: "BDC Filing (Broadband + Voice)",
price_cents: 34900,
erpnext_item: "BDC-FILING",
discountable: true,
},
// New-carrier entry point — register in CORES + obtain FRN
"cores-frn-registration": {
name: "CORES / FRN Registration",
price_cents: 14900,
erpnext_item: "CORES-FRN",
discountable: true,
},
// 499-A New Filer Registration (distinct from the annual revenue filing)
"fcc-499-initial": {
name: "Form 499 Initial Registration",
price_cents: 34900,
erpnext_item: "FCC-499-INITIAL",
discountable: true,
},
// CALEA System Security & Integrity plan (47 USC 229)
"calea-ssi": {
name: "CALEA SSI Plan",
price_cents: 79900,
erpnext_item: "CALEA-SSI",
discountable: true,
},
// 47 CFR § 63.11 Foreign Carrier Affiliation Notification
"fcc-63-11-notification": {
name: "Foreign Carrier Affiliation Notification (47 CFR § 63.11)",
price_cents: 34900,
erpnext_item: "FCC-63-11",
discountable: true,
},
// One-click onboarding for a brand-new carrier (composes 5 filings)
"new-carrier-bundle": {
name: "New Carrier Onboarding Bundle (FRN + 499 Initial + RMD + CPNI + CALEA)",
price_cents: 179900,
erpnext_item: "NEW-CARRIER-BUNDLE",
discountable: true,
},
// NECA OCN registration — required for VoIP/IPES carriers that need
// their own Operating Company Number for STIR/SHAKEN signing, LRN
// assignments, or direct numbering authority. NECA charges $550
// standard / $675 expedited; we pass through + margin for prep work.
"ocn-registration": {
name: "NECA OCN + Sponsoring CLEC Agreement",
price_cents: 265000,
erpnext_item: "OCN-REGISTRATION",
discountable: false,
},
"fcc-499q": {
name: "FCC Form 499-Q Quarterly Filing",
price_cents: 0, // included in 499-A+Q bundle — not sold standalone
erpnext_item: "FCC-499Q",
discountable: false,
},
"fcc-499a-discontinuance": {
name: "Form 499-A Discontinuance Filing",
price_cents: 29900,
erpnext_item: "499A-DISCONTINUANCE",
discountable: false,
},
// Standalone CDR Traffic Study — customers who want the classified
// study (unlocks the current reporting year) without buying the
// full 499-A filing service. Either slug unlocks the study via the
// cdr_study_access_grants paywall hook.
"cdr-analysis": {
name: "CDR Traffic Study (Annual)",
price_cents: 49900,
erpnext_item: "CDR-ANALYSIS",
discountable: true,
},
// CDR storage / processing tiers. Annual subscription; renew alongside
// the filing. Each tier is additive — customer picks the smallest tier
// that covers their worst of (storage bytes, classified rows).
"cdr-storage-tier1": {
name: "CDR Storage Tier 1 (50 GB / 50M calls)",
price_cents: 9900,
erpnext_item: "CDR-STORAGE-TIER1",
discountable: false,
},
"cdr-storage-tier2": {
name: "CDR Storage Tier 2 (250 GB / 250M calls)",
price_cents: 29900,
erpnext_item: "CDR-STORAGE-TIER2",
discountable: false,
},
"cdr-storage-tier3": {
name: "CDR Storage Tier 3 (1 TB / 1B calls)",
price_cents: 79900,
erpnext_item: "CDR-STORAGE-TIER3",
discountable: false,
},
// ── Foreign qualification (Certificate of Authority) ─────────────────
// Per-state fees are added on top of these flat service fees at order
// time (state fee + NWRA RA wholesale, looked up from jurisdictions +
// state_filing_fees). Handler fans out one filing per selected state.
//
// Pricing model:
// - `foreign-qualification-single`: flat service fee ($149) + state
// fee + optional NWRA RA. One state per order.
// - `foreign-qualification-multi`: discounted per-state service fee
// ($99) + state fees + RAs. For FCC carriers filing across their
// operating territory.
"foreign-qualification-single": {
name: "Foreign Qualification (One State)",
price_cents: 14900,
erpnext_item: "FOREIGN-QUAL-SINGLE",
discountable: true,
},
"foreign-qualification-multi": {
name: "Foreign Qualification (Multi-State)",
price_cents: 9900, // per-state service fee
erpnext_item: "FOREIGN-QUAL-MULTI",
discountable: true,
},
// State PUC/PSC Registration — $399 per-state service fee + state
// filing fees. Bond procurement coordinated separately.
"state-puc": {
name: "State PUC/PSC Registration",
price_cents: 39900, // per-state service fee
erpnext_item: "STATE-PUC",
discountable: true,
},
// ── DOT / FMCSA Motor Carrier Services ──────────────────────────────
"mcs150-update": {
name: "MCS-150 Biennial Update",
price_cents: 3900,
erpnext_item: "MCS150-UPDATE",
discountable: true,
},
"boc3-filing": {
name: "BOC-3 Process Agent Filing",
price_cents: 8900,
erpnext_item: "BOC3-FILING",
discountable: false, // passthrough cost — $25 to Process Agent LLC
},
"ucr-registration": {
name: "UCR Annual Registration",
price_cents: 3900,
gov_fee_cents: 4600, // minimum tier ($46 for 0-2 power units)
gov_fee_label: "UCR registration fee (tier-based, minimum shown)",
erpnext_item: "UCR-REGISTRATION",
discountable: true,
},
"dot-registration": {
name: "New USDOT Number Registration",
price_cents: 8900,
erpnext_item: "DOT-REGISTRATION",
discountable: true,
},
"mc-authority": {
name: "MC Operating Authority Application",
price_cents: 19900, // $199 + $300 FMCSA gov fee
gov_fee_cents: 30000, // $300 FMCSA application fee
gov_fee_label: "FMCSA operating authority application fee",
erpnext_item: "MC-AUTHORITY",
discountable: false, // $300 FMCSA gov fee makes this non-discountable
},
"usdot-reactivation": {
name: "USDOT Number Reactivation",
price_cents: 14900,
erpnext_item: "USDOT-REACTIVATION",
discountable: true,
},
"emergency-temporary-authority": {
name: "Emergency Temporary Authority (ETA)",
price_cents: 49900,
erpnext_item: "EMERGENCY-TEMP-AUTH",
discountable: false, // urgent service, premium pricing
},
"dot-drug-alcohol": {
name: "DOT Drug & Alcohol Compliance Program",
price_cents: 14900,
erpnext_item: "DOT-DRUG-ALCOHOL",
discountable: true, // instant PDF binder we generate — our own deliverable, no passthrough cost
},
"dot-audit-prep": {
name: "New Entrant Safety Audit Preparation",
price_cents: 39900,
erpnext_item: "DOT-AUDIT-PREP",
discountable: true,
},
"dot-full-compliance": {
name: "DOT Full Compliance Bundle",
price_cents: 39900, // $399 — includes MCS-150+BOC-3+UCR+D&A+Audit ($775 individual)
erpnext_item: "DOT-FULL-COMPLIANCE",
discountable: true,
},
"carrier-closeout": {
name: "Trucking Wrap-Up (USDOT Shutdown)",
price_cents: 19900, // $199 — final MCS-150 (out of business) + MC revoke + UCR cancel + state account closures
erpnext_item: "CARRIER-CLOSEOUT",
discountable: true,
},
"entity-dissolution": {
name: "Business Entity Dissolution (LLC/Corp)",
price_cents: 4900, // $49 add-on to the wrap-up — LLC/Corp dissolution + final report; state filing fees billed separately
gov_fee_label: "State dissolution filing fee (varies by state, billed at cost)",
erpnext_item: "ENTITY-DISSOLUTION",
discountable: true,
},
// ── State-Level Trucking Compliance ──────────────────────────────────
// For these services the price_cents is our flat SERVICE fee only. The
// actual state government charges (apportioned IRP registration, IFTA decal
// fees, weight-distance/HUT account setup, permit/decal costs) vary by the
// carrier's fleet weight, mileage, and base state, so they are passed
// through AT COST and billed separately once the state issues the invoice —
// we never mark them up. The gov_fee_label is shown to the customer at
// checkout so the pass-through is disclosed up front.
"irp-registration": {
name: "IRP Registration Assistance",
price_cents: 10900, // + state fees (apportioned registration billed at cost)
gov_fee_label: "Apportioned IRP registration & plate fees (state, by jurisdictions + weight, billed at cost)",
erpnext_item: "IRP-REGISTRATION",
discountable: true,
},
"ifta-application": {
name: "IFTA Application + Decals",
price_cents: 10900, // + state fees
gov_fee_label: "IFTA license & decal fees (state, billed at cost)",
erpnext_item: "IFTA-APPLICATION",
discountable: true,
},
"ifta-quarterly": {
name: "IFTA Quarterly Filing",
price_cents: 10900,
gov_fee_label: "IFTA taxes due (remitted to the state at cost based on your mileage)",
erpnext_item: "IFTA-QUARTERLY",
discountable: true,
},
"or-weight-mile-tax": {
name: "Oregon Weight-Mile Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "Oregon weight-mile tax account & bond/deposit (state, billed at cost)",
erpnext_item: "OR-WEIGHT-MILE-TAX",
discountable: true,
},
"ny-hut-registration": {
name: "NY Highway Use Tax Registration",
price_cents: 10900, // + state fees
gov_fee_label: "NY HUT certificate & decal fees (state, billed at cost)",
erpnext_item: "NY-HUT-REGISTRATION",
discountable: true,
},
"ky-kyu-registration": {
name: "KY Weight-Distance Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "KYU weight-distance account fees (state, billed at cost)",
erpnext_item: "KY-KYU-REGISTRATION",
discountable: true,
},
"nm-weight-distance": {
name: "NM Weight-Distance Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "NM weight-distance permit & account fees (state, billed at cost)",
erpnext_item: "NM-WEIGHT-DISTANCE",
discountable: true,
},
"ct-highway-use-fee": {
name: "CT Highway Use Fee Setup",
price_cents: 10900, // + state fees
gov_fee_label: "CT Highway Use Fee registration (state, billed at cost)",
erpnext_item: "CT-HIGHWAY-USE-FEE",
discountable: true,
},
"ca-mcp-carb": {
name: "California MCP + CARB Compliance",
price_cents: 22900, // $229 + state fees (CA is more complex: MCP + CARB)
gov_fee_label: "CA MCP permit fee + CARB/Clean Truck Check fees (state, by fleet size, billed at cost)",
erpnext_item: "CA-MCP-CARB",
discountable: true,
},
"state-dot-registration": {
name: "State DOT Registration",
price_cents: 10900, // + state fees
gov_fee_label: "State DOT/intrastate registration fee (state, billed at cost)",
erpnext_item: "STATE-DOT-REGISTRATION",
discountable: true,
},
"intrastate-authority": {
name: "Intrastate Operating Authority",
price_cents: 10900, // + state fees
gov_fee_label: "State intrastate authority filing fee (state, billed at cost)",
erpnext_item: "INTRASTATE-AUTHORITY",
discountable: true,
},
"osow-permit": {
name: "Oversize/Overweight Permit",
price_cents: 10900, // + state permit fees
gov_fee_label: "State oversize/overweight permit fees (per trip/route, billed at cost)",
erpnext_item: "OSOW-PERMIT",
discountable: true,
},
"state-trucking-bundle": {
name: "State Compliance Bundle",
price_cents: 49900, // $499 — IRP+IFTA+weight tax+intrastate ($796 individual)
gov_fee_label: "State registration, decal & tax fees for each included filing (billed at cost)",
erpnext_item: "STATE-TRUCKING-BUNDLE",
discountable: true,
},
// ── Hazmat / Emissions ───────────────────────────────────────────────
"hazmat-phmsa": {
name: "PHMSA Hazmat Registration",
price_cents: 14900, // $149 admin-assisted; PHMSA gov fee billed at cost
gov_fee_label: "PHMSA registration fee ($25 + $250-$3,000 processing, by business size, billed at cost)",
erpnext_item: "HAZMAT-PHMSA",
discountable: true,
},
"state-emissions": {
name: "State Clean-Truck / Emissions Compliance",
price_cents: 10900, // $109 + state fees — NY/CO/MD/NJ/MA clean-truck / ACT advisory + registration assist
erpnext_item: "STATE-EMISSIONS",
discountable: true,
},
// ── Corporate / Entity Services ──
"annual-report-filing": {
name: "Annual Report / Franchise Tax Filing",
price_cents: 14900,
erpnext_item: "ANNUAL-REPORT",
discountable: true,
},
"registered-agent": {
name: "Registered Agent Service (1 Year)",
price_cents: 9900,
erpnext_item: "REGISTERED-AGENT",
discountable: true,
},
"entity-reinstatement": {
name: "Entity Reinstatement",
price_cents: 29900,
erpnext_item: "ENTITY-REINSTATEMENT",
discountable: true,
},
"virtual-mailbox": {
name: "Virtual Mailbox (1 Year)",
price_cents: 14900,
erpnext_item: "VIRTUAL-MAILBOX",
discountable: true,
},
"ein-application": {
name: "EIN Application (IRS SS-4)",
price_cents: 7900,
erpnext_item: "EIN-APPLICATION",
discountable: true,
},
"entity-upgrade-bundle": {
name: "Entity Upgrade Package (Sole Prop → LLC)",
price_cents: 59900,
erpnext_item: "ENTITY-UPGRADE-BUNDLE",
discountable: true,
},
// ── Healthcare / NPI compliance ──────────────────────────────────────
// CMS/NPPES provider compliance. Handlers are review-staged (a human
// files in PECOS/NPPES) — same safety default as the FCC auto-filing
// toggle. HIPAA is intentionally out of scope (separate specialty).
// Flagship = npi-revalidation (CMS 5-yr Medicare revalidation, dateable
// overdue signal from the free CMS revalidation list).
"npi-revalidation": {
name: "Medicare PECOS Revalidation Filing",
price_cents: 39900,
erpnext_item: "NPI-REVALIDATION",
discountable: true,
},
"npi-reactivation": {
name: "NPI Reactivation",
price_cents: 24900,
erpnext_item: "NPI-REACTIVATION",
discountable: true,
},
"nppes-update": {
name: "NPPES Data Update / Attestation",
price_cents: 14900,
erpnext_item: "NPPES-UPDATE",
discountable: true,
},
"medicare-enrollment": {
name: "Medicare Enrollment (PECOS)",
price_cents: 49900,
erpnext_item: "MEDICARE-ENROLLMENT",
discountable: true,
},
"oig-sam-screening": {
name: "OIG/SAM Exclusion Screening (Annual)",
price_cents: 9900,
erpnext_item: "OIG-SAM-SCREENING",
discountable: false,
},
"provider-compliance-bundle": {
name: "Provider Compliance Bundle (Annual)",
price_cents: 69900,
erpnext_item: "PROVIDER-COMPLIANCE-BUNDLE",
discountable: true,
},
};
// ── Intake validation map ─────────────────────────────────────────────
//
@ -651,6 +182,10 @@ const REQUIRED_FIELDS: Record<string, FieldSpec> = {
"foreign-qualification-single": { required: ["legal_name", "home_state_code", "entity_type", "target_states"], soft: ["ein"] },
"foreign-qualification-multi": { required: ["legal_name", "home_state_code", "entity_type", "target_states"], soft: ["ein"] },
// ── Business name reservation (binding hold; admin-assisted filing) ──
"name-reservation-tx": { required: ["entity_name", "entity_type"], soft: ["entity_name_alt"] },
"name-reservation-nv": { required: ["entity_name", "entity_type"], soft: ["entity_name_alt"] },
// ── DOT / FMCSA Motor Carrier Services ───────────────────────────────
// All collected via the unified dot-intake step (DOTIntakeStep.astro).
"mcs150-update": { required: ["dot_number", "legal_name", "address_street", "address_city", "address_state", "address_zip", "phone", "email", "signer_name", "signer_title", "power_units", "drivers", "carrier_operation", "interstate_intrastate", "hazmat"], soft: ["mc_number", "ein", "annual_miles", "cargo_types"] },
@ -710,7 +245,16 @@ const BUNDLE_COMPONENTS: Record<string, string[]> = {
"ct-highway-use-fee", "ca-mcp-carb", "state-dot-registration",
"intrastate-authority",
],
// Telecom VoIP onboarding bundle: composes the FCC filings a brand-new
// carrier needs (FRN, 499 Initial, RMD, CPNI, CALEA). (Previously this listed
// TRUCKING component slugs by mistake -- a copy/paste error from the DOT
// bundle below.)
"new-carrier-bundle": [
"cores-frn-registration", "fcc-499-initial", "rmd-filing",
"cpni-certification", "calea-ssi",
],
// Trucking/DOT new-carrier starter bundle components.
"dot-new-carrier-bundle": [
"dot-registration", "mc-authority", "boc3-filing",
"mcs150-update", "dot-drug-alcohol", "ucr-registration",
],
@ -2182,7 +1726,6 @@ router.post("/api/v1/compliance-orders/:id/usac-delegation", async (req, res) =>
const id = req.params.id;
try {
// Support both batch ID (CB-) and order number (CO-)
const whereCol = id.startsWith("CB-") ? "batch_id" : "order_number";
const result = await pool.query(
`UPDATE compliance_orders
@ -2216,5 +1759,171 @@ router.post("/api/v1/compliance-orders/:id/usac-delegation", async (req, res) =>
}
});
// ── POST /api/v1/compliance-orders/:id/sc-insurance ──────────────────────────
// SC intrastate Certificate of Compliance (COC) flow. The carrier answers a
// one-click yes/no from their email: does their insurer have / can they file a
// Form E (SC intrastate liability) with SCDMV?
// have=yes -> record it; the worker proceeds to bill the $25 COC fee + file.
// have=no -> record it + open a broker-referral ticket so we connect them
// with an insurer that writes SC intrastate liability.
// Stored in intake_data.sc_coc_insurance so no schema change is needed.
router.post("/api/v1/compliance-orders/:id/sc-insurance", async (req, res) => {
const id = req.params.id;
const have = String((req.query.have ?? req.body?.have ?? "")).toLowerCase();
if (have !== "yes" && have !== "no") {
res.status(400).json({ error: "have must be 'yes' or 'no'." });
return;
}
try {
const { rows } = await pool.query(
`UPDATE compliance_orders
SET intake_data = jsonb_set(
jsonb_set(COALESCE(intake_data, '{}'::jsonb),
'{sc_coc_insurance}', to_jsonb($2::text)),
'{sc_coc_insurance_at}', to_jsonb(now()::text)),
updated_at = NOW()
WHERE order_number = $1
RETURNING order_number, service_slug, customer_email, customer_name,
intake_data->>'entity_name' AS entity_name`,
[id, have],
);
if (rows.length === 0) {
res.status(404).json({ error: "Order not found." });
return;
}
const o = rows[0];
console.log(`[compliance-orders] SC COC insurance answer for ${id}: ${have}`);
// NO -> open a broker-referral support ticket so ops connects them.
if (have === "no") {
try {
await pool.query(
`INSERT INTO tickets (category, subject, message, email, name, page, ip_address)
VALUES ($1, $2, $3, $4, $5, $6, $7)`,
[
"insurance_lead",
`SC intrastate insurance referral — ${o.entity_name || o.customer_name || o.order_number}`,
`Carrier needs an insurer that writes SC intrastate liability and can file a Form E with SCDMV.\n\n`
+ `Order: ${o.order_number}\nService: ${o.service_slug}\n`
+ `Customer: ${o.customer_name || ""} <${o.customer_email || ""}>\n\n`
+ `They answered NO to "does your insurer have/can file a Form E for SC intrastate?" `
+ `Connect them with a broker for SC intrastate trucking liability, then resume the COC filing.`,
o.customer_email || null,
o.customer_name || null,
`sc-insurance:${o.order_number}`,
(req as any).clientIp || req.ip || "",
],
);
} catch (tErr) {
console.error("[compliance-orders] SC insurance referral ticket failed:", tErr);
}
// Telegram alert (best-effort)
try {
const botToken = process.env.TELEGRAM_BOT_TOKEN;
const chatId = process.env.TELEGRAM_CHAT_ID;
if (botToken && chatId) {
fetch(`https://api.telegram.org/bot${botToken}/sendMessage`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
chat_id: chatId,
text: `🛟 SC intrastate insurance referral needed\n${o.entity_name || o.customer_name || ""} (${o.order_number})\nCustomer has no Form E — connect them with a broker.`,
}),
}).catch(() => {});
}
} catch {}
}
res.json({
success: true,
have,
message:
have === "yes"
? "Thank you! We'll complete your SCDMV Certificate of Compliance and confirm your Form E is on file. You'll get a payment link for the $25 state fee shortly."
: "No problem — we'll connect you with an insurance broker who can write SC intrastate liability and file your Form E. We'll be in touch within one business day.",
});
// YES -> re-dispatch the worker so it proceeds to bill the $25 COC fee + file.
if (have === "yes") {
const workerUrl = process.env.WORKER_URL || "http://workers:8090";
setImmediate(async () => {
try {
await fetch(`${workerUrl}/jobs`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
action: "process_compliance_service",
order_name: o.order_number,
order_number: o.order_number,
service_slug: o.service_slug,
}),
});
console.log(`[compliance-orders] Worker re-dispatched after SC insurance YES: ${o.order_number}`);
} catch (err) {
console.warn(`[compliance-orders] Worker dispatch failed for ${o.order_number}:`, err);
}
});
}
} catch (err) {
console.error("[compliance-orders] SC insurance answer error:", err);
res.status(500).json({ error: "Could not record your answer. Please try again." });
}
});
// ── POST /api/v1/admin/compliance-orders/:id/approve-submit ──────────────────
// Admin verification gate: an order that has been prepared + (if needed) signed
// is held at fulfillment_status='ready_to_file'. The admin reviews the prepared
// filing and calls this to APPROVE it, which re-dispatches the worker with
// admin_approved=true so it proceeds to the actual government submission. We
// never submit to a government system until an admin has cleared this gate.
router.post("/api/v1/admin/compliance-orders/:id/approve-submit", requireAdmin, async (req, res) => {
const id = req.params.id;
try {
const { rows } = await pool.query(
`SELECT order_number, service_slug, fulfillment_status
FROM compliance_orders WHERE order_number = $1`,
[id],
);
const order = rows[0];
if (!order) {
return res.status(404).json({ error: "Order not found" });
}
if (order.fulfillment_status !== "ready_to_file") {
return res.status(409).json({
error: `Order is not awaiting submission approval (status=${order.fulfillment_status ?? "none"})`,
});
}
await pool.query(
`UPDATE compliance_orders SET fulfillment_status = 'authorization_signed',
fulfillment_status_at = now() WHERE order_number = $1`,
[id],
);
const workerUrl = process.env.WORKER_URL || "http://workers:8090";
let dispatched = false;
try {
const r = await fetch(`${workerUrl}/jobs`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
action: "process_compliance_service",
order_name: id,
order_number: id,
service_slug: order.service_slug,
admin_approved: true,
}),
});
dispatched = r.ok;
} catch (err) {
console.error(`[compliance-orders] approve-submit dispatch failed for ${id}:`, err);
}
console.log(`[compliance-orders] Admin approved + dispatched submission for ${id} (${order.service_slug})`);
res.json({ success: true, order_number: id, dispatched });
} catch (err) {
console.error(`[compliance-orders] approve-submit error for ${id}:`, err);
res.status(500).json({ error: "Approve-submit failed" });
}
});
export { COMPLIANCE_SERVICES, REQUIRED_FIELDS, BUNDLE_COMPONENTS, MUTUALLY_EXCLUSIVE_GROUPS };
export default router;

View file

@ -973,8 +973,14 @@ router.get("/api/v1/dot/census", async (req, res) => {
phy_zip: c.phy_zip || null,
power_units: c.nbr_power_unit ?? null,
drivers: c.driver_total ?? null,
total_drivers: c.driver_total ?? null,
for_hire: c.authorized_for_hire || false,
carrier_operation: c.carrier_operation || null,
// Normalized interstate/intrastate code (A/B/C) if the stored value
// encodes it, for the intake prefill.
carrier_operation_code: (typeof c.carrier_operation === "string"
&& /^[ABC]$/i.test(c.carrier_operation.trim()))
? c.carrier_operation.trim().toUpperCase() : null,
});
} catch (err) {
console.error("[dot-census] Error:", err);

View file

@ -0,0 +1,59 @@
/**
* Pure helpers for the signing-authorization gate (DB-free, unit-tested).
*
* On the Standard (no-login) CMS filing path the signer must give an EXPLICIT,
* per-document authorization to use their signature to complete and submit the
* filing on their behalf. These helpers decide when that authorization is
* required and whether it was satisfied, so the route and the signing page agree
* on one source of truth. Client-facing copy stays generic and never describes
* any internal fulfillment mechanics.
*/
/** Verbatim authorization the signer must agree to before drawing a signature on
* a Standard-path document.
*
* Client-safe and legally explicit: authorizes Performance West to use THIS
* signer's OWN drawn signature ONE TIME on THIS single document and submit it on
* their behalf. The "only once / this one form / not reused" language reassures
* the signer the signature is not stored for reuse. Stored verbatim with the
* signature for the audit trail.
*/
export const SIGN_CONSENT_TEXT =
"I authorize Performance West Inc. to use my signature, exactly as I draw it " +
"below, to complete and submit this single filing on my behalf. My signature " +
"will be used solely to complete this filing and will not be reused for any " +
"other document or purpose. The signature applied will be my own signature, " +
"made with my authorization and with the intent to sign this document.";
/** Does this document require the per-document signing authorization?
* (metadata.require_sign_consent). */
export function requiresSignConsent(documentMetadata: unknown): boolean {
return !!documentMetadata
&& typeof documentMetadata === "object"
&& (documentMetadata as Record<string, unknown>).require_sign_consent === true;
}
/**
* Does this signing attempt REQUIRE the signing authorization?
* Only a DRAWN signature on a consent-required document needs it (a typed
* signature is exempt).
*/
export function signConsentRequired(
documentMetadata: unknown,
signatureType: "drawn" | "typed" | string | undefined,
): boolean {
return requiresSignConsent(documentMetadata) && signatureType === "drawn";
}
/**
* Is the authorization satisfied for this attempt? True when not required, or
* when required and the signer explicitly gave it (sign_consent === true).
*/
export function signConsentSatisfied(
documentMetadata: unknown,
signatureType: "drawn" | "typed" | string | undefined,
signConsent: unknown,
): boolean {
if (!signConsentRequired(documentMetadata, signatureType)) return true;
return signConsent === true;
}

127
api/src/routes/ifta.ts Normal file
View file

@ -0,0 +1,127 @@
import { Router } from "express";
import crypto from "crypto";
import { pool } from "../db.js";
const router = Router();
// HMAC secret for the one-click "I already filed it" link. Reuses an existing
// server secret so the token is unguessable but verifiable without DB state.
const SECRET = process.env.ADMIN_JWT_SECRET
|| process.env.CUSTOMER_JWT_SECRET
|| process.env.APPROVE_FILE_TOKEN
|| "pw-ifta-filed-fallback-secret";
/** Deterministic token for a DOT number (so the email can embed it, and we can
* verify it on click without storing per-link state). */
export function iftaFiledToken(dot: string): string {
return crypto.createHmac("sha256", SECRET)
.update(`ifta-filed:${dot}`)
.digest("hex")
.slice(0, 24);
}
function page(title: string, body: string): string {
return `<!doctype html><html><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>${title}</title></head>
<body style="margin:0;font-family:-apple-system,system-ui,sans-serif;background:#eef0f3">
<div style="max-width:520px;margin:48px auto;background:#fff;border-radius:12px;padding:32px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.08)">
<img src="https://performancewest.net/images/logo.png" alt="Performance West" style="height:40px;margin-bottom:16px">
${body}
<p style="margin-top:24px;font-size:12px;color:#94a3b8">Performance West Inc. &middot; (888) 411-0383</p>
</div></body></html>`;
}
/**
* One-click "I already filed it" for IFTA quarterly reminders.
* GET /api/v1/ifta/filed?dot=1234567&t=<token>
* Records the suppression (stops further touches this cycle) + gives us
* DIY-vs-prospect signal. Idempotent.
*/
router.get("/api/v1/ifta/filed", async (req, res) => {
const dot = String(req.query.dot || "").trim();
const token = String(req.query.t || "").trim();
res.set("Content-Type", "text/html; charset=utf-8");
if (!dot || !token) {
res.status(400).send(page("Invalid link",
`<h2 style="color:#b91c1c">That link looks incomplete.</h2>
<p style="color:#475569">If you already filed your IFTA return, you can ignore the reminders. Questions? Call (888) 411-0383.</p>`));
return;
}
// constant-time token check
const expected = iftaFiledToken(dot);
const ok = token.length === expected.length
&& crypto.timingSafeEqual(Buffer.from(token), Buffer.from(expected));
if (!ok) {
res.status(403).send(page("Invalid link",
`<h2 style="color:#b91c1c">We couldn't verify that link.</h2>
<p style="color:#475569">If you already filed your IFTA return, you can ignore the reminders. Questions? Call (888) 411-0383.</p>`));
return;
}
try {
await pool.query(
`UPDATE fmcsa_carriers
SET ifta_self_filed_at = COALESCE(ifta_self_filed_at, now())
WHERE dot_number = $1`,
[dot],
);
} catch (err) {
console.error("[ifta/filed] db error:", err);
// Still show success to the user; the suppression is best-effort.
}
res.send(page("Thanks - you're all set",
`<h2 style="color:#0f766e">Got it - thanks for letting us know.</h2>
<p style="color:#475569;line-height:1.6">We'll stop reminding you about this quarter's IFTA return for DOT #${dot}.
We'll check back when your next quarterly return comes due.</p>
<p style="color:#475569;line-height:1.6">Want us to handle next quarter's filing so you don't have to?
<a href="https://performancewest.net/order/ifta-quarterly" style="color:#0f766e;font-weight:700">See how it works &rarr;</a></p>`));
});
/**
* One-click "I already did it" for UCR annual reminders.
* GET /api/v1/ucr/filed?dot=1234567&t=<token> (same HMAC token scheme as IFTA)
*/
router.get("/api/v1/ucr/filed", async (req, res) => {
const dot = String(req.query.dot || "").trim();
const token = String(req.query.t || "").trim();
res.set("Content-Type", "text/html; charset=utf-8");
if (!dot || !token) {
res.status(400).send(page("Invalid link",
`<h2 style="color:#b91c1c">That link looks incomplete.</h2>
<p style="color:#475569">If you already registered your UCR, you can ignore the reminders. Questions? Call (888) 411-0383.</p>`));
return;
}
const expected = iftaFiledToken(dot); // shared token scheme
const ok = token.length === expected.length
&& crypto.timingSafeEqual(Buffer.from(token), Buffer.from(expected));
if (!ok) {
res.status(403).send(page("Invalid link",
`<h2 style="color:#b91c1c">We couldn't verify that link.</h2>
<p style="color:#475569">If you already registered your UCR, you can ignore the reminders. Questions? Call (888) 411-0383.</p>`));
return;
}
try {
await pool.query(
`UPDATE fmcsa_carriers
SET ucr_self_filed_at = COALESCE(ucr_self_filed_at, now())
WHERE dot_number = $1`,
[dot],
);
} catch (err) {
console.error("[ucr/filed] db error:", err);
}
res.send(page("Thanks - you're all set",
`<h2 style="color:#0f766e">Got it - thanks for letting us know.</h2>
<p style="color:#475569;line-height:1.6">We'll stop reminding you about this year's UCR for DOT #${dot}.
We'll check back when next year's registration opens.</p>
<p style="color:#475569;line-height:1.6">Want us to handle next year's UCR so you don't have to?
<a href="https://performancewest.net/order/ucr-registration" style="color:#0f766e;font-weight:700">See how it works &rarr;</a></p>`));
});
export default router;

View file

@ -35,6 +35,56 @@ async function nppesFetch(params: Record<string, string>): Promise<any> {
}
}
// Live, authoritative CMS "Revalidation Due Date List" lookup by NPI. This is
// the same public .gov dataset the provider can check themselves at
// data.cms.gov/tools/medicare-revalidation-list, so it is the strongest proof
// the due date is real (not from our database). Returns null on miss/error so
// callers fall back to the local companion table.
const CMS_REVAL_API =
"https://data.cms.gov/data-api/v1/dataset/3746498e-874d-45d8-9c69-68603cafea60/data";
interface CmsRevalRecord {
revalidation_due_date: string | null;
adjusted_due_date: string | null;
enrollment_type: string | null;
specialty: string | null;
enrollment_state: string | null;
legal_name: string | null;
source: "cms_live";
}
async function cmsRevalFetch(npi: string): Promise<CmsRevalRecord | null> {
const controller = new AbortController();
const timer = setTimeout(() => controller.abort(), 6000);
try {
const qs = `filter[National Provider Identifier]=${encodeURIComponent(npi)}`;
const resp = await fetch(`${CMS_REVAL_API}?${qs}`, {
signal: controller.signal,
headers: { Accept: "application/json" },
});
clearTimeout(timer);
if (!resp.ok) return null;
const rows = (await resp.json()) as any[];
if (!Array.isArray(rows) || rows.length === 0) return null;
// Prefer the row with a concrete (non-TBD) due date.
const norm = (v: any) => (typeof v === "string" && v && v.toUpperCase() !== "TBD" ? v : null);
const row =
rows.find((r) => norm(r["Adjusted Due Date"]) || norm(r["Revalidation Due Date"])) || rows[0];
return {
revalidation_due_date: norm(row["Revalidation Due Date"]),
adjusted_due_date: norm(row["Adjusted Due Date"]),
enrollment_type: row["Enrollment Type"] || null,
specialty: row["Enrollment Specialty"] || null,
enrollment_state: row["Enrollment State Code"] || null,
legal_name: row["Organization Name"] || [row["First Name"], row["Last Name"]].filter(Boolean).join(" ") || null,
source: "cms_live",
};
} catch {
clearTimeout(timer);
return null;
}
}
type CheckStatus = "green" | "yellow" | "red" | "unknown";
interface ComplianceCheck {
@ -98,8 +148,11 @@ router.get("/api/v1/npi/lookup", async (req, res) => {
const locationAddr = (result.addresses || []).find((a: any) => a.address_purpose === "LOCATION") || (result.addresses || [])[0] || null;
const practiceState = locationAddr?.state || null;
// 2) Companion data joins (best-effort; tables may be empty pre-load)
const [revalRes, exclRes, optoutRes] = await Promise.all([
// 2) Companion data joins. Revalidation comes LIVE from the public CMS
// Revalidation Due Date List (authoritative + provider-verifiable); the
// local table is a fallback only (it may be empty pre-load).
const [cmsReval, revalRes, exclRes, optoutRes] = await Promise.all([
cmsRevalFetch(rawNpi),
pool.query(
`SELECT revalidation_due_date, adjusted_due_date, enrollment_type, specialty, enrollment_state
FROM npi_revalidation_due WHERE npi = $1 ORDER BY id LIMIT 1`,
@ -119,7 +172,13 @@ router.get("/api/v1/npi/lookup", async (req, res) => {
).catch(() => ({ rows: [] as any[] })),
]);
const reval = revalRes.rows[0] || null;
// Prefer live CMS data; fall back to the local companion table.
const reval = cmsReval || revalRes.rows[0] || null;
const revalSource: "cms_live" | "local" | null = cmsReval
? "cms_live"
: revalRes.rows[0]
? "local"
: null;
const excl = exclRes.rows[0] || null;
const optout = optoutRes.rows[0] || null;
@ -289,6 +348,16 @@ router.get("/api/v1/npi/lookup", async (req, res) => {
enumeration_date: enumerationDate ? fmtDate(enumerationDate) : null,
last_updated: lastUpdated ? fmtDate(lastUpdated) : null,
checks,
// Verification proof: the revalidation due date (when present) is from the
// live public CMS dataset the provider can check themselves.
revalidation: reval
? {
due_date: (reval.adjusted_due_date || reval.revalidation_due_date) ?? null,
source: revalSource,
cms_legal_name: (reval as any).legal_name ?? null,
verify_url: "https://data.cms.gov/tools/medicare-revalidation-list",
}
: null,
summary: {
red: redCount,
yellow: yellowCount,

View file

@ -0,0 +1,72 @@
/**
* Pure live-progress derivation for the order timeline.
*
* Kept free of DB/config imports so it can be unit-tested in isolation and
* reused. The route (order-timeline.ts) imports applyLiveStatus from here.
*
* We translate real signals (payment, e-signature, fulfillment_status) into
* per-step "completed | in_progress | pending" so the client portal shows true
* progress rather than a static template.
*/
/** Step-name matchers used to find phase boundaries within any timeline. */
export const SIGNATURE_STEP_RE = /signature|e-?sign/i;
export const FILED_STEP_RE = /filed|filing|submitted|application filed|registration/i;
// fulfillment_status values that mean "the filing has been submitted to the agency".
export const FILED_STATUSES = new Set<string>([
"filed_waiting_state",
"ready_to_file", // queued for ops to file — treat prep+signature as done
]);
// fulfillment_status values that mean "fully done".
export const COMPLETED_STATUSES = new Set<string>(["completed", "complete"]);
export interface ProgressSignals {
paid: boolean;
signed: boolean;
fulfillmentStatus: string | null;
}
/**
* Recompute each step's status from live signals. Returns a new step array.
*
* We resolve a "reached index" the index of the furthest step we can prove is
* done then mark everything up to it completed, the next in_progress, the
* rest pending. We never regress a step that the static definition already
* marked completed.
*/
export function applyLiveStatus<T extends { name: string; status: string }>(
steps: T[],
sig: ProgressSignals,
): T[] {
const sigIdx = steps.findIndex((s) => SIGNATURE_STEP_RE.test(s.name));
const filedIdx = steps.findIndex((s) => FILED_STEP_RE.test(s.name));
const confirmIdx = steps.length - 1; // last step is always the terminal one
let reached = -1;
// Payment confirmed → at minimum "Order Received" (index 0) is done.
if (sig.paid) reached = Math.max(reached, 0);
// Signature captured → the signature step (and everything before it) is done.
if (sig.signed && sigIdx >= 0) reached = Math.max(reached, sigIdx);
// Filing submitted to agency → the "Filed" step (and everything before) done.
if (sig.fulfillmentStatus && FILED_STATUSES.has(sig.fulfillmentStatus) && filedIdx >= 0) {
reached = Math.max(reached, filedIdx);
}
// Fully completed → everything done.
if (sig.fulfillmentStatus && COMPLETED_STATUSES.has(sig.fulfillmentStatus)) {
reached = confirmIdx;
}
return steps.map((step, i) => {
const staticallyDone = step.status === "completed";
let status: "pending" | "in_progress" | "completed";
if (i <= reached || staticallyDone) status = "completed";
else if (i === reached + 1) status = "in_progress";
else status = "pending";
return { ...step, status };
});
}

View file

@ -9,6 +9,7 @@
import { Router, type Request, type Response } from "express";
import { pool } from "../db.js";
import { applyLiveStatus } from "./order-timeline-status.js";
const router = Router();
@ -98,6 +99,45 @@ const SERVICE_TIMELINES: Record<string, TimelineStep[]> = {
{ name: "BOC-3 Update", description: "Updating process agent filing", business_days: 8, status: "pending" },
{ name: "Complete", description: "All filings updated under your new entity", business_days: 10, status: "pending" },
],
// ── Healthcare / CMS provider filings ────────────────────────────────────
// These submit a signed form to CMS; the WET_SIGNATURE_BUFFER is applied to
// the post-signature steps (see the buffer logic below).
"nppes-update": [
{ name: "Order Received", description: "Payment confirmed, order in queue", business_days: 0, status: "completed" },
{ name: "Document Preparation", description: "Preparing your NPI update for filing", business_days: 1, status: "pending" },
{ name: "Signature Required", description: "Review and sign the certification", business_days: 1, status: "pending" },
{ name: "Filed with CMS", description: "Your signed update is submitted to CMS", business_days: 2, status: "pending" },
{ name: "CMS Confirmation", description: "CMS processes the update (typically 1-2 weeks)", business_days: 10, status: "pending" },
],
"npi-reactivation": [
{ name: "Order Received", description: "Payment confirmed, order in queue", business_days: 0, status: "completed" },
{ name: "Document Preparation", description: "Preparing your NPI reactivation", business_days: 1, status: "pending" },
{ name: "Signature Required", description: "Review and sign the certification", business_days: 1, status: "pending" },
{ name: "Filed with CMS", description: "Your signed reactivation is submitted to CMS", business_days: 2, status: "pending" },
{ name: "CMS Confirmation", description: "CMS processes the reactivation (typically 1-2 weeks)", business_days: 10, status: "pending" },
],
"npi-revalidation": [
{ name: "Order Received", description: "Payment confirmed, order in queue", business_days: 0, status: "completed" },
{ name: "Document Preparation", description: "Preparing your Medicare revalidation", business_days: 1, status: "pending" },
{ name: "Signature Required", description: "Review and sign the certification", business_days: 1, status: "pending" },
{ name: "Filed with CMS", description: "Your signed revalidation is submitted to CMS", business_days: 2, status: "pending" },
{ name: "CMS Confirmation", description: "CMS/MAC processes the revalidation", business_days: 15, status: "pending" },
],
"medicare-enrollment": [
{ name: "Order Received", description: "Payment confirmed, order in queue", business_days: 0, status: "completed" },
{ name: "Document Preparation", description: "Preparing your Medicare enrollment", business_days: 1, status: "pending" },
{ name: "Signature Required", description: "Review and sign the certification", business_days: 1, status: "pending" },
{ name: "Filed with CMS", description: "Your signed enrollment is submitted to CMS", business_days: 2, status: "pending" },
{ name: "CMS Confirmation", description: "CMS/MAC processes the enrollment", business_days: 15, status: "pending" },
],
"provider-compliance-bundle": [
{ name: "Order Received", description: "Payment confirmed, order in queue", business_days: 0, status: "completed" },
{ name: "Document Preparation", description: "Preparing your provider compliance filings", business_days: 1, status: "pending" },
{ name: "Signature Required", description: "Review and sign the certification(s)", business_days: 1, status: "pending" },
{ name: "Filed with CMS", description: "Your signed filings are submitted to CMS", business_days: 2, status: "pending" },
{ name: "Screening Complete", description: "OIG/SAM screening completed (no action needed from you)", business_days: 2, status: "pending" },
{ name: "CMS Confirmation", description: "CMS/MAC processes your filings", business_days: 15, status: "pending" },
],
};
// Default timeline for services without a specific definition
@ -107,45 +147,117 @@ const DEFAULT_TIMELINE: TimelineStep[] = [
{ name: "Complete", description: "Filing completed and delivered", business_days: 5, status: "pending" },
];
// Services whose Standard path requires extra fulfillment handling on a mailed
// CMS form and therefore needs a small ETA buffer so we always have time to
// produce and mail the completed original. Revisit the buffer once that
// fulfillment step is in steady-state.
const WET_SIGNATURE_BUFFER_DAYS = 2;
const WET_SIGNATURE_SLUGS = new Set<string>([
"nppes-update",
"npi-reactivation",
"npi-revalidation",
"medicare-enrollment",
"provider-compliance-bundle",
]);
// ── Live-progress derivation ──────────────────────────────────────────────
// applyLiveStatus (pure, DB-free, unit-tested in order-timeline-status.ts)
// overrides each step's static status from real signals (payment, e-signature,
// fulfillment_status) so the client portal shows true progress.
router.get("/api/v1/order-timeline/:order_id", async (req: Request, res: Response) => {
try {
const orderId = req.params.order_id;
// Try single order first, then batch
let orders: Record<string, unknown>[] = [];
const single = await pool.query(
"SELECT order_number, service_slug, service_name, created_at, payment_status FROM compliance_orders WHERE order_number = $1",
[orderId],
);
if (single.rows.length > 0) {
orders = single.rows as Record<string, unknown>[];
} else {
// Try as batch_id
const batch = await pool.query(
"SELECT order_number, service_slug, service_name, created_at, payment_status FROM compliance_orders WHERE batch_id = $1 ORDER BY created_at",
[orderId],
);
orders = batch.rows as Record<string, unknown>[];
// Try single order first, then batch. We select fulfillment_status when
// present (column may not exist on older DBs — fall back gracefully).
const COLS = "order_number, service_slug, service_name, created_at, payment_status, fulfillment_status";
const COLS_FALLBACK = "order_number, service_slug, service_name, created_at, payment_status";
async function loadOrders(): Promise<Record<string, unknown>[]> {
const trySelect = async (cols: string) => {
const single = await pool.query(
`SELECT ${cols} FROM compliance_orders WHERE order_number = $1`,
[orderId],
);
if (single.rows.length > 0) return single.rows as Record<string, unknown>[];
const batch = await pool.query(
`SELECT ${cols} FROM compliance_orders WHERE batch_id = $1 ORDER BY created_at`,
[orderId],
);
return batch.rows as Record<string, unknown>[];
};
try {
return await trySelect(COLS);
} catch {
// fulfillment_status column not present yet — retry without it.
return await trySelect(COLS_FALLBACK);
}
}
const orders = await loadOrders();
if (orders.length === 0) {
res.status(404).json({ error: "Order not found." });
return;
}
// Which of these orders have a signed e-signature on file? One query for
// all order_numbers in the batch. Defensive: a missing table must not break
// the timeline (clients still see estimated dates).
const orderNumbers = orders.map((o) => o.order_number as string);
const signedSet = new Set<string>();
try {
const sig = await pool.query(
"SELECT DISTINCT order_number FROM esign_records WHERE order_number = ANY($1) AND status = 'signed'",
[orderNumbers],
);
for (const r of sig.rows as Record<string, unknown>[]) {
signedSet.add(r.order_number as string);
}
} catch {
// esign_records absent — treat all as unsigned.
}
const timelines = orders.map((order) => {
const slug = order.service_slug as string;
const startDate = new Date(order.created_at as string);
const steps = (SERVICE_TIMELINES[slug] || DEFAULT_TIMELINE).map((step) => ({
...step,
estimated_date: addBusinessDays(startDate, step.business_days).toISOString().split("T")[0],
}));
// These services get a buffer on every step from the signature onward,
// so we always have time to produce and mail the completed original form.
const isWetSig = WET_SIGNATURE_SLUGS.has(slug);
let pastSignature = false;
const dated = (SERVICE_TIMELINES[slug] || DEFAULT_TIMELINE).map((step) => {
if (isWetSig && /signature/i.test(step.name)) {
pastSignature = true;
}
const buffer = isWetSig && pastSignature ? WET_SIGNATURE_BUFFER_DAYS : 0;
return {
...step,
estimated_date: addBusinessDays(startDate, step.business_days + buffer)
.toISOString()
.split("T")[0],
};
});
// Overlay live progress so the portal reflects reality, not just dates.
const paymentStatus = String(order.payment_status || "").toLowerCase();
const steps = applyLiveStatus(dated, {
paid: paymentStatus === "paid" || paymentStatus === "completed",
signed: signedSet.has(order.order_number as string),
fulfillmentStatus: (order.fulfillment_status as string) || null,
});
// The current step is the first in_progress one, else the last completed.
const inProgress = steps.find((s) => s.status === "in_progress");
const lastCompleted = [...steps].reverse().find((s) => s.status === "completed");
const currentStep = (inProgress || lastCompleted || steps[0]).name;
return {
order_number: order.order_number,
service_slug: slug,
service_name: order.service_name,
steps,
current_step: currentStep,
estimated_completion: steps[steps.length - 1].estimated_date,
};
});

View file

@ -10,13 +10,18 @@
*/
import { Router, Request, Response } from "express";
import bcrypt from "bcryptjs";
import crypto from "crypto";
import nodemailer from "nodemailer";
import { pool } from "../db.js";
const SITE_URL = process.env.SITE_URL || "https://performancewest.net";
const RESET_TTL_MINUTES = 30;
// Password-RESET window for an existing account (security-sensitive): 2 hours.
const RESET_TTL_MINUTES = 120;
// Onboarding / first-password window for a NEW customer who hasn't engaged yet
// (e.g. set-password invites): 7 days, so the link doesn't expire before they
// get to it. These customers paid and just need to get in; a short window
// strands them.
export const ONBOARDING_TTL_MINUTES = 7 * 24 * 60;
async function sendEmail(opts: { to: string; subject: string; html: string; text: string }) {
const t = nodemailer.createTransport({
@ -35,11 +40,66 @@ import {
import {
ensureWebsiteUser,
setWebsiteUserPassword,
verifyWebsiteUserPassword,
linkUserToCustomer,
} from "../erpnext-client.js";
const router = Router();
// ── ERPNext is the single source of truth for customer passwords ─────────────
//
// Historically this file kept a bcrypt `customers.password_hash` AND ERPNext
// kept its own Website User password — two stores that drifted, so a customer
// could have a password in one and not the other (and the portal at
// portal.performancewest.net validates against ERPNext while this API used the
// PG hash). We now delegate ALL password operations to ERPNext:
//
// register / reset -> setWebsiteUserPassword (writes ERPNext)
// login -> verifyWebsiteUserPassword (checks ERPNext)
//
// Legacy customers who only ever had a Postgres bcrypt password can no longer
// log in directly — they use /forgot-password to set a password in ERPNext.
// The leftover `customers.password_hash` is no longer read for auth; it only
// still serves as a "this email already has an account" takeover guard in
// /register until the column is dropped.
//
// The `customers` table remains the PG-side profile + order-linking record
// (customer_id FK).
/** Ensure a password-less `customers` profile row exists; return its id. */
async function ensureCustomerProfile(
email: string,
name?: string | null,
): Promise<number> {
const result = await pool.query<{ id: number }>(
`INSERT INTO customers (email, name)
VALUES ($1, $2)
ON CONFLICT (email) DO UPDATE SET
name = COALESCE(EXCLUDED.name, customers.name),
updated_at = NOW()
RETURNING id`,
[email, name?.trim() || null],
);
return result.rows[0].id;
}
/** Find the ERPNext Customer doc name for this email, if any (best-effort). */
async function findErpCustomerName(email: string): Promise<string | undefined> {
try {
const { getResource } = await import("../erpnext-client.js");
const existing = (await getResource(
"Customer",
undefined,
{ email_id: email },
["name"],
1,
)) as Array<{ name: string }>;
return existing[0]?.name;
} catch {
return undefined;
}
}
// ── POST /api/v1/auth/register ────────────────────────────────────────────────
router.post("/register", async (req: Request, res: Response) => {
const { email, password, name } = req.body as { email?: string; password?: string; name?: string };
@ -54,44 +114,61 @@ router.post("/register", async (req: Request, res: Response) => {
const normalizedEmail = email.trim().toLowerCase();
try {
// Check if already registered
const existing = await pool.query(
`SELECT id FROM customers WHERE email = $1 AND password_hash IS NOT NULL`,
[normalizedEmail]
);
if (existing.rows.length > 0) {
// Already-registered check. Treat the account as existing if EITHER:
// (a) an ERPNext Website User has actually logged in before, OR
// (b) a legacy bcrypt password still exists in Postgres (pre-migration).
// A Website User with no last_login and no PG hash is just a checkout stub,
// so we still allow setting the first password there.
const { getResource } = await import("../erpnext-client.js");
const [users, legacy] = await Promise.all([
getResource(
"User",
undefined,
{ name: normalizedEmail },
["name", "last_login"],
1,
).catch(() => []) as Promise<Array<{ name: string; last_login: string | null }>>,
pool.query<{ password_hash: string | null }>(
`SELECT password_hash FROM customers WHERE email = $1`,
[normalizedEmail],
),
]);
const hasErpLogin = users.length > 0 && !!users[0].last_login;
const hasLegacyPassword = !!legacy.rows[0]?.password_hash;
if (hasErpLogin || hasLegacyPassword) {
return res.status(409).json({ error: "An account with this email already exists. Please log in." });
}
const hash = await bcrypt.hash(password, 12);
// ERPNext is the password authority: create the Website User if needed,
// then set the password there.
const fullName = name?.trim() || normalizedEmail.split("@")[0];
await ensureWebsiteUser(normalizedEmail, fullName);
await setWebsiteUserPassword(normalizedEmail, password);
const erpCustomerName = await findErpCustomerName(normalizedEmail);
if (erpCustomerName) await linkUserToCustomer(erpCustomerName, normalizedEmail);
const result = await pool.query<{ id: number; name: string | null }>(
`INSERT INTO customers (email, name, password_hash)
VALUES ($1, $2, $3)
ON CONFLICT (email) DO UPDATE SET
password_hash = EXCLUDED.password_hash,
name = COALESCE(EXCLUDED.name, customers.name),
updated_at = NOW()
RETURNING id, name`,
[normalizedEmail, name?.trim() || null, hash]
);
const customer = result.rows[0];
// Maintain the PG profile row (no password stored here anymore).
const customerId = await ensureCustomerProfile(normalizedEmail, name);
// Backfill existing orders
await pool.query(
`UPDATE canada_crtc_orders SET customer_id = $1 WHERE customer_email = $2 AND customer_id IS NULL`,
[customer.id, normalizedEmail]
[customerId, normalizedEmail]
);
await pool.query(
`UPDATE orders SET customer_id = $1 WHERE email = $2 AND customer_id IS NULL`,
[customer.id, normalizedEmail]
[customerId, normalizedEmail]
);
issueCustomerCookie(res, { customerId: customer.id, email: normalizedEmail });
res.json({ success: true, customer: { id: customer.id, email: normalizedEmail, name: customer.name } });
} catch (err) {
issueCustomerCookie(res, { customerId, email: normalizedEmail });
res.json({ success: true, customer: { id: customerId, email: normalizedEmail, name: fullName } });
} catch (err: any) {
console.error("[portal-auth] register error:", err);
// Surface ERPNext password-strength errors to the user.
const serverMsg = err?.body?._server_messages || err?.message || "";
if (/password/i.test(serverMsg)) {
return res.status(400).json({ error: "Password is too weak. Use a mix of uppercase, lowercase, numbers, and symbols." });
}
res.status(500).json({ error: "Registration failed. Please try again." });
}
});
@ -107,34 +184,30 @@ router.post("/login", async (req: Request, res: Response) => {
const normalizedEmail = email.trim().toLowerCase();
try {
const result = await pool.query<{ id: number; name: string | null; password_hash: string | null }>(
`SELECT id, name, password_hash FROM customers WHERE email = $1`,
[normalizedEmail]
);
const customer = result.rows[0];
if (!customer || !customer.password_hash) {
// Account exists from a prior order but no password set yet
if (customer && !customer.password_hash) {
return res.status(401).json({ error: "No password set for this account. Please register to set one.", code: "NO_PASSWORD" });
}
return res.status(401).json({ error: "Invalid email or password" });
}
const valid = await bcrypt.compare(password, customer.password_hash);
// Delegate the credential check to ERPNext (single source of truth).
// Legacy customers who only had a Postgres bcrypt password no longer have a
// usable credential here — they reset via /forgot-password, which writes the
// new password to ERPNext.
const valid = await verifyWebsiteUserPassword(normalizedEmail, password);
if (!valid) {
return res.status(401).json({ error: "Invalid email or password" });
}
// Ensure a PG profile row exists so routes that join on customer_id work.
const customerId = await ensureCustomerProfile(normalizedEmail);
const profile = await pool.query<{ name: string | null }>(
`SELECT name FROM customers WHERE id = $1`,
[customerId]
);
// Backfill existing orders
await pool.query(
`UPDATE canada_crtc_orders SET customer_id = $1 WHERE customer_email = $2 AND customer_id IS NULL`,
[customer.id, normalizedEmail]
[customerId, normalizedEmail]
);
issueCustomerCookie(res, { customerId: customer.id, email: normalizedEmail });
res.json({ success: true, customer: { id: customer.id, email: normalizedEmail, name: customer.name } });
issueCustomerCookie(res, { customerId, email: normalizedEmail });
res.json({ success: true, customer: { id: customerId, email: normalizedEmail, name: profile.rows[0]?.name ?? null } });
} catch (err) {
console.error("[portal-auth] login error:", err);
res.status(500).json({ error: "Login failed. Please try again." });
@ -180,12 +253,27 @@ router.post("/forgot-password", async (req: Request, res: Response) => {
res.json({ success: true, message: "If an account exists, a reset link has been sent." });
try {
const result = await pool.query<{ id: number; name: string | null }>(
let customer = (await pool.query<{ id: number; name: string | null }>(
`SELECT id, name FROM customers WHERE email = $1`,
[normalizedEmail]
);
const customer = result.rows[0];
if (!customer) return; // silent — response already sent
)).rows[0];
// No PG profile row yet — but the customer may exist in ERPNext (the
// password authority). If a Website User exists there, create the profile
// row so we can mint a reset token. Otherwise stay silent (no account).
if (!customer) {
const { getResource } = await import("../erpnext-client.js");
const users = (await getResource(
"User",
undefined,
{ name: normalizedEmail },
["name", "full_name"],
1,
).catch(() => [])) as Array<{ name: string; full_name: string | null }>;
if (users.length === 0) return; // silent — response already sent
const id = await ensureCustomerProfile(normalizedEmail, users[0].full_name);
customer = { id, name: users[0].full_name };
}
const token = crypto.randomBytes(32).toString("hex");
const expiresAt = new Date(Date.now() + RESET_TTL_MINUTES * 60 * 1000);
@ -246,24 +334,31 @@ router.post("/reset-password", async (req: Request, res: Response) => {
if (row.used_at) return res.status(400).json({ error: "This reset link has already been used." });
if (new Date() > row.expires_at) return res.status(400).json({ error: "This reset link has expired. Please request a new one." });
const hash = await bcrypt.hash(password, 12);
await pool.query(`UPDATE customers SET password_hash = $1, updated_at = NOW() WHERE id = $2`, [hash, row.customer_id]);
await pool.query(`UPDATE password_reset_tokens SET used_at = NOW() WHERE id = $1`, [row.id]);
// Fetch customer and issue session cookie so they're logged in immediately
// Fetch the customer so we know which ERPNext user to update.
const custResult = await pool.query<{ id: number; email: string; name: string | null }>(
`SELECT id, email, name FROM customers WHERE id = $1`,
[row.customer_id]
);
const customer = custResult.rows[0];
if (customer) {
issueCustomerCookie(res, { customerId: customer.id, email: customer.email });
}
if (!customer) return res.status(400).json({ error: "Account not found for this reset link." });
res.json({ success: true, customer: customer ? { id: customer.id, email: customer.email, name: customer.name } : null });
} catch (err) {
// ERPNext is the password authority. Create the Website User if it somehow
// doesn't exist yet, then set the new password there.
await ensureWebsiteUser(customer.email, customer.name || customer.email.split("@")[0]);
await setWebsiteUserPassword(customer.email, password);
await pool.query(`UPDATE password_reset_tokens SET used_at = NOW() WHERE id = $1`, [row.id]);
// Issue session cookie so they're logged in immediately
issueCustomerCookie(res, { customerId: customer.id, email: customer.email });
res.json({ success: true, customer: { id: customer.id, email: customer.email, name: customer.name } });
} catch (err: any) {
console.error("[portal-auth] reset-password error:", err);
const serverMsg = err?.body?._server_messages || err?.message || "";
if (/password/i.test(serverMsg)) {
return res.status(400).json({ error: "Password is too weak. Use a mix of uppercase, lowercase, numbers, and symbols." });
}
res.status(500).json({ error: "Password reset failed. Please try again." });
}
});
@ -353,20 +448,7 @@ router.post("/set-erpnext-password", async (req: Request, res: Response) => {
}
// Find the ERPNext customer name so we can link the user
let erpCustomerName: string | undefined;
try {
const { getResource } = await import("../erpnext-client.js");
const existing = (await getResource(
"Customer",
undefined,
{ email_id: normalizedEmail },
["name"],
1,
)) as Array<{ name: string }>;
if (existing.length > 0) erpCustomerName = existing[0].name;
} catch {
// Non-fatal — continue without linking
}
const erpCustomerName = await findErpCustomerName(normalizedEmail);
// Set ERPNext Website User password (the only account system)
const fullName = customer_name?.trim() || normalizedEmail.split("@")[0];
@ -376,6 +458,9 @@ router.post("/set-erpnext-password", async (req: Request, res: Response) => {
await linkUserToCustomer(erpCustomerName, normalizedEmail);
}
// Keep the PG profile row in sync so portal session routes have a record.
await ensureCustomerProfile(normalizedEmail, customer_name);
res.json({ success: true, created: true });
} catch (err: any) {
console.error("[portal-auth] set-erpnext-password error:", err);

View file

@ -22,6 +22,11 @@
import { Router, type Request, type Response } from "express";
import { pool } from "../db.js";
import { requirePortalAuth } from "../middleware/portalAuth.js";
import {
SIGN_CONSENT_TEXT,
requiresSignConsent,
signConsentSatisfied,
} from "./esign-sign-consent.js";
const router = Router();
const WORKER_URL = process.env.WORKER_URL || "http://workers:8090";
@ -93,12 +98,19 @@ router.get("/api/v1/portal/esign", requirePortalAuth, async (req: Request, res:
// Pull order number for subtitle (e.g. "CO-ABC12345")
const metadata = rec.document_metadata || {};
// Standard-path documents require an explicit, per-document authorization to
// use the signer's drawn signature to complete and submit the filing. The
// signing page surfaces and collects it BEFORE capturing the signature.
const requireSignConsent = requiresSignConsent(metadata);
res.json({
document_title: rec.document_title,
entity_name: rec.entity_name,
order_number: rec.order_number,
document_url: documentUrl,
requires_perjury: rec.requires_perjury || false,
require_sign_consent: requireSignConsent,
sign_consent_text: requireSignConsent ? SIGN_CONSENT_TEXT : null,
metadata,
});
} catch (err) {
@ -116,10 +128,11 @@ router.get("/api/v1/portal/esign", requirePortalAuth, async (req: Request, res:
router.post("/api/v1/portal/esign", requirePortalAuth, async (req: Request, res: Response) => {
const { order_id: orderNumber, order_type: documentType, email } = req.portalAuth!;
const { signature, agreed_at, user_agent } = req.body as {
signature?: { type: "drawn" | "typed"; image_b64?: string; name?: string };
const { signature, agreed_at, user_agent, sign_consent } = req.body as {
signature?: { type: "drawn" | "typed"; image_b64?: string; name?: string; vector?: any };
agreed_at?: string;
user_agent?: string;
sign_consent?: boolean;
};
// Validate signature
@ -146,7 +159,8 @@ router.post("/api/v1/portal/esign", requirePortalAuth, async (req: Request, res:
try {
// Find the pending record
const { rows } = await pool.query(
`SELECT id, order_number, document_type, status, requires_perjury
`SELECT id, order_number, document_type, status, requires_perjury,
document_metadata, signed_at
FROM esign_records
WHERE order_number = $1
AND document_type = $2
@ -169,34 +183,76 @@ router.post("/api/v1/portal/esign", requirePortalAuth, async (req: Request, res:
return;
}
// Signing-authorization gate: Standard-path documents require an explicit,
// per-document authorization to use the signer's drawn signature to complete
// and submit the filing. A typed signature is exempt.
const requireSignConsent = requiresSignConsent(rec.document_metadata);
if (!signConsentSatisfied(rec.document_metadata, signature.type, sign_consent)) {
res.status(400).json({
error: "Please confirm the authorization to use your signature to complete this filing.",
});
return;
}
// Store the signature
const sigData = signature.type === "drawn"
? signature.image_b64!.replace(/^data:image\/png;base64,/, "")
: signature.name!.trim();
// Sanitize the optional vector (stroke paths) — bound the size so a hostile
// client can't store an enormous JSON blob. Only kept for drawn signatures.
let sigVector: string | null = null;
if (signature.type === "drawn" && signature.vector && Array.isArray(signature.vector.strokes)) {
const v = signature.vector;
const strokeCount = v.strokes.length;
const pointCount = v.strokes.reduce((n: number, s: any) => n + (Array.isArray(s) ? s.length : 0), 0);
if (strokeCount > 0 && strokeCount <= 500 && pointCount > 0 && pointCount <= 20000) {
sigVector = JSON.stringify({
v: 1,
w: Number(v.w) || 0,
h: Number(v.h) || 0,
strokes: v.strokes,
});
}
}
const clientIp = (req as any).clientIp || req.ip || "";
const signedAt = new Date().toISOString();
// Record the signing authorization (only meaningful when this document
// requires it and the signer drew their signature). NB: the DB columns remain
// named ink_consent* for migration compatibility; they store the generic
// signing authorization.
const signConsentGiven = requireSignConsent && signature.type === "drawn" && sign_consent === true;
await pool.query(
`UPDATE esign_records
SET status = 'signed',
signature_type = $1,
signature_data = $2,
signer_email = $3,
signer_ip = $4,
signer_user_agent = $5,
signed_at = $6,
perjury_agreed = $7,
signature_vector = $3,
signer_email = $4,
signer_ip = $5,
signer_user_agent = $6,
signed_at = $7,
perjury_agreed = $8,
ink_consent = $9,
ink_consent_at = $10,
ink_consent_text = $11,
updated_at = NOW()
WHERE id = $8`,
WHERE id = $12`,
[
signature.type,
sigData,
sigVector,
email,
clientIp,
user_agent || "",
signedAt,
rec.requires_perjury ? true : false,
signConsentGiven,
signConsentGiven ? signedAt : null,
signConsentGiven ? SIGN_CONSENT_TEXT : null,
rec.id,
],
);

View file

@ -46,6 +46,7 @@ router.get("/me", async (req: Request, res: Response) => {
`SELECT order_number, batch_id, service_slug, service_name,
service_fee_cents, discount_cents, discount_code,
surcharge_cents, payment_status, payment_method,
fulfillment_status,
created_at, paid_at
FROM compliance_orders
WHERE customer_email = $1

View file

@ -423,6 +423,24 @@ router.post(
break;
}
// Subscription checkout: record the Stripe Subscription id on the order
// so renewal invoices (invoice.paid) can map back to it. The session's
// first invoice is paid here; renewals come via invoice.paid.
if (session.mode === "subscription" && session.subscription) {
const subId = typeof session.subscription === "string"
? session.subscription
: session.subscription.id;
try {
await pool.query(
`UPDATE compliance_orders SET stripe_subscription_id = $1 WHERE order_number = $2`,
[subId, order_id],
);
console.log(`[webhooks/stripe] Recorded subscription ${subId} on order ${order_id}`);
} catch (e) {
console.error(`[webhooks/stripe] Failed to record subscription ${subId} on ${order_id}:`, e);
}
}
if (session.payment_status === "paid") {
await handlePaymentComplete(order_id, order_type, session.id);
} else {
@ -487,6 +505,50 @@ router.post(
break;
}
case "invoice.paid": {
// Recurring subscription charge cleared (OIG/SAM monthly monitoring).
// The FIRST invoice is also covered by checkout.session.completed, so
// skip billing_reason "subscription_create" to avoid double-fulfilling;
// act only on the renewal cycles ("subscription_cycle").
const inv = event.data.object as Stripe.Invoice;
const billingReason = inv.billing_reason || "";
const subId = invoiceSubscriptionId(inv);
if (billingReason !== "subscription_cycle") {
console.log(`[webhooks/stripe] invoice.paid (${billingReason}) sub=${subId} — first cycle handled by checkout.session.completed, skipping`);
break;
}
if (!subId) {
console.warn("[webhooks/stripe] invoice.paid with no subscription id", inv.id);
break;
}
await handleSubscriptionRenewal(subId, inv);
break;
}
case "invoice.payment_failed": {
// A renewal charge failed (expired card, NSF). Stripe will retry per
// the dunning settings; alert admin and the customer.
const inv = event.data.object as Stripe.Invoice;
const subId = invoiceSubscriptionId(inv);
console.warn(`[webhooks/stripe] invoice.payment_failed sub=${subId} amount=${inv.amount_due}`);
if (subId) {
handleSubscriptionPaymentFailed(subId, inv).catch(err =>
console.error("[webhooks/stripe] subscription payment-failed handler error:", err),
);
}
break;
}
case "customer.subscription.deleted": {
// Subscription cancelled (by customer, by us, or after dunning gave up).
const sub = event.data.object as Stripe.Subscription;
console.log(`[webhooks/stripe] subscription cancelled: ${sub.id}`);
handleSubscriptionCancelled(sub).catch(err =>
console.error("[webhooks/stripe] subscription-cancel handler error:", err),
);
break;
}
default:
// Ignore unhandled event types
break;
@ -732,6 +794,147 @@ async function handlePaymentFailure(orderId: string, reason: string): Promise<vo
}
}
// ═══════════════════════════════════════════════════════════════════════════════
// Subscription lifecycle (recurring services, e.g. OIG/SAM monthly monitoring)
// ═══════════════════════════════════════════════════════════════════════════════
/**
* Extract the Stripe Subscription id from an Invoice, tolerant of API version.
* As of API 2026-03-25 the subscription link moved under
* invoice.parent.subscription_details.subscription and the top-level
* invoice.subscription field was removed; older versions (incl. the account
* default 2024-12-18.acacia that the unpinned live endpoint follows) still send
* the top-level field. We read whichever is present.
*/
function invoiceSubscriptionId(inv: Stripe.Invoice): string | null {
// New API (>= 2026-03-25.dahlia): invoice.parent.subscription_details.subscription
const modern = inv.parent?.subscription_details?.subscription;
if (modern) return typeof modern === "string" ? modern : modern.id;
// Legacy API (<= 2025): top-level invoice.subscription. The live webhook
// endpoint has NO pinned api_version, so it follows the account default
// (currently 2024-12-18.acacia) which delivers this older shape. We must read
// both or recurring renewals silently fail to map back to an order.
const legacy = (inv as unknown as { subscription?: string | { id: string } }).subscription;
if (legacy) return typeof legacy === "string" ? legacy : legacy.id;
return null;
}
/**
* Look up the compliance order backing a Stripe subscription. Subscriptions are
* recorded on compliance_orders.stripe_subscription_id at checkout completion.
*/
async function findOrderBySubscription(subId: string): Promise<Record<string, any> | null> {
try {
const r = await pool.query(
`SELECT order_number, service_slug, service_name, customer_email, customer_name,
erpnext_sales_order, intake_data, service_fee_cents
FROM compliance_orders
WHERE stripe_subscription_id = $1
ORDER BY created_at DESC LIMIT 1`,
[subId],
);
return r.rows[0] ?? null;
} catch (e) {
console.error(`[subscription] order lookup failed for ${subId}:`, e);
return null;
}
}
/**
* A recurring charge cleared (renewal cycle). Re-run the screening for that
* cycle and email the customer the fresh report. This is the value the
* subscriber pays for each month.
*/
async function handleSubscriptionRenewal(subId: string, inv: Stripe.Invoice): Promise<void> {
const order = await findOrderBySubscription(subId);
if (!order) {
console.warn(`[subscription] renewal for ${subId} — no matching order, skipping fulfillment`);
return;
}
const orderId = order.order_number as string;
const slug = order.service_slug as string;
console.log(`[subscription] renewal cycle for ${orderId} (${slug}) — dispatching re-screen`);
// Re-dispatch the service handler for this cycle. The handler re-runs the
// OIG/SAM screening against the current LEIE + SAM data and emails the report.
const dispatch = await dispatchToWorker("process_compliance_service", {
order_name: order.erpnext_sales_order || orderId,
order_number: orderId,
service_slug: slug,
recurring_cycle: true,
invoice_id: inv.id,
});
if (!dispatch.ok) {
console.error(`[subscription] worker dispatch failed for renewal ${orderId}`);
// Alert admin so the cycle isn't silently missed
await sendEmail({
to: ADMIN_EMAIL,
subject: `⚠️ Subscription renewal fulfillment failed — ${orderId}`,
html: `<p>Renewal charge cleared for subscription <code>${subId}</code> (order ${orderId}, ${slug}) but the worker dispatch failed. Re-run the screening manually.</p>`,
}).catch(() => {});
}
}
/**
* A renewal charge failed. Stripe retries on its dunning schedule; we alert
* admin and (on the first failure) nudge the customer to update their method.
*/
async function handleSubscriptionPaymentFailed(subId: string, inv: Stripe.Invoice): Promise<void> {
const order = await findOrderBySubscription(subId);
const orderId = (order?.order_number as string) || "unknown";
const customerEmail = (order?.customer_email as string) || "";
const attempt = inv.attempt_count || 1;
await sendEmail({
to: ADMIN_EMAIL,
subject: `⚠️ Subscription renewal failed — ${orderId} (attempt ${attempt})`,
html: `<p>Renewal charge failed for subscription <code>${subId}</code> (order ${orderId}).</p>
<p>Amount due: $${((inv.amount_due || 0) / 100).toFixed(2)} Stripe attempt ${attempt}.</p>
<p>Stripe will retry automatically. If retries are exhausted the subscription cancels.</p>`,
}).catch(() => {});
// Customer-facing nudge only on first failure (avoid spamming on each retry).
if (attempt === 1 && customerEmail) {
const updateUrl = inv.hosted_invoice_url || `https://${process.env.DOMAIN || "performancewest.net"}/contact`;
await sendEmail({
to: customerEmail,
subject: "Action needed: your monthly screening payment didn't go through",
html: `<p>Hi ${(order?.customer_name as string) || "there"},</p>
<p>We couldn't process this month's payment for your OIG/SAM exclusion monitoring.
To keep your screening active and your audit record current, please update your
payment details:</p>
<p><a href="${updateUrl}" style="display:inline-block;background:#10b981;color:#fff;font-weight:700;padding:12px 28px;border-radius:8px;text-decoration:none;">Update payment</a></p>
<p>If you have any questions, reply to this email or call (888) 411-0383.</p>
<p>Performance West</p>`,
}).catch(() => {});
}
}
/**
* Subscription cancelled (customer, admin, or dunning gave up). Mark the order
* so monthly fulfillment stops and the portal reflects the cancellation.
*/
async function handleSubscriptionCancelled(sub: Stripe.Subscription): Promise<void> {
const order = await findOrderBySubscription(sub.id);
const orderId = (order?.order_number as string) || "unknown";
try {
await pool.query(
`UPDATE compliance_orders
SET payment_status = 'cancelled',
notes = COALESCE(notes, '') || $2
WHERE stripe_subscription_id = $1`,
[sub.id, `\nSubscription cancelled: ${new Date().toISOString()}`],
);
} catch (e) {
console.error(`[subscription] cancel update failed for ${sub.id}:`, e);
}
await sendEmail({
to: ADMIN_EMAIL,
subject: `Subscription cancelled — ${orderId}`,
html: `<p>Subscription <code>${sub.id}</code> (order ${orderId}) was cancelled. Monthly screening will stop.</p>`,
}).catch(() => {});
}
async function handleACHDispute(paymentIntentId: string, reason: string, amountCents: number): Promise<void> {
try {
// Try to find the order across tables using Stripe session/PI references

570
api/src/service-catalog.ts Normal file
View file

@ -0,0 +1,570 @@
/**
* Canonical compliance service catalog -- SINGLE SOURCE OF TRUTH for pricing.
*
* This is the authority: checkout charges order.service_fee_cents which is set
* from this catalog at order-creation time. The public site does NOT keep its
* own copy; site/src/lib/service-catalog.generated.ts is generated from this
* file by scripts/gen-service-catalog.mjs (run automatically before site build),
* and intake_manifest.ts re-exports it as SERVICE_META. To change a price, edit
* ONLY this file.
*
* Keep slug set in sync with:
* - api/src/routes/compliance-orders.ts REQUIRED_FIELDS (intake validation)
* - scripts/workers/services/__init__.py SERVICE_HANDLERS (fulfillment)
*/
export interface ComplianceService {
name: string;
price_cents: number;
gov_fee_cents?: number;
gov_fee_label?: string;
erpnext_item: string;
discountable: boolean;
/**
* Recurring billing. When set, checkout builds a Stripe Subscription
* (mode:"subscription") that charges price_cents every interval instead of a
* one-time payment. Only payment methods that support off-session recurring
* charges are allowed for these (see allowed_methods).
*/
billing_interval?: "month" | "year";
/**
* Restrict the payment methods offered for this service. Omit = all methods
* (card, ach, paypal, klarna, crypto). Recurring services MUST list only
* methods that can do off-session charges: ["card","ach"] PayPal/Klarna/
* crypto here are one-time only and cannot back a subscription.
*/
allowed_methods?: ("card" | "ach" | "paypal" | "klarna" | "crypto")[];
}
export const COMPLIANCE_SERVICES: Record<string, ComplianceService> = {
"fcc-compliance-checkup": {
name: "FCC Carrier Compliance Checkup",
price_cents: 79900,
erpnext_item: "FCC-COMPLIANCE-CHECKUP",
discountable: true,
},
"fcc-499a": {
name: "FCC Form 499-A Filing",
price_cents: 49900,
erpnext_item: "FCC-499A",
discountable: true,
},
"fcc-499a-zero": {
name: "FCC Form 499-A Filing (Zero Revenue)",
price_cents: 17900,
erpnext_item: "FCC-499A-ZERO",
discountable: true,
},
"fcc-499a-499q": {
name: "FCC Form 499-A + 499-Q Bundle",
price_cents: 59900,
erpnext_item: "FCC-499A-499Q",
discountable: true,
},
"fcc-full-compliance": {
name: "FCC Full Compliance Bundle",
price_cents: 149900,
erpnext_item: "FCC-FULL-COMPLIANCE",
discountable: true,
},
"cpni-certification": {
name: "CPNI Annual Certification",
price_cents: 19900,
erpnext_item: "CPNI-CERT",
discountable: true,
},
"rmd-filing": {
name: "RMD Registration / Recertification",
price_cents: 24900,
gov_fee_cents: 10000,
gov_fee_label: "FCC RMD filing fee",
erpnext_item: "RMD-FILING",
discountable: true,
},
"stir-shaken": {
name: "STIR/SHAKEN Implementation Assistance",
price_cents: 49900,
erpnext_item: "STIR-SHAKEN",
discountable: true,
},
"dc-agent": {
name: "D.C. Registered Agent (Annual)",
price_cents: 14900,
erpnext_item: "DC-AGENT",
discountable: false,
},
// BDC filings — the FCC retired Form 477 in Dec 2022 and folded voice
// subscription data into BDC. Broadband-only and voice-only SKUs let
// carriers pay for just what they need; bdc-filing remains as a bundle.
"bdc-broadband": {
name: "BDC Broadband Deployment Filing",
price_cents: 24900,
erpnext_item: "BDC-BROADBAND",
discountable: true,
},
"bdc-voice": {
name: "BDC Voice Subscription Filing (formerly Form 477 Voice)",
price_cents: 19900,
erpnext_item: "BDC-VOICE",
discountable: true,
},
"bdc-filing": {
name: "BDC Filing (Broadband + Voice)",
price_cents: 34900,
erpnext_item: "BDC-FILING",
discountable: true,
},
// New-carrier entry point — register in CORES + obtain FRN
"cores-frn-registration": {
name: "CORES / FRN Registration",
price_cents: 14900,
erpnext_item: "CORES-FRN",
discountable: true,
},
// 499-A New Filer Registration (distinct from the annual revenue filing)
"fcc-499-initial": {
name: "Form 499 Initial Registration",
price_cents: 34900,
erpnext_item: "FCC-499-INITIAL",
discountable: true,
},
// CALEA System Security & Integrity plan (47 USC 229)
"calea-ssi": {
name: "CALEA SSI Plan",
price_cents: 79900,
erpnext_item: "CALEA-SSI",
discountable: true,
},
// 47 CFR § 63.11 Foreign Carrier Affiliation Notification
"fcc-63-11-notification": {
name: "Foreign Carrier Affiliation Notification (47 CFR § 63.11)",
price_cents: 34900,
erpnext_item: "FCC-63-11",
discountable: true,
},
// One-click onboarding for a brand-new carrier (composes 5 filings)
"new-carrier-bundle": {
name: "New Carrier Onboarding Bundle (FRN + 499 Initial + RMD + CPNI + CALEA)",
price_cents: 179900,
erpnext_item: "NEW-CARRIER-BUNDLE",
discountable: true,
},
// Trucking/DOT brand-new-carrier starter bundle (composes the FMCSA filings a
// new motor carrier needs to start operating). DISTINCT from the telecom
// new-carrier-bundle above -- they are different verticals and must not share
// a slug (doing so charged trucking customers the telecom product/price and
// showed "FCC" on their receipt). Components in BUNDLE_COMPONENTS.
"dot-new-carrier-bundle": {
name: "New Carrier Starter Bundle (USDOT + MC Authority + BOC-3 + MCS-150 + Drug & Alcohol)",
price_cents: 59900,
gov_fee_cents: 30000,
gov_fee_label: "FMCSA registration fees (USDOT + operating authority, billed at cost)",
erpnext_item: "DOT-NEW-CARRIER-BUNDLE",
discountable: true,
},
// NECA OCN registration — required for VoIP/IPES carriers that need
// their own Operating Company Number for STIR/SHAKEN signing, LRN
// assignments, or direct numbering authority. NECA charges $550
// standard / $675 expedited; we pass through + margin for prep work.
"ocn-registration": {
name: "NECA OCN + Sponsoring CLEC Agreement",
price_cents: 265000,
erpnext_item: "OCN-REGISTRATION",
discountable: false,
},
"fcc-499q": {
name: "FCC Form 499-Q Quarterly Filing",
price_cents: 0, // included in 499-A+Q bundle — not sold standalone
erpnext_item: "FCC-499Q",
discountable: false,
},
"fcc-499a-discontinuance": {
name: "Form 499-A Discontinuance Filing",
price_cents: 29900,
erpnext_item: "499A-DISCONTINUANCE",
discountable: false,
},
// Standalone CDR Traffic Study — customers who want the classified
// study (unlocks the current reporting year) without buying the
// full 499-A filing service. Either slug unlocks the study via the
// cdr_study_access_grants paywall hook.
"cdr-analysis": {
name: "CDR Traffic Study (Annual)",
price_cents: 49900,
erpnext_item: "CDR-ANALYSIS",
discountable: true,
},
// CDR storage / processing tiers. Annual subscription; renew alongside
// the filing. Each tier is additive — customer picks the smallest tier
// that covers their worst of (storage bytes, classified rows).
"cdr-storage-tier1": {
name: "CDR Storage Tier 1 (50 GB / 50M calls)",
price_cents: 9900,
erpnext_item: "CDR-STORAGE-TIER1",
discountable: false,
},
"cdr-storage-tier2": {
name: "CDR Storage Tier 2 (250 GB / 250M calls)",
price_cents: 29900,
erpnext_item: "CDR-STORAGE-TIER2",
discountable: false,
},
"cdr-storage-tier3": {
name: "CDR Storage Tier 3 (1 TB / 1B calls)",
price_cents: 79900,
erpnext_item: "CDR-STORAGE-TIER3",
discountable: false,
},
// ── Foreign qualification (Certificate of Authority) ─────────────────
// Per-state fees are added on top of these flat service fees at order
// time (state fee + NWRA RA wholesale, looked up from jurisdictions +
// state_filing_fees). Handler fans out one filing per selected state.
//
// Pricing model:
// - `foreign-qualification-single`: flat service fee ($149) + state
// fee + optional NWRA RA. One state per order.
// - `foreign-qualification-multi`: discounted per-state service fee
// ($99) + state fees + RAs. For FCC carriers filing across their
// operating territory.
"foreign-qualification-single": {
name: "Foreign Qualification (One State)",
price_cents: 14900,
erpnext_item: "FOREIGN-QUAL-SINGLE",
discountable: true,
},
"foreign-qualification-multi": {
name: "Foreign Qualification (Multi-State)",
price_cents: 9900, // per-state service fee
erpnext_item: "FOREIGN-QUAL-MULTI",
discountable: true,
},
// ── Business name reservation ────────────────────────────────────────
// Sell the binding Name RESERVATION (the SOS holds the name for a fixed
// window), not a non-binding "search". State fee passed through at cost.
// Free instant pre-check on the order form stays free (lead magnet).
// See docs/name-reservation-product.md.
"name-reservation-tx": {
name: "Texas Name Reservation (Form 501, 120 days)",
price_cents: 7900, // flat service fee
gov_fee_cents: 4000, // TX SOS name reservation fee
gov_fee_label: "Texas SOS name reservation fee (Form 501)",
erpnext_item: "NAME-RESERVATION",
discountable: true,
},
"name-reservation-nv": {
name: "Nevada Name Reservation (90 days)",
price_cents: 7900, // flat service fee
gov_fee_cents: 2500, // NV SOS name reservation fee
gov_fee_label: "Nevada SOS name reservation fee",
erpnext_item: "NAME-RESERVATION",
discountable: true,
},
// Business entity formation (used by the trucking new-carrier flow when the
// carrier needs to form an LLC/corp before registering). Formation is also
// available via the dedicated /order/formation flow; these catalog entries
// let the new-carrier batch include formation as a line item.
"llc-formation": {
name: "LLC Formation",
price_cents: 19900,
erpnext_item: "LLC-FORMATION",
discountable: true,
},
"corp-formation": {
name: "Corporation Formation",
price_cents: 24900,
erpnext_item: "CORP-FORMATION",
discountable: true,
},
// State PUC/PSC Registration — $399 per-state service fee + state
// filing fees. Bond procurement coordinated separately.
"state-puc": {
name: "State PUC/PSC Registration",
price_cents: 39900, // per-state service fee
erpnext_item: "STATE-PUC",
discountable: true,
},
// ── DOT / FMCSA Motor Carrier Services ──────────────────────────────
"mcs150-update": {
name: "MCS-150 Biennial Update",
price_cents: 7900,
erpnext_item: "MCS150-UPDATE",
discountable: true,
},
"boc3-filing": {
name: "BOC-3 Process Agent Filing",
price_cents: 8900,
erpnext_item: "BOC3-FILING",
discountable: false, // passthrough cost — $25 to Process Agent LLC
},
"ucr-registration": {
name: "UCR Annual Registration",
price_cents: 3900,
gov_fee_cents: 4600, // minimum tier ($46 for 0-2 power units)
gov_fee_label: "UCR registration fee (tier-based, minimum shown)",
erpnext_item: "UCR-REGISTRATION",
discountable: true,
},
"dot-registration": {
name: "New USDOT Number Registration",
price_cents: 8900,
erpnext_item: "DOT-REGISTRATION",
discountable: true,
},
"mc-authority": {
name: "MC Operating Authority Application",
price_cents: 19900, // $199 + $300 FMCSA gov fee
gov_fee_cents: 30000, // $300 FMCSA application fee
gov_fee_label: "FMCSA operating authority application fee",
erpnext_item: "MC-AUTHORITY",
discountable: false, // $300 FMCSA gov fee makes this non-discountable
},
"usdot-reactivation": {
name: "USDOT Number Reactivation",
price_cents: 14900,
erpnext_item: "USDOT-REACTIVATION",
discountable: true,
},
"emergency-temporary-authority": {
name: "Emergency Temporary Authority (ETA)",
price_cents: 49900,
erpnext_item: "EMERGENCY-TEMP-AUTH",
discountable: false, // urgent service, premium pricing
},
"dot-drug-alcohol": {
name: "DOT Drug & Alcohol Compliance Program",
price_cents: 14900,
erpnext_item: "DOT-DRUG-ALCOHOL",
discountable: true, // instant PDF binder we generate — our own deliverable, no passthrough cost
},
"dot-audit-prep": {
name: "New Entrant Safety Audit Preparation",
price_cents: 39900,
erpnext_item: "DOT-AUDIT-PREP",
discountable: true,
},
"dot-full-compliance": {
name: "DOT Full Compliance Bundle",
price_cents: 39900, // $399 — includes MCS-150+BOC-3+UCR+D&A+Audit ($775 individual)
erpnext_item: "DOT-FULL-COMPLIANCE",
discountable: true,
},
"carrier-closeout": {
name: "Trucking Wrap-Up (USDOT Shutdown)",
price_cents: 19900, // $199 — final MCS-150 (out of business) + MC revoke + UCR cancel + state account closures
erpnext_item: "CARRIER-CLOSEOUT",
discountable: true,
},
"entity-dissolution": {
name: "Business Entity Dissolution (LLC/Corp)",
price_cents: 4900, // $49 add-on to the wrap-up — LLC/Corp dissolution + final report; state filing fees billed separately
gov_fee_label: "State dissolution filing fee (varies by state, billed at cost)",
erpnext_item: "ENTITY-DISSOLUTION",
discountable: true,
},
// ── State-Level Trucking Compliance ──────────────────────────────────
// For these services the price_cents is our flat SERVICE fee only. The
// actual state government charges (apportioned IRP registration, IFTA decal
// fees, weight-distance/HUT account setup, permit/decal costs) vary by the
// carrier's fleet weight, mileage, and base state, so they are passed
// through AT COST and billed separately once the state issues the invoice —
// we never mark them up. The gov_fee_label is shown to the customer at
// checkout so the pass-through is disclosed up front.
"irp-registration": {
name: "IRP Registration Assistance",
price_cents: 10900, // + state fees (apportioned registration billed at cost)
gov_fee_label: "Apportioned IRP registration & plate fees (state, by jurisdictions + weight, billed at cost)",
erpnext_item: "IRP-REGISTRATION",
discountable: true,
},
"ifta-application": {
name: "IFTA Application + Decals",
price_cents: 10900, // + state fees
gov_fee_label: "IFTA license & decal fees (state, billed at cost)",
erpnext_item: "IFTA-APPLICATION",
discountable: true,
},
"ifta-quarterly": {
name: "IFTA Quarterly Filing",
price_cents: 10900,
gov_fee_label: "IFTA taxes due (remitted to the state at cost based on your mileage)",
erpnext_item: "IFTA-QUARTERLY",
discountable: true,
},
"or-weight-mile-tax": {
name: "Oregon Weight-Mile Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "Oregon weight-mile tax account & bond/deposit (state, billed at cost)",
erpnext_item: "OR-WEIGHT-MILE-TAX",
discountable: true,
},
"ny-hut-registration": {
name: "NY Highway Use Tax Registration",
price_cents: 10900, // + state fees
gov_fee_label: "NY HUT certificate & decal fees (state, billed at cost)",
erpnext_item: "NY-HUT-REGISTRATION",
discountable: true,
},
"ky-kyu-registration": {
name: "KY Weight-Distance Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "KYU weight-distance account fees (state, billed at cost)",
erpnext_item: "KY-KYU-REGISTRATION",
discountable: true,
},
"nm-weight-distance": {
name: "NM Weight-Distance Tax Setup",
price_cents: 10900, // + state fees
gov_fee_label: "NM weight-distance permit & account fees (state, billed at cost)",
erpnext_item: "NM-WEIGHT-DISTANCE",
discountable: true,
},
"ct-highway-use-fee": {
name: "CT Highway Use Fee Setup",
price_cents: 10900, // + state fees
gov_fee_label: "CT Highway Use Fee registration (state, billed at cost)",
erpnext_item: "CT-HIGHWAY-USE-FEE",
discountable: true,
},
"ca-mcp-carb": {
name: "California MCP + CARB Compliance",
price_cents: 22900, // $229 + state fees (CA is more complex: MCP + CARB)
gov_fee_label: "CA MCP permit fee + CARB/Clean Truck Check fees (state, by fleet size, billed at cost)",
erpnext_item: "CA-MCP-CARB",
discountable: true,
},
"state-dot-registration": {
name: "State DOT Registration",
price_cents: 10900, // + state fees
gov_fee_label: "State DOT/intrastate registration fee (state, billed at cost)",
erpnext_item: "STATE-DOT-REGISTRATION",
discountable: true,
},
"intrastate-authority": {
name: "Intrastate Operating Authority",
price_cents: 10900, // + state fees
gov_fee_label: "State intrastate authority filing fee (state, billed at cost)",
erpnext_item: "INTRASTATE-AUTHORITY",
discountable: true,
},
"osow-permit": {
name: "Oversize/Overweight Permit",
price_cents: 10900, // + state permit fees
gov_fee_label: "State oversize/overweight permit fees (per trip/route, billed at cost)",
erpnext_item: "OSOW-PERMIT",
discountable: true,
},
"state-trucking-bundle": {
name: "State Compliance Bundle",
price_cents: 49900, // $499 — IRP+IFTA+weight tax+intrastate ($796 individual)
gov_fee_label: "State registration, decal & tax fees for each included filing (billed at cost)",
erpnext_item: "STATE-TRUCKING-BUNDLE",
discountable: true,
},
// ── Hazmat / Emissions ───────────────────────────────────────────────
"hazmat-phmsa": {
name: "PHMSA Hazmat Registration",
price_cents: 14900, // $149 admin-assisted; PHMSA gov fee billed at cost
gov_fee_label: "PHMSA registration fee ($25 + $250-$3,000 processing, by business size, billed at cost)",
erpnext_item: "HAZMAT-PHMSA",
discountable: true,
},
"state-emissions": {
name: "State Clean-Truck / Emissions Compliance",
price_cents: 10900, // $109 + state fees — NY/CO/MD/NJ/MA clean-truck / ACT advisory + registration assist
erpnext_item: "STATE-EMISSIONS",
discountable: true,
},
// ── Corporate / Entity Services ──
"annual-report-filing": {
name: "Annual Report / Franchise Tax Filing",
price_cents: 14900,
erpnext_item: "ANNUAL-REPORT",
discountable: true,
},
"registered-agent": {
name: "Registered Agent Service (1 Year)",
price_cents: 9900,
erpnext_item: "REGISTERED-AGENT",
discountable: true,
},
"entity-reinstatement": {
name: "Entity Reinstatement",
price_cents: 29900,
erpnext_item: "ENTITY-REINSTATEMENT",
discountable: true,
},
"virtual-mailbox": {
name: "Virtual Mailbox (1 Year)",
price_cents: 14900,
erpnext_item: "VIRTUAL-MAILBOX",
discountable: true,
},
"ein-application": {
name: "EIN Application (IRS SS-4)",
price_cents: 7900,
erpnext_item: "EIN-APPLICATION",
discountable: true,
},
"entity-upgrade-bundle": {
name: "Entity Upgrade Package (Sole Prop → LLC)",
price_cents: 59900,
erpnext_item: "ENTITY-UPGRADE-BUNDLE",
discountable: true,
},
// ── Healthcare / NPI compliance ──────────────────────────────────────
// CMS/NPPES provider compliance. Handlers are review-staged (a human
// files in PECOS/NPPES) — same safety default as the FCC auto-filing
// toggle. HIPAA is intentionally out of scope (separate specialty).
// Flagship = npi-revalidation (CMS 5-yr Medicare revalidation, dateable
// overdue signal from the free CMS revalidation list).
"npi-revalidation": {
name: "Medicare PECOS Revalidation Filing",
price_cents: 59900,
erpnext_item: "NPI-REVALIDATION",
discountable: true,
},
"npi-reactivation": {
name: "NPI Reactivation",
price_cents: 44900,
erpnext_item: "NPI-REACTIVATION",
discountable: true,
},
"nppes-update": {
name: "NPPES Data Update / Attestation",
price_cents: 34900,
erpnext_item: "NPPES-UPDATE",
discountable: true,
},
"clia-renewal": {
name: "CLIA Certificate Renewal",
price_cents: 44900,
erpnext_item: "CLIA-RENEWAL",
discountable: true,
},
"medicare-enrollment": {
name: "Medicare Enrollment (PECOS)",
price_cents: 69900,
erpnext_item: "MEDICARE-ENROLLMENT",
discountable: true,
},
"oig-sam-screening": {
name: "OIG/SAM Exclusion Screening (Monthly Monitoring)",
price_cents: 7900,
erpnext_item: "OIG-SAM-SCREENING",
discountable: false,
// Federal exclusion screening is a MONTHLY obligation (OIG SAB) — sell it as
// recurring monitoring, not a one-time annual run. Recurring requires an
// off-session-capable rail, so only card + ACH (PayPal/Klarna/crypto can't
// back a subscription).
billing_interval: "month",
allowed_methods: ["card", "ach"],
},
"provider-compliance-bundle": {
name: "Provider Compliance Bundle (Annual)",
price_cents: 89900,
erpnext_item: "PROVIDER-COMPLIANCE-BUNDLE",
discountable: true,
},
};

View file

@ -0,0 +1,58 @@
/**
* Unit tests for the signing-authorization gate (pure logic, no DB).
* Run: npx tsx api/test/test_esign_sign_consent.ts
*/
import assert from "node:assert";
import {
SIGN_CONSENT_TEXT,
requiresSignConsent,
signConsentRequired,
signConsentSatisfied,
} from "../src/routes/esign-sign-consent.js";
let pass = 0;
const ok = (name: string, cond: boolean) => {
assert.ok(cond, name);
pass++;
};
// --- requiresSignConsent ---
ok("meta true", requiresSignConsent({ require_sign_consent: true }) === true);
ok("meta false", requiresSignConsent({ require_sign_consent: false }) === false);
ok("meta missing", requiresSignConsent({}) === false);
ok("meta null", requiresSignConsent(null) === false);
ok("meta undefined", requiresSignConsent(undefined) === false);
ok("meta string-truthy not enough", requiresSignConsent({ require_sign_consent: "true" }) === false);
// --- signConsentRequired: only DRAWN on consent-required docs ---
ok("required: drawn + flag", signConsentRequired({ require_sign_consent: true }, "drawn") === true);
ok("not required: typed + flag", signConsentRequired({ require_sign_consent: true }, "typed") === false);
ok("not required: drawn + no flag", signConsentRequired({ require_sign_consent: false }, "drawn") === false);
ok("not required: drawn + no meta", signConsentRequired({}, "drawn") === false);
ok("not required: undefined type", signConsentRequired({ require_sign_consent: true }, undefined) === false);
// --- signConsentSatisfied ---
// exempt cases (consent not required) are always satisfied regardless of flag
ok("satisfied: typed exempt", signConsentSatisfied({ require_sign_consent: true }, "typed", undefined) === true);
ok("satisfied: no-flag drawn exempt", signConsentSatisfied({ require_sign_consent: false }, "drawn", undefined) === true);
ok("satisfied: no-meta drawn exempt", signConsentSatisfied({}, "drawn", false) === true);
// required cases: must have sign_consent === true
ok("blocked: drawn+flag, no consent", signConsentSatisfied({ require_sign_consent: true }, "drawn", undefined) === false);
ok("blocked: drawn+flag, consent false", signConsentSatisfied({ require_sign_consent: true }, "drawn", false) === false);
ok("blocked: drawn+flag, consent truthy-but-not-true", signConsentSatisfied({ require_sign_consent: true }, "drawn", "true") === false);
ok("blocked: drawn+flag, consent 1 (not strict true)", signConsentSatisfied({ require_sign_consent: true }, "drawn", 1) === false);
ok("allowed: drawn+flag, consent true", signConsentSatisfied({ require_sign_consent: true }, "drawn", true) === true);
// --- consent text: client-safe, never describes fulfillment mechanics ---
const banned = ["ink", "plotter", "machine", "paper", "print", "CMS", "855", "10114", "MAC", "Baltimore", "PO Box", "robot", "reproduce"];
for (const w of banned) {
ok(`consent text omits "${w}"`, !SIGN_CONSENT_TEXT.toLowerCase().includes(w.toLowerCase()));
}
// --- consent text: legally required reassurances present ---
ok("consent says 'single filing'", SIGN_CONSENT_TEXT.includes("single filing"));
ok("consent says 'not be reused'", SIGN_CONSENT_TEXT.includes("will not be reused"));
ok("consent says 'my own signature'", SIGN_CONSENT_TEXT.includes("my own signature"));
ok("consent says 'intent to sign'", SIGN_CONSENT_TEXT.includes("intent to sign"));
ok("consent says 'on my behalf'", SIGN_CONSENT_TEXT.includes("on my behalf"));
console.log(`\nesign signing-authorization: ${pass} checks passed`);

View file

@ -0,0 +1,92 @@
/**
* Verifies applyLiveStatus: the live-progress overlay used by the client
* portal order timeline. Run: npx tsx api/test/test_timeline_status.ts
*/
import { applyLiveStatus } from "../src/routes/order-timeline-status.js";
type Step = { name: string; description: string; business_days: number; status: string };
const npiSteps: Step[] = [
{ name: "Order Received", description: "", business_days: 0, status: "completed" },
{ name: "Document Preparation", description: "", business_days: 1, status: "pending" },
{ name: "Signature Required", description: "", business_days: 1, status: "pending" },
{ name: "Filed with CMS", description: "", business_days: 2, status: "pending" },
{ name: "CMS Confirmation", description: "", business_days: 10, status: "pending" },
];
let failures = 0;
function check(label: string, got: string[], want: string[]) {
const ok = JSON.stringify(got) === JSON.stringify(want);
if (!ok) {
failures++;
console.error(`FAIL: ${label}\n got: ${got.join(",")}\n want: ${want.join(",")}`);
} else {
console.log(`ok: ${label}`);
}
}
const statuses = (s: Step[]) => s.map((x) => x.status);
// 1. Unpaid, nothing reached → only the statically-completed step 0 is done.
check(
"unpaid",
statuses(applyLiveStatus(npiSteps, { paid: false, signed: false, fulfillmentStatus: null })),
["completed", "pending", "pending", "pending", "pending"],
);
// 2. Paid only → Order Received done, prep in progress
check(
"paid only",
statuses(applyLiveStatus(npiSteps, { paid: true, signed: false, fulfillmentStatus: null })),
["completed", "in_progress", "pending", "pending", "pending"],
);
// 3. Paid + signed → through Signature done, Filed in progress
check(
"paid+signed",
statuses(applyLiveStatus(npiSteps, { paid: true, signed: true, fulfillmentStatus: null })),
["completed", "completed", "completed", "in_progress", "pending"],
);
// 4. Paid + signed + filed → through Filed done, Confirmation in progress
check(
"paid+signed+filed",
statuses(applyLiveStatus(npiSteps, { paid: true, signed: true, fulfillmentStatus: "filed_waiting_state" })),
["completed", "completed", "completed", "completed", "in_progress"],
);
// 5. Completed → everything done
check(
"completed",
statuses(applyLiveStatus(npiSteps, { paid: true, signed: true, fulfillmentStatus: "completed" })),
["completed", "completed", "completed", "completed", "completed"],
);
// 6. ready_to_file without explicit signed → still advances to Filed step
check(
"ready_to_file",
statuses(applyLiveStatus(npiSteps, { paid: true, signed: false, fulfillmentStatus: "ready_to_file" })),
["completed", "completed", "completed", "completed", "in_progress"],
);
// 7. A timeline with no signature step (e.g. boc3) still works off paid + fulfillment
const boc3: Step[] = [
{ name: "Order Received", description: "", business_days: 0, status: "completed" },
{ name: "Process Agent Filing", description: "", business_days: 1, status: "pending" },
{ name: "FMCSA Registration", description: "", business_days: 3, status: "pending" },
];
check(
"boc3 paid",
statuses(applyLiveStatus(boc3, { paid: true, signed: false, fulfillmentStatus: null })),
["completed", "in_progress", "pending"],
);
check(
"boc3 filed",
statuses(applyLiveStatus(boc3, { paid: true, signed: false, fulfillmentStatus: "filed_waiting_state" })),
["completed", "completed", "in_progress"], // "Process Agent Filing" matches FILED_STEP_RE
);
if (failures > 0) {
console.error(`\n${failures} test(s) failed`);
process.exit(1);
}
console.log("\nAll timeline status tests passed");

View file

@ -0,0 +1,113 @@
/**
* Recurring-subscription logic tests (run with: npx tsx tests/recurring-subscription.test.ts)
*
* Validates the catalog-driven recurring gating and the pure helpers used by
* checkout.ts (method gating, surcharge suppression, recurring line-item build)
* and webhooks.ts (invoice -> subscription id extraction). These mirror the
* exact logic in the routes so a regression in the rules is caught without a
* live Stripe call. The end-to-end Stripe test-mode run is a separate manual
* step (documented in docs/billing.md).
*/
import { COMPLIANCE_SERVICES, type ComplianceService } from "../src/service-catalog.js";
let passed = 0;
let failed = 0;
function check(name: string, cond: boolean) {
if (cond) { passed++; console.log(` ok ${name}`); }
else { failed++; console.error(`FAIL ${name}`); }
}
// ── 1. Catalog: OIG/SAM is recurring, $79/mo, card+ACH only ────────────────
const oig = COMPLIANCE_SERVICES["oig-sam-screening"];
check("oig-sam exists", !!oig);
check("oig-sam price is $79 (7900c)", oig.price_cents === 7900);
check("oig-sam billing_interval=month", oig.billing_interval === "month");
check("oig-sam allowed_methods = card,ach", JSON.stringify(oig.allowed_methods) === JSON.stringify(["card", "ach"]));
check("oig-sam not discountable", oig.discountable === false);
check("oig-sam name says Monthly Monitoring", /Monthly Monitoring/.test(oig.name));
// ── 2. Recurring services MUST only allow off-session-capable methods ───────
const OFF_SESSION_OK = new Set(["card", "ach"]);
for (const [slug, svc] of Object.entries(COMPLIANCE_SERVICES) as [string, ComplianceService][]) {
if (svc.billing_interval) {
check(`recurring '${slug}' declares allowed_methods`, Array.isArray(svc.allowed_methods) && svc.allowed_methods.length > 0);
const allOk = (svc.allowed_methods || []).every(m => OFF_SESSION_OK.has(m));
check(`recurring '${slug}' methods are all off-session-capable`, allOk);
}
}
// ── 3. One-time services keep mode:payment (no billing_interval) ────────────
check("npi-revalidation is one-time", !COMPLIANCE_SERVICES["npi-revalidation"].billing_interval);
check("provider-compliance-bundle is one-time (annual $899)",
!COMPLIANCE_SERVICES["provider-compliance-bundle"].billing_interval &&
COMPLIANCE_SERVICES["provider-compliance-bundle"].price_cents === 89900);
// ── 4. Method-gating rule (mirrors checkout.ts METHOD_NOT_ALLOWED) ──────────
function methodAllowed(svc: ComplianceService | undefined, method: string): boolean {
const allowed = svc?.allowed_methods;
return !allowed || allowed.includes(method as any);
}
check("oig rejects paypal", !methodAllowed(oig, "paypal"));
check("oig rejects klarna", !methodAllowed(oig, "klarna"));
check("oig rejects crypto", !methodAllowed(oig, "crypto"));
check("oig accepts card", methodAllowed(oig, "card"));
check("oig accepts ach", methodAllowed(oig, "ach"));
check("unrestricted service accepts paypal", methodAllowed(COMPLIANCE_SERVICES["npi-revalidation"], "paypal"));
// ── 5. Surcharge suppression for recurring (mirrors checkout.ts) ────────────
const GATEWAY_SURCHARGES: Record<string, number> = { card: 3.0, ach: 0.0, paypal: 3.0, klarna: 6.0, crypto: 0.0 };
function surchargePct(billingInterval: string | undefined, method: string): number {
return billingInterval ? 0 : (GATEWAY_SURCHARGES[method] ?? 0);
}
check("recurring card surcharge is 0 (absorbed)", surchargePct("month", "card") === 0);
check("one-time card surcharge is 3%", surchargePct(undefined, "card") === 3.0);
// ── 6. Recurring line-item builder (mirrors checkout.ts mapping) ────────────
type LI = { quantity?: number; price_data: { product_data: { name: string }; unit_amount: number } };
function toRecurring(items: LI[], interval: "month" | "year") {
return items.map(li => ({
quantity: li.quantity ?? 1,
price_data: {
currency: "usd" as const,
product_data: li.price_data.product_data,
unit_amount: li.price_data.unit_amount,
recurring: { interval },
},
}));
}
const built = toRecurring([{ price_data: { product_data: { name: oig.name }, unit_amount: oig.price_cents } }], "month");
check("recurring line item has recurring.interval=month", built[0].price_data.recurring.interval === "month");
check("recurring line item keeps $79 unit_amount", built[0].price_data.unit_amount === 7900);
check("recurring line item defaults quantity=1", built[0].quantity === 1);
// ── 7. invoiceSubscriptionId extraction (mirrors webhooks.ts; version-tolerant)
function invoiceSubscriptionId(inv: any): string | null {
// New API (>= 2026-03-25.dahlia)
const modern = inv?.parent?.subscription_details?.subscription;
if (modern) return typeof modern === "string" ? modern : modern.id;
// Legacy API (<= 2025, incl. account default 2024-12-18.acacia on the
// unpinned live endpoint): top-level invoice.subscription
const legacy = inv?.subscription;
if (legacy) return typeof legacy === "string" ? legacy : legacy.id;
return null;
}
check("subId from string field", invoiceSubscriptionId({ parent: { subscription_details: { subscription: "sub_123" } } }) === "sub_123");
check("subId from object field", invoiceSubscriptionId({ parent: { subscription_details: { subscription: { id: "sub_456" } } } }) === "sub_456");
check("subId from legacy top-level string (acacia)", invoiceSubscriptionId({ subscription: "sub_legacy" }) === "sub_legacy");
check("subId from legacy top-level object", invoiceSubscriptionId({ subscription: { id: "sub_legacy2" } }) === "sub_legacy2");
check("subId prefers modern over legacy", invoiceSubscriptionId({ subscription: "sub_old", parent: { subscription_details: { subscription: "sub_new" } } }) === "sub_new");
check("subId null when no parent", invoiceSubscriptionId({ id: "in_1" }) === null);
check("subId null for one-time invoice", invoiceSubscriptionId({ parent: { type: "quote_details" } }) === null);
// ── 8. Renewal-cycle gating (mirrors webhooks.ts invoice.paid) ─────────────
function shouldFulfillRenewal(billingReason: string): boolean {
// First invoice (subscription_create) is handled by checkout.session.completed;
// only subscription_cycle should re-dispatch fulfillment.
return billingReason === "subscription_cycle";
}
check("first invoice (subscription_create) NOT re-fulfilled", !shouldFulfillRenewal("subscription_create"));
check("renewal cycle IS re-fulfilled", shouldFulfillRenewal("subscription_cycle"));
check("manual invoice NOT re-fulfilled", !shouldFulfillRenewal("manual"));
console.log(`\n${passed} passed, ${failed} failed`);
process.exit(failed === 0 ? 0 : 1);

View file

@ -0,0 +1,57 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background:#1a2744;padding:26px 28px;">
<img src="https://performancewest.net/images/logo.png" alt="Performance West" style="height:42px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:21px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Still incorporated in {{ .Subscriber.Attribs.state_inc_name }}?</h1>
<p style="color:#94a3b8;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">A note for {{ .Subscriber.Attribs.company }} ({{ .Subscriber.Attribs.ticker }})</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 16px;line-height:1.6;">To the corporate / finance team at <strong>{{ .Subscriber.Attribs.company }}</strong>,</p>
<p style="font-size:14px;line-height:1.7;margin:0 0 16px;">A growing number of public companies are <strong>redomesticating out of {{ .Subscriber.Attribs.state_inc_name }} to Texas</strong> &mdash; driven by the new Texas Business Court (specialized corporate bench, live 2024), the Texas Stock Exchange, and Texas's lower ongoing cost (no annual franchise tax for most entities under the revenue threshold, versus Delaware's franchise tax that can run into five figures for public companies).</p>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0;"><tr><td style="background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#075985;font-weight:700;">What a reincorporation actually involves</h3>
<div style="font-size:13px;color:#0c4a6e;line-height:1.8;">
&bull; Plan of conversion / domestication + Texas certificate of formation<br>
&bull; Board + shareholder approvals and the SEC disclosure around it<br>
&bull; A Texas <strong>registered agent</strong> and (if you keep operations elsewhere) foreign qualification<br>
&bull; Winding down the old-state franchise-tax / annual-report obligations
</div>
</td></tr></table>
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">We handle the filing mechanics end to end &mdash; fixed fees, no billable hours &mdash; and coordinate with your counsel on the corporate approvals. If a move is not on the table this year, we also handle the everyday items that keep your entity in good standing: <strong>registered agent, annual reports, franchise tax, and foreign qualification</strong> in any state you operate.</p>
{{ if .Subscriber.Attribs.coupon_code }}
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0;"><tr><td style="background:#fff7ed;border:2px solid #f97316;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:13px;font-weight:700;color:#9a3412;letter-spacing:.04em;margin:0 0 6px">{{ .Subscriber.Attribs.coupon_pct }}% OFF OUR SERVICE FEE - THIS WEEK</p>
<p style="font-size:14px;color:#9a3412;margin:0 0 4px">Use code <strong style="font-size:16px;letter-spacing:.08em">{{ .Subscriber.Attribs.coupon_code }}</strong> on any filing.</p>
<p style="font-size:12px;color:#b91c1c;font-weight:700;margin:0">Expires {{ .Subscriber.Attribs.coupon_expires }}. Applies to our service fee; state filing fees are separate.</p>
</td></tr></table>
{{ end }}
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#eff6ff;border:2px solid #2563eb;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#1e3a8a;margin:0 0 12px;font-weight:600;">Want a straight answer on whether a Texas reincorporation pencils out for {{ .Subscriber.Attribs.ticker }}?</p>
<a href="{{ .Subscriber.Attribs.lp_link }}" style="display:inline-block;padding:14px 36px;background:#2563eb;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">See options &amp; pricing &rarr;</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Prefer to talk it through?</strong> Reply to this email or call <strong>(888) 411-0383</strong>. We are a corporate compliance firm; we are not your attorney and this is not legal advice &mdash; we handle the filings and coordinate with your counsel.
</td></tr></table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West Inc. is a corporate filing/compliance firm, not a law firm. This message is general information, not legal advice.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,117 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:21px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Your CLIA certificate is coming up for renewal</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Let's get it filed before it lapses</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 16px;line-height:1.6;">Hi {{ .Subscriber.Name }},</p>
<p style="font-size:14px;line-height:1.75;margin:0 0 16px;">Whoever last handled the lab certification for <strong>{{ .Subscriber.Attribs.practice }}</strong> may have moved on &mdash; CLIA certificates run on a 2-year cycle, and renewal deadlines are easy to miss when staff change.</p>
<p style="font-size:14px;line-height:1.75;margin:0 0 18px;">That is exactly what we keep an eye on, so it does not become your problem. Here is where your certificate stands:</p>
<!-- Official-record card: CLIA data is from the public CMS POS file. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:6px 0 22px;">
<tr><td style="border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr><td style="background:#2563eb;background-image:repeating-linear-gradient(45deg,#ef4444 0,#ef4444 14px,#ffffff 14px,#ffffff 28px,#2563eb 28px,#2563eb 42px,#ffffff 42px,#ffffff 56px);padding:0;">
<p style="margin:0;padding:11px 16px;background:rgba(15,23,42,0.58);font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#ffffff;font-weight:700;text-align:center;">Official record &middot; CMS CLIA Laboratory File</p>
</td></tr>
<tr><td style="background:#f8fafc;padding:6px 16px 14px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">CLIA number</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.clia }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Laboratory</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Certificate expires</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b91c1c;">{{ .Subscriber.Attribs.clia_expiry }}</td></tr>
<tr><td style="padding:9px 0;color:#64748b;">Status</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b91c1c;">{{ .Subscriber.Attribs.clia_status }}</td></tr>
</table>
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">Source: CMS Provider of Services File - Clinical Laboratories (data.cms.gov), refreshed quarterly.</p>
</td></tr>
</table>
</td></tr>
</table>
<p style="font-size:14px;line-height:1.75;margin:0 0 18px;">If a CLIA certificate lapses, you cannot legally perform or bill for laboratory testing until it is reinstated &mdash; which can interrupt patient care and revenue. <strong>Starting now is the best way to make sure your renewal is filed and processed in time</strong> &mdash; CMS can take several weeks to process, so the earlier we begin, the more buffer you have against government processing delays.</p>
<!-- How it works -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#0f766e;font-weight:700;">We do the work &mdash; you barely lift a finger</h3>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0 0 10px;">We prepare and file your CLIA renewal (CMS Form 116) and track it through to confirmation. <strong>You never share a password and you never have to chase a government portal.</strong> The only thing we may need is a one-minute e-signature on a secure link.</p>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0;">No matter who handled it before, we will make sure it gets done right.</p>
</td></tr></table>
<!-- Verify-it-yourself -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:14px 0 18px;"><tr><td style="background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px;">
<p style="margin:0 0 6px;font-size:13px;color:#1e3a8a;font-weight:700;">Want to confirm it yourself?</p>
<p style="margin:0 0 12px;font-size:13px;color:#1e40af;line-height:1.6;">Look up CLIA number <strong>{{ .Subscriber.Attribs.clia }}</strong> on the public CMS QCOR laboratory lookup and you will see the same expiration date shown above.</p>
<a href="https://qcor.cms.gov/main.jsp" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS QCOR &#8599;</a>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us take the CLIA renewal off your plate &mdash; the sooner we start, the better.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
<a href="https://performancewest.net/order/clia-renewal?clia={{ .Subscriber.Attribs.clia }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-clia-renewal" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Renew my CLIA certificate &rarr;</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions, or want to hand off your lab filings going forward?</strong> Just reply to this email or call <strong>(888) 411-0383</strong>. We are a dedicated healthcare compliance firm and we are happy to be the people who keep track of this for you.
</td></tr></table>
<!-- Personal guarantee from the founder: photo links to the About page so
readers can confirm a real person stands behind the work. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #0f766e;border-radius:10px;padding:20px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="92" valign="top" style="padding-right:16px;">
<a href="https://performancewest.net/about">
<img src="https://performancewest.net/images/justin-hannah.jpg" alt="Justin Hannah, Founder of Performance West" width="76" height="76" style="width:76px;height:76px;border-radius:50%;display:block;border:2px solid #0f766e;" />
</a>
</td>
<td valign="top">
<p style="margin:0 0 10px;font-size:14px;color:#1f2937;line-height:1.7;font-style:italic;">&ldquo;If we handle this for you and you are not completely satisfied, I will personally make it right. You will not pay billable hours, and you will not be left chasing a government portal on your own. That is my promise.&rdquo;</p>
<p style="margin:0;">
<a href="https://performancewest.net/about" style="text-decoration:none;">
<img src="https://performancewest.net/images/justin-signature-v2.png" alt="Justin Hannah" width="150" style="width:150px;height:auto;display:block;margin:0 0 2px;" />
</a>
<span style="font-size:13px;font-weight:700;color:#0f172a;">Justin Hannah</span><br>
<span style="font-size:12px;color:#64748b;">Founder &amp; Principal Consultant, Performance West Inc.</span>
</p>
</td>
</tr>
</table>
</td></tr></table>
<!-- Trust signals + true social proof -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS or Medicare.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,102 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Provider Compliance Review</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Annual compliance, done for you</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">Stop chasing deadlines — we'll handle the whole year</h2>
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">Between revalidation, NPPES attestation, and exclusion screening, provider compliance is a moving target for <strong>{{ .Subscriber.Attribs.practice }}</strong> (NPI {{ .Subscriber.Attribs.npi }}).</p>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">What's included</h3>
<div style="font-size:13px;color:#065f46;line-height:1.7;">Revalidation monitoring &amp; filing, NPPES updates/attestation, and your <strong>first OIG/SAM exclusion screening</strong> &mdash; one flat annual price, all tracked, all documented. Continue monthly exclusion monitoring afterward (optional, cancel anytime).</div>
</td></tr></table>
<!-- Detail row -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">NPI</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.npi }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">Practice</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.practice }}</td></tr>
</table>
<!-- Verify-it-yourself: the bundle monitors public government sources end to
end, so the provider can confirm every input we watch. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:14px 0 22px;"><tr><td style="background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px;">
<p style="margin:0 0 6px;font-size:13px;color:#1e3a8a;font-weight:700;">We monitor the official government sources &mdash; see them yourself.</p>
<p style="margin:0 0 12px;font-size:13px;color:#1e40af;line-height:1.6;">Everything in the bundle is grounded in public CMS, NPPES, and exclusion data for NPI <strong>{{ .Subscriber.Attribs.npi }}</strong>. We watch all of it year-round so nothing slips:</p>
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;margin:0 6px 6px 0;padding:9px 16px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:12px;">CMS Revalidation &#8599;</a>
<a href="https://npiregistry.cms.hhs.gov/search" style="display:inline-block;margin:0 6px 6px 0;padding:9px 16px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:12px;">NPPES &#8599;</a>
<a href="https://exclusions.oig.hhs.gov/" style="display:inline-block;margin:0 6px 6px 0;padding:9px 16px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:12px;">OIG LEIE &#8599;</a>
<a href="https://sam.gov/search/?index=ex" style="display:inline-block;margin:0 0 6px 0;padding:9px 16px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:12px;">SAM.gov &#8599;</a>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">One annual bundle covers your core CMS obligations.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We watch the deadlines so you never miss one.</p>
<a href="https://performancewest.net/order/provider-compliance-bundle?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-compliance-bundle" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Get the compliance bundle →</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions?</strong> Reply to this email or call <strong>(888) 411-0383</strong>. Performance West is a dedicated healthcare compliance firm &mdash; we handle the CMS/NPPES paperwork so you can focus on patients.
</td></tr></table>
<!-- Personal guarantee from the founder: photo links to the About page so
readers can confirm a real person stands behind the work. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #0f766e;border-radius:10px;padding:20px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="92" valign="top" style="padding-right:16px;">
<a href="https://performancewest.net/about">
<img src="https://performancewest.net/images/justin-hannah.jpg" alt="Justin Hannah, Founder of Performance West" width="76" height="76" style="width:76px;height:76px;border-radius:50%;display:block;border:2px solid #0f766e;" />
</a>
</td>
<td valign="top">
<p style="margin:0 0 10px;font-size:14px;color:#1f2937;line-height:1.7;font-style:italic;">&ldquo;If we handle this for you and you are not completely satisfied, I will personally make it right. You will not pay billable hours, and you will not be left chasing a government portal on your own. That is my promise.&rdquo;</p>
<p style="margin:0;">
<a href="https://performancewest.net/about" style="text-decoration:none;">
<img src="https://performancewest.net/images/justin-signature-v2.png" alt="Justin Hannah" width="150" style="width:150px;height:auto;display:block;margin:0 0 2px;" />
</a>
<span style="font-size:13px;font-weight:700;color:#0f172a;">Justin Hannah</span><br>
<span style="font-size:12px;color:#64748b;">Founder &amp; Principal Consultant, Performance West Inc.</span>
</p>
</td>
</tr>
</table>
</td></tr></table>
<!-- Trust signals (data-safety + guarantee — relevant when sharing provider info) -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS or Medicare.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,122 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Provider Enrollment Check</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Make sure your Medicare enrollment is still active</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">Your enrollment looks deactivated — let's fix it fast</h2>
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">Our compliance monitoring suggests the enrollment for <strong>{{ .Subscriber.Attribs.practice }}</strong> (NPI {{ .Subscriber.Attribs.npi }}) <strong>may be deactivated or inactive</strong> &mdash; it is worth confirming on the official sources below.</p>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">Why it matters</h3>
<div style="font-size:13px;color:#065f46;line-height:1.7;">A deactivated enrollment means Medicare claims are being <strong>rejected</strong>. Reactivation restores your billing privileges &mdash; the sooner it's filed, the less revenue you lose.</div>
</td></tr></table>
<!-- Official-record card: NPPES is the public source of record for an NPI.
Deactivation itself is not a single public dataset, so the status row is
labeled as our compliance flag, not as an NPPES field, to stay accurate. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;">
<tr><td style="border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr><td style="background:#2563eb;background-image:repeating-linear-gradient(45deg,#ef4444 0,#ef4444 14px,#ffffff 14px,#ffffff 28px,#2563eb 28px,#2563eb 42px,#ffffff 42px,#ffffff 56px);padding:0;">
<p style="margin:0;padding:11px 16px;background:rgba(15,23,42,0.58);font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#ffffff;font-weight:700;text-align:center;">Official record &middot; NPPES NPI Registry</p>
</td></tr>
<tr><td style="background:#f8fafc;padding:6px 16px 14px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">NPI</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.npi }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Registered to</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
<tr><td style="padding:9px 0;color:#64748b;">Enrollment status</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b91c1c;">FLAGGED DEACTIVATED / INACTIVE</td></tr>
</table>
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">NPI record source: NPPES NPI Registry (npiregistry.cms.hhs.gov). Enrollment status flagged by our compliance monitoring &mdash; confirm via the official sources below.</p>
</td></tr>
</table>
</td></tr>
</table>
<!-- Pricing reassurance (no number in email; shown on the order page) -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
<p style="margin:0;font-size:13px;color:#475569;line-height:1.6;font-family:Inter,system-ui,sans-serif;">Simple, <strong>flat fee &mdash; shown up front</strong> before you pay anything. No logins, no hourly billing, no surprises.</p>
</td></tr></table>
<!-- Verify-it-yourself: deactivation status is not a single public dataset,
but it almost always traces to a lapsed revalidation (public on the CMS
Revalidation list) and shows in the NPPES registry, both of which the
provider can check. Framed honestly: confirm it on the official sources. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:14px 0 22px;"><tr><td style="background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px;">
<p style="margin:0 0 6px;font-size:13px;color:#1e3a8a;font-weight:700;">Confirm your status on the official sources.</p>
<p style="margin:0 0 12px;font-size:13px;color:#1e40af;line-height:1.6;">Most deactivations follow a lapsed revalidation. Look up your NPI <strong>{{ .Subscriber.Attribs.npi }}</strong> on the public CMS Revalidation list and the NPPES registry, or check whether your recent Medicare claims are paying &mdash; if they&rsquo;re being rejected, your enrollment is the likely cause.</p>
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;margin:0 6px 6px 0;padding:10px 18px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">CMS Revalidation list &#8599;</a>
<a href="https://npiregistry.cms.hhs.gov/search" style="display:inline-block;margin:0 0 6px 0;padding:10px 18px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">NPPES registry &#8599;</a>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We handle the CMS-855 reactivation end to end.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We verify every field against current CMS requirements.</p>
<a href="https://performancewest.net/order/npi-reactivation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-npi-reactivation" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Reactivate my enrollment →</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions?</strong> Reply to this email or call <strong>(888) 411-0383</strong>. Performance West is a dedicated healthcare compliance firm &mdash; we handle the CMS/NPPES paperwork so you can focus on patients.
</td></tr></table>
<!-- Personal guarantee from the founder: photo links to the About page so
readers can confirm a real person stands behind the work. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #0f766e;border-radius:10px;padding:20px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="92" valign="top" style="padding-right:16px;">
<a href="https://performancewest.net/about">
<img src="https://performancewest.net/images/justin-hannah.jpg" alt="Justin Hannah, Founder of Performance West" width="76" height="76" style="width:76px;height:76px;border-radius:50%;display:block;border:2px solid #0f766e;" />
</a>
</td>
<td valign="top">
<p style="margin:0 0 10px;font-size:14px;color:#1f2937;line-height:1.7;font-style:italic;">&ldquo;If we handle this for you and you are not completely satisfied, I will personally make it right. You will not pay billable hours, and you will not be left chasing a government portal on your own. That is my promise.&rdquo;</p>
<p style="margin:0;">
<a href="https://performancewest.net/about" style="text-decoration:none;">
<img src="https://performancewest.net/images/justin-signature-v2.png" alt="Justin Hannah" width="150" style="width:150px;height:auto;display:block;margin:0 0 2px;" />
</a>
<span style="font-size:13px;font-weight:700;color:#0f172a;">Justin Hannah</span><br>
<span style="font-size:12px;color:#64748b;">Founder &amp; Principal Consultant, Performance West Inc.</span>
</p>
</td>
</tr>
</table>
</td></tr></table>
<!-- Trust signals (data-safety + guarantee — relevant when sharing provider info) -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS or Medicare.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,122 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Free NPI Compliance Check</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">NPPES &middot; Medicare revalidation &middot; OIG/SAM exclusions &middot; NPI status</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">We pulled the public records for NPI {{ .Subscriber.Attribs.npi }} &mdash; here&rsquo;s a free check</h2>
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">{{ if .Subscriber.Attribs.nppes_last_updated }}As a quick example, the public NPPES NPI Registry shows the record for <strong>{{ .Subscriber.Attribs.practice }}</strong> was <strong>last updated on {{ .Subscriber.Attribs.nppes_last_updated }}</strong> &mdash; about <strong>{{ .Subscriber.Attribs.nppes_years_stale }} years ago</strong>. That&rsquo;s usually fine, but it&rsquo;s only one of several things payers and CMS check. {{ else }}Your NPI touches several public government records &mdash; NPPES, the Medicare revalidation list, and the federal exclusion lists &mdash; and any one of them being off can hold up your payments. {{ end }}Our free tool runs your NPI against those public sources in one place &mdash; <strong>no signup, no cost</strong> &mdash; and tells you exactly where you stand.</p>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;padding:18px;">
<p style="margin:0 0 10px;font-size:14px;color:#0f766e;font-weight:700;">Your free check covers:</p>
<div style="font-size:13px;color:#134e4a;line-height:1.9;">
&#9989; <strong>NPI status</strong> &mdash; active or deactivated in NPPES<br>
&#9989; <strong>Medicare revalidation</strong> &mdash; due date from the live CMS list (deactivation risk)<br>
&#9989; <strong>OIG / SAM exclusions</strong> &mdash; screened against the federal exclusion lists<br>
&#9989; <strong>NPPES record currency</strong> &mdash; last-updated date &amp; what may be stale
</div>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">Why it matters</h3>
<div style="font-size:13px;color:#065f46;line-height:1.7;">Payers, clearinghouses, and CMS pull from NPPES. A stale address, taxonomy, or contact can cause <strong>claim denials, mail you never receive, and failed credentialing</strong>. CMS requires you to correct your NPPES record within 30 days of any change.</div>
</td></tr></table>
<!-- Official-record card: NPPES is fully public, so this mirrors the registry.
Only shown when we have the real Last Updated date for this NPI. -->
{{ if .Subscriber.Attribs.nppes_last_updated }}
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;">
<tr><td style="border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr><td style="background:#2563eb;background-image:repeating-linear-gradient(45deg,#ef4444 0,#ef4444 14px,#ffffff 14px,#ffffff 28px,#2563eb 28px,#2563eb 42px,#ffffff 42px,#ffffff 56px);padding:0;">
<p style="margin:0;padding:11px 16px;background:rgba(15,23,42,0.58);font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#ffffff;font-weight:700;text-align:center;">Official record &middot; NPPES NPI Registry</p>
</td></tr>
<tr><td style="background:#f8fafc;padding:6px 16px 14px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">NPI</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.npi }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Registered to</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
<tr><td style="padding:9px 0;color:#64748b;">Last updated</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b45309;">{{ .Subscriber.Attribs.nppes_last_updated }} &middot; ~{{ .Subscriber.Attribs.nppes_years_stale }} yrs ago</td></tr>
</table>
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">Source: NPPES NPI Registry (npiregistry.cms.hhs.gov), public &ldquo;Last Updated&rdquo; field for this NPI. CMS requires NPPES to be corrected within 30 days of any change &mdash; review your record on the official registry below.</p>
</td></tr>
</table>
</td></tr>
</table>
{{ end }}
<!-- Free-first reassurance: the check is free; a fix is optional + flat-fee. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
<p style="margin:0;font-size:13px;color:#475569;line-height:1.6;font-family:Inter,system-ui,sans-serif;">The check is <strong>completely free</strong>. If it turns up something you&rsquo;d like us to handle, we&rsquo;ll quote a <strong>flat fee, shown up front</strong> &mdash; no logins, no hourly billing, no obligation.</p>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Run your free compliance check &mdash; takes about 30 seconds.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Your NPI is pre-filled. No signup, no cost &mdash; just your results.</p>
<a href="https://performancewest.net/tools/npi-compliance-check?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-npi-check" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Run my free NPI check →</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions?</strong> Reply to this email or call <strong>(888) 411-0383</strong>. Performance West is a dedicated healthcare compliance firm &mdash; the check is free, and if you want help we handle the CMS/NPPES paperwork so you can focus on patients.
</td></tr></table>
<!-- Personal guarantee from the founder: photo links to the About page so
readers can confirm a real person stands behind the work. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #0f766e;border-radius:10px;padding:20px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="92" valign="top" style="padding-right:16px;">
<a href="https://performancewest.net/about">
<img src="https://performancewest.net/images/justin-hannah.jpg" alt="Justin Hannah, Founder of Performance West" width="76" height="76" style="width:76px;height:76px;border-radius:50%;display:block;border:2px solid #0f766e;" />
</a>
</td>
<td valign="top">
<p style="margin:0 0 10px;font-size:14px;color:#1f2937;line-height:1.7;font-style:italic;">&ldquo;If we handle this for you and you are not completely satisfied, I will personally make it right. You will not pay billable hours, and you will not be left chasing a government portal on your own. That is my promise.&rdquo;</p>
<p style="margin:0;">
<a href="https://performancewest.net/about" style="text-decoration:none;">
<img src="https://performancewest.net/images/justin-signature-v2.png" alt="Justin Hannah" width="150" style="width:150px;height:auto;display:block;margin:0 0 2px;" />
</a>
<span style="font-size:13px;font-weight:700;color:#0f172a;">Justin Hannah</span><br>
<span style="font-size:12px;color:#64748b;">Founder &amp; Principal Consultant, Performance West Inc.</span>
</p>
</td>
</tr>
</table>
</td></tr></table>
<!-- Trust signals (data-safety + guarantee — relevant when sharing provider info) -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS or Medicare.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,102 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Exclusion Screening Notice</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Monthly OIG/SAM exclusion screening</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">One excluded individual can cost you everything</h2>
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">Federal rules require practices that bill Medicare/Medicaid to screen employees and vendors against the <strong>OIG LEIE</strong> and <strong>SAM</strong> exclusion lists — and to document it.</p>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">Why it matters</h3>
<div style="font-size:13px;color:#065f46;line-height:1.7;">Employing or contracting an excluded party triggers <strong>civil monetary penalties up to $20,000 per claim</strong> plus repayment. Most practices have <strong>no documented screening process</strong>.</div>
</td></tr></table>
<!-- Detail row -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">NPI</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.npi }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:10px 0;color:#6b7280;">Practice</td><td style="padding:10px 0;font-weight:600;text-align:right;">{{ .Subscriber.Attribs.practice }}</td></tr>
</table>
<!-- Verify-it-yourself: the OIG LEIE and SAM exclusion lists are public and
free to search. We screen against the very same official sources, so the
provider can see exactly what we check. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:14px 0 22px;"><tr><td style="background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px;">
<p style="margin:0 0 6px;font-size:13px;color:#1e3a8a;font-weight:700;">We screen against the official government lists &mdash; check them yourself.</p>
<p style="margin:0 0 12px;font-size:13px;color:#1e40af;line-height:1.6;">The OIG LEIE and SAM.gov exclusion databases are public. Search your providers and staff against the same sources we monitor monthly:</p>
<a href="https://exclusions.oig.hhs.gov/" style="display:inline-block;margin:0 6px 6px 0;padding:10px 18px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Search OIG LEIE &#8599;</a>
<a href="https://sam.gov/search/?index=ex" style="display:inline-block;margin:0 0 6px 0;padding:10px 18px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Search SAM.gov &#8599;</a>
<p style="margin:8px 0 0;font-size:11px;color:#64748b;line-height:1.5;">A one-time self-search isn&rsquo;t the same as the documented, recurring screening CMS expects &mdash; that&rsquo;s what we provide.</p>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We run and document your OIG/SAM exclusion screening.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Monthly checks with an audit-ready record &mdash; cancel anytime.</p>
<a href="https://performancewest.net/order/oig-sam-screening?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-oig-screening" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Set up exclusion screening →</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions?</strong> Reply to this email or call <strong>(888) 411-0383</strong>. Performance West is a dedicated healthcare compliance firm &mdash; we handle the CMS/NPPES paperwork so you can focus on patients.
</td></tr></table>
<!-- Personal guarantee from the founder: photo links to the About page so
readers can confirm a real person stands behind the work. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #0f766e;border-radius:10px;padding:20px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="92" valign="top" style="padding-right:16px;">
<a href="https://performancewest.net/about">
<img src="https://performancewest.net/images/justin-hannah.jpg" alt="Justin Hannah, Founder of Performance West" width="76" height="76" style="width:76px;height:76px;border-radius:50%;display:block;border:2px solid #0f766e;" />
</a>
</td>
<td valign="top">
<p style="margin:0 0 10px;font-size:14px;color:#1f2937;line-height:1.7;font-style:italic;">&ldquo;If we handle this for you and you are not completely satisfied, I will personally make it right. You will not pay billable hours, and you will not be left chasing a government portal on your own. That is my promise.&rdquo;</p>
<p style="margin:0;">
<a href="https://performancewest.net/about" style="text-decoration:none;">
<img src="https://performancewest.net/images/justin-signature-v2.png" alt="Justin Hannah" width="150" style="width:150px;height:auto;display:block;margin:0 0 2px;" />
</a>
<span style="font-size:13px;font-weight:700;color:#0f172a;">Justin Hannah</span><br>
<span style="font-size:12px;color:#64748b;">Founder &amp; Principal Consultant, Performance West Inc.</span>
</p>
</td>
</tr>
</table>
</td></tr></table>
<!-- Trust signals (data-safety + guarantee — relevant when sharing provider info) -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS, Medicare, the OIG, or SAM.gov.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,101 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Medicare Revalidation Reminder</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Your CMS revalidation deadline is coming up</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">Get ahead of your revalidation deadline</h2>
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">CMS records indicate the Medicare enrollment revalidation for <strong>{{ .Subscriber.Attribs.practice }}</strong> (NPI {{ .Subscriber.Attribs.npi }}) is <strong>coming due</strong>. Handling it now &mdash; before the deadline &mdash; keeps your billing privileges uninterrupted.</p>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">Why act before the date</h3>
<div style="font-size:13px;color:#065f46;line-height:1.7;">If a revalidation lapses, CMS can <strong>deactivate your Medicare billing privileges</strong> &mdash; claims stop paying and you may have to re-enroll, losing your effective date and any retroactive billing. Filing ahead of the deadline avoids that risk entirely.</div>
</td></tr></table>
<!-- Official CMS record card: data is straight from the CMS Revalidation Due
Date List (verified to match by NPI), presented as a clearly-labeled data
readout. NOT a CMS screenshot / not impersonating CMS. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;">
<tr><td style="border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr><td style="background:#2563eb;background-image:repeating-linear-gradient(45deg,#0ea5e9 0,#0ea5e9 14px,#ffffff 14px,#ffffff 28px,#2563eb 28px,#2563eb 42px,#ffffff 42px,#ffffff 56px);padding:0;">
<p style="margin:0;padding:11px 16px;background:rgba(15,23,42,0.58);font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#ffffff;font-weight:700;text-align:center;">Official record &middot; CMS Medicare Revalidation Due Date List</p>
</td></tr>
<tr><td style="background:#f8fafc;padding:6px 16px 14px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Provider / NPI</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.npi }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Enrolled as</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Revalidation due date</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b45309;">{{ .Subscriber.Attribs.reval_due_date }}</td></tr>
<tr><td style="padding:9px 0;color:#64748b;">Status</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b45309;">DUE SOON &middot; in {{ .Subscriber.Attribs.days_until }} days</td></tr>
</table>
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">Source: CMS Revalidation Due Date List (data.cms.gov), refreshed monthly.</p>
</td></tr>
</table>
</td></tr>
</table>
<!-- Verify-it-yourself: nothing is more convincing than the government's own site -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:14px 0 22px;"><tr><td style="background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px;">
<p style="margin:0 0 6px;font-size:13px;color:#1e3a8a;font-weight:700;">Don&rsquo;t take our word for it &mdash; check the official CMS record.</p>
<p style="margin:0 0 12px;font-size:13px;color:#1e40af;line-height:1.6;">Look up your NPI <strong>{{ .Subscriber.Attribs.npi }}</strong> on the U.S. government&rsquo;s public Medicare Revalidation List and you&rsquo;ll see the same due date above.</p>
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS.gov &#8599;</a>
</td></tr></table>
<!-- Pricing reassurance (no number in email; shown on the order page) -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
<p style="margin:0;font-size:13px;color:#475569;line-height:1.6;font-family:Inter,system-ui,sans-serif;">Simple, <strong>flat fee &mdash; shown up front</strong> before you pay anything. No logins, no hourly billing, no surprises.</p>
</td></tr></table>
<!-- Convenience: no password / no login / no 2FA: we do the work, you just e-sign -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#0f766e;font-weight:700;">No logins, no 2FA codes, no headaches</h3>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0 0 10px;">We complete the entire revalidation for you and track it through to confirmation. <strong>You never share your password and you never have to log in or chase a two-factor code.</strong> The only thing we may need is a one-minute e-signature on a secure link.</p>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0;">That's it. We handle the rest and keep you posted until it's confirmed.</p>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We file your PECOS revalidation for you, well before the deadline.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Most filings submitted within 1-2 business days.</p>
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-due-soon" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Start my revalidation →</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions?</strong> Reply to this email or call <strong>(888) 411-0383</strong>. Performance West is a dedicated healthcare compliance firm &mdash; we handle the CMS/NPPES paperwork so you can focus on patients.
</td></tr></table>
<!-- Trust signals (data-safety + guarantee — relevant when sharing provider info) -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS or Medicare.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,101 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:22px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Medicare Revalidation Alert</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Your CMS revalidation deadline has passed</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 18px;line-height:1.5;">Hi {{ .Subscriber.Name }},</p>
<h2 style="font-size:19px;margin:0 0 14px;color:#0f172a;line-height:1.3;">Your Medicare billing privileges are at risk</h2>
<p style="font-size:14px;line-height:1.7;margin:0 0 18px;">CMS records indicate the Medicare enrollment revalidation for <strong>{{ .Subscriber.Attribs.practice }}</strong> (NPI {{ .Subscriber.Attribs.npi }}) is <strong>past due</strong>.</p>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #6ee7b7;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#065f46;font-weight:700;">What this means</h3>
<div style="font-size:13px;color:#065f46;line-height:1.7;">If you do not revalidate, CMS will <strong>deactivate your Medicare billing privileges</strong> &mdash; claims stop paying and you must re-enroll from scratch, losing your effective date and any retroactive billing.</div>
</td></tr></table>
<!-- Official CMS record card: the data is straight from the CMS Revalidation
Due Date List (verified to match by NPI), presented as a clearly-labeled
data readout. NOT a CMS screenshot / not impersonating CMS. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;">
<tr><td style="border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr><td style="background:#2563eb;background-image:repeating-linear-gradient(45deg,#ef4444 0,#ef4444 14px,#ffffff 14px,#ffffff 28px,#2563eb 28px,#2563eb 42px,#ffffff 42px,#ffffff 56px);padding:0;">
<p style="margin:0;padding:11px 16px;background:rgba(15,23,42,0.58);font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#ffffff;font-weight:700;text-align:center;">Official record &middot; CMS Medicare Revalidation Due Date List</p>
</td></tr>
<tr><td style="background:#f8fafc;padding:6px 16px 14px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Provider / NPI</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.npi }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Enrolled as</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Revalidation due date</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b91c1c;">{{ .Subscriber.Attribs.reval_due_date }}</td></tr>
<tr><td style="padding:9px 0;color:#64748b;">Status</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b91c1c;">PAST DUE &middot; {{ .Subscriber.Attribs.days_overdue }} days overdue</td></tr>
</table>
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">Source: CMS Revalidation Due Date List (data.cms.gov), refreshed monthly.</p>
</td></tr>
</table>
</td></tr>
</table>
<!-- Verify-it-yourself: nothing is more convincing than the government's own site -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:14px 0 22px;"><tr><td style="background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px;">
<p style="margin:0 0 6px;font-size:13px;color:#1e3a8a;font-weight:700;">Don&rsquo;t take our word for it &mdash; check the official CMS record.</p>
<p style="margin:0 0 12px;font-size:13px;color:#1e40af;line-height:1.6;">Look up your NPI <strong>{{ .Subscriber.Attribs.npi }}</strong> on the U.S. government&rsquo;s public Medicare Revalidation List and you&rsquo;ll see the same due date above.</p>
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS.gov &#8599;</a>
</td></tr></table>
<!-- Pricing reassurance (no number in email; shown on the order page) -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;">
<p style="margin:0;font-size:13px;color:#475569;line-height:1.6;font-family:Inter,system-ui,sans-serif;">Simple, <strong>flat fee &mdash; shown up front</strong> before you pay anything. No logins, no hourly billing, no surprises.</p>
</td></tr></table>
<!-- Convenience: no password / no login / no 2FA: we do the work, you just e-sign -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#0f766e;font-weight:700;">No logins, no 2FA codes, no headaches</h3>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0 0 10px;">We complete the entire revalidation for you and track it through to confirmation. <strong>You never share your password and you never have to log in or chase a two-factor code.</strong> The only thing we may need is a one-minute e-signature on a secure link.</p>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0;">That's it. We handle the rest and keep you posted until it's confirmed.</p>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">We file your PECOS revalidation for you, before the clock runs out.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">Most filings submitted within 1-2 business days.</p>
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-overdue" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Start my revalidation →</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions?</strong> Reply to this email or call <strong>(888) 411-0383</strong>. Performance West is a dedicated healthcare compliance firm &mdash; we handle the CMS/NPPES paperwork so you can focus on patients.
</td></tr></table>
<!-- Trust signals (data-safety + guarantee — relevant when sharing provider info) -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS or Medicare.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,117 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:21px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Your Medicare revalidation is past due</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">Let's get it filed before your billing privileges are affected</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 16px;line-height:1.6;">Hi {{ .Subscriber.Name }},</p>
<p style="font-size:14px;line-height:1.75;margin:0 0 16px;">Whoever last handled the Medicare enrollment for <strong>{{ .Subscriber.Attribs.practice }}</strong> may have moved on &mdash; front-office and billing staff turn over often, and revalidation deadlines are the kind of thing that quietly fall through the cracks when they do.</p>
<p style="font-size:14px;line-height:1.75;margin:0 0 18px;">That is exactly what we keep an eye on, so it does not become your problem. Here is where your enrollment stands right now:</p>
<!-- CMS record card: data straight from the CMS Revalidation Due Date List -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:6px 0 22px;">
<tr><td style="border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr><td style="background:#2563eb;background-image:repeating-linear-gradient(45deg,#ef4444 0,#ef4444 14px,#ffffff 14px,#ffffff 28px,#2563eb 28px,#2563eb 42px,#ffffff 42px,#ffffff 56px);padding:0;">
<p style="margin:0;padding:11px 16px;background:rgba(15,23,42,0.58);font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#ffffff;font-weight:700;text-align:center;">Official record &middot; CMS Medicare Revalidation Due Date List</p>
</td></tr>
<tr><td style="background:#f8fafc;padding:6px 16px 14px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Provider / NPI</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.npi }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Enrolled as</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Revalidation due date</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b91c1c;">{{ .Subscriber.Attribs.reval_due_date }}</td></tr>
<tr><td style="padding:9px 0;color:#64748b;">Status</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#b91c1c;">PAST DUE &middot; {{ .Subscriber.Attribs.days_overdue }} days overdue</td></tr>
</table>
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">Source: CMS Revalidation Due Date List (data.cms.gov), refreshed monthly.</p>
</td></tr>
</table>
</td></tr>
</table>
<p style="font-size:14px;line-height:1.75;margin:0 0 18px;">Because the deadline has already passed, this is time-sensitive: when a revalidation stays unfiled, CMS deactivates Medicare billing privileges &mdash; claims stop paying and the provider has to re-enroll from scratch, losing the original effective date. <strong>The good news is it is still fixable, and the sooner we file, the better your chances of avoiding a gap.</strong> CMS can take several weeks to process, so the earlier we begin, the more room there is to get you current before any disruption.</p>
<!-- How it works -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#0f766e;font-weight:700;">We do the work &mdash; you barely lift a finger</h3>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0 0 10px;">We complete the full PECOS revalidation and track it through to confirmation. <strong>You never share a password and you never have to log in or chase a two-factor code.</strong> The only thing we may need is a one-minute e-signature on a secure link.</p>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0;">No matter who handled it before, we will make sure it gets done right.</p>
</td></tr></table>
<!-- Verify-it-yourself -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:14px 0 18px;"><tr><td style="background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px;">
<p style="margin:0 0 6px;font-size:13px;color:#1e3a8a;font-weight:700;">Want to confirm the date yourself?</p>
<p style="margin:0 0 12px;font-size:13px;color:#1e40af;line-height:1.6;">Look up NPI <strong>{{ .Subscriber.Attribs.npi }}</strong> on the public CMS Medicare Revalidation List and you will see the same due date shown above.</p>
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS.gov &#8599;</a>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us get your past-due revalidation filed right away.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-overdue-personal" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Handle my revalidation &rarr;</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions, or want to hand off your filings going forward?</strong> Just reply to this email or call <strong>(888) 411-0383</strong>. We are a dedicated healthcare compliance firm and we are happy to be the people who keep track of this for you.
</td></tr></table>
<!-- Personal guarantee from the founder: photo links to the About page so
readers can confirm a real person stands behind the work. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #0f766e;border-radius:10px;padding:20px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="92" valign="top" style="padding-right:16px;">
<a href="https://performancewest.net/about">
<img src="https://performancewest.net/images/justin-hannah.jpg" alt="Justin Hannah, Founder of Performance West" width="76" height="76" style="width:76px;height:76px;border-radius:50%;display:block;border:2px solid #0f766e;" />
</a>
</td>
<td valign="top">
<p style="margin:0 0 10px;font-size:14px;color:#1f2937;line-height:1.7;font-style:italic;">&ldquo;If we file your revalidation and you are not completely satisfied, I will personally make it right. You will not pay billable hours, and you will not be left chasing a government portal on your own. That is my promise.&rdquo;</p>
<p style="margin:0;">
<a href="https://performancewest.net/about" style="text-decoration:none;">
<img src="https://performancewest.net/images/justin-signature-v2.png" alt="Justin Hannah" width="150" style="width:150px;height:auto;display:block;margin:0 0 2px;" />
</a>
<span style="font-size:13px;font-weight:700;color:#0f172a;">Justin Hannah</span><br>
<span style="font-size:12px;color:#64748b;">Founder &amp; Principal Consultant, Performance West Inc.</span>
</p>
</td>
</tr>
</table>
</td></tr></table>
<!-- Trust signals + true social proof -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS or Medicare.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,116 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:21px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Making sure nothing slips through the cracks</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">A quick note about your Medicare enrollment</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 16px;line-height:1.6;">Hi {{ .Subscriber.Name }},</p>
<p style="font-size:14px;line-height:1.75;margin:0 0 16px;">Whoever last handled the Medicare enrollment for <strong>{{ .Subscriber.Attribs.practice }}</strong> may have moved on &mdash; front-office and billing staff turn over often, and revalidation deadlines are the kind of thing that quietly fall through the cracks when they do.</p>
<p style="font-size:14px;line-height:1.75;margin:0 0 18px;">That is exactly what we keep an eye on, so it does not become your problem. Here is where your enrollment stands right now:</p>
<!-- CMS record card: data straight from the CMS Revalidation Due Date List -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:6px 0 22px;">
<tr><td style="border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr><td style="background:#2563eb;background-image:repeating-linear-gradient(45deg,#ef4444 0,#ef4444 14px,#ffffff 14px,#ffffff 28px,#2563eb 28px,#2563eb 42px,#ffffff 42px,#ffffff 56px);padding:0;">
<p style="margin:0;padding:11px 16px;background:rgba(15,23,42,0.58);font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#ffffff;font-weight:700;text-align:center;">Official record &middot; CMS Medicare Revalidation Due Date List</p>
</td></tr>
<tr><td style="background:#f8fafc;padding:6px 16px 14px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Provider / NPI</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.npi }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Enrolled as</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
<tr><td style="padding:9px 0;color:#64748b;">Revalidation due date</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f766e;">{{ .Subscriber.Attribs.reval_due_date }}</td></tr>
</table>
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">Source: CMS Revalidation Due Date List (data.cms.gov), refreshed monthly.</p>
</td></tr>
</table>
</td></tr>
</table>
<p style="font-size:14px;line-height:1.75;margin:0 0 18px;">If a revalidation is missed, CMS deactivates Medicare billing privileges &mdash; claims stop paying and the provider has to re-enroll from scratch, losing the original effective date. It is avoidable, and we handle it start to finish. <strong>Starting now is the best way to make sure everything is in order well before your due date</strong> &mdash; CMS can take several weeks to process a revalidation, so the earlier we begin, the more buffer you have against government processing delays.</p>
<!-- How it works -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#0f766e;font-weight:700;">We do the work &mdash; you barely lift a finger</h3>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0 0 10px;">We complete the full PECOS revalidation and track it through to confirmation. <strong>You never share a password and you never have to log in or chase a two-factor code.</strong> The only thing we may need is a one-minute e-signature on a secure link.</p>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0;">No matter who handled it before, we will make sure it gets done right.</p>
</td></tr></table>
<!-- Verify-it-yourself -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:14px 0 18px;"><tr><td style="background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px;">
<p style="margin:0 0 6px;font-size:13px;color:#1e3a8a;font-weight:700;">Want to confirm the date yourself?</p>
<p style="margin:0 0 12px;font-size:13px;color:#1e40af;line-height:1.6;">Look up NPI <strong>{{ .Subscriber.Attribs.npi }}</strong> on the public CMS Medicare Revalidation List and you will see the same due date shown above.</p>
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS.gov &#8599;</a>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us take revalidation off your plate &mdash; the sooner we start, the better.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-personal" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Handle my revalidation &rarr;</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions, or want to hand off your filings going forward?</strong> Just reply to this email or call <strong>(888) 411-0383</strong>. We are a dedicated healthcare compliance firm and we are happy to be the people who keep track of this for you.
</td></tr></table>
<!-- Personal guarantee from the founder: photo links to the About page so
readers can confirm a real person stands behind the work. -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#f8fafc;border:1px solid #e2e8f0;border-left:4px solid #0f766e;border-radius:10px;padding:20px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="92" valign="top" style="padding-right:16px;">
<a href="https://performancewest.net/about">
<img src="https://performancewest.net/images/justin-hannah.jpg" alt="Justin Hannah, Founder of Performance West" width="76" height="76" style="width:76px;height:76px;border-radius:50%;display:block;border:2px solid #0f766e;" />
</a>
</td>
<td valign="top">
<p style="margin:0 0 10px;font-size:14px;color:#1f2937;line-height:1.7;font-style:italic;">&ldquo;If we file your revalidation and you are not completely satisfied, I will personally make it right. You will not pay billable hours, and you will not be left chasing a government portal on your own. That is my promise.&rdquo;</p>
<p style="margin:0;">
<a href="https://performancewest.net/about" style="text-decoration:none;">
<img src="https://performancewest.net/images/justin-signature-v2.png" alt="Justin Hannah" width="150" style="width:150px;height:auto;display:block;margin:0 0 2px;" />
</a>
<span style="font-size:13px;font-weight:700;color:#0f172a;">Justin Hannah</span><br>
<span style="font-size:12px;color:#64748b;">Founder &amp; Principal Consultant, Performance West Inc.</span>
</p>
</td>
</tr>
</table>
</td></tr></table>
<!-- Trust signals + true social proof -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS or Medicare.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

View file

@ -0,0 +1,92 @@
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><style>@media only screen and (max-width:600px){.pw-wrap{width:100%!important;border-radius:0!important;}.pw-pad{padding:24px 16px!important;}}body,table,td,p,a{-webkit-text-size-adjust:100%;}table{border-collapse:collapse!important;}img{border:0;}</style></head><body style="margin:0;padding:0;background:#eef0f3;">
<center>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background:#eef0f3;"><tr><td style="padding:24px 10px;">
<table role="presentation" class="pw-wrap" width="620" cellpadding="0" cellspacing="0" style="margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;">
<!-- Header -->
<tr><td style="background-color:#0f766e;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);padding:26px 28px;">
<img src="https://performancewest.net/images/logo-white.png" alt="Performance West" style="height:44px;margin-bottom:10px;display:block" />
<h1 style="color:#fff;margin:0;font-size:21px;font-weight:700;font-family:Inter,system-ui,sans-serif;">Making sure nothing slips through the cracks</h1>
<p style="color:#ccfbf1;margin:6px 0 0;font-size:13px;font-family:Inter,system-ui,sans-serif;">A quick note about your Medicare enrollment</p>
</td></tr>
<!-- Body -->
<tr><td class="pw-pad" style="padding:28px;font-family:Inter,system-ui,sans-serif;color:#1f2937;">
<p style="font-size:15px;margin:0 0 16px;line-height:1.6;">Hi {{ .Subscriber.Name }},</p>
<p style="font-size:14px;line-height:1.75;margin:0 0 16px;">Whoever last handled the Medicare enrollment for <strong>{{ .Subscriber.Attribs.practice }}</strong> may have moved on &mdash; front-office and billing staff turn over often, and revalidation deadlines are the kind of thing that quietly fall through the cracks when they do.</p>
<p style="font-size:14px;line-height:1.75;margin:0 0 18px;">That is exactly what we keep an eye on, so it does not become your problem. Here is where your enrollment stands right now:</p>
<!-- CMS record card: data straight from the CMS Revalidation Due Date List -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:6px 0 22px;">
<tr><td style="border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0">
<tr><td style="background:#2563eb;background-image:repeating-linear-gradient(45deg,#ef4444 0,#ef4444 14px,#ffffff 14px,#ffffff 28px,#2563eb 28px,#2563eb 42px,#ffffff 42px,#ffffff 56px);padding:0;">
<p style="margin:0;padding:11px 16px;background:rgba(15,23,42,0.58);font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#ffffff;font-weight:700;text-align:center;">Official record &middot; CMS Medicare Revalidation Due Date List</p>
</td></tr>
<tr><td style="background:#f8fafc;padding:6px 16px 14px;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="font-size:13px;">
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Provider / NPI</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.npi }}</td></tr>
<tr style="border-bottom:1px solid #e5e7eb;"><td style="padding:9px 0;color:#64748b;">Enrolled as</td><td style="padding:9px 0;font-weight:600;text-align:right;color:#0f172a;">{{ .Subscriber.Attribs.practice }}</td></tr>
<tr><td style="padding:9px 0;color:#64748b;">Revalidation due date</td><td style="padding:9px 0;font-weight:700;text-align:right;color:#0f766e;">{{ .Subscriber.Attribs.reval_due_date }}</td></tr>
</table>
<p style="margin:10px 0 0;font-size:11px;color:#94a3b8;line-height:1.5;">Source: CMS Revalidation Due Date List (data.cms.gov), refreshed monthly.</p>
</td></tr>
</table>
</td></tr>
</table>
<p style="font-size:14px;line-height:1.75;margin:0 0 18px;">If a revalidation is missed, CMS deactivates Medicare billing privileges &mdash; claims stop paying and the provider has to re-enroll from scratch, losing the original effective date. It is avoidable, and we handle it start to finish. <strong>Starting now is the best way to make sure everything is in order well before your due date</strong> &mdash; CMS can take several weeks to process a revalidation, so the earlier we begin, the more buffer you have against government processing delays.</p>
<!-- How it works -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0fdfa;border:1px solid #99f6e4;border-radius:10px;padding:18px;">
<h3 style="margin:0 0 10px;font-size:15px;color:#0f766e;font-weight:700;">We do the work &mdash; you barely lift a finger</h3>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0 0 10px;">We complete the full PECOS revalidation and track it through to confirmation. <strong>You never share a password and you never have to log in or chase a two-factor code.</strong> The only thing we may need is a one-minute e-signature on a secure link.</p>
<p style="font-size:13px;color:#134e4a;line-height:1.7;margin:0;">No matter who handled it before, we will make sure it gets done right.</p>
</td></tr></table>
<!-- Verify-it-yourself -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:14px 0 18px;"><tr><td style="background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:16px;">
<p style="margin:0 0 6px;font-size:13px;color:#1e3a8a;font-weight:700;">Want to confirm the date yourself?</p>
<p style="margin:0 0 12px;font-size:13px;color:#1e40af;line-height:1.6;">Look up NPI <strong>{{ .Subscriber.Attribs.npi }}</strong> on the public CMS Medicare Revalidation List and you will see the same due date shown above.</p>
<a href="https://data.cms.gov/tools/medicare-revalidation-list" style="display:inline-block;padding:10px 22px;background:#fff;border:1px solid #1d4ed8;color:#1d4ed8;font-weight:700;border-radius:8px;text-decoration:none;font-size:13px;">Verify on CMS.gov &#8599;</a>
</td></tr></table>
<!-- CTA -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:22px 0;"><tr><td style="background:#ecfdf5;border:2px solid #10b981;border-radius:10px;padding:18px;text-align:center;">
<p style="font-size:14px;color:#065f46;margin:0 0 6px;font-weight:600;">Let us take revalidation off your plate &mdash; the sooner we start, the better.</p>
<p style="font-size:12px;color:#047857;margin:0 0 14px;">We submit most filings within 1-2 business days, then track it through CMS processing to confirmation.</p>
<a href="https://performancewest.net/order/npi-revalidation?npi={{ .Subscriber.Attribs.npi }}&utm_source=listmonk&utm_medium=email&utm_campaign=hc-reval-turnover" style="display:inline-block;padding:14px 40px;background:#10b981;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:15px;">Handle my revalidation &rarr;</a>
</td></tr></table>
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:18px 0;"><tr><td style="background:#f0f4f8;border-radius:8px;padding:16px;font-size:13px;color:#374151;line-height:1.6;">
<strong>Questions, or want to hand off your filings going forward?</strong> Just reply to this email or call <strong>(888) 411-0383</strong>. We are a dedicated healthcare compliance firm and we are happy to be the people who keep track of this for you.
</td></tr></table>
<!-- Trust signals + true social proof -->
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="margin:20px 0 6px;border-top:1px solid #e5e7eb;padding-top:14px;">
<tr>
<td align="center" style="padding:10px 4px;font-family:Inter,system-ui,sans-serif;">
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128737;&#65039; SOC 2 Type II hosting</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#9989; HIPAA &amp; PCI compliant</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128274; 256-bit TLS encrypted</span>
<span style="display:inline-block;margin:0 8px;font-size:11px;font-weight:600;color:#0f766e;">&#128179; Secure payment by Stripe</span>
</td>
</tr>
<tr>
<td align="center" style="padding:4px;font-family:Inter,system-ui,sans-serif;font-size:12px;color:#4b5563;">
<strong style="color:#047857;">100% satisfaction guarantee</strong> &middot; fixed pricing, no billable hours &middot; trusted by providers nationwide
</td>
</tr>
</table>
</td></tr>
<!-- Footer -->
<tr><td style="padding:16px 28px;background:#f8fafc;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center;">
<p style="margin:0 0 8px;">Performance West is an independent compliance firm, not affiliated with CMS or Medicare.</p>
<p style="margin:0;">Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001 &middot; <a href="https://performancewest.net" style="color:#6b7280;">performancewest.net</a></p>
<p style="margin:6px 0 0;"><a href="{{ UnsubscribeURL }}" style="color:#6b7280;">Unsubscribe</a></p>
</td></tr>
</table></td></tr></table></center></body></html>

862
data/otc_leads.csv Normal file
View file

@ -0,0 +1,862 @@
cik,name,short_name,display_name,ticker,all_tickers,exchange,state_of_incorporation,incorporation_desc,is_us_domestic,sic,sic_desc,entity_type,filer_category,filer_size_bucket,biz_street1,biz_street2,biz_city,biz_state,biz_zip,mail_street1,mail_city,mail_state,mail_zip,phone,website,investor_website,ein,former_names,last_filing_date,last_filing_form,is_active
1599407,1847 Holdings LLC,1847 Holdings,1847 Holdings LLC,LBRA,LBRA,OTC,DE,DE,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,590 MADISON AVENUE,21ST FLOOR,NEW YORK,NY,10022,590 MADISON AVENUE,NEW YORK,NY,10022,212-521-4052,,,383922937,,2026-06-04,S-8,Y
1748680,1WS Credit Income Fund,1WS Credit Income Fund,1WS Credit Income Fund,OWSCX,OWSCX,,DE,DE,Y,,,other,,smaller_reporting_<75M,"299 PARK AVENUE, 25TH FLOOR",,NEW YORK,NY,10171,"299 PARK AVENUE, 25TH FLOOR",NEW YORK,NY,10171,212-377-4810,,,000000000,,2026-05-07,40-17G,Y
1893219,"Abpro Holdings, Inc.",Abpro Holdings,"Abpro Holdings, Inc.",ABPO,ABPO|ABPWW,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating, / Emerging growth company,smaller_reporting_<75M,"6 ST JOHNS LANE, FLOOR 5",,NEW YORK,NY,10013,"6 ST JOHNS LANE, FLOOR 5",NEW YORK,NY,10013,248-890-7200,,,871013956,Atlantic Coastal Acquisition Corp. II,2026-06-04,8-K,Y
1850767,Accustem Sciences Inc.,Accustem Sciences,Accustem Sciences Inc.,ACUT,ACUT,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"5 PENN PLAZA, 19TH FLOOR",#1954,NEW YORK,NY,10001,"5 PENN PLAZA, 19TH FLOOR",NEW YORK,NY,10001,442070661000,,,000000000,AccuStem Sciences Ltd,2026-05-15,10-Q,Y
1141284,ACTELIS NETWORKS INC,Actelis Networks,Actelis Networks Inc,ASNS,ASNS,OTC,DE,DE,Y,3669,"Communications Equipment, NEC",operating, / Emerging growth company,smaller_reporting_<75M,4039 CLIPPER COURT,,FREMONT,CA,94538,4039 CLIPPER COURT,FREMONT,CA,94538,510-545-1040,,,522160309,,2026-05-20,4,Y
1938571,"ADAPTIN BIO, INC.",Adaptin Bio,"Adaptin Bio, Inc.",APTN,APTN,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,3540 TORINGDON WAY,"SUITE 200, #250",CHARLOTTE,NC,28277,3540 TORINGDON WAY,CHARLOTTE,NC,28277,(888) 609-1498,,,881566415,Unite Acquisition 1 Corp.,2026-05-18,424B3,Y
2105139,ADI GLOBAL DISTRIBUTION INC.,Adi Global Distribution,Adi Global Distribution Inc.,ADIG,ADIG,,DE,DE,Y,5072,Wholesale-Hardware,other,,smaller_reporting_<75M,251 LITTLE FALLS DRIVE,,WILMINGTON,DE,19808,"275 BROADHOLLOW ROAD, SUITE 400",MELVILLE,NY,11747,302-636-5400,,,413033245,,2026-06-04,10-12B/A,Y
849401,"ADM TRONICS UNLIMITED, INC.",Adm Tronics Unlimited,"Adm Tronics Unlimited, Inc.",ADMT,ADMT,OTC,DE,DE,Y,3845,Electromedical & Electrotherapeutic Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,224 S PEGASUS AVE,,NORTHVALE,NJ,07647,224 S PEGASUS AVE,NORTHVALE,NJ,07647,2017676040,,,221896032,ADM TRONICS UNLIMITED INC/DE,2026-02-13,10-Q,Y
352991,ADVANCED OXYGEN TECHNOLOGIES INC,Advanced Oxygen Technologies,Advanced Oxygen Technologies Inc,AOXY,AOXY,OTC,DE,DE,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ADVANCED OXYGEN TECHNOLOGIES, INC.","C/O CROSSFIELD, INC. PO BOX 189",RANDOLPH,VT,05060,"ADVANCED OXYGEN TECHNOLOGIES, INC.",RANDOLPH,VT,05060,212-727-7085,,,911143622,,2026-05-12,10-Q,Y
2084227,"Advasa Holdings, Inc.",Advasa Holdings,"Advasa Holdings, Inc.",ADBT,ADBT,,DE,DE,Y,7372,Services-Prepackaged Software,other,,smaller_reporting_<75M,"4TH FLOOR AKASAKA K TOWER,",1-2-7 MOTO AKASAKA,MINATO-KU,,107-0051,"4TH FLOOR AKASAKA K TOWER,",MINATO-KU,,107-0051,81-03-6868-5538,,,000000000,,2026-04-29,S-1/A,Y
1744494,"ADVENT TECHNOLOGIES HOLDINGS, INC.",Advent Technologies Holdings,"Advent Technologies Holdings, Inc.",ADNH,ADNH,OTC,DE,DE,Y,3690,"Miscellaneous Electrical Machinery, Equipment & Supplies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,500 RUTHERFORD AVENUE,SUITE 102,BOSTON,MA,02129,500 RUTHERFORD AVENUE,BOSTON,MA,02129,857-264-7035,,,830982969,AMCI Acquisition Corp.,2026-05-15,8-K,Y
764630,"AETERNUM HEALTH, INC.",Aeternum Health,"Aeternum Health, Inc.",AETN,AETN,OTC,DE,DE,Y,3690,"Miscellaneous Electrical Machinery, Equipment & Supplies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5291 NE ELAM YOUNG PKWY,SUITE 160,HILLSBORO,OR,97124,5291 NE ELAM YOUNG PKWY,HILLSBORO,OR,97124,(503) 892-7345,,,061120072,SHOREPOWER TECHNOLOGIES INC.|UNITED STATES BASKETBALL LEAGUE INC,2026-05-19,10-Q,Y
1964979,"ALLURION TECHNOLOGIES, INC.",Allurion Technologies,"Allurion Technologies, Inc.",ALUR,ALUR|ALURW,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating, / Emerging growth company,smaller_reporting_<75M,11 HURON DR STE 200,,NATICK,MA,01760,11 HURON DR STE 200,NATICK,MA,01760,508-647-4000,,,000000000,"ALLURION TECHNOLOGIES HOLDINGS, INC.",2026-05-27,8-K,Y
1616736,Alpha Investment Inc.,Alpha Investment,Alpha Investment Inc.,GGBY,GGBY,OTC,DE,DE,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1000 5TH STREET,SUITE 200,MIAMI BEACH,FL,33139,1000 5TH STREET,MIAMI BEACH,FL,33139,(305) 704-3294,,,900998139,"Gogo Baby, Inc.",2025-09-02,8-K,Y
1852016,AltEnergy Acquisition Corp,AltEnergy Acquisition,AltEnergy Acquisition Corp,AEAE,AEAE|AEAEU|AEAEW,OTC,DE,DE,Y,3714,Motor Vehicle Parts & Accessories,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,137 ROWAYTON AVENUE,SUITE 400,ROWAYTON,CT,06853,137 ROWAYTON AVENUE,ROWAYTON,CT,06853,2032953343,,,862157013,,2026-05-21,SCHEDULE 13G/A,Y
1496254,Alternative Strategies Income Fund,Alternative Strategies Income Fund,Alternative Strategies Income Fund,LTAFX,LTAFX|LTCFX,,DE,DE,Y,,,other,,smaller_reporting_<75M,225 PICTORIA DRIVE,SUITE 450,CINCINNATI,OH,45246,17645 WRIGHT STREET,OMAHA,NE,68130,212-409-2680,,,000000000,Alternative Strategies Fund|Ladenburg Thalmann Alternative Strategies Fund,2026-05-28,NPORT-P,Y
775057,ALTEX INDUSTRIES INC,Altex Industries,Altex Industries Inc,ALTX,ALTX,OTC,DE,DE,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,700 COLORADO BLVD,#273,DENVER,CO,80206-4084,700 COLORADO BLVD,DENVER,CO,80206-4084,3032659312,,,840989164,,2026-05-01,10-Q,Y
2078570,"AMATUHI HOLDINGS, INC.",Amatuhi Holdings,"Amatuhi Holdings, Inc.",AMTU,AMTU,,DE,DE,Y,1520,General Bldg Contractors - Residential Bldgs,other,,smaller_reporting_<75M,"10TH FLOOR, NISSEKI YOKOHAMA BUILDING,","1-8, SAKURAGICHO 1-CHOME, NAKA-KU,","YOKOHAMA-SHI, KANAGAWA-KEN",,231-0062,"10TH FLOOR, NISSEKI YOKOHAMA BUILDING,","YOKOHAMA-SHI, KANAGAWA-KEN",,231-0062,81-045-263-8670,,,393087053,,2026-05-01,AW,Y
1487718,"AMERICAN BATTERY MATERIALS, INC.",American Battery Materials,"American Battery Materials, Inc.",BLTH,BLTH,OTC,DE,DE,Y,1400,Mining & Quarrying of Nonmetallic Minerals (No Fuels),operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,500 WEST PUTNAM AVENUE,SUITE 400,GREENWICH,CT,06830,500 WEST PUTNAM AVENUE,GREENWICH,CT,06830,800-998-7962,,,223956444,"BOXSCORE BRANDS, INC.|U-Vend, Inc.|INTERNET MEDIA SERVICES, INC.",2026-05-26,S-1/A,Y
1815974,"Anebulo Pharmaceuticals, Inc.",Anebulo Pharmaceuticals,"Anebulo Pharmaceuticals, Inc.",ANEB,ANEB,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"C/O ANEBULO PHARMACEUTICALS, INC.","1017 RANCH ROAD 620 SOUTH, SUITE 107",LAKEWAY,TX,78734,"C/O ANEBULO PHARMACEUTICALS, INC.",LAKEWAY,TX,78734,737 203 5270,,,851170950,,2026-03-02,15-12G,Y
1716885,Angel Oak Strategic Credit Fund,Angel Oak Strategic Credit Fund,Angel Oak Strategic Credit Fund,ASCIX,ASCIX,,DE,DE,Y,,,other,,smaller_reporting_<75M,"ANGEL OAK CAPITAL ADVISORS, LLC","980 HAMMOND DRIVE, SUITE 200",ATLANTA,GA,30328,"ANGEL OAK CAPITAL ADVISORS, LLC",ATLANTA,GA,30328,404-953-4900,,,000000000,,2026-05-29,486BPOS,Y
879911,"APPLIED ENERGETICS, INC.",Applied Energetics,"Applied Energetics, Inc.",AERG,AERG|AERGP,OTC,DE,DE,Y,3812,"Search, Detection, Navigation, Guidance, Aeronautical Sys",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9070 S. RITA ROAD,SUITE 1500,TUCSON,AZ,85747,9070 S. RITA ROAD,TUCSON,AZ,85747,520-628-7415,,,770262908,"IONATRON, INC.|US HOME & GARDEN INC",2026-06-03,4,Y
1070050,AppTech Payments Corp.,AppTech Payments,AppTech Payments Corp.,APCX,APCX|APCXW,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5876 OWENS AVENUE,SUITE 100,CARLSBAD,CA,92008,5876 OWENS AVENUE,CARLSBAD,CA,92008,(760) 707-5955,,,650847995,"AppTech Payments Corp.|AppTech Corp.|Natural Nutrition Inc.|CSI Business Finance, Inc.|HEALTH EXPRESS USA INC",2026-06-04,4,Y
1923734,Ark7 Properties Plus LLC,Ark7 Properties Plus,Ark7 Properties Plus LLC,AKPPS,,OTC,DE,DE,Y,6500,Real Estate,other,,smaller_reporting_<75M,1 FERRY BUILDING,STE 201,SAN FRANCISCO,CA,94111,1 FERRY BUILDING,SAN FRANCISCO,CA,94111,415-275-0701,,,881359905,,2026-05-14,1-K,Y
2032732,"Arrived Homes 5, LLC",Arrived Homes 5,"Arrived Homes 5, LLC",AEHGS,AEHGS|ALOIS|AVPKS|AVSBS,OTC,DE,DE,Y,6500,Real Estate,other,,smaller_reporting_<75M,1700 WESTLAKE AVE N,SUITE 200,SEATTLE,WA,98109,1 W MOUNTAIN ST,FAYETTEVILLE,AR,72701,8142774833,,,993997278,,2026-05-28,QUALIF,Y
863110,ARTESIAN RESOURCES CORP,Artesian Resources,Artesian Resources Corp,ARTNB,ARTNA|ARTNB,OTC,DE,DE,Y,4941,Water Supply,operating,Non-accelerated filer,smaller_reporting_<75M,664 CHURCHMANS RD,,NEWARK,DE,19702,664 CHURCHMANS RD,NEWARK,DE,19702,3024536900,,,510002090,,2026-05-20,4,Y
1756390,"Ascend Wellness Holdings, Inc.",Ascend Wellness Holdings,"Ascend Wellness Holdings, Inc.",AAWH,AAWH,OTC,DE,DE,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,174 NJ-17,,ROCHELLE PARK,NJ,07662,174 NJ-17,ROCHELLE PARK,NJ,07662,(646) 661-7600,,,830602006,"Ascend Wellness Holdings, Inc|Ascend Wellness Holdings, LLC",2026-05-13,10-Q,Y
926617,Aspira Women's Health Inc.,Aspira Women's Health,Aspira Women's Health Inc.,AWHL,AWHL,OTC,DE,DE,Y,2835,In Vitro & In Vivo Diagnostic Substances,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,12117 BEE CAVES ROAD BUILDING THREE,SUITE 100,AUSTIN,TX,78738,12117 BEE CAVES ROAD BUILDING THREE,AUSTIN,TX,78738,512-519-0400,,,330595156,"VERMILLION, INC.|CIPHERGEN BIOSYSTEMS INC",2026-06-09,8-K,Y
1642122,"Associated Capital Group, Inc.",Associated Capital Group,"Associated Capital Group, Inc.",ACGP,ACGP,OTC,DE,DE,Y,6211,"Security Brokers, Dealers & Flotation Companies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,191 MASON STREET,,GREENWICH,CT,06830,191 MASON STREET,GREENWICH,CT,06830,914-921-5135,,,,"Gabelli Securities Group, Inc.",2026-03-03,4,Y
1882198,Athena Technology Acquisition Corp. II,Athena Technology Acquisition Corp. II,Athena Technology Acquisition Corp. II,ATEK,ATEK|ATEKU|ATEKW,OTC,DE,DE,Y,4955,Hazardous Waste Management,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,442 5TH AVENUE,,NEW YORK,NY,10018,442 5TH AVENUE,NEW YORK,NY,10018,970-925-1572,,,872447308,,2026-05-22,DEF 14A,Y
2101833,ATII Holdings Inc.,ATII Holdings,ATII Holdings Inc.,NANO,,,DE,DE,Y,6770,Blank Checks,other,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,2093 PHILADELPHIA PIKE #1968,,CLAYMONT,DE,19703,2093 PHILADELPHIA PIKE #1968,CLAYMONT,DE,19703,725-312-2430,,,000000000,,2026-05-08,425,Y
1605888,ATLANTIC INTERNATIONAL CORP.,Atlantic International,Atlantic International Corp.,SQLLW,ATLN|SQLLW,OTC,DE,DE,Y,7363,Services-Help Supply Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,270 SYLVAN AVENUE,SUITE 2230,ENGLEWOOD CLIFFS,NJ,07632,270 SYLVAN AVENUE,ENGLEWOOD CLIFFS,NJ,07632,2018994470,,,465319744,"SeqLL, Inc.",2026-05-27,424B3,Y
1963088,"AtlasClear Holdings, Inc.",AtlasClear Holdings,"AtlasClear Holdings, Inc.",ATCHW,ATCH|ATCHW,OTC,DE,DE,Y,6199,Finance Services,operating, / Emerging growth company,smaller_reporting_<75M,"2203 LOIS AVE., STE. 814",,TAMPA,FL,33607,"2203 LOIS AVE., STE. 814",TAMPA,FL,33607,813-257-9366,,,000000000,"Calculator New Pubco, Inc.",2026-06-08,S-3,Y
826253,AURA SYSTEMS INC,Aura Systems,Aura Systems Inc,AUSI,AUSI,OTC,DE,DE,Y,3690,"Miscellaneous Electrical Machinery, Equipment & Supplies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,10541 ASHDALE STREET,,STANTON,CA,90680,10541 ASHDALE STREET,STANTON,CA,90680,3106435300,,,954106894,,2026-06-03,NT 10-K,Y
2092446,Avalanche Treasury Corp,Avalanche Treasury,Avalanche Treasury Corp,AVAT,AVAT,,DE,DE,Y,6199,Finance Services,other,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,251 LITTLE FALLS DRIVE,,WILMINGTON,DE,19808,251 LITTLE FALLS DRIVE,WILMINGTON,DE,19808,(800) 927-9800,,,000000000,,2026-05-29,424B3,Y
1644963,"AVENUE THERAPEUTICS, INC.",Avenue Therapeutics,"Avenue Therapeutics, Inc.",ATXI,ATXI,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1111 KANE CONCOURSE,SUITE 301,BAY HARBOR ISLANDS,FL,33154,1111 KANE CONCOURSE,BAY HARBOR ISLANDS,FL,33154,781-652-4500,,,474113275,,2026-05-08,10-Q,Y
1762303,"AVITA Medical, Inc.",AVITA Medical,"AVITA Medical, Inc.",AVHHL,RCEL|AVHHL,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,28159 AVENUE STANFORD,SUITE 220,VALENCIA,CA,91355,28159 AVENUE STANFORD,VALENCIA,CA,91355,661-568-1317,,,202578762,"Avita Therapeutics, Inc.|Avita Medical, Ltd.",2026-06-08,8-K,Y
1021917,"Awaysis Capital, Inc.",Awaysis Capital,"Awaysis Capital, Inc.",AWCA,AWCA,OTC,DE,DE,Y,6512,Opeators of Nonresidential Buildings,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3400 LAKESIDE DR,SUITE 100,MIRAMAR,FL,33027,3400 LAKESIDE DR,MIRAMAR,FL,33027,954-931-9244,,,270514566,"JV GROUP, INC.|ASPI, INC.|ASPEON INC|JAVELIN SYSTEMS INC",2026-05-15,10-Q,Y
1123596,"BAB, INC.",Bab,"Bab, Inc.",BABB,BABB,OTC,DE,DE,Y,5812,Retail-Eating Places,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,500 LAKE COOK ROAD,SUITE 475,DEERFIELD,IL,60015,500 LAKE COOK ROAD,DEERFIELD,IL,60015,847 948-7520,,,364389547,BAB INC,2026-06-04,8-K,Y
1632121,"Balance Labs, Inc.",Balance Labs,"Balance Labs, Inc.",BLNC,BLNC,OTC,DE,DE,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1111 LINCOLN ROAD,4TH FLOOR,MIAMI,FL,33139,407 LINCOLN ROAD,MIAMI BEACH,FL,33139,(305) 907-7600,,,471146785,,2026-05-15,10-Q,Y
1826889,"Beachbody Company, Inc.",Beachbody Company,"Beachbody Company, Inc.",BODYW,BODI|BODYW,OTC,DE,DE,Y,5960,Retail-Nonstore Retailers,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,400 CONTINENTAL BLVD,SUITE 400,EL SEGUNDO,CA,90245,400 CONTINENTAL BLVD,EL SEGUNDO,CA,90245,3109850200,,,000000000,Forest Road Acquisition Corp.,2026-06-04,4,Y
2094256,"BEACON TOPCO, INC.",Beacon Topco,"Beacon Topco, Inc.",CLYD,CLYD,,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"20400 CENTURY BOULEVARD, SUITE 210",,GERMANTOWN,MD,20874,"20400 CENTURY BOULEVARD, SUITE 210",GERMANTOWN,MD,20874,4439170966,,,000000000,,2026-06-05,10-Q,Y
1059213,BEXIL INVESTMENT TRUST,Bexil Investment Trust,Bexil Investment Trust,BXSY,BXSY,OTC,DE,DE,Y,,,other,,smaller_reporting_<75M,17 OLD DREWSVILLE ROAD,,WALPOLE,NH,,17 OLD DREWSVILLE ROAD,WALPOLE,NH,,2127850900,,,510382212,"DIVIDEND & INCOME FUND|DIVIDEND & INCOME FUND, INC.|CHARTWELL DIVIDEND & INCOME FUND INC",2026-05-28,NPORT-P,Y
1130166,"Bio Green Med Solution, Inc.",Bio Green Med Solution,"Bio Green Med Solution, Inc.",BGMSP,BGMS|BGMSP,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,200 CONNELL DRIVE,SUITE 1500,BERKELEY HEIGHTS,NJ,07922,200 CONNELL DRIVE,BERKELEY HEIGHTS,NJ,07922,908-517-7330,,,911766850,"Cyclacel Pharmaceuticals, Inc.|XCYTE THERAPIES INC",2026-06-04,425,Y
1019034,BIO KEY INTERNATIONAL INC,Bio Key International,Bio Key International Inc,BKYI,BKYI,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,101 CRAWFORDS CORNER RD,SUITE 4116,HOLMDEL,NJ,07733,101 CRAWFORDS CORNER RD,HOLMDEL,NJ,07733,7323591100,,,411761861,SAC TECHNOLOGIES INC,2026-05-18,NT 10-Q,Y
1575142,"BIOADAPTIVES, INC.",Bioadaptives,"Bioadaptives, Inc.",BDPT,BDPT,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2620 REGATTA DRIVE,SUITE 102,LAS VEGAS,NV,89128,2620 REGATTA DRIVE,LAS VEGAS,NV,89128,(702) 659-8829,,,462592228,APEX 8 Inc.,2026-06-03,4,Y
880242,"BIOLARGO, INC.",Biolargo,"Biolargo, Inc.",BLGO,BLGO,OTC,DE,DE,Y,2800,Chemicals & Allied Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,14921 CHESTNUT ST.,,WESTMINSTER,CA,92683,14921 CHESTNUT ST.,WESTMINSTER,CA,92683,888 400-2863,,,650159115,NUWAY MEDICAL INC|NUWAY ENERGY INC|LATIN AMERICAN CASINOS INC,2026-05-15,10-Q,Y
2097508,"Blockfusion Data Centers, Inc.",Blockfusion Data Centers,"Blockfusion Data Centers, Inc.",BLDC,BLDC,,DE,DE,Y,7374,Services-Computer Processing & Data Preparation,other,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"447 BROADWAY, 2ND FLOOR, #538",,NEW YORK,NY,10013,"447 BROADWAY, 2ND FLOOR, #538",NEW YORK,NY,10013,646-732-4427,,,395104456,,2026-05-01,S-4/A,Y
793306,BLUE DOLPHIN ENERGY CO,Blue Dolphin Energy,Blue Dolphin Energy Co,BDCO,BDCO,OTC,DE,DE,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,801 TRAVIS SUITE 2100,,HOUSTON,TX,77002-5729,801 TRAVIS SUITE 2100,HOUSTON,TX,77002-5729,713-568-4725,,,731268729,,2026-05-29,4,Y
1730773,Blue Star Foods Corp.,Blue Star Foods,Blue Star Foods Corp.,BSFC,BSFC,OTC,DE,DE,Y,2092,Prepared Fresh or Frozen Fish & Seafoods,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3330 CLEMATIS STREET,SUITE 217,WEST PALM BEACH,FL,33401,3330 CLEMATIS STREET,WEST PALM BEACH,FL,33401,800-341-2684,,,824270040,"AG ACQUISITION GROUP II, INC.",2026-05-22,10-K,Y
2041531,Bodhi Tree Biotechnology Inc,Bodhi Tree Biotechnology,Bodhi Tree Biotechnology Inc,BDTB,BDTB,OTC,DE,DE,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"4125 BLACKHAWK PLAZA CIRCLE, SUITE 172",,DANVILLE,CA,94506,"4125 BLACKHAWK PLAZA CIRCLE, SUITE 172",DANVILLE,CA,94506,(925)406-4528,,,934908449,,2026-05-14,10-Q,Y
1499961,"BOLLINGER INNOVATIONS, INC.",Bollinger Innovations,"Bollinger Innovations, Inc.",BINI,BINI,OTC,DE,DE,Y,3711,Motor Vehicles & Passenger Car Bodies,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1405 PIONEER STREET,,BREA,CA,92821,1405 PIONEER STREET,BREA,CA,92821,7146131900,,,901025599,"MULLEN AUTOMOTIVE INC.|Net Element, Inc.|Net Element International, Inc.|Cazador Acquisition Corp Ltd.",2026-02-17,SCHEDULE 13G/A,Y
1841125,"Bolt Projects Holdings, Inc.",Bolt Projects Holdings,"Bolt Projects Holdings, Inc.",BSLK,BSLK|BSLKW,OTC,DE,DE,Y,2860,Industrial Organic Chemicals,operating, / Emerging growth company,smaller_reporting_<75M,"2261 MARKET STREET, SUITE 5447",,SAN FRANCISCO,CA,94114,"2261 MARKET STREET, SUITE 5447",SAN FRANCISCO,CA,94114,6192484062,,,861256660,Golden Arrow Merger Corp.,2026-03-12,15-12G,Y
1137883,BRAINSTORM CELL THERAPEUTICS INC.,Brainstorm Cell Therapeutics,Brainstorm Cell Therapeutics Inc.,BCLI,BCLI,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1325 AVENUE OF AMERICAS,28TH FLOOR,NEW YORK,NY,10019,1325 AVENUE OF AMERICAS,NEW YORK,NY,10019,201-488-0460,,,207273918,BRAINSTORM CELL THERAPEUTICS INC|GOLDEN HAND RESOURCES INC|WIZBANG TECHNOLOGIES INC,2026-06-03,3,Y
1976870,BRB Foods Inc.,BRB Foods,BRB Foods Inc.,BRBF,BRBF,,DE,DE,Y,2000,Food and Kindred Products,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,8 THE GREEN STE #3,,DOVER,DE,19901,RUA DOUTOR EDUARDO DE SOUZA ARANHA,"SAO PAULO, SP",,,55 11 4040-5766,,,921196935,BRB Foods Ltd,2026-05-18,NT 10-Q,Y
2083583,"BSTR Holdings, Inc.",BSTR Holdings,"BSTR Holdings, Inc.",BSTR,BSTR,,DE,DE,Y,6199,Finance Services,other,,smaller_reporting_<75M,THE CORPORATION SERVICES COMPANY,251 LITTLE FALLS DRIVE,WILMINGTON,DE,19808,THE CORPORATION SERVICES COMPANY,WILMINGTON,DE,19808,(212) 938-5000,,,000000000,,2026-06-08,424B3,Y
724445,BURZYNSKI RESEARCH INSTITUTE INC,Burzynski Research Institute,Burzynski Research Institute Inc,BZYR,BZYR,OTC,DE,DE,Y,2835,In Vitro & In Vivo Diagnostic Substances,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,12000 RICHMOND AVE,,HOUSTON,TX,77082,9432 KATY FREEWAY,HOUSTON,TX,77055,(713) 335-5697,,,760136810,,2026-05-12,8-K,Y
15847,BUTLER NATIONAL CORP,Butler National,Butler National Corp,BUKS,BUKS,OTC,DE,DE,Y,7990,Services-Miscellaneous Amusement & Recreation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,ONE AERO PLAZA,,NEW CENTURY,KS,66031,ONE AERO PLAZA,NEW CENTURY,KS,66031,9137809595,,,410834293,,2026-06-01,8-K,Y
2080841,BW Industrial Holdings Inc.,BW Industrial Holdings,BW Industrial Holdings Inc.,BWGC,BWGC,,DE,DE,Y,1540,General Bldg Contractors - Nonresidential Bldgs,other,,smaller_reporting_<75M,"2825 WILCREST DRIVE, SUITE 421",,HOUSTON,TX,,"2825 WILCREST DRIVE, SUITE 421",HOUSTON,TX,,832-627-6852,,,814516346,,2026-03-23,FWP,Y
1801417,byNordic Acquisition Corp,byNordic Acquisition,byNordic Acquisition Corp,BYNO,BYNO|BYNOU|BYNOW,OTC,DE,DE,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,EINAR HANSENS ESPLANAD 29,,MALMO,,,EINAR HANSENS ESPLANAD 29,MALMO,,,46 763 134 695,,,000000000,,2026-05-15,10-Q,Y
1855485,"Calidi Biotherapeutics, Inc.",Calidi Biotherapeutics,"Calidi Biotherapeutics, Inc.",CLDWW,CLDI|CLDWW,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating, / Emerging growth company,smaller_reporting_<75M,4475 EXECUTIVE DRIVE,SUITE 200,SAN DIEGO,CA,92121,4475 EXECUTIVE DRIVE,SAN DIEGO,CA,92121,858-794-9600,,,862967193,"Calidi Biotherapeutics, Inc.|First Light Acquisition Group, Inc.",2026-06-05,DEFA14A,Y
1879270,Cannaisseur Group Inc.,Cannaisseur Group,Cannaisseur Group Inc.,TCRG,TCRG,OTC,DE,DE,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,650 PONCE DE LEON AVE,SUITE 300 #2334,ATLANTA,GA,30308,650 PONCE DE LEON AVE,ATLANTA,GA,30308,404-254-2100,,,861907561,,2026-05-11,10-Q,Y
1081938,"CANNAPHARMARX, INC.",Cannapharmarx,"Cannapharmarx, Inc.",CPMD,CPMD,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4439 TOWNSHIP RD 304,,MOUNTAIN VIEW COUNTY,,T0M 0R0,4439 TOWNSHIP RD 304,MOUNTAIN VIEW COUNTY,,T0M 0R0,949-652-6838,,,274635140,"GOLDEN DRAGON HOLDING CO.|CCVG, INC.|CONCORD VENTURES, INC.|CAVION TECHNOLOGIES INC",2026-05-20,10-Q,Y
1009759,"Capstone Green Energy Holdings, Inc.",Capstone Green Energy Holdings,"Capstone Green Energy Holdings, Inc.",CGEH,CGEH,OTC,DE,DE,Y,3510,Engines & Turbines,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,16640 STAGG STREET,,VAN NUYS,CA,91406,16640 STAGG STREET,VAN NUYS,CA,91406,818-734-5300,,,954180883,"Capstone Green Energy Holdings, Inc.|Capstone Green Energy Corp|CAPSTONE TURBINE CORP|CAPSTONE TURBINE Corp",2026-05-28,SD,Y
1016178,CARVER BANCORP INC,Carver Bancorp,Carver Bancorp Inc,CARV,CARV,OTC,DE,DE,Y,6035,"Savings Institution, Federally Chartered",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,75 W 125TH ST,,NEW YORK,NY,10027-4512,75 W 125TH ST,NEW YORK,NY,10027-4512,2128764747,,,133904174,,2025-12-29,SCHEDULE 13D/A,Y
1435064,CEMTREX INC,Cemtrex,Cemtrex Inc,CETXP,CETX|CETXP,OTC,DE,DE,Y,1700,Construction - Special Trade Contractors,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,276 GREENPOINT AVE. BLD 8 SUITE 208,,BROOKLYN,NY,11222,276 GREENPOINT AVE. BLD 8 SUITE 208,BROOKLYN,NY,11222,631 756 9116,,,000000000,,2026-06-02,8-K,Y
1870404,"CERO THERAPEUTICS HOLDINGS, INC.",Cero Therapeutics Holdings,"Cero Therapeutics Holdings, Inc.",CERO,CERO|CEROW,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating, / Emerging growth company,smaller_reporting_<75M,201 HASKINS WAY,SUITE 230,SOUTH SAN FRANCISCO,CA,94080,201 HASKINS WAY,SOUTH SAN FRANCISCO,CA,94080,650-407-2376,,,871088814,"CERO THERAPEUTICS HOLDINGS, INC.|PHOENIX BIOTECH ACQUISITION CORP.",2026-05-29,424B3,Y
1352952,CFN Enterprises Inc.,CFN Enterprises,CFN Enterprises Inc.,CNFN,CNFN,OTC,DE,DE,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,600 E. 8TH STREET,,WHITEFISH,MT,59937,600 E. 8TH STREET,WHITEFISH,MT,59937,8334202636,,,000000000,Accelerize Inc.|ACCELERIZE NEW MEDIA INC,2026-05-20,10-Q,Y
1459188,Charging Robotics Inc.,Charging Robotics,Charging Robotics Inc.,CHEV,CHEV,OTC,DE,DE,Y,5013,Wholesale-Motor Vehicle Supplies & New Parts,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,20 RAUL WALLENBERG STREET,,TEL AVIV,L3,6971916,20 RAUL WALLENBERG STREET,TEL AVIV,L3,6971916,972 54 642 0352,,,262274999,"FUEL DOCTOR HOLDINGS, INC.|Silverhill Management Services Inc",2026-05-14,10-Q,Y
1025771,CHASE PACKAGING CORP,Chase Packaging,Chase Packaging Corp,WHLT,WHLT,OTC,DE,DE,Y,0700,Agricultural Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,PO BOX 126,,RUMSON,NJ,07760,PO BOX 126,RUMSON,NJ,07760,732-741-1500,,,931216127,,2026-05-15,10-Q,Y
1310630,China Foods Holdings Ltd.,China Foods Holdings,China Foods Holdings Ltd.,CFOO,CFOO,OTC,DE,DE,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"SUITE 3102, EVERBRIGHT CENTER",108 GLOUCESTER ROAD,WANCHAI,K3,0000,"SUITE 3102, EVERBRIGHT CENTER",WANCHAI,K3,0000,852-3618-8608,,,910974149,"Trafalgar Resources, Inc.",2026-05-15,10-Q,Y
1539029,"Clearside Biomedical, Inc.",Clearside Biomedical,"Clearside Biomedical, Inc.",CLSDQ,CLSDQ,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,900 NORTH POINT PARKWAY,SUITE 200,ALPHARETTA,GA,30005,900 NORTH POINT PARKWAY,ALPHARETTA,GA,30005,678-270-3631,,,452437375,,2026-01-07,15-12G,Y
2103884,"Compass Sub North, Inc.",Compass Sub North,"Compass Sub North, Inc.",CONE,CONE,,DE,DE,Y,6022,State Commercial Banks,other,,smaller_reporting_<75M,"17 20TH STREET NORTH, SUITE 500",,BIRMINGHAM,AL,35203,"17 20TH STREET NORTH, SUITE 500",BIRMINGHAM,AL,35203,205-719-5750,,,000000000,,2026-05-08,EFFECT,Y
1851959,Concord Acquisition Corp II,Concord Acquisition Corp II,Concord Acquisition Corp II,CNDA,CNDA|CNDAU|CNDAW,OTC,DE,DE,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,477 MADISON AVENUE,,NEW YORK,NY,10022,477 MADISON AVENUE,NEW YORK,NY,10022,212-883-4330,,,862171101,,2026-05-14,10-Q,Y
1895249,"ConnectM Technology Solutions, Inc.",ConnectM Technology Solutions,"ConnectM Technology Solutions, Inc.",CNTM,CNTM|CNTMD,OTC,DE,DE,Y,1700,Construction - Special Trade Contractors,operating, / Emerging growth company,smaller_reporting_<75M,"2 MOUNT ROYAL AVENUE, SUITE 550",,MARLBOROUGH,MA,01752,"2 MOUNT ROYAL AVENUE, SUITE 550",MARLBOROUGH,MA,01752,617-395-1333,,,000000000,Monterey Capital Acquisition Corp,2026-06-08,4,Y
2064307,ContextLogic Holdings Inc.,ContextLogic Holdings,ContextLogic Holdings Inc.,LOGC,LOGC,OTC,DE,DE,Y,5961,Retail-Catalog & Mail-Order Houses,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2648 INTERNATIONAL BLVD.,STE. 115,OAKLAND,CA,94601,2648 INTERNATIONAL BLVD.,OAKLAND,CA,94601,415-965-8476,,,000000000,"Easter Parent, Inc.",2026-06-05,4,Y
2093018,CopperTech Metals Inc.,CopperTech Metals,CopperTech Metals Inc.,CUX,,,DE,DE,Y,1000,Metal Mining,other,,smaller_reporting_<75M,3500 SOUTH DUPONT HIGHWAY,,DOVER,DE,19901,3500 SOUTH DUPONT HIGHWAY,DOVER,DE,19901,44 7860 413642,,,000000000,,2026-06-02,S-1,Y
1958489,"Cortigent, Inc.",Cortigent,"Cortigent, Inc.",CRGT,CRGT,,DE,DE,Y,3845,Electromedical & Electrotherapeutic Apparatus,other,,smaller_reporting_<75M,27200 TOURNEY ROAD,SUITE 315,VALENCIA,CA,91355,27200 TOURNEY ROAD,VALENCIA,CA,91355,818-833-5000,,,000000000,,2026-05-13,S-1/A,Y
1562151,"Crimson Wine Group, Ltd",Crimson Wine Group,"Crimson Wine Group, Ltd",CWGL,CWGL,OTC,DE,DE,Y,2080,Beverages,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5901 SILVERADO TRAIL,,NAPA,CA,94558,5901 SILVERADO TRAIL,NAPA,CA,94558,800-486-0503,,,133607383,,2026-06-01,SCHEDULE 13D/A,Y
924396,Crisp Momentum Inc.,Crisp Momentum,Crisp Momentum Inc.,CRSF,CRSF,OTC,DE,DE,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"250 PARK AVENUE, 7TH FLOOR",,NEW YORK,NY,10017,1700 PALM BEACH LAKES BLVD,WEST PALM BEACH,FL,33401,43 660 596 1401,,,043021770,"OpenLocker Holdings, Inc.|Descrypto Holdings, Inc.|W Technologies, Inc.|Winning Edge International, Inc.|GWIN INC|GLOBAL SPORTS & ENTERTAINMENT INC/|IMSCO TECHNOLOGIES INC /DE/|IMSCO INC /MA/",2026-05-15,10-Q,Y
2115027,Cryptex Digital Market Cap ETF,Cryptex Digital Market Cap ETF,Cryptex Digital Market Cap ETF,BAGZ,BAGZ,,DE,DE,Y,,,other,,smaller_reporting_<75M,"30 N. GOULD ST., SUITE R","CRYPTEX FINANCE, LLC",SHERIDAN,WY,82801,"30 N. GOULD ST., SUITE R",SHERIDAN,WY,82801,(888) 869-5261,,,000000000,,2026-03-25,S-1,Y
1035422,"CTT PHARMACEUTICAL HOLDINGS, INC.",Ctt Pharmaceutical Holdings,"Ctt Pharmaceutical Holdings, Inc.",CTTH,CTTH,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Smaller reporting company,smaller_reporting_<75M,3853 NORTHDALE BLVD #268,,TAMPA,FL,33624,3853 NORTHDALE BLVD #268,TAMPA,FL,33624,813-606-0060,,,113763974,Mindesta Inc.|INDUSTRIAL MINERALS INC|PNW CAPITAL INC|WINCHESTER MINING CORP,2026-05-29,S-1/A,Y
1058623,CUMULUS MEDIA INC,Cumulus Media,Cumulus Media Inc,CMLS,CMLS|CMLSQ,,DE,DE,Y,4832,Radio Broadcasting Stations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3280 PEACHTREE ROAD N.W.,SUITE 2300,ATLANTA,GA,30305,3280 PEACHTREE ROAD N.W.,ATLANTA,GA,30305,4049490700,,,364159663,,2026-04-30,10-K/A,Y
1510964,"CV Sciences, Inc.",CV Sciences,"CV Sciences, Inc.",CVSI,CVSI,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9530 PADGETT STREET,SUITE 107,SAN DIEGO,CA,92126,9530 PADGETT STREET,SAN DIEGO,CA,92126,866-290-2157,,,800944970,"CannaVEST Corp.|Foreclosure Solutions, Inc.",2026-06-04,8-K,Y
1175680,CytoDyn Inc.,CytoDyn,CytoDyn Inc.,CYDY,CYDY,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"1111 MAIN STREET, SUITE 660",,VANCOUVER,WA,98660,"1111 MAIN STREET, SUITE 660",VANCOUVER,WA,98660,360-980-8524,,,753056237,CYTODYN INC|REXRAY CORP,2026-05-20,EFFECT,Y
1918102,"DEEP FISSION, INC.",Deep Fission,"Deep Fission, Inc.",FISN,FISN,,DE,DE,Y,4911,Electric Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,2831 GARBER STREET,,BERKELEY,CA,94705,2831 GARBER STREET,BERKELEY,CA,94705,(707) 400-0778,,,874265302,Surfside Acquisition Inc.,2026-05-28,8-A12B,Y
1533357,DEFENSE TECHNOLOGIES INTERNATIONAL CORP.,Defense Technologies International,Defense Technologies International Corp.,DTII,,OTC,DE,DE,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,6700 N. LINDER ROAD,STE. 156-361,MERIDIAN,ID,83646,6700 N. LINDER ROAD,MERIDIAN,ID,83646,800-520-9485,,,000000000,CANYON GOLD CORP.,2026-04-24,10-Q,Y
1805526,DeFi Development Corp.,DeFi Development,DeFi Development Corp.,DFUKF,DFDV|DFDVW|DFUKF,OTC,DE,DE,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,6401 CONGRESS AVE,STE 250,BOCA RATON,FL,33487,6401 CONGRESS AVE,BOCA RATON,FL,33487,5615594111,,,832676794,DeFi Development Corp.|Janover Inc.|Janover Ventures LLC,2026-06-05,DEF 14C,Y
1394638,"Driveitaway Holdings, Inc.",Driveitaway Holdings,"Driveitaway Holdings, Inc.",DWAY,DWAY,OTC,DE,DE,Y,8200,Services-Educational Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3401 MARKET STREET,SUITE 200/201,PHILADELPHIA,PA,19104,3401 MARKET STREET,PHILADELPHIA,PA,19104,904-824-3133,,,204456503,"CREATIVE LEARNING Corp|B2 HEALTH, INC.",2026-05-22,10-Q,Y
1282980,"Dror Ortho-Design, Inc.",Dror Ortho-Design,"Dror Ortho-Design, Inc.",DROR,DROR,OTC,DE,DE,Y,3843,Dental Equipment & Supplies,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,480 JOHNSON ROAD,SUITE 200,WASHINGTON,PA,15301,480 JOHNSON ROAD,WASHINGTON,PA,15301,724-206-1500,,,850461778,NOVINT TECHNOLOGIES INC,2026-06-05,3,Y
1111741,"DYNARESOURCE, INC.",Dynaresource,"Dynaresource, Inc.",DYNR,DYNR,OTC,DE,DE,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,222 W. LAS COLINAS BLVD,SUITE 1910 NORTH TOWER,IRVING,TX,75039,222 W. LAS COLINAS BLVD,IRVING,TX,75039,(972) 868-9066,,,941589426,DYNARESOURCE INC|DYNA RESOURCE INC,2026-05-18,8-K,Y
1347123,"EBR Systems, Inc.",EBR Systems,"EBR Systems, Inc.",EBRCZ,EBRCZ,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,480 OAKMEAD PARKWAY,,SUNNYVALE,CA,94085,480 OAKMEAD PARKWAY,SUNNYVALE,CA,94085,408 720-1906,,,571164669,EBR Systems Inc,2026-05-11,10-Q,Y
1487798,ECA Marcellus Trust I,ECA Marcellus Trust I,ECA Marcellus Trust I,ECTM,ECTM,OTC,DE,DE,Y,1311,Crude Petroleum & Natural Gas,operating,,smaller_reporting_<75M,C/O BNY MELLON,"601 TRAVIS STREET, FLOOR 16",HOUSTON,TX,77002,C/O BNY MELLON,HOUSTON,TX,77002,512-236-6555,,,276522024,,2026-05-18,8-K,Y
1715819,"Electromedical Technologies, Inc",Electromedical Technologies,"Electromedical Technologies, Inc",EMED,EMED,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,16561 N 92ND STREET,SUITE 101,SCOTTSDALE,AZ,85260,16561 N 92ND STREET,SCOTTSDALE,AZ,85260,888-880-7888,,,822619815,,2025-07-14,15-12G,Y
1089815,Elite Health Systems Inc.,Elite Health Systems,Elite Health Systems Inc.,EHSI,EHSI,OTC,DE,DE,Y,8093,"Services-Specialty Outpatient Facilities, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1131 W 6TH STREET,SUITE 225,ONTARIO,CA,91762,1131 W 6TH STREET,ONTARIO,CA,91762,949-249-1170,,,521842411,"Elite Health Systems, Inc.|U.S. NeuroSurgical Holdings, Inc.|US NEUROSURGICAL INC",2026-05-20,10-Q,Y
1035354,"Eloxx Pharmaceuticals, Inc.",Eloxx Pharmaceuticals,"Eloxx Pharmaceuticals, Inc.",ELOX,ELOX|ELOXD,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,P.O. BOX 274,,ARLINGTON,MA,02476,P.O. BOX 274,ARLINGTON,MA,02476,781-577-5300,,,841368850,"Sevion Therapeutics, Inc.|SENESCO TECHNOLOGIES INC|NAVA LEISURE USA INC",2026-06-08,EFFECT,Y
822370,"Emmaus Life Sciences, Inc.",Emmaus Life Sciences,"Emmaus Life Sciences, Inc.",EMMA,EMMA,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"21250 HAWTHORNE BOULEVARD, SUITE 800",,TORRANCE,CA,90503,"21250 HAWTHORNE BOULEVARD, SUITE 800",TORRANCE,CA,90503,310-214-0065,,,870419387,"MYnd Analytics, Inc.|CNS RESPONSE, INC.|STRATIVATION, INC.|SalesTactix, Inc.|AGE RESEARCH INC",2026-05-15,8-K,Y
2089161,Encore Inc.,Encore,Encore Inc.,ECR,,,DE,DE,Y,7900,Services-Amusement & Recreation Services,other,,smaller_reporting_<75M,"5100 N. RIVER ROAD, SUITE 300",,SCHILLER PARK,IL,60176,"5100 N. RIVER ROAD, SUITE 300",SCHILLER PARK,IL,60176,847-450-7203,,,464573857,,2026-04-10,S-1,Y
1908984,ENDI Corp.,ENDI,ENDI Corp.,ENDI,ENDI,OTC,DE,DE,Y,6282,Investment Advice,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"1806 SUMMIT AVE, STE 300",,RICHMOND,VA,23230,"1806 SUMMIT AVE, STE 300",RICHMOND,VA,23230,(434) 336-7737,,,874284605,,2025-12-03,144,Y
1716947,"Ensysce Biosciences, Inc.",Ensysce Biosciences,"Ensysce Biosciences, Inc.",ENSCW,ENSC|ENSCW,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,7946 IVANHOE AVENUE,SUITE 201,LA JOLLA,CA,92037,7946 IVANHOE AVENUE,LA JOLLA,CA,92037,(858) 263-4196,,,822755287,Leisure Acquisition Corp.,2026-06-04,S-3,Y
2028464,"ENTRATA, INC.",Entrata,"Entrata, Inc.",ENT,,,DE,DE,Y,7372,Services-Prepackaged Software,other,,smaller_reporting_<75M,4205 CHAPEL RIDGE ROAD,,LEHI,UT,84043,4205 CHAPEL RIDGE ROAD,LEHI,UT,84043,8013755522,,,000000000,,2026-05-28,S-1,Y
2110029,"ERock, Inc.",ERock,"ERock, Inc.",EROC,EROC,,DE,DE,Y,3620,Electrical Industrial Apparatus,other,,smaller_reporting_<75M,1113 VINE ST.,SUITE 101,HOUSTON,TX,77002,1113 VINE ST.,HOUSTON,TX,77002,713.429.4091,,,000000000,"Enchanted Rock, Inc.",2026-06-09,8-A12B,Y
1618835,"Evofem Biosciences, Inc.",Evofem Biosciences,"Evofem Biosciences, Inc.",EVFM,EVFM,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,12400 HIGH BLUFF DRIVE,SUITE 600,SAN DIEGO,CA,92130,12400 HIGH BLUFF DRIVE,SAN DIEGO,CA,92130,(858) 550-1900,,,208527075,"Neothetics, Inc.",2026-05-18,8-K,Y
1705012,"Fat Brands, Inc",Fat Brands,"Fat Brands, Inc",FATAQ,FATAQ|FABTQ|FATPQ,OTC,DE,DE,Y,5812,Retail-Eating Places,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"9720 WILSHIRE BLVD.,",SUITE 500,BEVERLY HILLS,CA,90212,"9720 WILSHIRE BLVD.,",BEVERLY HILLS,CA,90212,310-406-0600,,,821302696,,2026-06-04,8-K,Y
1722731,"FDCTECH, INC.",Fdctech,"Fdctech, Inc.",FDCT,FDCT,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating, / Emerging growth company,smaller_reporting_<75M,200 SPECTRUM DRIVE,SUITE 300,IRVINE,CA,92618,200 SPECTRUM DRIVE,IRVINE,CA,92618,877-445-6047,,,811265459,"FDC TECH, INC.|Forex Development Corp.",2026-06-08,8-K,Y
922358,FERRELLGAS PARTNERS L P,Ferrellgas Partners L P,Ferrellgas Partners L P,FGPR,FGPR,OTC,DE,DE,Y,5900,Retail-Miscellaneous Retail,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,ONE LIBERTY PLAZA,,LIBERTY,MO,64068,ONE LIBERTY PLAZA,LIBERTY,MO,64068,816-792-1600,,,431698480,,2026-06-05,10-Q,Y
2064124,"Figure Technology Solutions, Inc.",Figure Technology Solutions,"Figure Technology Solutions, Inc.",FGRS,FIGR|FGRS,OTC,DE,DE,Y,6163,Loan Brokers,operating,Non-accelerated filer / Emerging growth company,smaller_reporting_<75M,100 WEST LIBERTY ST.,SUITE 600,RENO,NV,10018,100 WEST LIBERTY ST.,RENO,NV,10018,(917) 789-8049,,,000000000,"Figure Technology Solutions, Inc.|FT Intermediate, Inc.",2026-06-04,4,Y
1892704,"First Breach, Inc.",First Breach,"First Breach, Inc.",FBDT,FBDT,,DE,DE,Y,3480,"Ordnance & Accessories, (No Vehicles/Guided Missiles)",other,,smaller_reporting_<75M,8402 TOPPING RD.,,BALTIMORE,MD,21208,8402 TOPPING RD.,BALTIMORE,MD,21208,(410) 303-1600,,,825147193,,2026-05-27,S-1/A,Y
1416876,"First Choice Healthcare Solutions, Inc.",First Choice Healthcare Solutions,"First Choice Healthcare Solutions, Inc.",FCHS,FCHS,OTC,DE,DE,Y,8071,Services-Medical Laboratories,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,709 S. HARBOR CITY BLVD.,SUITE 250,MELBOURNE,FL,32901,709 S. HARBOR CITY BLVD.,MELBOURNE,FL,32901,(321) 725-0090,,,900687379,"Medical Billing Assistance, Inc.|Medical Billing Assistance Inc",2026-05-08,10-Q,Y
1065823,FIRST NILES FINANCIAL INC,First Niles Financial,First Niles Financial Inc,FNFI,FNFI|FNFPA,OTC,DE,DE,Y,6035,"Savings Institution, Federally Chartered",other,,smaller_reporting_<75M,55 NORTH MAIN STREET,,NILES,OH,44446,55 NORTH MAIN STREET,NILES,OH,44446,3306522539,,,341870418,,2025-05-19,D,Y
1099668,"FIRST OTTAWA BANCSHARES, INC.",First Ottawa Bancshares,"First Ottawa Bancshares, Inc.",FOTB,FOTB,OTC,DE,DE,Y,6022,State Commercial Banks,operating,,smaller_reporting_<75M,701 LASALLE STREET,P O BOX 657,OTTAWA,IL,61350,701 LASALLE STREET,OTTAWA,IL,61350,8154340044X291,,,364331185,"FIRST OTTAWA BANCSHARES, INC|FIRST OTTAWA BANCSHARES INC",2025-12-17,D,Y
1925062,"Forbright, Inc.",Forbright,"Forbright, Inc.",FRBT,FRBT,,DE,DE,Y,6022,State Commercial Banks,other,,smaller_reporting_<75M,"4445 WILLARD AVENUE, SUITE 1000",,CHEVY CHASE,MD,20815,"4445 WILLARD AVENUE, SUITE 1000",CHEVY CHASE,MD,20815,(301) 299-8810,,,000000000,,2026-06-08,S-1/A,Y
1812360,FOXO TECHNOLOGIES INC.,Foxo Technologies,Foxo Technologies Inc.,FOXO,FOXO|FOXOW,OTC,DE,DE,Y,8731,Services-Commercial Physical & Biological Research,operating, / Emerging growth company,smaller_reporting_<75M,477 SOUTH ROSEMARY AVENUE,SUITE 224,WEST PALM BEACH,FL,33401,477 SOUTH ROSEMARY AVENUE,WEST PALM BEACH,FL,33401,(612) 800-0059,,,851050265,Delwinds Insurance Acquisition Corp.,2026-06-02,DEF 14C,Y
1825248,Franklin BSP Capital Corp,Franklin BSP Capital,Franklin BSP Capital Corp,FRBP,FRBP,OTC,DE,DE,Y,,,operating,Non-accelerated filer / Emerging growth company,smaller_reporting_<75M,ONE MADISON AVENUE,SUITE 1600,NEW YORK,NY,10010,ONE MADISON AVENUE,NEW YORK,NY,10010,(212) 588-6700,,,000000000,Franklin BSP Capital L.L.C.,2026-06-05,DEFA14A,Y
1543652,"Free Flow USA, Inc.",Free Flow USA,"Free Flow USA, Inc.",FFLO,FFLO,OTC,DE,DE,Y,5531,Retail-Auto & Home Supply Stores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9243 JOHN F. KENNEDY BLVD.,SUITE 104,NORTH BERGEN,NJ,07047,9243 JOHN F. KENNEDY BLVD.,NORTH BERGEN,NJ,07047,703-789-3344,,,453838831,"Free Flow, Inc.",2026-05-14,10-Q,Y
1563577,"Galera Therapeutics, Inc.",Galera Therapeutics,"Galera Therapeutics, Inc.",GRTX,GRTX,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,101 LINDENWOOD DRIVE,SUITE 225,MALVERN,PA,19355,101 LINDENWOOD DRIVE,MALVERN,PA,19355,610-725-1500,,,461454898,,2026-06-02,425,Y
2130606,"Gazelle Parent, Inc.",Gazelle Parent,"Gazelle Parent, Inc.",OBX,OBX,,DE,DE,Y,2834,Pharmaceutical Preparations,other,,smaller_reporting_<75M,1030 MASSACHUSETTS AVENUE,,CAMBRIDGE,MA,02138,1030 MASSACHUSETTS AVENUE,CAMBRIDGE,MA,02138,(781) 806-6245,,,000000000,,2026-06-02,S-4/A,Y
890725,GELSTAT CORP,Gelstat,Gelstat Corp,GSAC,GSAC,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,,smaller_reporting_<75M,333 SE 2ND AVENUE,SUITE 2000,MIAMI,FL,33131,333 SE 2ND AVENUE,MIAMI,FL,33131,772-212-1368,,,900075732,DEVELOPED TECHNOLOGY RESOURCE INC,2026-05-11,1-Z,Y
1796949,"GenFlat Holdings, Inc.",GenFlat Holdings,"GenFlat Holdings, Inc.",GFLT,GFLT,OTC,DE,DE,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1983 N BERRA BLVD,,TOOELE,UT,84074,1983 N BERRA BLVD,TOOELE,UT,84074,615-696-7676,,,843639946,"Healthcare Business Resources, Inc.",2026-05-26,4,Y
1121795,GHST World Inc.,GHST World,GHST World Inc.,GHST,GHST,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,3001 PGA BOULEVARD,SUITE 305,PALM BEACH GARDENS,FL,33410,3001 PGA BOULEVARD,PALM BEACH GARDENS,FL,33410,561-686-3307,,,912007477,Ghost Technology Inc.|I A EUROPE GROUP INC|GENERAL TELEPHONY COM INC,2026-05-13,10-Q,Y
1846084,Global Crossing Airlines Group Inc.,Global Crossing Airlines Group,Global Crossing Airlines Group Inc.,JETMF,JETMF|JETBF,OTC,DE,DE,Y,4512,"Air Transportation, Scheduled",operating, / Emerging growth company,smaller_reporting_<75M,"4200 NW 36TH STREET, BUILDING 5A","MIAMI INT'L AIRPORT, 4TH FLOOR",MIAMI,FL,33166,"4200 NW 36TH STREET, BUILDING 5A",MIAMI,FL,33166,7867518503,,,981350261,,2026-05-12,8-K,Y
1817232,Global Gas Corp,Global Gas,Global Gas Corp,HGAS,HGAS|HGASW,OTC,DE,DE,Y,2810,Industrial Inorganic Chemicals,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,99 WALL STREET,SUITE 436,NEW YORK,NY,10005,99 WALL STREET,NEW YORK,NY,10005,917-327-0437,,,851617911,Dune Acquisition Corp,2026-05-15,10-Q,Y
1837774,Global Innovative Platforms Inc.,Global Innovative Platforms,Global Innovative Platforms Inc.,GIPL,GIPL,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating, / Emerging growth company,smaller_reporting_<75M,149 JAMES PLACE,,MAITLAND,FL,32751,149 JAMES PLACE,MAITLAND,FL,32751,321-230-3739,,,853816149,Canning Street Corp,2026-06-04,D,Y
932021,GLOBAL TECHNOLOGIES LTD,Global Technologies,Global Technologies Ltd,GTLL,GTLL,,DE,DE,Y,3663,Radio & Tv Broadcasting & Communications Equipment,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,806 GREEN VALLEY ROAD,SUITE 200,GREENSBORO,NC,27408,806 GREEN VALLEY ROAD,GREENSBORO,NC,27408,(973) 233-5151,,,860970492,INTERACTIVE FLIGHT TECHNOLOGIES INC,2026-06-03,10-Q,Y
1420108,"Glucose Health, Inc.",Glucose Health,"Glucose Health, Inc.",GLUC,GLUC,OTC,DE,DE,Y,2833,Medicinal Chemicals & Botanical Products,operating,Smaller reporting company,smaller_reporting_<75M,"609 SW 8TH STREET, SUITE 600",,BENTONVILLE,AR,72712,"609 SW 8TH STREET, SUITE 600",BENTONVILLE,AR,72712,479-802-3827,,,901117742,Bio-Solutions Corp.,2026-02-04,D,Y
1011509,Golden Minerals Co,Golden Minerals,Golden Minerals Co,AUMN,AUMN,OTC,DE,DE,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1312 17TH ST,UNIT 2136,DENVER,CO,80202,1312 17TH ST,DENVER,CO,80202,3038395060,,,841363747,APEX SILVER MINES LTD,2026-05-20,8-K,Y
1852040,Grayscale Basic Attention Token Trust (BAT),Grayscale Basic Attention Token Trust (BAT),Grayscale Basic Attention Token Trust (BAT),GBAT,GBAT,OTC,DE,DE,Y,,,other,,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212-668-1427,,,866366321,,2026-02-05,144,Y
2029297,Grayscale Bittensor Trust (TAO),Grayscale Bittensor Trust (TAO),Grayscale Bittensor Trust (TAO),GTAO,GTAO,OTC,DE,DE,Y,6221,Commodity Contracts Brokers & Dealers,operating, / Emerging growth company,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212-668-1427,,,996506784,,2026-05-20,8-K,Y
2106762,Grayscale BNB ETF,Grayscale BNB ETF,Grayscale BNB ETF,GBNB,GBNB,,DE,DE,Y,6221,Commodity Contracts Brokers & Dealers,other,,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212-668-1427,,,416775679,,2026-06-03,S-1/A,Y
1852023,Grayscale Decentraland Trust (MANA),Grayscale Decentraland Trust (MANA),Grayscale Decentraland Trust (MANA),MANA,MANA,OTC,DE,DE,Y,,,other,,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06092,290 HARBOR DRIVE,STAMFORD,CT,06092,212-668-1427,,,866384735,,2026-05-07,144,Y
1852039,Grayscale Filecoin Trust (FIL),Grayscale Filecoin Trust (FIL),Grayscale Filecoin Trust (FIL),FILG,FILG,OTC,DE,DE,Y,6199,Finance Services,other,,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212-668-1427,,,856627668,,2026-05-07,144,Y
1748945,Grayscale Horizen Trust (ZEN),Grayscale Horizen Trust (ZEN),Grayscale Horizen Trust (ZEN),HZEN,HZEN,OTC,DE,DE,Y,6221,Commodity Contracts Brokers & Dealers,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212-668-1427,,,836217411,Zen Investment Trust,2026-05-08,10-Q,Y
1732406,Grayscale Litecoin Trust (LTC),Grayscale Litecoin Trust (LTC),Grayscale Litecoin Trust (LTC),LTCN,LTCN,OTC,DE,DE,Y,6221,Commodity Contracts Brokers & Dealers,operating, / Emerging growth company,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212 668 1427,,,826868171,Litecoin Investment Trust,2026-05-22,8-K,Y
1852024,Grayscale Livepeer Trust (LPT),Grayscale Livepeer Trust (LPT),Grayscale Livepeer Trust (LPT),GLIV,GLIV,OTC,DE,DE,Y,,,other,,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212-668-1427,,,866374254,,2026-05-06,144,Y
2025000,Grayscale Near Trust (NEAR),Grayscale Near Trust (NEAR),Grayscale Near Trust (NEAR),GSNR,GSNR,OTC,DE,DE,Y,6221,Commodity Contracts Brokers & Dealers,other,,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212-668-1427,,,996514154,,2026-05-06,144,Y
2024996,Grayscale Stacks Trust (STX),Grayscale Stacks Trust (STX),Grayscale Stacks Trust (STX),STCK,STCK,OTC,DE,DE,Y,,,other,,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212-668-1427,,,996511355,,2026-05-04,144,Y
1761325,Grayscale Stellar Lumens Trust (XLM),Grayscale Stellar Lumens Trust (XLM),Grayscale Stellar Lumens Trust (XLM),GXLM,GXLM,OTC,DE,DE,Y,6221,Commodity Contracts Brokers & Dealers,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212 668 1427,,,836545098,Stellar Lumens Investment Trust,2026-05-08,10-Q,Y
1720265,Grayscale Zcash Trust (ZEC),Grayscale Zcash Trust (ZEC),Grayscale Zcash Trust (ZEC),ZCSH,ZCSH,OTC,DE,DE,Y,6221,Commodity Contracts Brokers & Dealers,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,290 HARBOR DRIVE,4TH FLOOR,STAMFORD,CT,06902,290 HARBOR DRIVE,STAMFORD,CT,06902,212-668-1427,,,826646113,Zcash Investment Trust,2026-05-08,10-Q,Y
1693687,GREENLIT VENTURES INC.,Greenlit Ventures,Greenlit Ventures Inc.,MSYND,MSYND|GLVT,,DE,DE,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,717 FULIN HOTEL,1805 HEPING ROAD,"LUOHU, SHENZHEN",,,717 FULIN HOTEL,"LUOHU, SHENZHEN",,,604-671-9998,,,814679061,"MS YOUNG ADVENTURE ENTERPRISE, INC.|AllyMe Holding Inc.|Rain Sound Acquisition Corp",2026-05-15,NT 10-Q,Y
1841761,"Grove Collaborative Holdings, Inc.",Grove Collaborative Holdings,"Grove Collaborative Holdings, Inc.",GROVW,GROV|GROVW,OTC,DE,DE,Y,5961,Retail-Catalog & Mail-Order Houses,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1301 SANSOME STREET,,SAN FRANCISCO,CA,94111,1301 SANSOME STREET,SAN FRANCISCO,CA,94111,(800) 231-8527,,,882840659,Virgin Group Acquisition Corp. II,2026-06-04,4,Y
1832487,"Guerrilla RF, Inc.",Guerrilla RF,"Guerrilla RF, Inc.",GUER,GUER,OTC,DE,DE,Y,3674,Semiconductors & Related Devices,operating, / Emerging growth company,smaller_reporting_<75M,2000 PISGAH CHURCH ROAD,,GREENSBORO,NC,27455,2000 PISGAH CHURCH ROAD,GREENSBORO,NC,27455,3365107840,,,853837067,Laffin Acquisition Corp.,2026-06-05,8-K,Y
924515,GUIDED THERAPEUTICS INC,Guided Therapeutics,Guided Therapeutics Inc,GTHP,GTHP,OTC,DE,DE,Y,3845,Electromedical & Electrotherapeutic Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5835 PEACHTREE CORNERS EAST,SUITE B,PEACHTREE CORNERS,GA,30092,5835 PEACHTREE CORNERS EAST,PEACHTREE CORNERS,GA,30092,7702428723,,,582029543,SPECTRX INC,2026-05-15,10-Q,Y
1563665,"Harvard Apparatus Regenerative Technology, Inc.",Harvard Apparatus Regenerative Technology,"Harvard Apparatus Regenerative Technology, Inc.",HRGN,HRGN,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,84 OCTOBER HILL ROAD,SUITE 11,HOLLISTON,MA,01746,84 OCTOBER HILL ROAD,HOLLISTON,MA,01746,(774) 233-7300,,,455210462,"Biostage, Inc.",2026-05-13,10-Q,Y
844856,Healthier Choices Management Corp.,Healthier Choices Management,Healthier Choices Management Corp.,HCMC,HCMC,OTC,DE,DE,Y,2100,Tobacco Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3800 NORTH 28TH WAY,,HOLLYWOOD,FL,33020,3800 NORTH 28TH WAY,HOLLYWOOD,FL,33020,305-600-5004,,,841070932,VAPOR CORP.|MILLER DIVERSIFIED CORP,2026-05-14,10-Q,Y
1583771,"Hepion Pharmaceuticals, Inc.",Hepion Pharmaceuticals,"Hepion Pharmaceuticals, Inc.",HEPA,HEPA|CTRVP,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,34 SHREWSBURY AVE.,SUITE 1D,RED BANK,NJ,07701,34 SHREWSBURY AVE.,RED BANK,NJ,07701,732-902-4000,,,462783806,"ContraVir Pharmaceuticals, Inc.",2026-05-26,3,Y
797465,"HG Holdings, Inc.",HG Holdings,"HG Holdings, Inc.",STLY,STLY,OTC,DE,DE,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"6265 OLD WATER OAK ROAD, UNIT 204",,TALLAHASSEE,FL,32312,"6265 OLD WATER OAK ROAD, UNIT 204",TALLAHASSEE,FL,32312,850-201-9204,,,541272589,STANLEY FURNITURE CO INC.|STANLEY FURNITURE CO INC/,2026-05-13,10-Q,Y
2089271,Honeywell Aerospace Inc.,Honeywell Aerospace,Honeywell Aerospace Inc.,HONA,HONA,,DE,DE,Y,3724,Aircraft Engines & Engine Parts,other,,smaller_reporting_<75M,1944 E SKY HARBOR CIR N,,PHOENIX,AZ,85034,1944 E SKY HARBOR CIR N,PHOENIX,AZ,85034,704-627-6200,,,394202057,Honeywell Aerospace LLC,2026-06-08,10-12B/A,Y
1760542,HOOKIPA Pharma Inc.,HOOKIPA Pharma,HOOKIPA Pharma Inc.,HOOK,HOOK,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"350 FIFTH AVENUE, 72ND FLOOR, SUITE 7240",,NEW YORK,NY,10118,"350 FIFTH AVENUE, 72ND FLOOR, SUITE 7240",NEW YORK,NY,10118,0114318906360,,,815395687,,2025-10-09,4,Y
88000,Horizon Kinetics Holding Corp,Horizon Kinetics Holding,Horizon Kinetics Holding Corp,HKHC,HKHC,OTC,DE,DE,Y,6282,Investment Advice,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,470 PARK AVE S.,,NEW YORK,NY,10016,470 PARK AVE S.,NEW YORK,NY,10016,6462912300,,,840920811,Scott's Liquid Gold - Inc.|SCOTTS LIQUID GOLD INC,2026-05-21,4,Y
1639068,Hubilu Venture Corp,Hubilu Venture,Hubilu Venture Corp,HBUV,HBUV,OTC,DE,DE,Y,6510,Real Estate Operators (No Developers) & Lessors,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9777 WILSHIRE BLVD,SUITE 804,BEVERLY HILLS,CA,90212,9777 WILSHIRE BLVD,BEVERLY HILLS,CA,90212,(310) 308-7887,,,473342387,,2026-05-26,10-Q,Y
1718405,HYCROFT MINING HOLDING CORP,Hycroft Mining Holding,Hycroft Mining Holding Corp,HYMCW,HYMC|HYMCW,OTC,DE,DE,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4300 WATER CANYON ROAD,UNIT 1,WINNEMUCCA,NV,89445,4300 WATER CANYON ROAD,WINNEMUCCA,NV,89445,7753040260,,,822657796,HYCROFT MINING HOLDING CORP|Mudrick Capital Acquisition Corp,2026-06-08,4,Y
1580490,I-ON Digital Corp.,I-ON Digital,I-ON Digital Corp.,IONI,IONI,OTC,DE,DE,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1244 N. STONE ST.,UNIT #3,CHICAGO,IL,60610,1244 N. STONE ST.,CHICAGO,IL,60610,866-440-2278,,,463031328,I-ON Communications Corp.|Evans Brewing Co Inc.|ALPINE 3 Inc.,2026-06-05,8-K,Y
1729944,"IMAC Holdings, Inc.",IMAC Holdings,"IMAC Holdings, Inc.",BACK,BACK,OTC,DE,DE,Y,8093,"Services-Specialty Outpatient Facilities, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3401 MALLORY LANE,SUITE 100,FRANKLIN,TN,37067,3401 MALLORY LANE,FRANKLIN,TN,37067,844-266-4622,,,473579961,IMAC HOLDINGS LLC,2026-03-31,15-12G,Y
1680513,IMPACT ANALYTICS INC.,Impact Analytics,Impact Analytics Inc.,IPTNF,IPTNF|IPTND,,DE,DE,Y,,,other,,smaller_reporting_<75M,780 ELKRIDGE LANDING ROAD,SUITE 100,LINTHICUM HEIGHTS,MD,21090,780 ELKRIDGE LANDING ROAD,LINTHICUM HEIGHTS,MD,21090,(917) 244-3631,,,474178385,,2025-06-03,D,Y
1042418,"Inhibitor Therapeutics, Inc.",Inhibitor Therapeutics,"Inhibitor Therapeutics, Inc.",INTI,INTI,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4830 W. KENNEDY BLVD.,SUITE 600,TAMPA,FL,33609,4830 W. KENNEDY BLVD.,TAMPA,FL,33609,(813) 766-2462,,,541641133,"HedgePath Pharmaceuticals, Inc.|COMMONWEALTH BIOTECHNOLOGIES INC",2026-06-01,4,Y
1190370,INNOVATIVE DESIGNS INC,Innovative Designs,Innovative Designs Inc,IVDN,IVDN,OTC,DE,DE,Y,2390,Miscellaneous Fabricated Textile Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,124 CHERRY ST.,STE 1,PITTSBURGH,PA,15223,124 CHERRY ST.,PITTSBURGH,PA,15223,4127990350,,,030465528,,2026-05-18,10-K/A,Y
2001557,"Innventure, Inc.",Innventure,"Innventure, Inc.",INVLW,INV|INVLW,OTC,DE,DE,Y,6770,Blank Checks,operating, / Emerging growth company,smaller_reporting_<75M,"6900 TAVISTOCK LAKES BLVD, SUITE 400",,ORLANDO,FL,32827,"6900 TAVISTOCK LAKES BLVD, SUITE 400",ORLANDO,FL,32827,(321) 209-6787,,,934440048,"Learn SPAC HoldCo, Inc.",2026-05-20,8-K,Y
1016504,INTEGRATED BIOPHARMA INC,Integrated Biopharma,Integrated Biopharma Inc,INBP,INBP,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,225 LONG AVENUE,BUILDING 15,HILLSIDE,NJ,07205,225 LONG AVENUE,HILLSIDE,NJ,07205,9739260816,,,222407475,INTEGRATED HEALTH TECHNOLOGIES INC|CHEM INTERNATIONAL INC,2026-05-08,8-K,Y
1846235,International Media Acquisition Corp.,International Media Acquisition,International Media Acquisition Corp.,IMAQ,IMAQ|IMAQR|IMAQU|IMAQW,OTC,DE,DE,Y,7812,Services-Motion Picture & Video Tape Production,operating, / Emerging growth company,smaller_reporting_<75M,1604 HWY 130,,NORTH BRUNSWICK,NJ,08902,1604 HWY 130,NORTH BRUNSWICK,NJ,08902,2129603677,,,000000000,,2026-06-01,8-K,Y
1355790,International Stem Cell CORP,International Stem Cell,International Stem Cell CORP,ISCO,ISCO,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9745 BUSINESSPARK AVENUE,,SAN DIEGO,CA,92131,9745 BUSINESSPARK AVENUE,SAN DIEGO,CA,92131,760-940-6383,,,204494098,BTHC III INC.,2026-05-14,10-Q,Y
1054102,"INTERPACE BIOSCIENCES, INC.",Interpace Biosciences,"Interpace Biosciences, Inc.",IDXG,IDXG,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"WATERVIEW PLAZA, SUITE 310",2001 ROUTE 46,PARSIPPANY,NJ,07054,"WATERVIEW PLAZA, SUITE 310",PARSIPPANY,NJ,07054,412-224-6100,,,222919486,"Interpace Diagnostics Group, Inc.|PDI INC|PROFESSIONAL DETAILING INC",2026-05-14,8-K,Y
1865494,"IO Biotech, Inc.",IO Biotech,"IO Biotech, Inc.",IOBTQ,IOBTQ,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating, / Emerging growth company,smaller_reporting_<75M,OLE MAALOES VEH 3,,COPENHAGEN,G7,2200,OLE MAALOES VEH 3,COPENHAGEN,G7,2200,4570702980,,,870909276,,2026-06-08,25-NSE,Y
2123613,"Kardigan, Inc.",Kardigan,"Kardigan, Inc.",KARD,,,DE,DE,Y,2834,Pharmaceutical Preparations,other,,smaller_reporting_<75M,"C/O KARDIGAN, INC.","131 OYSTER POINT BLVD., SECOND FLOOR",SOUTH SAN FRANCISCO,CA,94080,"C/O KARDIGAN, INC.",SOUTH SAN FRANCISCO,CA,94080,(415) 573-3220,,,932994203,,2026-05-26,S-1,Y
1530746,"Kaya Holdings, Inc.",Kaya Holdings,"Kaya Holdings, Inc.",KAYS,KAYS,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating, / Emerging growth company,smaller_reporting_<75M,"915 MIDDLE RIVER DRIVE, SUITE 316",,FORT LAUDERDALE,FL,33304,"915 MIDDLE RIVER DRIVE, SUITE 316",FORT LAUDERDALE,FL,33304,954-5347895,,,900898007,"Alternative Fuels Americas, Inc.|Alternative Fuels America, Inc.",2026-03-30,NT 10-K,Y
774415,"King Resources, Inc.",King Resources,"King Resources, Inc.",KRFG,KRFG,OTC,DE,DE,Y,3612,"Power, Distribution & Specialty Transformers",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"UNIT 1813, 18/F, FO TAN INDUSTRIAL CENTR",26-28 AU PUI WAN STREET,FO TAN,,,"UNIT 1813, 18/F, FO TAN INDUSTRIAL CENTR",FO TAN,,,852-35858905,,,133784149,OneSolution Technology Inc.|KING RESOURCES INC|ARXA INTERNATIONAL ENERGY INC,2026-06-03,DEF 14C,Y
1372514,KIORA PHARMACEUTICALS INC,Kiora Pharmaceuticals,Kiora Pharmaceuticals Inc,KPHMW,KPRX|KPHMW,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,169 SAXONY RD.,SUITE 212,ENCINITAS,CA,92024,169 SAXONY RD.,ENCINITAS,CA,92024,858-224-9600,,,980443284,EYEGATE PHARMACEUTICALS INC,2026-05-28,424B3,Y
1855457,"KORE Group Holdings, Inc.",KORE Group Holdings,"KORE Group Holdings, Inc.",KORGW,KORE|KORGW,OTC,DE,DE,Y,4899,"Communications Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1155 PERIMETER CENTER WEST,11TH FLOOR,ATLANTA,GA,30346,1155 PERIMETER CENTER WEST,ATLANTA,GA,30346,877-710-5673,,,863078783,"King Pubco, Inc.",2026-06-03,4,Y
1884164,"KwikClick, Inc.",KwikClick,"KwikClick, Inc.",KWIK,KWIK,OTC,DE,DE,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,585 WEST 500 SOUTH,SUITE 130,BOUNTIFUL,UT,84010,585 WEST 500 SOUTH,BOUNTIFUL,UT,84010,8012434840,,,954463033,,2026-05-15,10-Q,Y
1442492,"Laredo Oil, Inc.",Laredo Oil,"Laredo Oil, Inc.",LRDC,LRDC,OTC,DE,DE,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"2021 GUADALUPE STREET,",STE. 260,AUSTIN,TX,78705,"2021 GUADALUPE STREET,",AUSTIN,TX,78705,(512) 337-1199,,,262435874,"Laredo Mining, Inc.",2026-04-14,10-Q,Y
1826000,"Latch, Inc.",Latch,"Latch, Inc.",LTCH,LTCH|LTCHW,OTC,DE,DE,Y,5072,Wholesale-Hardware,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1220 N PRICE ROAD,SUITE 2,OLIVETTE,MO,63132,1220 N PRICE ROAD,OLIVETTE,MO,63132,(314) 227-1100,,,853087759,TS Innovation Acquisitions Corp.,2026-06-05,4,Y
1736734,Lendbuzz Inc.,Lendbuzz,Lendbuzz Inc.,LBZZ,LBZZ,,DE,DE,Y,6141,Personal Credit Institutions,other,,smaller_reporting_<75M,100 SUMMER STREET,,BOSTON,MA,02110,100 SUMMER STREET,BOSTON,MA,02110,857-999-0250,,,475047556,,2026-03-06,S-1/A,Y
1803977,Limitless X Holdings Inc.,Limitless X Holdings,Limitless X Holdings Inc.,LIMX,LIMX,OTC,DE,DE,Y,7990,Services-Miscellaneous Amusement & Recreation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"9777 WILSHIRE BLVD.,","SUITE 400,",BEVERLY HILLS,CA,90212,"9777 WILSHIRE BLVD.,",BEVERLY HILLS,CA,90212,720-273-0433,,,811034163,"BIO LAB NATURALS, INC.",2026-06-05,8-K/A,Y
1347242,LIPELLA PHARMACEUTICALS INC.,Lipella Pharmaceuticals,Lipella Pharmaceuticals Inc.,LIPO,LIPO,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating, / Emerging growth company,smaller_reporting_<75M,400 N LEXINGTON ST,STE LL103,PITTSBURGH,PA,15208,400 N LEXINGTON ST,PITTSBURGH,PA,15208,412-901-0315,,,000000000,LIPELLA PHARMACEUTICALS INC,2026-03-31,8-K,Y
1840780,Local Bounti Corporation/DE,Local Bounti,Local Bounti Corporation,LOCLW,LOCL|LOCLW,OTC,DE,DE,Y,0100,Agricultural Production-Crops,operating, / Emerging growth company,smaller_reporting_<75M,490 FOLEY LANE,,HAMILTON,MT,59840,490 FOLEY LANE,HAMILTON,MT,59840,800-640-4016,,,981584830,Leo Holdings III Corp.,2026-05-21,EFFECT,Y
1842939,"Longevity Health Holdings, Inc.",Longevity Health Holdings,"Longevity Health Holdings, Inc.",XAGE,XAGE|XAGEW,OTC,DE,DE,Y,2840,"Soap, Detergents, Cleang Preparations, Perfumes, Cosmetics",operating, / Emerging growth company,smaller_reporting_<75M,"2403 SIDNEY STREET, SUITE 300",,PITTSBURGH,PA,15203,"2403 SIDNEY STREET, SUITE 300",PITTSBURGH,PA,15203,412-894-8248,,,861645738,Carmell Corp|ALPHA HEALTHCARE ACQUISITION CORP III,2026-06-04,8-K,Y
1753712,Lord Abbett Credit Opportunities Fund,Lord Abbett Credit Opportunities Fund,Lord Abbett Credit Opportunities Fund,LARAX,LARAX,,DE,DE,Y,,,other,,smaller_reporting_<75M,30 HUDSON STREET,,JERSEY CITY,NJ,07302,30 HUDSON STREET,JERSEY CITY,NJ,07302,888-522-2388,,,000000000,,2026-05-29,NPORT-P,Y
1327273,"Lyra Therapeutics, Inc.",Lyra Therapeutics,"Lyra Therapeutics, Inc.",LYRA,LYRA,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,480 ARSENAL WAY,,WATERTOWN,MA,02472,480 ARSENAL WAY,WATERTOWN,MA,02472,617-373-4600,,,000000000,"480 Biomedical, Inc.|Arsenal Vascular, Inc.|Arsenal Medical, Inc.|WMR Biomedical Inc",2026-05-15,4,Y
1052354,MAN AHL DIVERSIFIED I LP,Man Ahl Diversified I,Man Ahl Diversified I LP,MADL,MADL,,DE,DE,Y,6221,Commodity Contracts Brokers & Dealers,operating,Non-accelerated filer,smaller_reporting_<75M,123 NORTH WACKER DRIVE,SUITE 2800,CHICAGO,IL,60606,123 NORTH WACKER DRIVE,CHICAGO,IL,60606,312-881-6800,,,000000000,,2026-05-14,10-Q,Y
1965052,Marblegate Capital Corp,Marblegate Capital,Marblegate Capital Corp,MGTE,MGTE|MGTEW,OTC,DE,DE,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"411 THEODORE FREMD AVENUE, SUITE 206S",,RYE,NY,10580,"411 THEODORE FREMD AVENUE, SUITE 206S",RYE,NY,10580,(914) 415-4081,,,922142791,,2026-05-14,10-Q,Y
1522767,MARIMED INC.,Marimed,Marimed Inc.,MRMD,MRMD,OTC,DE,DE,Y,2833,Medicinal Chemicals & Botanical Products,operating, / Emerging growth company,smaller_reporting_<75M,10 OCEANA WAY,2ND FLOOR,NORWOOD,MA,02062,10 OCEANA WAY,NORWOOD,MA,02062,781-277-0007,,,274672745,WORLDS ONLINE INC.,2026-06-08,4,Y
1844392,"Marpai, Inc.",Marpai,"Marpai, Inc.",MRAI,MRAI,OTC,DE,DE,Y,8090,"Services-Misc Health & Allied Services, NEC",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,615 CHANNELSIDE DRIVE,SUITE 207,TAMPA,FL,33602,615 CHANNELSIDE DRIVE,TAMPA,FL,33602,646-303-3483,,,000000000,,2026-06-02,4,Y
2131882,"McCarthy Finney, Inc.",McCarthy Finney,"McCarthy Finney, Inc.",MCFN,,,DE,DE,Y,,,other,,smaller_reporting_<75M,8580 STRAWBERRY LANE,,NIWOT,CO,80503,8580 STRAWBERRY LANE,NIWOT,CO,80503,303-995-3036,,,413005249,,2026-05-14,S-4,Y
1295514,"MDWerks, Inc.",MDWerks,"MDWerks, Inc.",MDWK,MDWK,OTC,DE,DE,Y,2080,Beverages,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"411 WALNUT STREET,",SUITE 20125,GREEN COVE SPRINGS,FL,32043,"411 WALNUT STREET,",GREEN COVE SPRINGS,FL,32043,(252) 501-0019,,,331095411,WESTERN EXPLORATION INC.,2026-05-29,4,Y
1599117,"Mentor Capital, Inc.",Mentor Capital,"Mentor Capital, Inc.",MNTR,MNTR,OTC,DE,DE,Y,6799,"Investors, NEC",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,5964 CAMPUS COURT,,PLANO,TX,75093,5964 CAMPUS COURT,PLANO,TX,75093,(760) 788-4700,,,770395098,,2026-05-14,10-Q,Y
1001601,"MGT CAPITAL INVESTMENTS, INC.",Mgt Capital Investments,"Mgt Capital Investments, Inc.",MGTI,MGTI,OTC,DE,DE,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,540 MONTREAL AVE,SUITE 133,MELBOURNE,FL,32935,540 MONTREAL AVE,MELBOURNE,FL,32935,(914) 630-7430,,,134148725,MGT CAPITAL INVESTMENTS INC|MEDICSIGHT INC|HTTP TECHNOLOGY INC|INTERNET HOLDINGS INC|CHINA BIOMEDICAL GROUP INC,2026-05-11,8-K,Y
1788841,micromobility.com Inc.,micromobility.com,micromobility.com Inc.,MCOM,MCOM|MCOMW,OTC,DE,DE,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,500 BROOME ST.,,NEW YORK,NY,10013,500 BROOME ST.,NEW YORK,NY,10013,917-675-7157,,,843015108,"Helbiz, Inc.|GreenVision Acquisition Corp.",2026-03-31,NT 10-K,Y
2088281,"Midera Food Processing, Inc.",Midera Food Processing,"Midera Food Processing, Inc.",MFP,MFP,,DE,DE,Y,3580,Refrigeration & Service Industry Machinery,other,,smaller_reporting_<75M,1400 TOASTMASTER DRIVE,,ELGIN,IL,60120,320 S. CANAL ST.,CHICAGO,IL,60606,(847) 450-9692,,,393886250,"Middleby Food Processing, Inc.",2026-05-27,10-12B/A,Y
1886362,"Mobile Global Esports, Inc.",Mobile Global Esports,"Mobile Global Esports, Inc.",MGAM,MGAM,OTC,DE,DE,Y,7900,Services-Amusement & Recreation Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,500 POST ROAD EAST,2ND FLOOR,WESTPORT,CT,06883,500 POST ROAD EAST,WESTPORT,CT,06883,(475) 666-8401,,,862684455,,2026-05-15,10-Q,Y
2090312,Mobility Global Inc.,Mobility Global,Mobility Global Inc.,MBGL,MBGL,,DE,DE,Y,7389,"Services-Business Services, NEC",other,,smaller_reporting_<75M,1906 RESTON METRO PLAZA,,RESTON,VA,20190,1906 RESTON METRO PLAZA,RESTON,VA,20190,703-934-2664,,,000000000,S&P Global Mobility Holding Co,2026-06-04,3,Y
836564,Mosaic ImmunoEngineering Inc.,Mosaic ImmunoEngineering,Mosaic ImmunoEngineering Inc.,CPMV,CPMV,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9114 ADAMS AVE.,#202,HUNTINGTON BEACH,CA,92646,9114 ADAMS AVE.,HUNTINGTON BEACH,CA,92646,657-208-0890,,,841070278,PATRIOT SCIENTIFIC CORP,2026-05-20,10-Q,Y
1859035,Mountain Crest Acquisition Corp. V,Mountain Crest Acquisition Corp. V,Mountain Crest Acquisition Corp. V,MCAG,MCAG|MCAGR|MCAGU,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,524 BROADWAY,11TH FLOOR,NEW YORK,NY,10012,524 BROADWAY,NEW YORK,NY,10012,646-493-6558,,,000000000,,2026-05-15,10-Q,Y
1946573,Nakamoto Inc.,Nakamoto,Nakamoto Inc.,NAKAW,NAKA|NAKAW,OTC,DE,DE,Y,6199,Finance Services,operating, / Emerging growth company,smaller_reporting_<75M,300 10TH AVE SOUTH,,NASHVILLE,TN,37203,300 10TH AVE SOUTH,NASHVILLE,TN,37203,(385) 388-8220,,,843829824,"Kindly MD, Inc.",2026-06-01,SCHEDULE 13D/A,Y
1947861,Nature's Miracle Holding Inc.,Nature's Miracle Holding,Nature's Miracle Holding Inc.,NMHI,NMHI|NMHIW,OTC,DE,DE,Y,3523,Farm Machinery & Equipment,operating, / Emerging growth company,smaller_reporting_<75M,858 NORTH CENTRAL AVENUE,,UPLAND,CA,91786,858 NORTH CENTRAL AVENUE,UPLAND,CA,91786,888-420-3694,,,000000000,LBBB Merger Corp.,2026-05-28,8-K,Y
1725911,NetBrands Corp.,NetBrands,NetBrands Corp.,NBND,NBND,OTC,DE,DE,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4042 AUSTIN BOULEVARD,SUITE B,ISLAND PARK,NY,11558,4042 AUSTIN BOULEVARD,ISLAND PARK,NY,11558,800-550-5996,,,823707673,Global Diversified Marketing Group Inc.|Dense Forest Acquisition Corp,2026-05-13,10-Q,Y
1282631,NETLIST INC,Netlist,Netlist Inc,NLST,NLST,OTC,DE,DE,Y,3674,Semiconductors & Related Devices,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"111 ACADEMY, SUITE 100",,IRVINE,CA,92617,"111 ACADEMY, SUITE 100",IRVINE,CA,92617,949-435-0025,,,954812784,,2026-06-08,144,Y
1699963,"Neutron Holdings, Inc.",Neutron Holdings,"Neutron Holdings, Inc.",LIME,,,DE,DE,Y,7372,Services-Prepackaged Software,other,,smaller_reporting_<75M,85 2ND ST,SUITE 750,SAN FRANCISCO,CA,94105,85 2ND ST,SAN FRANCISCO,CA,94105,415-449-4139,,,814870517,,2026-05-08,S-1,Y
1061040,"New Generation Consumer Group, Inc.",New Generation Consumer Group,"New Generation Consumer Group, Inc.",NGCG,NGCG|NGCGD,OTC,DE,DE,Y,7371,Services-Computer Programming Services,operating,,smaller_reporting_<75M,300 DELAWARE AVE. SUITE 210,,WILMINGTON,DE,19801,7950 E. REDFIELD ROAD,SCOTTSDALE,AZ,85260,13025878719,,,113118271,MEGAWORLD INC,2026-03-27,253G1,Y
1663712,NEXPOINT REAL ESTATE STRATEGIES FUND,Nexpoint Real Estate Strategies Fund,Nexpoint Real Estate Strategies Fund,NRSAX,NRSAX,,DE,DE,Y,,,other,,smaller_reporting_<75M,300 CRESCENT COURT,SUITE 700,DALLAS,TX,75201,300 CRESCENT COURT,DALLAS,TX,75201,214-276-6300,,,811061590,,2026-06-01,NPORT-P,Y
1976663,"Nexscient, Inc.",Nexscient,"Nexscient, Inc.",NXNT,NXNT,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Emerging growth company,smaller_reporting_<75M,2029 CENTURY PARK EAST,SUITE 400,LOS ANGELES,CA,90067,2029 CENTURY PARK EAST,LOS ANGELES,CA,90067,(310) 494-6620,,,922915192,,2026-05-15,10-Q,Y
1865631,NEXTNAV INC.,Nextnav,Nextnav Inc.,NXNVW,NN|NNAVW|NXNVW,OTC,DE,DE,Y,3812,"Search, Detection, Navigation, Guidance, Aeronautical Sys",operating, / Emerging growth company,smaller_reporting_<75M,11911 FREEDOM DRIVE,STE 200,RESTON,VA,20190,11911 FREEDOM DRIVE,RESTON,VA,20190,800-775-0982,,,000000000,Spartacus Acquisition Shelf Corp.,2026-06-03,4,Y
1011060,Nordicus Partners Corp,Nordicus Partners,Nordicus Partners Corp,NORD,NORD,OTC,DE,DE,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,280 SOUTH BEVERLY DR.,SUITE 505,BEVERLY HILLS,CA,90212,280 SOUTH BEVERLY DR.,BEVERLY HILLS,CA,90212,508-523-3141,,,043186647,EKIMAS Corp|AdvanSource Biomaterials Corp|CARDIOTECH INTERNATIONAL INC,2026-02-13,10-Q,Y
1072379,NORTHWEST BIOTHERAPEUTICS INC,Northwest Biotherapeutics,Northwest Biotherapeutics Inc,NWBO,NWBO,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4800 MONTGOMERY LANE,SUITE 800,BETHESDA,MD,20814,4800 MONTGOMERY LANE,BETHESDA,MD,20814,(240) 497-9024,,,943306718,,2026-05-15,10-Q,Y
1759546,NU RIDE INC.,Nu Ride,Nu Ride Inc.,NRDE,NRDE,OTC,DE,DE,Y,3711,Motor Vehicles & Passenger Car Bodies,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"1700 BROADWAY, 19TH FLOOR",,NEW YORK,NY,10019,"1700 BROADWAY, 19TH FLOOR",NEW YORK,NY,10019,212-202-2200,,,832533239,Lordstown Motors Corp.|DiamondPeak Holdings Corp.,2026-06-04,8-K,Y
1814215,"Nuburu, Inc.",Nuburu,"Nuburu, Inc.",BURUW,BURU|BURUW,OTC,DE,DE,Y,3690,"Miscellaneous Electrical Machinery, Equipment & Supplies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,44 COOK STREET,SUITE 100,DENVER,CO,80206,44 COOK STREET,DENVER,CO,80206,(303) 780-7389,,,000000000,Tailwind Acquisition Corp.,2026-06-01,8-K,Y
1091596,"Nuo Therapeutics, Inc.",Nuo Therapeutics,"Nuo Therapeutics, Inc.",AURX,AURX,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,8285 EL RIO,SUITE 190,HOUSTON,TX,77054,8285 EL RIO,HOUSTON,TX,77054,832-236-9060,,,233011702,"Nuo Therapeutics, Inc|CYTOMEDIX INC|AUTOLOGOUS WOUND THERAPY INC|AUTOLOGOUS WOUND TRERAPY INC",2026-06-05,4,Y
1869974,"Ocean Biomedical, Inc.",Ocean Biomedical,"Ocean Biomedical, Inc.",OCEA,OCEA,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating, / Emerging growth company,smaller_reporting_<75M,515 MADISON AVE SUITE 8078,,NEW YORK,NY,10022,515 MADISON AVE SUITE 8078,NEW YORK,NY,10022,(646) 908-2658,,,871309280,"Ocean Biomedical, Inc./DE|Aesther Healthcare Acquisition Corp.",2025-08-14,NT 10-Q,Y
278165,OMNIQ Corp.,OMNIQ,OMNIQ Corp.,OMQS,OMQS,OTC,DE,DE,Y,7373,Services-Computer Integrated Systems Design,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,696 W CONFLUENCE AVE,,MURRAY,UT,84123,696 W CONFLUENCE AVE,MURRAY,UT,84123,800-242-7272,,,020314487,"Quest Solution, Inc.|AMERIGO ENERGY, INC.|STRATEGIC GAMING INVESTMENTS, INC.|LEFT RIGHT MARKETING TECHNOLOGY INC|LEFT RIGHT MAKETING TECHNOLOGY INC|GLOBAL GAMING & TECHNOLOGY INC",2026-06-02,8-K,Y
908259,"Oncotelic Therapeutics, Inc.",Oncotelic Therapeutics,"Oncotelic Therapeutics, Inc.",OTLC,OTLC,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,29397 AGOURA RD.,#107,AGUORA HILLS,CA,91301,29397 AGOURA RD.,AGUORA HILLS,CA,91301,650-635-7000,,,133679168,MATEON THERAPEUTICS INC|OXIGENE INC,2026-05-14,10-Q,Y
1825452,"Onfolio Holdings, Inc",Onfolio Holdings,"Onfolio Holdings, Inc",ONFOP,ONFO|ONFOP|ONFOW,OTC,DE,DE,Y,7374,Services-Computer Processing & Data Preparation,operating, / Emerging growth company,smaller_reporting_<75M,1007 NORTH ORANGE STREET 4TH FLOOR,,WILMINGTON,DE,19801,1007 NORTH ORANGE STREET 4TH FLOOR,WILMINGTON,DE,19801,(682) 990-6920,,,000000000,"Onfolio Holdings Inc|Onfolio Holdings, Inc.",2026-06-08,PRE 14A,Y
2070577,Option Therapeutics Inc.,Option Therapeutics,Option Therapeutics Inc.,OPTN,OPTN,,DE,DE,Y,2834,Pharmaceutical Preparations,other,,smaller_reporting_<75M,680 W NYE LN STE 201,,CARSON CITY,NV,89703,680 W NYE LN STE 201,CARSON CITY,NV,89703,775-446-0517,,,334884057,,2026-03-16,S-1/A,Y
1868282,Osprey Solana Trust,Osprey Solana Trust,Osprey Solana Trust,OSOL,OSOL,OTC,DE,DE,Y,,,other,,smaller_reporting_<75M,520 WHITE PLAINS ROAD,SUITE 500,TARRYTOWN,NY,10591,520 WHITE PLAINS ROAD,TARRYTOWN,NY,10591,9142144174,,,000000000,,2025-10-22,S-1,Y
1816708,"Owlet, Inc.",Owlet,"Owlet, Inc.",OWLTW,OWLT|OWLTW,OTC,DE,DE,Y,3829,"Measuring & Controlling Devices, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2940 WEST MAPLE LOOP DRIVE,SUITE 203,LEHI,UT,84048,2940 WEST MAPLE LOOP DRIVE,LEHI,UT,84048,8443345330,,,000000000,Sandbridge Acquisition Corp,2026-06-05,8-K,Y
1172069,"P2 Solar, Inc.",P2 Solar,"P2 Solar, Inc.",PTOS,PTOS,OTC,DE,DE,Y,1700,Construction - Special Trade Contractors,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,13718 91 AVENUE,,SURREY,,V3V 7X1,13718 91 AVENUE,SURREY,,V3V 7X1,778.321.0047,,,980234680,NATCO INTERNATIONAL INC.|SPECTRUM INTERNATIONAL INC,2025-08-15,NT 10-Q,Y
1765651,Pacific Sports Exchange Inc.,Pacific Sports Exchange,Pacific Sports Exchange Inc.,PSPX,PSPX,OTC,DE,DE,Y,5940,Retail-Miscellaneous Shopping Goods Stores,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"3055 NW YEON AVE, #236",,PORTLAND,OR,97210,"3055 NW YEON AVE, #236",PORTLAND,OR,97210,971-279-2764,,,831189007,,2026-04-21,10-Q,Y
1017655,PAID INC,Paid,Paid Inc,PAYD,PAYD,OTC,DE,DE,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,200 FRIBERG PARKWAY,SUITE 4004,WESTBOROUGH,MA,01581,200 FRIBERG PARKWAY,WESTBOROUGH,MA,01581,617-861-6050,,,731479833,SALES ONLINE DIRECT INC|SECURITIES RESOLUTION ADVISORS INC|ROSE INTERNATIONAL LTD,2026-05-20,3,Y
1938569,Palomino Laboratories Inc.,Palomino Laboratories,Palomino Laboratories Inc.,PALX,PALX,OTC,DE,DE,Y,3674,Semiconductors & Related Devices,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,130 CASTILIAN DRIVE,SUITE 102,GOLETA,CA,93117,130 CASTILIAN DRIVE,GOLETA,CA,93117,(917) 200-3734,,,881619619,Unite Acquisition 3 Corp.,2026-05-15,10-Q,Y
1657677,"Parabilis Medicines, Inc.",Parabilis Medicines,"Parabilis Medicines, Inc.",PBLS,PBLS,,DE,DE,Y,2834,Pharmaceutical Preparations,other,,smaller_reporting_<75M,30 ACORN PARK DRIVE,6TH FLOOR,CAMBRIDGE,MA,02140,30 ACORN PARK DRIVE,CAMBRIDGE,MA,02140,617-945-9510,,,474505725,"FOG PHARMACEUTICALS, INC.",2026-06-09,S-1/A,Y
1815903,"Petros Pharmaceuticals, Inc.",Petros Pharmaceuticals,"Petros Pharmaceuticals, Inc.",PTPI,PTPI,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating, / Emerging growth company,smaller_reporting_<75M,"1185 AVENUE OF THE AMERICAS, 3RD FLOOR",,NEW YORK,NY,10036,"1185 AVENUE OF THE AMERICAS, 3RD FLOOR",NEW YORK,NY,10036,973-242-0005,,,851410058,,2026-06-08,4,Y
1923622,PGIM Private Credit Fund,PGIM Private Credit Fund,PGIM Private Credit Fund,PGIM,PGIM,,DE,DE,Y,,,operating, / Emerging growth company,smaller_reporting_<75M,655 BROAD ST,,NEWARK,NJ,07102,655 BROAD ST,NEWARK,NJ,07102,(973) 802-5032,,,000000000,PGIM Senior Loan Opportunities Fund,2026-05-28,8-K,Y
1879848,PHOENIX MOTOR INC.,Phoenix Motor,Phoenix Motor Inc.,PEVM,PEVM,OTC,DE,DE,Y,3713,Truck & Bus Bodies,operating, / Emerging growth company,smaller_reporting_<75M,401 SOUTH DOUBLEDAY AVENUE,,ONTARIO,CA,91761,401 SOUTH DOUBLEDAY AVENUE,ONTARIO,CA,91761,909-987-0815,,,000000000,,2026-06-05,8-K,Y
1807765,PMV Consumer Acquisition Corp.,PMV Consumer Acquisition,PMV Consumer Acquisition Corp.,PMVC,PMVC|PMVCW,OTC,DE,DE,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,249 ROYAL PALM WAY SUITE 503,,PALM BEACH,FL,33480,249 ROYAL PALM WAY SUITE 503,PALM BEACH,FL,33480,5616712100,,,845174573,,2026-05-14,10-Q,Y
1784058,Pony Group Inc.,Pony Group,Pony Group Inc.,PNYG,PNYG,OTC,DE,DE,Y,7500,"Services-Automotive Repair, Services & Parking",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ENGINEER EXPERIMENT BUILDING, A202","7 GAOXIN SOUTH AVENUE, NANSHAN DISTRICT","SHENZHEN, GUANGDONG PROVINCE",,,"ENGINEER EXPERIMENT BUILDING, A202","SHENZHEN, GUANGDONG PROVINCE",,,86-0755-86665622,,,833532241,,2026-05-15,10-Q,Y
1435617,"POWERDYNE INTERNATIONAL, INC.",Powerdyne International,"Powerdyne International, Inc.",PWDY,PWDY,OTC,DE,DE,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,45 MAIN STREET,,NORTH READING,MA,01864,45 MAIN STREET,NORTH READING,MA,01864,401-739-3300,,,205572576,Greenmark Acquisition CORP|Greenlight Acquisition CORP,2026-05-20,10-Q,Y
1756404,Principal Real Asset Fund,Principal Real Asset Fund,Principal Real Asset Fund,PDSRX,PDSRX|PDSKX,,DE,DE,Y,,,other,,smaller_reporting_<75M,711 HIGH ST.,,DES MOINES,IA,50392,711 HIGH ST.,DES MOINES,IA,50392,5152359328,,,832104764,Principal Diversified Select Real Asset Fund,2026-05-28,N-CSR,Y
1859807,"Profusa, Inc.",Profusa,"Profusa, Inc.",NVACW,PFSA|NVACW,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating, / Emerging growth company,smaller_reporting_<75M,"207 WEST 25TH ST, 9TH FLOOR",,NEW YORK,NY,10001,"207 WEST 25TH ST, 9TH FLOOR",NEW YORK,NY,10001,212-494-9022,,,863437271,NorthView Acquisition Corp,2026-06-08,424B3,Y
868278,"ProPhase Labs, Inc.",ProPhase Labs,"ProPhase Labs, Inc.",PRPH,PRPH,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"711 STEWART AVE, SUITE 200",GARDEN CITY,NEW YORK,NY,11530,"711 STEWART AVE, SUITE 200",NEW YORK,NY,11530,(215) 345-0919,,,232577138,QUIGLEY CORP,2026-06-01,10-K,Y
1022899,"Protagenic Therapeutics, Inc.\new","Protagenic Therapeutics, Inc.\new","Protagenic Therapeutics, Inc.\new",PTIX,PTIX|PTIXW,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,149 FIFTH AVENUE,SUITE 500,NEW YORK,NY,10010,149 FIFTH AVENUE,NEW YORK,NY,10010,(212) 994-8200,,,061390025,"Atrinsic, Inc.|NEW MOTION, INC.|MPLC, Inc.|MILLBROOK PRESS INC",2026-04-07,8-K,Y
315545,"PROVECTUS BIOPHARMACEUTICALS, INC.",Provectus Biopharmaceuticals,"Provectus Biopharmaceuticals, Inc.",PVCT,PVCT,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,800 S. GAY STREET,SUITE 1610,KNOXVILLE,TN,37929,800 S. GAY STREET,KNOXVILLE,TN,37929,(866) 594-5999,,,900031917,PROVECTUS PHARMACEUTICALS INC|PROVECTUS PHARMACEUTICAL INC|ZAMAGE DIGITAL IMAGING INC|SPM GROUP INC,2026-06-05,4,Y
1006028,"PURE BIOSCIENCE, INC.",Pure Bioscience,"Pure Bioscience, Inc.",PURE,PURE,OTC,DE,DE,Y,2890,Miscellaneous Chemical Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,771 JAMACHA ROAD #512,,EL CAJON,CA,92019,771 JAMACHA ROAD #512,EL CAJON,CA,92019,619-596-8600,,,330530289,PURE BIOSCIENCE|INNOVATIVE MEDICAL SERVICES,2026-05-05,8-K,Y
1844505,"QT IMAGING HOLDINGS, INC.",Qt Imaging Holdings,"Qt Imaging Holdings, Inc.",QTIWW,QTI|QTIWW,OTC,DE,DE,Y,3845,Electromedical & Electrotherapeutic Apparatus,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,3 HAMILTON LANDING,SUITE 160,NOVATO,CA,94949,3 HAMILTON LANDING,NOVATO,CA,94949,415-842-7250,,,861728920,"GigCapital5, Inc.",2026-05-21,8-K,Y
1549631,"Quarta-Rad, Inc.",Quarta-Rad,"Quarta-Rad, Inc.",QURT,QURT,OTC,DE,DE,Y,3823,"Industrial Instruments For Measurement, Display, and Control",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1201 ORANGE ST.,STE. 700,WILMINGTON,DE,19801,1201 ORANGE ST.,WILMINGTON,DE,19801,732-887-8511,,,454232089,,2026-05-15,10-Q,Y
1487091,"Quest Water Global, Inc.",Quest Water Global,"Quest Water Global, Inc.",QWTR,QWTR,OTC,DE,DE,Y,3585,Air-Cond & Warm Air Heatg Equip & Comm & Indl Refrig Equip,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,SUITE 209,828 HARBOURSIDE DRIVE,NORTH VANCOUVER,A1,V7P 3R9,SUITE 209,NORTH VANCOUVER,A1,V7P 3R9,(888) 897-5536,,,271994359,"RPM Dental, Inc.",2026-05-29,8-K,Y
1254699,QVC INC,Qvc,Qvc Inc,QVCCQ,QVCCQ|QVCDQ,OTC,DE,DE,Y,5961,Retail-Catalog & Mail-Order Houses,operating,Non-accelerated filer,smaller_reporting_<75M,,,,,,1200 WILSON DRIVE AT STUDIO PARK,WEST CHESTER,PA,19380,,,,232414041,,2026-06-01,SD,Y
1448038,Redwood Mortgage Investors IX,Redwood Mortgage Investors IX,Redwood Mortgage Investors IX,RWDMU,,OTC,DE,DE,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,155 BOVET ROAD,SUITE 302,SAN MATEO,CA,,155 BOVET ROAD,SAN MATEO,CA,,650-365-5341,,,000000000,,2026-05-20,10-Q,Y
1437283,"REGO PAYMENT ARCHITECTURES, INC.",Rego Payment Architectures,"Rego Payment Architectures, Inc.",RPMT,RPMT,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,325 SENTRY PARKWAY,SUITE 200,BLUE BELL,PA,19422,325 SENTRY PARKWAY,BLUE BELL,PA,19422,267-465-7530,,,352327649,"VIRTUAL PIGGY, INC.|Moggle, Inc.",2026-05-27,8-K,Y
1860484,Relativity Acquisition Corp,Relativity Acquisition,Relativity Acquisition Corp,ACQC,ACQC,OTC,DE,DE,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"3753 HOWARD HUGHES PARKWAY, SUITE 200",,LAS VEGAS,NV,89619,"3753 HOWARD HUGHES PARKWAY, SUITE 200",LAS VEGAS,NV,89619,3107019520,,,863244927,,2026-06-02,10-Q,Y
83350,RESERVE PETROLEUM CO,Reserve Petroleum,Reserve Petroleum Co,RSRV,RSRV,OTC,DE,DE,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,6801 N BROADWAY STE 300,,OKLAHOMA CITY,OK,73116-9092,6801 NORTH BROADWAY,OKLAHOMA,OK,73116-9092,4058487551,,,730237060,,2026-05-26,ARS,Y
2078721,"ReserveOne Holdings, Inc.",ReserveOne Holdings,"ReserveOne Holdings, Inc.",RONE,RONE,,DE,DE,Y,6199,Finance Services,other,,smaller_reporting_<75M,200 PARK AVE.,58TH FLOOR,NEW YORK,NY,10166,200 PARK AVE.,NEW YORK,NY,10166,212-204-2777,,,392968926,,2026-05-13,EFFECT,Y
1836295,RetinalGenix Technologies Inc.,RetinalGenix Technologies,RetinalGenix Technologies Inc.,RTGN,RTGN,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1450 NORTH MCDOWELL BOULEVARD,SUITE 150,PETALUMA,CA,94954,1450 NORTH MCDOWELL BOULEVARD,PETALUMA,CA,94954,415-578-9583,,,823936890,,2026-05-20,10-Q,Y
1839140,Revium Rx.,Revium Rx.,Revium Rx.,RVRC,RVRC,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating, / Emerging growth company,smaller_reporting_<75M,"C/O ABOUDI LEGAL GROUP PLLC, 745 5TH AVE",SUITE 500,NEW YORK,NY,10151,"C/O ABOUDI LEGAL GROUP PLLC, 745 5TH AVE",NEW YORK,NY,10151,6467684285,,,844516676,,2026-06-01,8-K,Y
1742927,"REVIVA PHARMACEUTICALS HOLDINGS, INC.",Reviva Pharmaceuticals Holdings,"Reviva Pharmaceuticals Holdings, Inc.",RVPH,RVPH,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,10080 N WOLFE ROAD,SUITE SW3-200,CUPERTINO,CA,95014,10080 N WOLFE ROAD,CUPERTINO,CA,95014,4085018881,,,000000000,Tenzing Acquisition Corp.,2026-05-15,SCHEDULE 13G/A,Y
2087716,"ROKIT America, Inc.",ROKIT America,"ROKIT America, Inc.",RKAM,RKAM,,DE,DE,Y,2834,Pharmaceutical Preparations,other,,smaller_reporting_<75M,3435 WILSHIRE BLVD,SUITE 2925,LOS ANGELES,CA,90010,3435 WILSHIRE BLVD,LOS ANGELES,CA,90010,6788610046,,,384124442,,2026-06-04,S-1/A,Y
1694617,"Royale Energy, Inc.",Royale Energy,"Royale Energy, Inc.",ROYL,ROYL,OTC,DE,DE,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1530 HILTON HEAD RD,,EL CAJON,CA,92019,1530 HILTON HEAD RD,EL CAJON,CA,92019,(619) 881-2800,,,814596368,"Royale Energy Holdings, Inc.",2026-04-10,8-K,Y
2084032,"Salspera, Inc.",Salspera,"Salspera, Inc.",TKVA,TKVA,,DE,DE,Y,2834,Pharmaceutical Preparations,other,,smaller_reporting_<75M,45 PROSPECT STREET,,CAMBRIDGE,MA,02139,45 PROSPECT STREET,CAMBRIDGE,MA,02139,652-402-5587,,,874698872,,2026-03-20,S-1/A,Y
1001233,"SANGAMO THERAPEUTICS, INC",Sangamo Therapeutics,"Sangamo Therapeutics, Inc",SGMO,SGMO,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,501 CANAL BLVD.,,RICHMOND,CA,94084,501 CANAL BLVD.,RICHMOND,CA,94084,5109706000,,,680359556,SANGAMO BIOSCIENCES INC,2026-05-27,4,Y
1661600,SATIVUS TECH CORP.,Sativus Tech,Sativus Tech Corp.,SATT,SATT,OTC,DE,DE,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,#3 BETHESDA METRO CENTER #700,,BETHESDA,MD,06880,#3 BETHESDA METRO CENTER #700,BETHESDA,MD,06880,800-608-6432,,,472847446,SEEDO CORP.|GRCR Partners Inc,2026-05-14,10-Q,Y
1091326,"SB Technology Holdings, Inc.",SB Technology Holdings,"SB Technology Holdings, Inc.",VGLS,VGLSD,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Smaller reporting company,smaller_reporting_<75M,PO BOX 1020,,SOUTH PASADENA,CA,91031,PO BOX 1020,SOUTH PASADENA,CA,91031,805-879-9000,,,330814123,"VG Life Sciences Inc.|VG Life Sciences, Inc.|VIRAL GENETICS INC /DE/|5 STARLIVING ONLINE INC",2026-05-04,RW,Y
1994624,ScanTech AI Systems Inc.,ScanTech AI Systems,ScanTech AI Systems Inc.,STAI,STAI,OTC,DE,DE,Y,3825,Instruments For Meas & Testing of Electricity & Elec Signals,operating, / Emerging growth company,smaller_reporting_<75M,"1177 AVENUE OF THE AMERICA, SUITE 5100",,NEW YORK,NY,10036,"1177 AVENUE OF THE AMERICA, SUITE 5100",NEW YORK,NY,10036,8886221218,,,933502562,,2026-06-08,25-NSE,Y
87802,SCIENTIFIC INDUSTRIES INC,Scientific Industries,Scientific Industries Inc,SCND,SCND,OTC,DE,DE,Y,3826,Laboratory Analytical Instruments,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,70 ORVILLE DR,AIRPORT INTERNATIONAL PLZ,BOHEMIA,NY,11716,70 ORVILLE DR,BOHEMIA,NY,11716,6315674700,,,042217279,,2026-05-15,10-Q,Y
1674227,SCWorx Corp.,SCWorx,SCWorx Corp.,WORX,WORX,OTC,DE,DE,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"35 VILLAGE RD, SUITE 100",,MIDDLETON,MA,01949,"35 VILLAGE RD, SUITE 100",MIDDLETON,MA,01949,2127397825,,,475412331,"Alliance MMA, Inc.",2026-06-01,PRE 14A,Y
2094496,"Securitize Holdings, Inc.",Securitize Holdings,"Securitize Holdings, Inc.",SECZ,SECZ,,DE,DE,Y,6199,Finance Services,other,,smaller_reporting_<75M,"78 SW 7TH STREET, SUITE 500",,MIAMI,FL,33130,"78 SW 7TH STREET, SUITE 500",MIAMI,FL,33130,(646) 918-5012,,,000000000,,2026-06-05,EFFECT,Y
1779977,"SeeQC, Inc.",SeeQC,"SeeQC, Inc.",SEQC,,,DE,DE,Y,7374,Services-Computer Processing & Data Preparation,other,,smaller_reporting_<75M,150 CLEARBOOK ROAD,SUITE 170,ELMSFORD,NY,10523,150 CLEARBOOK ROAD,ELMSFORD,NY,10523,(914) 592-1190,,,825117037,,2026-05-26,S-4,Y
1913577,"Semnur Pharmaceuticals, Inc.",Semnur Pharmaceuticals,"Semnur Pharmaceuticals, Inc.",SMNR,SMNR|SMNRW,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,960 SAN ANTONIO ROAD,,PALO ALTO,CA,94303,960 SAN ANTONIO ROAD,PALO ALTO,CA,94303,(650) 516-4310,,,981659463,Denali Capital Acquisition Corp.,2026-05-18,EFFECT,Y
2068385,SharonAI Holdings Inc.,SharonAI Holdings,SharonAI Holdings Inc.,SHAZW,SHAZ|SHAZW,OTC,DE,DE,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"745 FIFTH AVENUE, SUITE 500",,NEW YORK,NY,10151,"745 FIFTH AVENUE, SUITE 500",NEW YORK,NY,10151,949-720-7133,,,000000000,"SharonAI Holdings, Inc.|Roth CH Holdings, Inc.",2026-06-05,S-1,Y
1022505,"SideChannel, Inc.",SideChannel,"SideChannel, Inc.",SDCH,SDCH,OTC,DE,DE,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,146 MAIN STREET,SUITE 405,WORCESTER,MA,01608,146 MAIN STREET,WORCESTER,MA,01608,512-649-7700,,,860837077,CIPHERLOC Corp|NATIONAL SCIENTIFIC CORP/AZ,2026-05-12,10-Q,Y
1642159,"Sigyn Therapeutics, Inc.",Sigyn Therapeutics,"Sigyn Therapeutics, Inc.",SIGY,SIGY,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9190 W OLYMPIC BLVD # 263,,BEVERLY HILLS,CA,90212,9190 W OLYMPIC BLVD # 263,BEVERLY HILLS,CA,90212,619-368-2000,,,472573116,Reign Resources Corp|Reign Sapphire Corp,2026-03-31,NT 10-K,Y
91668,SOLITRON DEVICES INC,Solitron Devices,Solitron Devices Inc,SODI,SODI,OTC,DE,DE,Y,3674,Semiconductors & Related Devices,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,901 SANSBURYS WAY,,WEST PALM BEACH,FL,33411,901 SANSBURYS WAY,WEST PALM BEACH,FL,33411,561-848-4311,,,221684144,,2026-06-08,4,Y
1870600,"Solo Brands, Inc.",Solo Brands,"Solo Brands, Inc.",SBDS,SBDS,OTC,DE,DE,Y,3949,"Sporting & Athletic Goods, NEC",operating, / Emerging growth company,smaller_reporting_<75M,1001 MUSTANG DR,,GRAPEVINE,TX,76051,1001 MUSTANG DR,GRAPEVINE,TX,76051,(817) 900-2664,,,871360865,,2026-05-27,8-K,Y
1407973,"Sonendo, Inc.",Sonendo,"Sonendo, Inc.",SONX,SONX,OTC,DE,DE,Y,3843,Dental Equipment & Supplies,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,26061 MERIT CIRCLE,SUITE 101,Laguna Hills,CA,92653,26061 MERIT CIRCLE,Laguna Hills,CA,92653,(949) 766-3636,,,205041718,Dentatek CORP,2026-02-11,SCHEDULE 13G/A,Y
1801602,"SpringBig Holdings, Inc.",SpringBig Holdings,"SpringBig Holdings, Inc.",SBIG,SBIG|SBIGW,OTC,DE,DE,Y,7371,Services-Computer Programming Services,operating, / Emerging growth company,smaller_reporting_<75M,621 NW 53RD ST,SUITE 260,BOCA RATON,FL,33487,621 NW 53RD ST,BOCA RATON,FL,33487,(800) 772-9172,,,882789488,Tuatara Capital Acquisition Corp,2026-06-03,8-K,Y
2080215,StableCoinX Inc.,StableCoinX,StableCoinX Inc.,USDE,USDE,,DE,DE,Y,6199,Finance Services,other,,smaller_reporting_<75M,"4001 KENNETT PIKE, SUITE 302",,WILMINGTON,DE,19807,"4001 KENNETT PIKE, SUITE 302",WILMINGTON,DE,19807,(302) 803-6849,,,393052555,,2026-05-29,424B3,Y
2049977,"Starton Holdings, Inc.",Starton Holdings,"Starton Holdings, Inc.",STA,STA,,DE,DE,Y,2834,Pharmaceutical Preparations,other,,smaller_reporting_<75M,"215 COLLEGE ROAD, SUITE 300",,PARAMUS,NJ,07652,"215 COLLEGE ROAD, SUITE 300",PARAMUS,NJ,07652,800-449-5405,,,332448745,,2026-06-09,S-1/A,Y
1658645,Stone Ridge Trust V,Stone Ridge Trust V,Stone Ridge Trust V,LENDX,LENDX,,DE,DE,Y,,,other,,smaller_reporting_<75M,ONE VANDERBILT AVENUE,65TH FL.,NEW YORK,NY,10017,ONE VANDERBILT AVENUE,NEW YORK,NY,10017,212-257-4750,,,475536331,,2026-05-28,24F-2NT,Y
1051514,"STRATA Skin Sciences, Inc.",STRATA Skin Sciences,"STRATA Skin Sciences, Inc.",SSKN,SSKN,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5 WALNUT GROVE DRIVE,SUITE 140,HORSHAM,PA,19044,5 WALNUT GROVE DRIVE,HORSHAM,PA,19044,215-619-3200,,,133986004,"MELA SCIENCES, INC. /NY|ELECTRO OPTICAL SCIENCES INC /NY",2026-03-26,10-K,Y
1652539,SusGlobal Energy Corp.,SusGlobal Energy,SusGlobal Energy Corp.,SNRG,SNRG,OTC,DE,DE,Y,4953,Refuse Systems,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,200 DAVENPORT ROAD,,TORONTO,A6,M5R 1J2,200 DAVENPORT ROAD,TORONTO,A6,M5R 1J2,4162238500,,,000000000,,2026-03-31,NT 10-K,Y
1527599,"SYNLOGIC, INC.",Synlogic,"Synlogic, Inc.",SYBX,SYBX,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,PO BOX 30,,WINCHESTER,MA,01890,PO BOX 30,WINCHESTER,MA,01890,617-659-2802,,,261824804,"Mirna Therapeutics, Inc.",2026-05-18,25-NSE,Y
1922335,Syra Health Corp,Syra Health,Syra Health Corp,SYRA,SYRA,OTC,DE,DE,Y,7361,Services-Employment Agencies,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1119 KEYSTONE WAY N.,#201,CARMEL,IN,46032,1119 KEYSTONE WAY N.,CARMEL,IN,46032,(317) 922-0922,,,000000000,,2026-06-01,DEFA14A,Y
1997652,Tamboran Resources Corp,Tamboran Resources,Tamboran Resources Corp,TBNRL,TBN|TBNRL,OTC,DE,DE,Y,1311,Crude Petroleum & Natural Gas,operating, / Emerging growth company,smaller_reporting_<75M,"LEVEL 39, SUITE 1, TOWER ONE",100 BARANGAROO AVENUE,BARANGAROO,C3,2000,"LEVEL 39, SUITE 1, TOWER ONE",BARANGAROO,C3,2000,61 2 8330 6626,,,000000000,,2026-06-08,S-8,Y
1119190,"TAP REAL ESTATE TECHNOLOGIES, INC.",Tap Real Estate Technologies,"Tap Real Estate Technologies, Inc.",RWAX,RWAX,OTC,DE,DE,Y,5000,Wholesale-Durable Goods,operating, / Emerging growth company,smaller_reporting_<75M,26 CROSS STREET,,NEW CANAAN,CT,06840,26 CROSS STREET,NEW CANAAN,CT,06840,203-930-7427,,,271296318,"HUMBL, INC.|Tesoro Enterprises, Inc.|Tesoro Distributors, Inc.|IWT TESORO CORP|PONCA ACQUISITION",2026-05-29,8-K,Y
1586554,Target Group Inc.,Target Group,Target Group Inc.,CBDY,CBDY,OTC,DE,DE,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,20 HEMPSTEAD DRIVE,,HAMILTON,,L8W 2E7,"55 ADMINISTRATION ROAD, UNIT 13",VAUGHAN,,L4K-4G9,905-541-3833,,,463610035,Chess Supersite Corp|River Run Acquisition Corp,2026-05-15,10-Q,Y
1445942,Texas Mineral Resources Corp.,Texas Mineral Resources,Texas Mineral Resources Corp.,TMRC,TMRC,OTC,DE,DE,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,539 EL PASO STREET,,SIERRA BLANCA,TX,79851,539 EL PASO STREET,SIERRA BLANCA,TX,79851,(915) 369-2133,,,870294969,Texas Rare Earth Resources Corp.|Standard Silver Corp.,2026-04-24,4,Y
1066684,THEGLOBE COM INC,Theglobe Com,Theglobe Com Inc,TGLO,TGLO,OTC,DE,DE,Y,7310,Services-Advertising,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,110 EAST BROWARD BOULEVARD,SUITE 1400,FORT LAUDERDALE,FL,33301,PO BOX 029006,FORT LAUDERDALE,FL,33302,954 769 5900,,,141782422,,2026-05-22,10-Q,Y
1912582,"Thunder Power Holdings, Inc.",Thunder Power Holdings,"Thunder Power Holdings, Inc.",AIEV,AIEV,OTC,DE,DE,Y,3711,Motor Vehicles & Passenger Car Bodies,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"UNIT 5, 21/F., WESTLEY SQUARE","48 HOI YUEN ROAD, KWUN TONG",KOWLOON,,,"UNIT 5, 21/F., WESTLEY SQUARE",KOWLOON,,,909-214-2482,,,874620515,Feutune Light Acquisition Corp,2026-06-02,DEF 14C,Y
2107523,Titan Holdings Corp.,Titan Holdings,Titan Holdings Corp.,KMCM,KMCM,,DE,DE,Y,1000,Metal Mining,other,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"701 BRICKELL AVE., SUITE 1550",,MIAMI,FL,33131,"701 BRICKELL AVE., SUITE 1550",MIAMI,FL,33131,305-728-5376,,,000000000,,2026-04-21,425,Y
730349,TOFUTTI BRANDS INC,Tofutti Brands,Tofutti Brands Inc,TOFB,TOFB,OTC,DE,DE,Y,2024,Ice Cream & Frozen Desserts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,105 NEWFIELD AVENUE,SUITE H,EDISON,NJ,08837,105 NEWFIELD AVE,EDISON,NJ,08837,9082722400,,,133094658,,2026-05-18,10-Q,Y
846377,"Totaligent, Inc.",Totaligent,"Totaligent, Inc.",TGNT,TGNT,OTC,DE,DE,Y,6153,Short-Term Business Credit Institutions,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3651 FAU BLVD SUITE 400,,BOCA RATON,FL,,3651 FAU BLVD SUITE 400,BOCA RATON,FL,,561-988-2621,,,800142655,"ALLTEMP, INC.|SOURCE FINANCIAL, INC.|WIKI GROUP, INC.|WIKILOAN INC.|SWAP-A-DEBT, INC.|5 FIFTY 5.COM, INC.|WINDSOR CAPITAL CORP",2026-05-15,10-Q,Y
1045942,"Track Group, Inc.",Track Group,"Track Group, Inc.",TRCK,TRCK,OTC,DE,DE,Y,3669,"Communications Equipment, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,200 E. 5TH AVENUE SUITE 100,,NAPERVILLE,IL,60563,200 E. 5TH AVENUE SUITE 100,NAPERVILLE,IL,60563,877-260-2010,,,870543981,"SecureAlert, Inc.|REMOTE MDX INC|VOLU SOL INC",2026-05-14,D,Y
1725262,"Tri-County Financial Group, Inc.",Tri-County Financial Group,"Tri-County Financial Group, Inc.",TYFG,TYFG,OTC,DE,DE,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Emerging growth company,smaller_reporting_<75M,706 WASHINGTON STREET,,MENDOTA,IL,61342,706 WASHINGTON STREET,MENDOTA,IL,61342,815-538-2265,,,363412522,,2026-05-13,10-Q,Y
1550453,TriLinc Global Impact Fund LLC,TriLinc Global Impact Fund,TriLinc Global Impact Fund LLC,TRLC,TRLC,OTC,DE,DE,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1230 Rosecrans Ave,SUITE 602,Manhattan Beach,CA,90266,1230 Rosecrans Ave,Manhattan Beach,CA,90266,310-997-0580,,,364732802,,2026-06-01,8-K,Y
2011954,Twin Hospitality Group Inc.,Twin Hospitality Group,Twin Hospitality Group Inc.,TWNPQ,TWNPQ,OTC,DE,DE,Y,5812,Retail-Eating Places,operating, / Emerging growth company,smaller_reporting_<75M,"5151 BELT LINE ROAD, SUITE 1200",,DALLAS,TX,75254,"5151 BELT LINE ROAD, SUITE 1200",DALLAS,TX,75254,972-941-3150,,,991232362,,2026-06-04,8-K,Y
1723517,UC Asset LP,UC Asset,UC Asset LP,UCASU,UCASU,OTC,DE,DE,Y,6799,"Investors, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2299 PERIMETER PARK DRIVE,SUITE 120,ATLANTA,GA,30341,2299 PERIMETER PARK DRIVE,ATLANTA,GA,30341,(470)475-1035,,,300912782,,2026-06-04,1-A/A,Y
1114936,UMeWorld Inc.,UMeWorld,UMeWorld Inc.,UMEW,UMEW,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"UNIT B 12/F, HANG SENG","CAUSEWAY BAY BUILDING, 28 YEE WOO STREET",CAUSEWAY BAY,,00000,"UNIT B 12/F, HANG SENG",CAUSEWAY BAY,,00000,(852) 8191 5550,,,980177440,UMeWorld Ltd|ALPHARX INC,2026-05-15,3,Y
2134552,US Elemental Inc.,US Elemental,US Elemental Inc.,ULIT,,,DE,DE,Y,1400,Mining & Quarrying of Nonmetallic Minerals (No Fuels),other,,smaller_reporting_<75M,"241 RIDGE STREET, SUITE 210",,RENO,NV,89501,"241 RIDGE STREET, SUITE 210",RENO,NV,89501,(212) 983-1602,,,000000000,,2026-06-04,425,Y
1543623,US NUCLEAR CORP.,Us Nuclear,Us Nuclear Corp.,UCLE,UCLE,OTC,DE,DE,Y,3829,"Measuring & Controlling Devices, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,7051 ETON AVENUE,,CANOGA PARK,CA,91303,7051 ETON AVENUE,CANOGA PARK,CA,91303,818-883-7043,,,454535739,"APEX 3, INC.",2026-05-14,NT 10-Q,Y
1736510,Variant Alternative Income Fund,Variant Alternative Income Fund,Variant Alternative Income Fund,NICHX,NICHX,,DE,DE,Y,,,other,,smaller_reporting_<75M,"C/O UMB FUND SERVICES, INC.",,MILWAUKEE,WI,53212,"C/O UMB FUND SERVICES, INC.",MILWAUKEE,WI,53212,4142992200,,,000000000,,2026-05-22,N-23C3A,Y
2109801,"VARSAL TECH, INC.",Varsal Tech,"Varsal Tech, Inc.",VAT,,,DE,DE,Y,2800,Chemicals & Allied Products,other,,smaller_reporting_<75M,363 IVYLAND ROAD,,WARMINSTER,PA,18974,363 IVYLAND ROAD,WARMINSTER,PA,18974,2159575880,,,413424196,,2026-05-26,S-1,Y
839087,VASO Corp,VASO,VASO Corp,VASO,VASO,OTC,DE,DE,Y,3845,Electromedical & Electrotherapeutic Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"137 COMMERCIAL STREET, STE. 200",,PLAINVIEW,NY,11803,"137 COMMERCIAL STREET, STE. 200",PLAINVIEW,NY,11803,516-997-4600,,,112871434,"VASOMEDICAL, INC|VASOMEDICAL INC",2026-05-15,10-Q,Y
1825079,"Velo3D, Inc.",Velo3D,"Velo3D, Inc.",VLDXW,VELO|VLDXW,OTC,DE,DE,Y,3559,"Special Industry Machinery, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2710 LAKEVIEW CT,,FREMONT,CA,94538,2710 LAKEVIEW CT,FREMONT,CA,94538,(408) 610-3915,,,000000000,JAWS Spitfire Acquisition Corp,2026-06-01,SCHEDULE 13G/A,Y
2078149,"Veri MedTech Holdings, Inc.",Veri MedTech Holdings,"Veri MedTech Holdings, Inc.",VRHI,VRHI,OTC,DE,DE,Y,7374,Services-Computer Processing & Data Preparation,other,,smaller_reporting_<75M,"1600 INTERNATIONAL DRIVE, SUITE 600",,MCLEAN,VA,22102,"1600 INTERNATIONAL DRIVE, SUITE 600",MCLEAN,VA,22102,404-468-2883,,,000000000,,2026-06-02,S-1/A,Y
1984345,"Vestible Assets, LLC",Vestible Assets,"Vestible Assets, LLC",VTBAS,,OTC,DE,DE,Y,7389,"Services-Business Services, NEC",other,,smaller_reporting_<75M,5440 WEST 110TH STREET,SUITE 300,OVERLAND PARK,KS,66211,5440 WEST 110TH STREET,OVERLAND PARK,KS,66211,417-438-2561,,,932084697,,2026-05-22,1-K,Y
1812173,Vicarious Surgical Inc.,Vicarious Surgical,Vicarious Surgical Inc.,RBOT,RBOT|RBOTW,OTC,DE,DE,Y,3842,"Orthopedic, Prosthetic & Surgical Appliances & Supplies",operating, / Emerging growth company,smaller_reporting_<75M,78 FOURTH AVENUE,,WALTHAM,MA,02451,78 FOURTH AVENUE,WALTHAM,MA,02451,(617) 868-1700,,,000000000,D8 Holdings Corp.,2026-04-30,10-Q,Y
727510,"Viskase Holdings, Inc.",Viskase Holdings,"Viskase Holdings, Inc.",ENZN,ENZN|ENZND,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"333 EAST BUTTERFIELD ROAD, SUITE 400",,LOMBARD,IL,60148,"333 EAST BUTTERFIELD ROAD, SUITE 400",LOMBARD,IL,60148,(630) 874-0700,,,222372868,"ENZON PHARMACEUTICALS, INC.|ENZON PHARMACEUTICALS INC|ENZON PHARMACEUTICALS INC|ENZON PHARMACEUTICAL INC|ENZON INC",2026-05-05,8-A12G,Y
1565228,"Vislink Technologies, Inc.",Vislink Technologies,"Vislink Technologies, Inc.",VISL,VISL,OTC,DE,DE,Y,3669,"Communications Equipment, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,350 CLARK DRIVE,SUITE 125,MT. OLIVE,NJ,07828,350 CLARK DRIVE,MT. OLIVE,NJ,07828,941 953 9035,,,205856795,"xG TECHNOLOGY, INC.",2025-06-20,SCHEDULE 13D/A,Y
1449349,VIVOS INC,Vivos,Vivos Inc,RDGL,RDGL,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,719 JADWIN AVENUE,,RICHLAND,WA,99352,719 JADWIN AVENUE,RICHLAND,WA,99352,509-736-4000,,,800138937,ADVANCED MEDICAL ISOTOPE Corp,2026-05-14,10-Q,Y
1853070,"Volato Group, Inc.",Volato Group,"Volato Group, Inc.",SOARW,SOAR|SOARW,OTC,DE,DE,Y,4522,"Air Transportation, Nonscheduled",operating, / Emerging growth company,smaller_reporting_<75M,1954 AIRPORT ROAD,SUITE 124,CHAMBLEE,GA,30341,1954 AIRPORT ROAD,CHAMBLEE,GA,30341,844-399-8998,,,862707040,PROOF Acquisition Corp I,2026-06-08,8-K,Y
1580864,"Vroom, Inc.",Vroom,"Vroom, Inc.",VRMWW,VRM|VRMWW,OTC,DE,DE,Y,5500,Retail-Auto Dealers & Gasoline Stations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"3600 W SAM HOUSTON PKWY S, FLOOR 4",,HOUSTON,TX,77042,"3600 W SAM HOUSTON PKWY S, FLOOR 4",HOUSTON,TX,77042,646-979-4746,,,901112566,"AutoAmerica, Inc.",2026-06-05,4,Y
1424768,VYCOR MEDICAL INC,Vycor Medical,Vycor Medical Inc,VYCO,VYCO,OTC,DE,DE,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,951 BROKEN SOUND PARKWAY,SUITE 320,"BOCA RATON,",FL,33487,951 BROKEN SOUND PARKWAY,"BOCA RATON,",FL,33487,562.558.2000,,,203369218,,2026-05-15,8-K,Y
1745078,"Vynleads, Inc.",Vynleads,"Vynleads, Inc.",VYND,VYND,OTC,DE,DE,Y,7200,Services-Personal Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,596 HERRONS FERRY ROAD,SUITE 301,ROCK HILL,SC,29730,596 HERRONS FERRY ROAD,ROCK HILL,SC,29730,845-745-0981,,,474584272,,2026-05-15,NT 10-Q,Y
1921603,WhiteHawk Income Corp,WhiteHawk Income,WhiteHawk Income Corp,WHK,WHK,,DE,DE,Y,1311,Crude Petroleum & Natural Gas,other,,smaller_reporting_<75M,2400 MARKET STREET,OFFSITE SUITE 230,PHILADELPHIA,PA,19103,2400 MARKET STREET,PHILADELPHIA,PA,19103,917 691-9676,,,880862160,,2026-06-09,8-A12B,Y
946486,WINDTREE THERAPEUTICS INC /DE/,Windtree Therapeutics,Windtree Therapeutics Inc,WINT,WINT,OTC,DE,DE,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2600 KELLY ROAD,SUITE 100,WARRINGTON,PA,18976,2600 KELLY ROAD,WARRINGTON,PA,18976,2154889300,,,943171943,DISCOVERY LABORATORIES INC /DE/|ANSAN PHARMACEUTICALS INC|ANSAN INC,2026-04-01,NT 10-K,Y
1854463,WinVest Acquisition Corp.,WinVest Acquisition,WinVest Acquisition Corp.,WINV,WINV|WINVR|WINVU|WINVW,OTC,DE,DE,Y,6770,Blank Checks,operating, / Emerging growth company,smaller_reporting_<75M,125 CAMBRIDGEPARK DRIVE,SUITE 301,CAMBRIDGE,MA,02140,125 CAMBRIDGEPARK DRIVE,CAMBRIDGE,MA,02140,(617) 658-3094,,,862451181,,2026-06-01,425,Y
1785494,Woodbridge Liquidation Trust,Woodbridge Liquidation Trust,Woodbridge Liquidation Trust,WBQNL,WBQNL,OTC,DE,DE,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"C/O AKERMAN LLP, LAS OLAS CENTER II","350 EAST LAS OLAS BOULEVARD, SUITE 1600",FORT LAUDERDALE,FL,33301,"C/O AKERMAN LLP, LAS OLAS CENTER II",FORT LAUDERDALE,FL,33301,954 4632700,,,367730868,,2026-05-14,10-Q,Y
943535,"WORLD HEALTH ENERGY HOLDINGS, INC.",World Health Energy Holdings,"World Health Energy Holdings, Inc.",WHEN,WHEN,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1825 NW CORPORATE BLVD,SUITE 110,BOCA RATON,FL,33431,1825 NW CORPORATE BLVD,BOCA RATON,FL,33431,5618700440,,,592762023,ADVANCED PLANT PHARMACEUTICALS INC,2026-04-15,8-K,Y
1813744,"World Scan Project, Inc.",World Scan Project,"World Scan Project, Inc.",WDSP,WDSP,OTC,DE,DE,Y,5045,Wholesale-Computers & Peripheral Equipment & Software,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"2-18-23, NISHIWASEDA",,"SHINJUKU-KU, TOKYO",M0,162-0051,"2-18-23, NISHIWASEDA","SHINJUKU-KU, TOKYO",M0,162-0051,81-3-6670-1692,,,352677532,,2025-10-27,8-K,Y
1279715,"Wright Investors Service Holdings, Inc.",Wright Investors Service Holdings,"Wright Investors Service Holdings, Inc.",IWSH,IWSH,OTC,DE,DE,Y,6282,Investment Advice,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,118 NORTH BEDFORD ROAD,SUITE 100,MT KISCO,NY,10549,118 NORTH BEDFORD ROAD,MT KISCO,NY,10549,(914) 242-5700,,,134005439,NATIONAL PATENT DEVELOPMENT CORP,2026-05-15,10-Q,Y
2111860,"Xtend AI Robotics, Inc.",Xtend AI Robotics,"Xtend AI Robotics, Inc.",XTND,XTND,,DE,DE,Y,3760,Guided Missiles & Space Vehicles & Parts,other,,smaller_reporting_<75M,5247 CROSSROADS PARK DRIVE,,TAMPA,FL,33610,5247 CROSSROADS PARK DRIVE,TAMPA,FL,33610,000-000-0000,,,000000000,,2026-06-02,425,Y
2040753,"Xtreme One Entertainment, Inc.",Xtreme One Entertainment,"Xtreme One Entertainment, Inc.",XONI,XONI,OTC,DE,DE,Y,7900,Services-Amusement & Recreation Services,other,,smaller_reporting_<75M,47 COMMERCE SW,,GRAND RAPIDS,MI,49503,47 COMMERCE SW,GRAND RAPIDS,MI,49503,305-701-9100,,,208535566,,2026-05-12,SEC STAFF ACTION,Y
1311673,"Yale Transaction Finders, Inc.",Yale Transaction Finders,"Yale Transaction Finders, Inc.",YTFD,YTFD,OTC,DE,DE,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2308/C KETTNER BLVD.,,SAN DIEGO,CA,92101,2308/C KETTNER BLVD.,SAN DIEGO,CA,92101,619-232-1001,,,760736467,"Yacht Finders, Inc.",2026-05-18,8-K,Y
1843714,"Zapata Quantum, Inc.",Zapata Quantum,"Zapata Quantum, Inc.",ZPTA,ZPTA|ZPTAW,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,6 LIBERTY SQUARE,#2488,BOSTON,MA,02109,6 LIBERTY SQUARE,BOSTON,MA,02109,857-367-9002,,,981578373,Zapata Computing Holdings Inc.|Andretti Acquisition Corp.,2026-06-05,S-1,Y
1594204,ZHEN DING RESOURCES INC.,Zhen Ding Resources,Zhen Ding Resources Inc.,RBTK,RBTK,OTC,DE,DE,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,99 AVE DE LA MOSELLE,,SAINT LAMBERT,A8,J45 1W9,99 AVE DE LA MOSELLE,SAINT LAMBERT,A8,J45 1W9,(438) 376-5317,,,113350926,,2026-05-14,10-Q,Y
1131312,ZION OIL & GAS INC,Zion Oil & Gas,Zion Oil & Gas Inc,ZNOG,ZNOG|ZNOGW,OTC,DE,DE,Y,1382,Oil & Gas Field Exploration Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,12655 NORTH CENTRAL EXPRESSWAY,SUITE 1000,DALLAS,TX,75243,12655 NORTH CENTRAL EXPRESSWAY,DALLAS,TX,75243,2142214610,,,200065053,,2026-06-03,8-K,Y
1854275,"Zoomcar Holdings, Inc.",Zoomcar Holdings,"Zoomcar Holdings, Inc.",ZCAR,ZCAR|ZCARW,OTC,DE,DE,Y,7510,Services-Auto Rental & Leasing (No Drivers),operating, / Emerging growth company,smaller_reporting_<75M,"ANJANEYA TECHNO PARK, NO.147, 1ST FLOOR",KODIHALLI,BANGALORE,K7,560008,"ANJANEYA TECHNO PARK, NO.147, 1ST FLOOR",BANGALORE,K7,560008,91 99454-8382,,,000000000,Innovative International Acquisition Corp.,2026-06-05,8-K,Y
1637147,"zSpace, Inc.",zSpace,"zSpace, Inc.",ZSPC,ZSPC,OTC,DE,DE,Y,7372,Services-Prepackaged Software,operating, / Emerging growth company,smaller_reporting_<75M,2050 GATEWAY PLACE,SUITE 100-302,SAN JOSE,CA,95110,2050 GATEWAY PLACE,SAN JOSE,CA,95110,(408)498-4050,,,352284050,,2026-06-01,8-K,Y
1859007,"ZyVersa Therapeutics, Inc.",ZyVersa Therapeutics,"ZyVersa Therapeutics, Inc.",ZVSA,ZVSA,OTC,DE,DE,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,2436 NORTH FEDERAL HIGHWAY,SUITE 466,LIGHTHOUSE POINT,FL,33064,2436 NORTH FEDERAL HIGHWAY,LIGHTHOUSE POINT,FL,33064,908-370-5102,,,862685744,Larkspur Health Acquisition Corp.,2026-05-13,10-Q,Y
1877461,1606 CORP.,1606,1606 Corp.,CBDW,CBDW,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating, / Emerging growth company,smaller_reporting_<75M,2425 E. CAMELBACK RD,SUITE 150,PHOENIX,AZ,85016,2425 E. CAMELBACK RD,PHOENIX,AZ,85016,602-481-1544,,,861497346,,2026-06-03,8-K,Y
1453122,"3DX Industries, Inc.",3DX Industries,"3DX Industries, Inc.",DDDX,,OTC,NV,NV,Y,2750,Commercial Printing,operating,Smaller reporting company,smaller_reporting_<75M,"6920 SALASHAN PARKWAY, BUILDING D-100",,FERNDALE,WA,98248,"6920 SALASHAN PARKWAY, BUILDING D-100",FERNDALE,WA,98248,949-682-7889,,,000000000,"Amarok Resources, Inc.|Ukragro Corp",2026-05-13,1-A,Y
1464865,"Accredited Solutions, Inc.",Accredited Solutions,"Accredited Solutions, Inc.",ASII,ASII,OTC,NV,NV,Y,2080,Beverages,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"20311 CHARTWELL CENTER DRIVE, SUITE 1469",,CORNELIUS,NC,28031,"20311 CHARTWELL CENTER DRIVE, SUITE 1469",CORNELIUS,NC,28031,800-947-9197,,,452578051,"Good Hemp, Inc.|Lone Star Gold, Inc.|Keyser Resources, Inc.",2025-07-18,15-12G/A,Y
1622996,"ACRO BIOMEDICAL CO., LTD.",Acro Biomedical Co.,"Acro Biomedical Co., Ltd.",ACBM,ACBM,OTC,NV,NV,Y,7900,Services-Amusement & Recreation Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,12175 VISIONARY WAY,SUITE 1160,FISHERS,IN,46038,12175 VISIONARY WAY,FISHERS,IN,46038,(317) 286-6788,,,471950356,"KILLER WAVES HAWAII, INC",2026-05-05,10-Q,Y
1420924,"Adapti, Inc.",Adapti,"Adapti, Inc.",ADTI,ADTI,OTC,NV,NV,Y,7900,Services-Amusement & Recreation Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2818 FORT HAMILTON PARKWAY,,BROOKLYN,NY,11218,2818 FORT HAMILTON PARKWAY,BROOKLYN,NY,11218,347.834.7118,,,000000000,"Scepter Holdings, Inc. NV|Brazos International Exploration, Inc.",2026-06-02,3,Y
1160420,"Adia Nutrition, Inc.",Adia Nutrition,"Adia Nutrition, Inc.",ADIA,ADIA,OTC,NV,NV,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4421 GABRIELLA LANE,,WINTER PARK,FL,32792,4421 GABRIELLA LANE,WINTER PARK,FL,32792,321-231-2843,,,870675769,"PivX Solutions, Inc.|DRILLING INC",2026-05-15,10-Q,Y
1588014,"ADM ENDEAVORS, INC.",Adm Endeavors,"Adm Endeavors, Inc.",ADMQ,ADMQ,OTC,NV,NV,Y,7310,Services-Advertising,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5941 POSEY LANE,,HALTOM CITY,TX,76117,5941 POSEY LANE,HALTOM CITY,TX,76117,817-637-2150,,,450459323,,2026-06-05,4,Y
930245,Agassi Sports Entertainment Corp.,Agassi Sports Entertainment,Agassi Sports Entertainment Corp.,AASP,AASP,OTC,NV,NV,Y,5900,Retail-Miscellaneous Retail,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1120 N. TOWN CENTER DR #160,,LAS VEGAS,NV,89144,1120 N. TOWN CENTER DR #160,LAS VEGAS,NV,89144,702-400-4005,,,880203976,GLOBAL ACQUISITIONS Corp|ALL AMERICAN SPORTPARK INC|SAINT ANDREWS GOLF CORP,2026-06-05,8-K,Y
1603345,Agentix Corp.,Agentix,Agentix Corp.,AGTX,AGTX,OTC,NV,NV,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,32932 PACIFIC COAST HIGHWAY,#14-254,DANA POINT,CA,92629,32932 PACIFIC COAST HIGHWAY,DANA POINT,CA,92629,321-229-2014,,,462876282,FairWind Energy Inc.,2026-02-17,10-Q,Y
1605331,AI Era Corp.,AI Era,AI Era Corp.,AERA,AERA,OTC,NV,NV,Y,6794,Patent Owners & Lessors,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,144 MAIN STREET,SUITE 1009,MT. KISCO,NY,10549,144 MAIN STREET,MT. KISCO,NY,10549,(917) 336-2398,,,371740351,AB INTERNATIONAL GROUP CORP.,2026-05-11,8-K,Y
1763329,"AIBOTICS, INC.",Aibotics,"Aibotics, Inc.",AIBT,AIBT,OTC,NV,NV,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,480 22ND STREET,,HEYBURN,ID,83336,480 22ND STREET,HEYBURN,ID,83336,208-677-2020,,,870645794,"Mycotopia Therapies, Inc.|20/20 Global, Inc.",2026-06-09,10-Q,Y
1950209,Ainnova Tech,Ainnova Tech,Ainnova Tech,ZHDM,ZHDM,OTC,NV,NV,Y,,,other,,smaller_reporting_<75M,"440 LOUISIANA STREET, LYRIC TOWER",SUITE 900,HOUSTON,TX,77002,"440 LOUISIANA STREET, LYRIC TOWER",HOUSTON,TX,77002,713-714-0779,,,873747314,,2025-08-26,D/A,Y
1532390,ALKALINE WATER Co INC,ALKALINE WATER Co,ALKALINE WATER Co INC,WTER,WTER,OTC,NV,NV,Y,5140,Wholesale-Groceries & Related Products,operating, / Emerging growth company,smaller_reporting_<75M,5524 N 51ST AVE,,GLENDALE,AZ,85301,5524 N 51ST AVE,GLENDALE,AZ,85301,480-656-2423,,,990367049,GLOBAL LINES INC,2025-12-23,8-K,Y
1484674,"ALL THINGS MOBILE ANALYTIC, INC.",All Things Mobile Analytic,"All Things Mobile Analytic, Inc.",ATMH,ATMH,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Smaller reporting company,smaller_reporting_<75M,209 W 29TH STREET,SUITE 6241,NEW YORK,X1,10001,209 W 29TH STREET,NEW YORK,X1,10001,(888) 350-4660,,,854301443,TORON INC.,2025-12-30,RW,Y
1834868,Alternative Ballistics Corp,Alternative Ballistics,Alternative Ballistics Corp,ALBC,ALBC,OTC,NV,NV,Y,3480,"Ordnance & Accessories, (No Vehicles/Guided Missiles)",other,,smaller_reporting_<75M,5940 S. RAINBOW BLVD,,LAS VEGAS,NV,89118,5940 S. RAINBOW BLVD,LAS VEGAS,NV,89118,619-326-4411,,,852764555,Alternative Ballisitics Corp,2026-04-30,1-K,Y
773717,"American Clean Resources Group, Inc.",American Clean Resources Group,"American Clean Resources Group, Inc.",ACRG,ACRG,OTC,NV,NV,Y,1400,Mining & Quarrying of Nonmetallic Minerals (No Fuels),operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,12567 WEST CEDAR DRIVE,SUITE 104,LAKEWOOD,CO,80228-2039,12567 WEST CEDAR DRIVE,LAKEWOOD,CO,80228-2039,8889607347,,,840991764,"Standard Metals Processing, Inc.|Standard Gold Holdings, Inc.|Standard Gold|PRINCETON ACQUISITIONS INC",2026-05-29,4,Y
1545236,American Heritage International Inc.,American Heritage International,American Heritage International Inc.,AHII,AHII,OTC,NV,NV,Y,4950,Sanitary Services,operating,Smaller reporting company,smaller_reporting_<75M,222 N. EXPRESSWAY,77/83,BROWNSVILLE,TX,78521,222 N. EXPRESSWAY,BROWNSVILLE,TX,78521,7755804544,,,711052991,Cumberland Hills Ltd.,2026-03-18,D,Y
1356371,"AMERICAN LITHIUM MINERALS, INC.",American Lithium Minerals,"American Lithium Minerals, Inc.",AMLM,AMLM,OTC,NV,NV,Y,1000,Metal Mining,operating,,smaller_reporting_<75M,1007 SOUTH STREET,,CARSON CITY,NV,89701,1007 SOUTH STREET,CARSON CITY,NV,89701,877-734-8787,,,711049972,Nugget Resources Inc.,2026-02-04,QUALIF,Y
1648087,AMERICAN REBEL HOLDINGS INC,American Rebel Holdings,American Rebel Holdings Inc,AREB,AREB|AREBW,OTC,NV,NV,Y,3490,Miscellaneous Fabricated Metal Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"218 3RD AVENUE NORTH, #400",,NASHVILLE,TN,37201,"218 3RD AVENUE NORTH, #400",NASHVILLE,TN,37201,833-267-3235,,,473892903,CUBESCAPE INC,2026-06-02,DEF 14A,Y
1514443,"AMERIGUARD SECURITY SERVICES, INC.",Ameriguard Security Services,"Ameriguard Security Services, Inc.",AGSS,AGSS,OTC,NV,NV,Y,7381,"Services-Detective, Guard & Armored Car Services",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"5470 W. SPRUCE AVENUE , SUITE 102",,FRESNO,CA,93722,"5470 W. SPRUCE AVENUE , SUITE 102",FRESNO,CA,93722,559-271-5984,,,990363866,"HEALTH REVENUE ASSURANCE HOLDINGS, INC.|ANVEX INTERNATIONAL, INC.",2026-04-20,8-K,Y
1781629,"Ankam, Inc.",Ankam,"Ankam, Inc.",ANKM,ANKM,OTC,NV,NV,Y,7371,Services-Computer Programming Services,operating, / Emerging growth company,smaller_reporting_<75M,"5F, NO. 97, JINGYE 1ST RD.",ZHONGSHAN DIST.,TAIPEI CITY,F5,104,"5F, NO. 97, JINGYE 1ST RD.",TAIPEI CITY,F5,104,886-928-486237,,,611900749,Ankam Inc.,2026-04-30,10-Q,Y
1570132,"ANVI GLOBAL HOLDINGS, INC.",Anvi Global Holdings,"Anvi Global Holdings, Inc.",ANVI,ANVI,OTC,NV,NV,Y,5400,Retail-Food Stores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1135 KILDAIRE FARM ROAD,SUITE 319-4,CARY,NC,27511,1135 KILDAIRE FARM ROAD,CARY,NC,27511,408 821 4491,,,331226144,"VETRO, INC.",2026-06-03,10-K,Y
1134982,"Apple iSports Group, Inc.",Apple iSports Group,"Apple iSports Group, Inc.",AAPI,AAPI,OTC,NV,NV,Y,6411,"Insurance Agents, Brokers & Service",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,100 SPECTRUM CENTER DRIVE,SUITE 900,IRVINE,CA,920618,100 SPECTRUM CENTER DRIVE,IRVINE,CA,920618,61 3 8393 1459,,,880126444,PREVENTION INSURANCE COM|PREVENTION INSURANCE COM INC,2026-05-21,10-Q,Y
1755101,APPlife Digital Solutions Inc,APPlife Digital Solutions,APPlife Digital Solutions Inc,ALDS,ALDS,OTC,NV,NV,Y,5531,Retail-Auto & Home Supply Stores,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,50 CALIFORNIA ST,SUITE 1500,SAN FRANCISCO,CA,94111,50 CALIFORNIA ST,SAN FRANCISCO,CA,94111,4154395260,,,824868628,,2026-05-13,10-Q,Y
1651992,"Appsoft Technologies, Inc.",Appsoft Technologies,"Appsoft Technologies, Inc.",ASFT,ASFT,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1225 FRANKLIN AVE.,SUITE 325,GARDEN CITY,NY,11530,1225 FRANKLIN AVE.,GARDEN CITY,NY,11530,5162247717,,,473427919,,2026-05-20,10-Q,Y
1498148,Artificial Intelligence Technology Solutions Inc.,Artificial Intelligence Technology Solutions,Artificial Intelligence Technology Solutions Inc.,AITX,AITX,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,10800 GALAXIE AVENUE,,FERNDALE,MI,48220,10800 GALAXIE AVENUE,FERNDALE,MI,48220,(877) 787-6268,,,272343603,ON THE MOVE SYSTEMS CORP.,2026-06-09,10-K,Y
1113313,ARVANA INC,Arvana,Arvana Inc,AVNI,AVNI,OTC,NV,NV,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,299 S. MAIN STREET,13TH FLOOR,SALT LAKE CITY,UT,84111,299 S. MAIN STREET,SALT LAKE CITY,UT,84111,(801) 232-7395,,,870618509,TURINCO INC,2026-04-23,8-K,Y
1828748,ASIAFIN HOLDINGS CORP.,Asiafin Holdings,Asiafin Holdings Corp.,ASFH,ASFH,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating, / Emerging growth company,smaller_reporting_<75M,"SUITE 30.02, 30TH FLOOR,","MENARA KH(PROMET), JALAN SULTAN ISMAIL,",KUALA LUMPUR,N8,50250,"SUITE 30.02, 30TH FLOOR,",KUALA LUMPUR,N8,50250,60321487170,,,371950147,,2026-05-19,8-K,Y
1095146,Athena Bitcoin Global,Athena Bitcoin Global,Athena Bitcoin Global,ABIT,ABIT,OTC,NV,NV,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,800 NW 7TH AVENUE,,MIAMI,FL,33136,800 NW 7TH AVENUE,MIAMI,FL,33136,312-690-4466,,,870493596,GAMEPLAN INC,2026-05-22,15-12G,Y
1673504,Atlantis Glory Inc.,Atlantis Glory,Atlantis Glory Inc.,AGLY,AGLY,OTC,NV,NV,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ROOM 2106, BEAUTIFUL GROUP TOWER",77 CONNAUGHT ROAD,HONG KONG,F4,00000,"ROOM 2106, BEAUTIFUL GROUP TOWER",HONG KONG,F4,00000,86-18503010555,,,383995730,Shengshi Elevator International Holding Group Inc.|Galem Group Inc.,2026-04-30,10-Q,Y
1338929,"Authentic Holdings, Inc.",Authentic Holdings,"Authentic Holdings, Inc.",AHRO,AHRO,OTC,NV,NV,Y,5130,"Wholesale-Apparel, Piece Goods & Notions",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,55 MADISON AVE #400,,MORRISTOWN,NJ,07960,55 MADISON AVE #400,MORRISTOWN,NJ,07960,732-695-4389,,,113746201,"Global Fiber Technologies, Inc.|ECO TEK 360 INC|Global Fashion Technologies, Inc.|Premiere Opportunities Group, Inc.|Premiere Publishing Group, Inc.|Premier Publishing Group, Inc.",2026-04-15,15-12G,Y
1740797,"AVAI BIO, INC.",Avai Bio,"Avai Bio, Inc.",AVAI,AVAI,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5348 VEGAS DRIVE,,LAS VEGAS,NV,89108,5348 VEGAS DRIVE,LAS VEGAS,NV,89108,866-533-0065,,,384053064,AVANT TECHNOLOGIES INC.|TREND INNOVATIONS HOLDING INC.|FREECOOK,2026-05-08,8-K,Y
1631463,Barrel Energy Inc.,Barrel Energy,Barrel Energy Inc.,BRLL,,OTC,NV,NV,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3859 S VALLEY VIEW BLVD,SUITE 2 #107,LAS VEGAS,NV,,3859 S VALLEY VIEW BLVD,LAS VEGAS,NV,,888-397-9114,,,471963189,,2026-05-14,10-Q,Y
1448705,"BASANITE, INC.",Basanite,"Basanite, Inc.",BASA,BASA,OTC,NV,NV,Y,3990,Miscellaneous Manufacturing Industries,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,216 CROWN STREET,STE 502,NEW HAVEN,CT,06510,216 CROWN STREET,NEW HAVEN,CT,06510,888-501-1176,,,204959207,"PayMeOn, Inc.|MMAX MEDIA, INC.|Nevada Processing Solutions",2026-06-05,8-K,Y
1409197,"Bespoke Extracts, Inc.",Bespoke Extracts,"Bespoke Extracts, Inc.",BSPK,BSPK,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating, / Emerging growth company,smaller_reporting_<75M,12001 E. 33RD ST- UNIT O,,AURORA,CO,80010,12001 E. 33RD ST- UNIT O,AURORA,CO,80010,720-949-1143,,,204743354,"DiMi Telematics International, Inc.|First Quantum Ventures Inc|FIRST QUANTUM VENTURES INC",2026-05-18,NT 10-Q,Y
1593184,"BIOREGENX, INC.",Bioregenx,"Bioregenx, Inc.",BRGX,BRGX,OTC,NV,NV,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,7407 ZIEGLER ROAD,,CHATTANOOGA,TN,37421,7407 ZIEGLER ROAD,CHATTANOOGA,TN,37421,(866) 770-4067,,,462836541,"FINDIT, INC.|ARTEMIS ENERGY HOLDINGS, INC.",2026-05-20,10-Q,Y
1784440,"BioScience Health Innovations, Inc.",BioScience Health Innovations,"BioScience Health Innovations, Inc.",BHIC,BHIC,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,2722 S WEST TEMPLE,,SALT LAKE CITY,UT,84115,2722 S WEST TEMPLE,SALT LAKE CITY,UT,84115,801-949-0791,,,000000000,Nowtransit Inc,2026-05-11,10-Q,Y
1630113,BIOTRICITY INC.,Biotricity,Biotricity Inc.,BTCY,BTCY,OTC,NV,NV,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,203 REDWOOD PARKWAY,SUITE 600,REDWOOD CITY,CA,94065,203 REDWOOD PARKWAY,REDWOOD CITY,CA,94065,(800) 590-4155,,,472548273,"METASOLUTIONS, INC.",2026-05-29,PRE 14C,Y
1445815,"BIOXYTRAN, INC",Bioxytran,"Bioxytran, Inc",BIXT,BIXT,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"C/O BIOXYTRAN, INC.","75 2ND AVE, SUITE 605 STE 605",NEEDHAM,MA,02494,"C/O BIOXYTRAN, INC.",NEEDHAM,MA,02494,617-494-1199,,,262797630,"U.S. RARE EARTH MINERALS, INC.|U.S. RARE EARTH MINERALS, INC|U.S. Natural Nutrients & Minerals, Inc.|AMERICA'S DRIVING RANGES, INC.",2026-05-15,10-Q,Y
1873213,Birdie Win Corp,Birdie Win,Birdie Win Corp,BRWC,BRWC,OTC,NV,NV,Y,8200,Services-Educational Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"D109, LEVEL 1, BLOCK D, KELANA SQUARE","JALAN SS 7/26, PETALING JAYA",SELANGOR,N8,47301,"D109, LEVEL 1, BLOCK D, KELANA SQUARE",SELANGOR,N8,47301,60327764841,,,384179726,,2026-06-08,10-Q,Y
1549145,"BLUE BIOFUELS, INC.",Blue Biofuels,"Blue Biofuels, Inc.",BIOF,BIOF,OTC,NV,NV,Y,2860,Industrial Organic Chemicals,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3710 BUCKEYE ST,SUITE 120,PALM BEACH GARDENS,FL,33401,3710 BUCKEYE ST,PALM BEACH GARDENS,FL,33401,(888)607-3555,,,454944960,"ALLIANCE BIOENERGY PLUS, INC.|Alliance Media Group Holdings, Inc.",2026-06-09,8-K,Y
1416697,"Blue Line Protection Group, Inc.",Blue Line Protection Group,"Blue Line Protection Group, Inc.",BLPG,BLPG,OTC,NV,NV,Y,5900,Retail-Miscellaneous Retail,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5765 LOGAN STREET,,DENVER,CO,80216,5765 LOGAN STREET,DENVER,CO,80216,800-844-5576,,,205543728,"Engraving Masters, Inc.|Engraving Master Inc",2025-08-08,15-12G,Y
1496690,"BlueOne Technologies, Inc.",BlueOne Technologies,"BlueOne Technologies, Inc.",BCRD,BCRD,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"4695 MACARTHUR COURT,",SUITE 1100,NEWPORT BEACH,CA,92660,"4695 MACARTHUR COURT,",NEWPORT BEACH,CA,92660,800-210-9755,,,260478989,"BlueOne Card, Inc.|Manneking, Inc.|TBSS International, Inc.|Avenue South Ltd.",2026-05-13,8-K,Y
1416090,BLUSKY AI INC.,Blusky Ai,Blusky Ai Inc.,BSAI,BSAI,OTC,NV,NV,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5330 SO 900 E,STE 280,MURRAY,UT,84117,5330 SO 900 E,MURRAY,UT,84117,801-312-8113,,,352302128,"INCEPTION MINING INC.|GOLD AMERICAN MINING CORP.|SILVER AMERICA, INC.|Golf Alliance CORP|GOLF ALLIANCE CORP",2026-05-22,8-K,Y
1130781,"BMP AI Technologies, Inc.",BMP AI Technologies,"BMP AI Technologies, Inc.",BMPA,BMPA,OTC,NV,NV,Y,7812,Services-Motion Picture & Video Tape Production,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,10409 PACIFIC PALISADES AVE.,,LAS VEGAS,,00000,10409 PACIFIC PALISADES AVE.,LAS VEGAS,,00000,727-314-3717,,,912090516,"NEURALBASE AI LTD.|Viratech Corp.|Soleil Film, Inc.|Soleil Film & Television, Inc.|AMERI DREAM ENTERTAINMENT INC|MCSMOOTHIES INC",2026-05-20,10-Q,Y
1122993,BROOKMOUNT EXPLORATIONS INC,Brookmount Explorations,Brookmount Explorations Inc,BMXI,BMXI,OTC,NV,NV,Y,1400,Mining & Quarrying of Nonmetallic Minerals (No Fuels),operating,,smaller_reporting_<75M,14TH FLOOR 400 BURRARD STREET,V6C 3G2,VANCOUVER BC,A1,V6C 3G2,14TH FLOOR 400 BURRARD STREET,VANCOUVER BC,A1,V6C 3G2,604.643.1745,,,980382063,,2026-04-28,SCHEDULE 13G,Y
1397795,Bryn Inc.,Bryn,Bryn Inc.,BRRN,BRRN,OTC,NV,NV,Y,8741,Services-Management Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2332 GALIANO STREET,"2D FLOOR, #5138",CORAL GABLES,FL,33143,2332 GALIANO STREET,CORAL GABLES,FL,33143,305-988-9807,,,204682058,"Byrn, Inc.|Born, Inc.|QUTURE INTERNATIONAL, INC.|TECHS LOANSTAR, INC.",2026-05-19,10-Q,Y
1407583,Bunker Hill Mining Corp.,Bunker Hill Mining,Bunker Hill Mining Corp.,BHLL,BHLL,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,82 RICHMOND STREET EAST,TORONTO,ONTARIO,A6,M5C 1P1,82 RICHMOND STREET EAST,ONTARIO,A6,M5C 1P1,416-477-7771,,,320196442,Liberty Silver Corp|LIBERTY SILVER CORP|Lincoln Mining Corp,2026-05-13,DEF 14A,Y
1882781,"C2 Blockchain, Inc.",C2 Blockchain,"C2 Blockchain, Inc.",CBLO,CBLO,OTC,NV,NV,Y,6199,Finance Services,operating, / Emerging growth company,smaller_reporting_<75M,"12818 SW 8TH ST., UNIT #2008",,MIAMI,FL,33184,"12818 SW 8TH ST., UNIT #2008",MIAMI,FL,33184,8884373432,,,872645378,"C2 Blockchain,Inc.",2026-06-02,8-K,Y
2027982,"C2 Capital Group, Inc.",C2 Capital Group,"C2 Capital Group, Inc.",CCLV,CCLV,,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,other,,smaller_reporting_<75M,5825 WINDSOR COURT,,BOCA RATON,FL,33496,5825 WINDSOR COURT,BOCA RATON,FL,33496,561-445-3665,,,000000000,,2026-04-29,FWP,Y
1174891,"CalEthos, Inc.",CalEthos,"CalEthos, Inc.",GEDC,GEDC,OTC,NV,NV,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,THREE SUGAR CREEK CENTER,SUITE 100,SUGAR LAND,TX,77478,THREE SUGAR CREEK CENTER,SUGAR LAND,TX,77478,713-929-3863,,,000000000,"RealSource Residential, Inc|UPSTREAM BIOSCIENCES INC.|FORCE ENERGY CORP.|INTEGRATED BRAND SOLUTIONS INC",2026-05-14,10-Q,Y
1680132,CANNABIS SUISSE CORP.,Cannabis Suisse,Cannabis Suisse Corp.,CSUI,CSUI,OTC,NV,NV,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,10 NORTH NEWNAN STREET,SUITE A,JACKSONVILLE,FL,32202,10 NORTH NEWNAN STREET,JACKSONVILLE,FL,32202,904-598-5820,,,383993849,Geant Corp.,2026-04-20,10-Q,Y
1377149,CareView Communications Inc,CareView Communications,CareView Communications Inc,CRVW,CRVW,OTC,NV,NV,Y,3663,Radio & Tv Broadcasting & Communications Equipment,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,405 STATE HIGHWAY 121,SUITE B-240,LEWISVILLE,TX,75067,405 STATE HIGHWAY 121,LEWISVILLE,TX,75067,972-943-6050,,,954659068,,2026-05-13,10-Q,Y
1678105,Caro Holdings Inc.,Caro Holdings,Caro Holdings Inc.,CAHO,CAHO,OTC,NV,NV,Y,5961,Retail-Catalog & Mail-Order Houses,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,7 CASTLE STREET,,SHEFFIELD,X0,S3 8LT,7 CASTLE STREET,SHEFFIELD,X0,S3 8LT,(786) 755-3210,,,000000000,,2026-02-13,10-Q,Y
1776073,CBD Life Sciences Inc.,CBD Life Sciences,CBD Life Sciences Inc.,CBDL,CBDL,OTC,NV,NV,Y,2833,Medicinal Chemicals & Botanical Products,other,,smaller_reporting_<75M,10953 N. FRANK LLOYD WRIGHT BLVD.,UNIT 108,SCOTTSDALE,AZ,,10953 N. FRANK LLOYD WRIGHT BLVD.,SCOTTSDALE,AZ,,480-209-1720,,,205118532,,2026-06-08,QUALIF,Y
1569340,"Cell Source, Inc.",Cell Source,"Cell Source, Inc.",CLCS,CLCS,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,57 WEST 57TH STREET,SUITE 400,NEW YORK,NY,10019,57 WEST 57TH STREET,NEW YORK,NY,10019,646-612-7554,,,320379665,"TICKET TO SEE, INC.",2026-05-14,10-Q,Y
1134765,"Charlie's Holdings, Inc.",Charlie's Holdings,"Charlie's Holdings, Inc.",CHUC,CHUC,OTC,NV,NV,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1007 BRIOSO DR.,,COSTA MESA,CA,92627,1007 BRIOSO DR.,COSTA MESA,CA,92627,949-570-0691,,,841575085,"True Drinks Holdings, Inc.|BAZI INTERNATIONAL, INC.|XELR8 HOLDINGS, INC.|VITACUBE SYSTEMS HOLDINGS INC|INSTANET INC",2026-06-05,8-K,Y
1727255,Chilean Cobalt Corp.,Chilean Cobalt,Chilean Cobalt Corp.,COBA,COBA,OTC,NV,NV,Y,1000,Metal Mining,operating, / Emerging growth company,smaller_reporting_<75M,1199 LANCASTER AVENUE,SUITE 107,BERWYN,PA,19312,1199 LANCASTER AVENUE,BERWYN,PA,19312,484-580-8697,,,823590294,,2026-05-22,SCHEDULE 13G,Y
1527613,CIMG Inc.,CIMG,CIMG Inc.,CIMG,CIMG,OTC,NV,NV,Y,5900,Retail-Miscellaneous Retail,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ROOM R2, FTY D, 16/F, KIN GA IND. BLDG.","9 SAN ON STREET, TUEN MUN",HONG KONG,,,"ROOM R2, FTY D, 16/F, KIN GA IND. BLDG.",HONG KONG,,,(760) 295-2408,,,383849791,"NuZee, Inc.|Havana Furnishings Inc.",2026-06-04,8-K,Y
1911467,"Circle Energy, Inc./NV",Circle Energy,"Circle Energy, Inc.",CRCE,CRCE,OTC,NV,NV,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,8211 E REGAL PLACE,,TULSA,OK,74133,8211 E REGAL PLACE,TULSA,OK,74133,918-994-0693,,,874125972,,2026-05-11,10-Q,Y
813716,CIRTRAN CORP,Cirtran,Cirtran Corp,CIRX,CIRX,OTC,NV,NV,Y,2080,Beverages,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,6360 S PECOS ROAD,SUITE 8,LAS VEGAS,NV,89120,6360 S PECOS ROAD,LAS VEGAS,NV,89120,8019635112,,,680121636,VERMILLION VENTURES INC,2026-05-20,10-Q,Y
1391426,Clean Vision Corp,Clean Vision,Clean Vision Corp,CLNV,CLNV,OTC,NV,NV,Y,2860,Industrial Organic Chemicals,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,2711 N. SEPULVEDA BLVD,,MANHATTAN BEACH,CA,90266,2711 N. SEPULVEDA BLVD,MANHATTAN BEACH,CA,90266,424-835-1845,,,000000000,"Byzen Digital, Inc.|CHINA VITUP HEALTH CARE HOLDINGS, INC.",2026-05-15,NT 10-Q,Y
1343009,CNBX Pharmaceuticals Inc.,CNBX Pharmaceuticals,CNBX Pharmaceuticals Inc.,CNBX,CNBX,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,#3 BETHESDA METRO CENTER,SUITE 700,BETHESDA,MD,20814,#3 BETHESDA METRO CENTER,BETHESDA,MD,20814,877-424-2429,,,203373669,Cannabics Pharmaceuticals Inc.|American Mining Corp|Thrust Energy Corp.,2026-05-08,SCHEDULE 13G/A,Y
2050338,Collab Z Inc.,Collab Z,Collab Z Inc.,CLBZ,CLBZ,,NV,NV,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"29 ORINDA WAY, #536",,ORINDA,CA,94563,"29 ORINDA WAY, #536",ORINDA,CA,94563,925-577-9068,,,993072058,,2026-05-26,S-1/A,Y
1621888,Complete Financial Solutions Inc.,Complete Financial Solutions,Complete Financial Solutions Inc.,CFSU,CFSU,OTC,NV,NV,Y,,,other,,smaller_reporting_<75M,101 CONVENTION CENTER DR,SUITE 900,LAS VEGAS,NV,89109,101 CONVENTION CENTER DR,LAS VEGAS,NV,89109,702-291-1922,,,208269281,,2025-07-18,D/A,Y
1452583,"CONSERVATIVE BROADCAST MEDIA & PUBLISHING, INC.",Conservative Broadcast Media & Publishing,"Conservative Broadcast Media & Publishing, Inc.",CBMJ,CBMJ,OTC,NV,NV,Y,4911,Electric Services,operating,,smaller_reporting_<75M,5220 JIMMY LEE SMITH PARKWAY,"STE. 104, PMB 312",HIRAM,GA,30141,5220 JIMMY LEE SMITH PARKWAY,HIRAM,GA,30141,8777045773,,,450457114,"Canna Consumer Goods, Inc. .|Canna Brands, Inc. .|Crownbutte Wind Power, Inc.",2026-02-06,D,Y
1706509,Cosmos Group Holdings Inc.,Cosmos Group Holdings,Cosmos Group Holdings Inc.,COSG,COSG,OTC,NV,NV,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ROOMS 1309-11, 13TH FLOOR","TAI YAU BUILDING, NO. 181 JOHNSTON ROAD",WANCHAI,K3,00000,"ROOMS 1309-11, 13TH FLOOR",WANCHAI,K3,00000,852 3188 9363,,,223617931,,2025-08-14,15-12G,Y
1357671,"Creatd, Inc.",Creatd,"Creatd, Inc.",CRTD,CRTD,OTC,NV,NV,Y,7819,Services-Allied To Motion Picture Production,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"419 LAFAYETTE STREET, 6TH FLOOR",,NEW YORK,NY,10003,"419 LAFAYETTE STREET, 6TH FLOOR",NEW YORK,NY,10003,201-258-3770,,,870645394,"Jerrick Media Holdings, Inc.|Great Plains Holdings, Inc.|LILM, INC.",2025-08-19,RW,Y
315958,CREDITRISKMONITOR COM INC,Creditriskmonitor Com,Creditriskmonitor Com Inc,CRMZ,CRMZ,OTC,NV,NV,Y,7320,"Services-Consumer Credit Reporting, Collection Agencies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9107 WEST RUSSELL ROAD,SUITE 100,LAS VEGAS,NV,10989,9107 WEST RUSSELL ROAD,LAS VEGAS,NV,10989,845-230-3000,,,362972588,NEW GENERATION FOODS INC,2026-05-12,10-Q,Y
1103833,"Crown Equity Holdings, Inc.",Crown Equity Holdings,"Crown Equity Holdings, Inc.",CRWE,CRWE,OTC,NV,NV,Y,5734,Retail-Computer & Computer Software Stores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,11226 PENTLAND DOWNS ST.,,LAS VEGAS,NV,89141,11226 PENTLAND DOWNS ST.,LAS VEGAS,NV,89141,702-683-8946,,,330677140,"MICRO BIO-MEDICAL WASTE SYSTEMS, INC.|20/20 NETWORKS INC|20/20 WEB DESIGN INC",2026-05-11,10-Q,Y
1688126,Crypto Co,Crypto,Crypto Co,CRCW,CRCW,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,23823 MALIBU ROAD,SUITE 50477,MALIBU,CA,90265,23823 MALIBU ROAD,MALIBU,CA,90265,(424) 228-9955,,,464212405,"CROE, INC.",2026-05-15,NT 10-Q,Y
1823635,"CXJ GROUP CO., Ltd",CXJ GROUP CO.,"CXJ GROUP CO., Ltd",ECXJ,ECXJ,OTC,NV,NV,Y,3714,Motor Vehicle Parts & Accessories,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ROOM 401 4THFLOOR, EAST BLOCK BUILDING 5",XINTIANDI BUSINESSCENTERNO7 ANQIAOGANGRD,"GONGSHU, HANGZHOU, ZHEJIANG",F4,310017,"ROOM 401 4THFLOOR, EAST BLOCK BUILDING 5","GONGSHU, HANGZHOU, ZHEJIANG",F4,310017,8618668175727,,,852041913,,2026-04-10,10-Q,Y
768408,CYANOTECH CORP,Cyanotech,Cyanotech Corp,CYAN,CYAN,OTC,NV,NV,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,73-4460 QUEEN KAAHUMANU HWY,SUITE 102,KAILUA KONA,HI,96740,73-4460 QUEEN KAAHUMANU HWY,KAILUA-KONA,HI,96740,8083261353,,,911206026,,2026-02-13,15-12G,Y
1068689,"Data443 Risk Mitigation, Inc.",Data443 Risk Mitigation,"Data443 Risk Mitigation, Inc.",ATDS,ATDS,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,4000 SANCAR WAY,SUITE 400,RESEARCH TRIANGLE PARK,NC,27709,4000 SANCAR WAY,RESEARCH TRIANGLE PARK,NC,27709,919-858-6542,,,860914051,"LandStar, Inc.|LANDSTAR INC|LANDSTAR RUBBER INC",2026-05-14,10-Q,Y
1281984,"Decentral Life, Inc.",Decentral Life,"Decentral Life, Inc.",WDLF,WDLF,OTC,NV,NV,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3465 S GAYLORD CT.,SUITE A509,ENGLEWOOD,CO,80113,3465 S GAYLORD CT.,ENGLEWOOD,CO,80113,855-933-3277,,,460495298,"Social Life Network, Inc.|SEW CAL LOGO INC",2025-08-25,D/A,Y
1099369,DESTINY MEDIA TECHNOLOGIES INC,Destiny Media Technologies,Destiny Media Technologies Inc,DSNY,DSNY,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1110 - 885 W GEORGIA ST,,VANCOUVER,A1,V6C 3E8,1110 - 885 W GEORGIA ST,VANCOUVER,A1,V6C 3E8,604-609-7736,,,841516745,,2026-04-14,10-Q,Y
1420368,DLT Resolution Inc.,DLT Resolution,DLT Resolution Inc.,DLTI,DLTI,OTC,NV,NV,Y,7200,Services-Personal Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"5940 S. RAINBOW BLVD,",STE 400-32132,LAS VEGAS,NV,89118,"5940 S. RAINBOW BLVD,",LAS VEGAS,NV,89118,1 (702) 796-6363,,,208248213,"Hemcare Health Services Inc.|NSU Resources Inc|Bio-Carbon Solutions International Inc.|Elemental Protective Coating Corp.|DBL SENIOR CARE, INC.",2026-02-06,15-15D,Y
1360442,"Dogecoin Cash, Inc.",Dogecoin Cash,"Dogecoin Cash, Inc.",DOGP,DOGP,OTC,NV,NV,Y,7200,Services-Personal Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,355 W MESQUITE BLVD,C70,MESQUITE,NV,89027,355 W MESQUITE BLVD,MESQUITE,NV,89027,323-420-8683,,,201898270,"Cannabis Sativa, Inc.|Ultra Sun Corp",2026-05-28,144,Y
1518336,Dream Homes & Development Corp.,Dream Homes & Development,Dream Homes & Development Corp.,DREM,DREM,OTC,NV,NV,Y,1531,Operative Builders,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,314 S. MAIN STREET,,FORKED RIVER,NJ,08731,314 S. MAIN STREET,FORKED RIVER,NJ,08731,609-693-8881,,,202208821,"Virtual Learning Company, Inc.",2026-05-26,15-12G,Y
1413909,DSG Global Inc.,DSG Global,DSG Global Inc.,DSGT,DSGT,OTC,NV,NV,Y,7373,Services-Computer Integrated Systems Design,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,SUITE 207-15272 CROYDON DRIVE,,SURREY,A1,V3Z 0Z5,SUITE 207-15272 CROYDON DRIVE,SURREY,A1,V3Z 0Z5,877-589-8806,,,261134956,BOREAL PRODUCTIONS INC.,2026-05-06,8-K,Y
1652561,DSwiss Inc,DSwiss,DSwiss Inc,DQWS,DQWS,OTC,NV,NV,Y,2844,"Perfumes, Cosmetics & Other Toilet Preparations",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"UNIT 18-11, 18-12 & 18-01, TOWER A,","VERTICAL BUSINESS SUITE, BANGSAR SOUTH,",KUALA LUMPUR,N8,59200,"UNIT 18-11, 18-12 & 18-01, TOWER A,",KUALA LUMPUR,N8,59200,(603)2770-4032,,,474215595,,2026-05-15,10-Q,Y
1854526,DYNAMIC AEROSPACE SYSTEMS Corp,DYNAMIC AEROSPACE SYSTEMS,DYNAMIC AEROSPACE SYSTEMS Corp,BRQL,BRQL,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating, / Emerging growth company,smaller_reporting_<75M,3753 PLAZA DR,,ANN ARBOR,MI,48108,3753 PLAZA DR,ANN ARBOR,MI,48108,734-773-3776,,,862265420,"BrooQLy Inc.|brooqLy, Inc.|MyTreat, Inc.",2026-05-20,424B3,Y
1995920,E-Smart Corp.,E-Smart,E-Smart Corp.,ESMR,ESMR,OTC,NV,NV,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,7311 OXFORD AVE,,PHILADELPHIA,PA,19111,7311 OXFORD AVE,PHILADELPHIA,PA,19111,16203079197,,,352810816,,2026-04-14,10-Q,Y
2100704,East West Ave Acquisition Corp.,East West Ave Acquisition,East West Ave Acquisition Corp.,EWAV,EWAV,,NV,NV,Y,6770,Blank Checks,other,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,5725 S VALLEY VIEW BLVD STE 5 #378094,,LAS VEGAS,NV,89118,5725 S VALLEY VIEW BLVD STE 5 #378094,LAS VEGAS,NV,89118,802-242-1238,,,412320127,,2026-06-05,S-1/A,Y
1490873,"ECO SCIENCE SOLUTIONS, INC.",Eco Science Solutions,"Eco Science Solutions, Inc.",ESSI,ESSI|ESSID,OTC,NV,NV,Y,5900,Retail-Miscellaneous Retail,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"300 S. EL CAMINO REAL, #206",,SAN CLEMENTE,CA,92672,"300 S. EL CAMINO REAL, #206",SAN CLEMENTE,CA,92672,833-464-3726,,,464199032,"EATON SCIENTIFIC SYSTEMS, INC.|PRISTINE SOLUTIONS INC.",2026-05-01,NT 10-K,Y
1652958,"Edgemode, Inc.",Edgemode,"Edgemode, Inc.",EDGM,EDGM,OTC,NV,NV,Y,8082,Services-Home Health Care Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,110 E. BROWARD BLVD. SUITE 1700,,FT. LAUDERDALE,FL,33301,110 E. BROWARD BLVD. SUITE 1700,FT. LAUDERDALE,FL,33301,707-687-9093,,,474046237,"FOURTH WAVE ENERGY, INC.|PIERRE CORP.|Wadena Corp.",2026-05-28,10-Q,Y
1741489,"Elvictor Group, Inc.",Elvictor Group,"Elvictor Group, Inc.",ELVG,ELVG,OTC,NV,NV,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,VASSILEOS CONSTANTINOU 79,VARI,ATTIKI,J3,16672,VASSILEOS CONSTANTINOU 79,ATTIKI,J3,16672,(877) 374-4196,,,823296328,"Thenablers, Inc.",2026-05-20,8-K,Y
1300306,EMERGING HOLDINGS INC,Emerging Holdings,Emerging Holdings Inc,EMRH,EMRH,OTC,NV,NV,Y,,,other,,smaller_reporting_<75M,10409 PACIFIC PALISADES AVE,,LAS VEGAS,NV,89144,10409 PACIFIC PALISADES AVE,LAS VEGAS,NV,89144,6615195708,,,862418448,,2026-01-22,C-TR,Y
1410708,Emo Capital Corp.,Emo Capital,Emo Capital Corp.,NUVID,NUVID,OTC,NV,NV,Y,2870,Agricultural Chemicals,operating,Smaller reporting company,smaller_reporting_<75M,10409 PACIFIC PALISADES AVE,,LAS VEGAS,NV,89144,10409 PACIFIC PALISADES AVE,LAS VEGAS,NV,89144,702-628-7279,,,000000000,,2025-08-21,1-K/A,Y
1346022,Enertopia Corp.,Enertopia,Enertopia Corp.,ENRT,ENRT,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"#18, 1873 SPALL ROAD",,KELOWNA,A1,V1Y 4R2,"#18, 1873 SPALL ROAD",KELOWNA,A1,V1Y 4R2,250-870-2219,,,000000000,Golden Aria Corp.,2026-05-22,8-K,Y
1171326,ENTREPRENEUR UNIVERSE BRIGHT GROUP,Entrepreneur Universe Bright,Entrepreneur Universe Bright Group,EUBG,EUBG,OTC,NV,NV,Y,8742,Services-Management Consulting Services,operating, / Emerging growth company,smaller_reporting_<75M,"SUITE 907, SAIGAO CITY PLAZA BUILDING 2","NO. 170, WEIYANG ROAD",XI'AN,F4,0000,"SUITE 907, SAIGAO CITY PLAZA BUILDING 2",XI'AN,F4,0000,86-400-6087979,,,753025152,LONESTAR Group Holdings CO|U.S. ENERGY HOLDINGS INC.|PITBOSS ENTERTAINMENT INC.|KARMA MEDIA INC|ESTELLE REYNA INC|LE GOURMET CO INC,2026-05-15,8-K,Y
1883835,ESG Inc.,ESG,ESG Inc.,ESGH,ESGH,OTC,NV,NV,Y,0100,Agricultural Production-Crops,operating, / Emerging growth company,smaller_reporting_<75M,433 EAST HILLENDALE RD.,,CHADDS FORD,PA,19317,433 EAST HILLENDALE RD.,CHADDS FORD,PA,19317,267-467-5871,,,871918342,PLASMA INNOVATIVE INC.,2026-05-27,8-K,Y
1816554,EVENTIKO INC.,Eventiko,Eventiko Inc.,EVTK,EVTK,OTC,NV,NV,Y,7990,Services-Miscellaneous Amusement & Recreation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"1445 WOODMONT LANE NW, #2639",,ATLANTA,GA,30318,"1445 WOODMONT LANE NW, #2639",ATLANTA,GA,30318,404-549-4542,,,981535709,EVENTIKO INC,2026-03-17,10-Q,Y
1700844,EvoAir Holdings Inc.,EvoAir Holdings,EvoAir Holdings Inc.,EVOH,EVOH,OTC,NV,NV,Y,3585,Air-Cond & Warm Air Heatg Equip & Comm & Indl Refrig Equip,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"31-A2, JALAN 5/32A","6 1/2 MILES, OFF JALAN KEPONG",KUALA LUMPUR,N8,52000,"31-A2, JALAN 5/32A",KUALA LUMPUR,N8,52000,603 6243 3379,,,981353613,UNEX HOLDINGS INC.,2026-04-10,10-Q,Y
1871181,"FAMILY OFFICE OF AMERICA, INC.",Family Office of America,"Family Office of America, Inc.",FOFA,FOFA,OTC,NV,NV,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"6898 S. UNIVERSITY BLVD.,",SUITE 100,CENTENNIAL,CO,80122,"6898 S. UNIVERSITY BLVD.,",CENTENNIAL,CO,80122,303-874-7474,,,842488498,"Qualis Innovations, Inc.",2026-05-15,10-Q,Y
1811999,"FARMHOUSE, INC. /NV",Farmhouse,"Farmhouse, Inc.",FMHS,FMHS,OTC,NV,NV,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1355 MARKET ST. STE 488,,SAN FRANCISCO,CA,94103,1355 MARKET ST. STE 488,SAN FRANCISCO,CA,94103,8884206856,,,463321759,,2026-05-20,10-Q,Y
1370816,"FBC Holding, Inc.",FBC Holding,"FBC Holding, Inc.",FBCD,FBCD,OTC,NV,NV,Y,5600,Retail-Apparel & Accessory Stores,operating,,smaller_reporting_<75M,"10855 N. 116TH STREET, SUITE 115",,SCOTTSDALE,AZ,85259,"10855 N. 116TH STREET, SUITE 115",SCOTTSDALE,AZ,85259,480-410-6780,,,711026782,FBC Holding Inc.|Wave Uranium Holding|Iron Link Ltd.,2026-01-06,253G1,Y
1377167,"Financial Gravity Companies, Inc.",Financial Gravity Companies,"Financial Gravity Companies, Inc.",FGCO,FGCO,OTC,NV,NV,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2501 RANCH ROAD 620 SOUTH,SUITE 110,LAKEWAY,TX,78734,2501 RANCH ROAD 620 SOUTH,LAKEWAY,TX,78734,800-588-3893,,,204057712,"PACIFIC OIL Co|PRAIRIE WEST OIL & GAS, LTD.|KAT Racing, Inc.",2026-01-13,D,Y
1319643,"FinTrade Sherpa, Inc.",FinTrade Sherpa,"FinTrade Sherpa, Inc.",FTSP,FTSP,OTC,NV,NV,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,13529 SKINNER ROAD,SUITE N,CYPRESS,TX,77429,13529 SKINNER ROAD,CYPRESS,TX,77429,(832) 371-6531,,,474347638,Lode-Star Mining Inc.|International Gold Corp.,2026-05-19,NT 10-Q,Y
1525306,First America Resources Corp,First America Resources,First America Resources Corp,FSTJ,FSTJ,OTC,NV,NV,Y,5065,"Wholesale-Electronic Parts & Equipment, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1000 E. ARMSTRONG ST.,,MORRIS,IL,60450,1000 E. ARMSTRONG ST.,MORRIS,IL,60450,815-941-9888,,,272563052,"GOLDEN OASIS NEW ENERGY GROUP, INC.",2026-05-15,10-Q,Y
1492617,"FLYWHEEL ADVANCED TECHNOLOGY, INC.",Flywheel Advanced Technology,"Flywheel Advanced Technology, Inc.",FWFW,FWFW,OTC,NV,NV,Y,7380,Services-Miscellaneous Business Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"123 WEST NYE LANE, SUITE 455",,CARSON CITY,NV,89706,"123 WEST NYE LANE, SUITE 455",CARSON CITY,NV,89706,888-983-1623,,,272473958,"PAN GLOBAL, CORP.|SAVVY BUSINESS SUPPORT INC|SAAVY BUSINESS SUPPORT INC",2026-05-14,10-Q,Y
1687919,FORGE INNOVATION DEVELOPMENT CORP.,Forge Innovation Development,Forge Innovation Development Corp.,FGNV,FGNV,OTC,NV,NV,Y,6552,Land Subdividers & Developers (No Cemeteries),operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"17700 CASTLETON STREET, SUITE 469",,CITY OF INDUSTRY,CA,91748,"17700 CASTLETON STREET, SUITE 469",CITY OF INDUSTRY,CA,91748,626-361-1393,,,814635390,"YOU-GO ENTERPRISES, LLC",2026-04-14,15-15D,Y
1626745,"Fortune Valley Treasures, Inc.",Fortune Valley Treasures,"Fortune Valley Treasures, Inc.",FVTI,FVTI,OTC,NV,NV,Y,5900,Retail-Miscellaneous Retail,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,B1601 ORIENTAL IMPRESSION BUILDING 2,"LIANSHENG ROAD, HUMEN TOWN DONGGUAN CITY",GUANGDONG PROVINCE,F4,518000,B1601 ORIENTAL IMPRESSION BUILDING 2,GUANGDONG PROVINCE,F4,518000,(86) (769) 8572-9133,,,320439333,"CRYPTO-SERVICES, INC.",2025-06-13,15-12G,Y
1624517,"Frequency Holdings, Inc",Frequency Holdings,"Frequency Holdings, Inc",FRQN,FRQN,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"8910 WEST 192ND STREET, SUITE N",,MOKENA,IL,60448,"8910 WEST 192ND STREET, SUITE N",MOKENA,IL,60448,404-885-6045,,,471893698,"Yuenglings Ice Cream Corp|Aureus, Inc.|Aureus Inc",2026-01-12,15-12G,Y
1636051,FUSE GROUP HOLDING INC.,Fuse Group Holding,Fuse Group Holding Inc.,FUST,FUST,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,805 W. DUARTE RD. #102,,ARCADIA,CA,91007,805 W. DUARTE RD. #102,ARCADIA,CA,91007,(626) 977-0000,,,471017473,FUSE ENTERPRISES INC.,2026-05-13,10-Q,Y
1497230,Fyntechnical Innovations Inc,Fyntechnical Innovations,Fyntechnical Innovations Inc,FYNN,FYNN,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"9170 GLADES ROAD,",STE 150,BOCA RATON,FL,33433,"9170 GLADES ROAD,",BOCA RATON,FL,33433,3608205973,,,200108910,"SMC Entertainment, Inc.",2026-03-31,NT 10-K,Y
1471781,GBT Technologies Inc.,GBT Technologies,GBT Technologies Inc.,GTCH,GTCH,OTC,NV,NV,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2500 BROADWAY SUITE F125,,SANTA MONICA,CA,90404,2500 BROADWAY SUITE F125,SANTA MONICA,CA,90404,424-238-4589,,,270603137,Gopher Protocol Inc.|Forex International Trading Corp.,2026-05-15,10-Q,Y
1973160,GEMZ Corp. NV,GEMZ Corp. NV,GEMZ Corp. NV,GMZP,GMZP,OTC,NV,NV,Y,1520,General Bldg Contractors - Residential Bldgs,other,,smaller_reporting_<75M,2180 N. PARK AVE.,SUITE 200,WINTER PARK,FL,32789,2180 N. PARK AVE.,WINTER PARK,FL,32789,407-674-9444,,,000000000,GEMZ Corp,2025-12-09,1-Z,Y
1792941,Genvor Inc,Genvor,Genvor Inc,GNVR,GNVR,OTC,NV,NV,Y,0100,Agricultural Production-Crops,operating, / Emerging growth company,smaller_reporting_<75M,1550 W HORIZON RIDGE PKWY,STE R #3040,HENDERSON,NV,89012,1550 W HORIZON RIDGE PKWY,HENDERSON,NV,89012,715.903.6473,,,832054746,"Allure Worldwide, Inc.",2026-05-26,3,Y
1169138,"GIVBUX, INC.",Givbux,"Givbux, Inc.",GBUX,GBUX,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating, / Emerging growth company,smaller_reporting_<75M,2801 WEST COAST HWY.,SUITE 200,NEWPORT BEACH,CA,92663,2801 WEST COAST HWY.,NEWPORT BEACH,CA,92663,844-448-2899,,,841609495,SENTAIDA TIRE CO LTD|RUB A DUB SOAP INC,2026-06-05,8-K,Y
1848672,Glidelogic Corp.,Glidelogic,Glidelogic Corp.,GDLG,GDLG,OTC,NV,NV,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,8275 S. EASTERN AVE. SUITE 200-#406,,LAS VEGAS,NV,89123,8275 S. EASTERN AVE. SUITE 200-#406,LAS VEGAS,NV,89123,(310) 397-2300,,,981575837,,2026-04-27,10-K,Y
1473490,"Global AI, Inc.",Global AI,"Global AI, Inc.",GLAI,GLAI,OTC,NV,NV,Y,5960,Retail-Nonstore Retailers,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,110 FRONT STREET,SUITE 300,JUPITER,FL,33477,110 FRONT STREET,JUPITER,FL,33477,561-240-0333,,,264170100,"Wall Street Media Co, Inc.|BRIGHT MOUNTAIN HOLDINGS, INC.|MY CATALOGS ONLINE, INC.",2026-06-03,10-Q,Y
1938338,GlobalTech Corp,GlobalTech,GlobalTech Corp,GLTK,GLTK,OTC,NV,NV,Y,4813,Telephone Communications (No Radiotelephone),operating, / Emerging growth company,smaller_reporting_<75M,"3550 BARRON WAY, SUITE 13A",,RENO,NV,89511,"3550 BARRON WAY, SUITE 13A",RENO,NV,89511,775-624-4817,,,823926338,,2026-06-03,8-K,Y
1378866,Go Green Global Technologies Corp.,Go Green Global Technologies,Go Green Global Technologies Corp.,GOGR,GOGR,OTC,NV,NV,Y,3677,"Electronic Coils, Transformers & Other Inductors",operating,,smaller_reporting_<75M,5 PRODUCTION DRIVE,,BROOKFILED,CT,06804,5 PRODUCTION DRIVE,BROOKFILED,CT,06804,800-605-2857,,,204412118,"Go Green Technologies Corp|DIVERSIFIED SECURE VENTURES CORP.|SECURE RUNWAY SYSTEMS CORP.|PHOTOMATICA, INC.",2025-07-09,15-12G,Y
894501,"GOLD ROCK HOLDINGS, INC.",Gold Rock Holdings,"Gold Rock Holdings, Inc.",GRHI,GRHI,OTC,NV,NV,Y,7373,Services-Computer Integrated Systems Design,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"2020 GENERAL BOOTH BLVD, #230",,VIRGINIA BEACH,VA,23452,"2020 GENERAL BOOTH BLVD, #230",VIRGINIA BEACH,VA,23452,7573066090,,,870434297,COMPOSITE HOLDINGS INC|COMPOSITE INDUSTRIES OF AMERICA INC|WORLD HOMES INC|AFFORDABLE HOMES OF AMERICA INC|KOWTOW INC,2026-05-06,10-Q,Y
1375348,Golden Star Resource Corp.,Golden Star Resource,Golden Star Resource Corp.,GLNS,GLNS,OTC,NV,NV,Y,1090,Miscellaneous Metal Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,SUITE #300 500 NORTH RAINBOW BLVD,,LAS VEGAS,NV,89107,SUITE #300 500 NORTH RAINBOW BLVD,LAS VEGAS,NV,89107,(210) 862-3071,,,000000000,,2026-05-14,10-Q,Y
1800373,"GOLDENWELL BIOTECH, INC.",Goldenwell Biotech,"Goldenwell Biotech, Inc.",GWLL,GWLL,OTC,NV,NV,Y,2000,Food and Kindred Products,operating, / Emerging growth company,smaller_reporting_<75M,7316 CAPILANO DR.,,SOLON,OH,44139,7316 CAPILANO DR.,SOLON,OH,44139,440-666-7999,,,842896086,,2026-05-27,8-K,Y
1454742,"GOOD GAMING, INC.",Good Gaming,"Good Gaming, Inc.",GMER,GMER,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,415 MCFARLAN ROAD,SUITE 108,KENNETT SQUARE,PA,19348,415 MCFARLAN ROAD,KENNETT SQUARE,PA,19348,(888) 295-7279,,,263988293,"HDS INTERNATIONAL CORP.|GMV Wireless, Inc.",2026-05-15,10-Q,Y
1673475,"GPO Plus, Inc.",GPO Plus,"GPO Plus, Inc.",GPOX,GPOX,OTC,NV,NV,Y,8900,"Services-Services, NEC",operating, / Emerging growth company,smaller_reporting_<75M,3571 E. SUNSET ROAD,SUITE 300,LAS VEGAS,NV,89120,3571 E. SUNSET ROAD,LAS VEGAS,NV,89120,855-935-4769,,,371817132,GLOBAL HOUSE HOLDINGS LTD.|KOLDECK INC.,2026-05-01,8-K,Y
1282571,GREENLITE VENTURES INC,Greenlite Ventures,Greenlite Ventures Inc,GRNL,GRNL,OTC,NV,NV,Y,1000,Metal Mining,operating,,smaller_reporting_<75M,1407 FOOTHILL BLVD,SUITE 305,LA VERNE,CA,91750,1407 FOOTHILL BLVD,LA VERNE,CA,91750,909-901-9086,,,912170874,,2025-09-17,D,Y
1584480,"Greentech Innovations, Inc.",Greentech Innovations,"Greentech Innovations, Inc.",GTIC,GTIC,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,244 MADISON AVENUE,,NEW YORK CITY,NY,10016-2817,244 MADISON AVENUE,NEW YORK CITY,NY,10016-2817,(802) 255-4212,,,000000000,"Startech Labs, Inc.|UpperSolution.com",2026-04-14,10-Q,Y
1765048,GUOCHUN INTERNATIONAL INC.,Guochun International,Guochun International Inc.,GCGJ,GCGJ,OTC,NV,NV,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,66 WEST FLAGLER STREET,"SUITE 900, #3040",MIAMI,FL,33130,66 WEST FLAGLER STREET,MIAMI,FL,33130,12512629446,,,320575017,"Charmt, Inc.",2026-05-11,10-Q,Y
1989788,Guru App Factory Corp,Guru App Factory,Guru App Factory Corp,GAFC,GAFC,OTC,NV,NV,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,74 NORFOLK HOUSE RD,,LONDON,,SW16 1JH,74 NORFOLK HOUSE RD,LONDON,,SW16 1JH,44-794-454-4871,,,981726952,,2026-03-17,10-Q,Y
1539680,HAMMER TECHNOLOGY HOLDINGS CORP.,Hammer Technology Holdings,Hammer Technology Holdings Corp.,HMMR,HMMR,OTC,NV,NV,Y,4899,"Communications Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,6151 LAKE OSPREY DRIVE,,SARASOTA,FL,34240,6151 LAKE OSPREY DRIVE,SARASOTA,FL,34240,844-413-2600,,,981032170,HAMMER FIBER OPTICS HOLDINGS CORP|Tanaris Power Holdings Inc.|Recursos Montana S.A.,2026-03-17,10-Q,Y
1482554,"Hartford Creative Group, Inc.",Hartford Creative Group,"Hartford Creative Group, Inc.",HFUS,HFUS,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,8832 GLENDON WAY,,ROSEMEAD,CA,91770,8832 GLENDON WAY,ROSEMEAD,CA,91770,626-656-6192,,,205422795,"Hartford Great Health Corp.|Photoamigo, Inc.",2026-05-18,POS AM,Y
1750777,"Hawkeye Systems, Inc.",Hawkeye Systems,"Hawkeye Systems, Inc.",HWKE,HWKE,OTC,NV,NV,Y,3861,Photographic Equipment & Supplies,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,7401 CARMEL EXECUTIVE PARK DRIVE,SUITE 315,CHARLOTTE,NC,28226,7401 CARMEL EXECUTIVE PARK DRIVE,CHARLOTTE,NC,28226,912-388-6720,,,830799093,,2026-06-05,8-K,Y
1680139,HealthLynked Corp,HealthLynked,HealthLynked Corp,HLYK,HLYK,OTC,NV,NV,Y,8011,Services-Offices & Clinics of Doctors of Medicine,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1265 CREEKSIDE PARKWAY,SUITE 302,NAPLES,FL,34108,1265 CREEKSIDE PARKWAY,NAPLES,FL,34108,800-928-7144,,,471634127,,2026-05-29,S-1/A,Y
1630176,HEALTHY EXTRACTS INC.,Healthy Extracts,Healthy Extracts Inc.,HYEX,HYEX,OTC,NV,NV,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,7375 COMMERCIAL WAY,SUITE 125,HENDERSON,NV,89011,7375 COMMERCIAL WAY,HENDERSON,NV,89011,702-505-0471,,,472594704,HEALTHLY EXTRACTS INC.|GREY CLOAK TECH INC.,2026-05-18,8-K,Y
1813603,Hestia Insight Inc.,Hestia Insight,Hestia Insight Inc.,HSTA,HSTA,OTC,NV,NV,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,732 S. 6TH STREET,# 4762,LAS VEGAS,NV,89101,732 S. 6TH STREET,LAS VEGAS,NV,89101,929-329-4756,,,850994055,,2026-05-11,DEF 14C,Y
1807616,Hi-Great Group Holding Co,Hi-Great Group Holding,Hi-Great Group Holding Co,HIGR,HIGR,OTC,NV,NV,Y,7011,Hotels & Motels,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,621 S. VIRGIL AVE #470,,LOS ANGELES,CA,90005,621 S. VIRGIL AVE #470,LOS ANGELES,CA,90005,213-219-7746,,,462218131,,2026-05-27,10-K,Y
1413891,"HIGH WIRE NETWORKS, INC.",High Wire Networks,"High Wire Networks, Inc.",HWNI,HWNI,OTC,NV,NV,Y,4813,Telephone Communications (No Radiotelephone),operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,30 N LINCOLN ST.,,BATAVIA,IL,60510,30 N LINCOLN ST.,BATAVIA,IL,60510,952.974.4000,,,260592672,"HWN, INC.|Spectrum Global Solutions, Inc.|Mantra Venture Group Ltd.",2026-06-03,8-K,Y
1342916,"HNO International, Inc.",HNO International,"HNO International, Inc.",HNOI,HNOI,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"41558 EASTMAN DRIVE, SUITE B",,MURRIETA,CA,92562,"41558 EASTMAN DRIVE, SUITE B",MURRIETA,CA,92562,951-305-8872,,,202781289,CLENERGEN Corp|Clenergen Corp|American Bonanza Resources Corp.,2026-05-08,8-K,Y
1367993,"Holistic Asset Finance Group Co., Ltd.",Holistic Asset Finance Group Co.,"Holistic Asset Finance Group Co., Ltd.",HAFG,HAFG,OTC,NV,NV,Y,7380,Services-Miscellaneous Business Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ROOM 624 , GEHUA TOWER A",QINGLONG HUTONG BUILDING NO. 1,"BEIJING,",,,"ROOM 624 , GEHUA TOWER A","BEIJING,",,,(86-10) 8418 6112,,,870602435,"Legend Media, Inc.|NOBLE QUESTS INC",2026-05-11,10-Q,Y
1324759,HONG YUAN HOLDING GROUP,Hong Yuan Holding,Hong Yuan Holding Group,HGYN,HGYN,OTC,NV,NV,Y,2821,"Plastic Materials, Synth Resins & Nonvulcan Elastomers",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"NO. 3, 21ST FLOOR, BUILDING 1, NO. 176",JIQING 1ST ROAD,CHENGDU HIGH-TECH ZONE,,,"NO. 3, 21ST FLOOR, BUILDING 1, NO. 176",CHENGDU HIGH-TECH ZONE,,,861 8999250338,,,000000000,Cereplast Inc,2026-05-15,NT 10-Q,Y
1086303,"Hongchang International Co., Ltd",Hongchang International Co.,"Hongchang International Co., Ltd",HCIL,HCIL,OTC,NV,NV,Y,3845,Electromedical & Electrotherapeutic Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ROOM 2409, RONGSHANG BUILDING, FUREN AVE","YANGPU VILLAGE, YINXI SUBDISTRICT","FUQING CITY, FUZHOU CITY",,350300,"ROOM 2409, RONGSHANG BUILDING, FUREN AVE","FUQING CITY, FUZHOU CITY",,350300,86 180 5901 6050,,,870627910,Heyu Biological Technology Corp|PACIFIC WEBWORKS INC,2026-02-13,10-Q,Y
797564,"HST Global, Inc.",HST Global,"HST Global, Inc.",HSTC,HSTC,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,509 OLD GREAT NECK ROAD,SUITE 105,VIRGINIA BEACH,VA,23454,509 OLD GREAT NECK ROAD,VIRGINIA BEACH,VA,23454,800-961-4750,,,731215433,NT HOLDING CORP.|ABSS CORP|UNICO INC,2025-11-10,SCHEDULE 13D,Y
1994373,Huineng Technology Corp,Huineng Technology,Huineng Technology Corp,HNIT,HNIT,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"33-01, 33RD FLOOR, MENARA KECK SENG","203, JALAN BUKIT BINTANG",KUALA LUMPUR,N8,55100,"33-01, 33RD FLOOR, MENARA KECK SENG",KUALA LUMPUR,N8,55100,60321165722,,,372108225,Aceztech Corp,2026-04-14,10-Q,Y
1502966,"Hypha Labs, Inc.",Hypha Labs,"Hypha Labs, Inc.",FUNI,FUNI,OTC,NV,NV,Y,8734,Services-Testing Laboratories,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5940 S. RAINBOW BOULEVARD,,LAS VEGAS,NV,89118,5940 S. RAINBOW BOULEVARD,LAS VEGAS,NV,89118,(702) 744-0640,,,273601979,"Digipath, Inc.|DigiPath,Inc.",2026-05-15,10-Q,Y
1263364,Idaho Copper Corp,Idaho Copper,Idaho Copper Corp,COPR,COPR,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"800 W. MAIN ST, STE 1460",,BOISE,ID,83702,"800 W. MAIN ST, STE 1460",BOISE,ID,83702,208-274-9220,,,980221494,Joway Health Industries Group Inc|G2 VENTURES INC,2026-06-04,S-1/A,Y
1290658,"IIOT-OXYS, Inc.",IIOT-OXYS,"IIOT-OXYS, Inc.",ITOX,ITOX,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,705 CAMBRIDGE ST.,,CAMBRIDGE,MA,02141,705 CAMBRIDGE ST.,CAMBRIDGE,MA,02141,401-307-3092,,,562415252,"Gotham Capital Holdings, Inc.|Creative Beauty Supply of New Jersey CORP",2026-05-27,8-K,Y
2025878,"Independence Power Holdings, Inc.",Independence Power Holdings,"Independence Power Holdings, Inc.",ITXP,ITXP,OTC,NV,NV,Y,8700,"Services-Engineering, Accounting, Research, Management",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,14114 N. DALLAS PARKWAY,SUITE 200,DALLAS,TX,75254,14114 N. DALLAS PARKWAY,DALLAS,TX,75254,903-944-7121,,,352851106,TriUnity Business Services Ltd,2026-05-12,10-Q,Y
1591913,"Innovative Payment Solutions, Inc.",Innovative Payment Solutions,"Innovative Payment Solutions, Inc.",IPSI,IPSI,OTC,NV,NV,Y,5961,Retail-Catalog & Mail-Order Houses,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"56B 5TH AVENUE, LOT 1 #AT",,CARMEL BY THE SEA,CA,93921,"56B 5TH AVENUE, LOT 1 #AT",CARMEL BY THE SEA,CA,93921,(866) 477-4729,,,000000000,"QPAGOS|Asiya Pearls, Inc.",2026-05-15,10-Q,Y
1939365,"INSPIRE VETERINARY PARTNERS, INC.",Inspire Veterinary Partners,"Inspire Veterinary Partners, Inc.",IVPR,IVPR,OTC,NV,NV,Y,0700,Agricultural Services,operating, / Emerging growth company,smaller_reporting_<75M,780 LYNNHAVEN PKWY #400,,VIRGINIA BEACH,VA,23452,780 LYNNHAVEN PKWY #400,VIRGINIA BEACH,VA,23452,(757) 288-3088,,,854359258,,2026-06-04,25-NSE,Y
1794276,Intelligent Hotel Group Ltd.,Intelligent Hotel Group,Intelligent Hotel Group Ltd.,ZHJD,ZHJD,OTC,NV,NV,Y,2870,Agricultural Chemicals,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"NO. 1408, NORTH DISTRICT, LIBAO BUILDING","KEHUA NORTH ROAD NO. 62, WUHOU DISTRICT","CHENGDU, SICHUAN PROVINCE",,,"NO. 1408, NORTH DISTRICT, LIBAO BUILDING","CHENGDU, SICHUAN PROVINCE",,,8602883232517,,,611948707,YCQH Agricultural Technology Co. Ltd,2026-05-14,NT 10-Q,Y
1100788,INTERNATIONAL STAR INC,International Star,International Star Inc,ILST,ILST,OTC,NV,NV,Y,6794,Patent Owners & Lessors,operating,,smaller_reporting_<75M,8 THE GREEN,SUITE A,DOVER,DE,19901,8 THE GREEN,DOVER,DE,19901,347-616-1399,,,860876846,,2026-06-04,1-Z,Y
862651,"Investview, Inc.",Investview,"Investview, Inc.",INVU,INVU|INVUP,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,521 W. LANCASTER AVE,FLOOR 2,HAVERFORD,PA,19041,521 W. LANCASTER AVE,HAVERFORD,PA,19041,732-889-4300,,,870369205,"Global Investor Services, Inc.|TheRetirementSolution.com, Inc.|Voxpath Holdings, Inc.|UINTAH MOUNTAIN COPPER COMPANY",2026-05-15,10-Q,Y
1498372,iWallet Corp,iWallet,iWallet Corp,IWAL,IWAL,OTC,NV,NV,Y,3669,"Communications Equipment, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,401 RYLAND ST.,STE. 200A,RENO,NV,89502,401 RYLAND ST.,RENO,NV,89502,858-610-2958,,,271830013,"Queensridge Mining Resources, Inc.",2026-05-15,10-Q,Y
1133062,JANEL CORP,Janel,Janel Corp,JANL,JANL,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,80 EIGHTH AVENUE,,NEW YORK,NY,10011,80 EIGHTH AVENUE,NEW YORK,NY,10011,718-527-3800,,,861005291,JANEL WORLD TRADE LTD|WINE SYSTEMS DESIGN INC,2026-06-04,4,Y
1647822,"Jingbo Technology, Inc.",Jingbo Technology,"Jingbo Technology, Inc.",SVMB,SVMB,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"BUILDING B8, CHINA ZHIGU, YINHU STREET",FUYANG DISTRICT,"HANGZHOU, ZHEJIANG",,,"BUILDING B8, CHINA ZHIGU, YINHU STREET","HANGZHOU, ZHEJIANG",,,400-926-0345,,,473240707,SavMobi Technology Inc.,2026-05-29,NT 10-K,Y
1907425,JOCOM HOLDINGS CORP.,Jocom Holdings,Jocom Holdings Corp.,JOCM,JOCM,OTC,NV,NV,Y,7380,Services-Miscellaneous Business Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"NO. 11-1, LEVEL 11, TOWER 3, AVENUE 3","BANGSAR SOUTH, NO. 8 JALAN KERINCHI",KUALA LUMPUR,N8,59200,"NO. 11-1, LEVEL 11, TOWER 3, AVENUE 3",KUALA LUMPUR,N8,59200,60322416637,,,384177722,,2026-05-14,NT 10-Q,Y
1517389,"Jubilant Flame International, Ltd",Jubilant Flame International,"Jubilant Flame International, Ltd",JFIL,JFIL,OTC,NV,NV,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ROOM 508, T1N VI PARK",360 XIN LONG ROAD,SHANGHAI,,201101,"ROOM 508, T1N VI PARK",SHANGHAI,,201101,6132523673,,,272775885,"Jiu Feng Investment Hong Kong Ltd|LIBERTY VISION, INC.",2026-04-28,10-K,Y
1729637,Karbon-X Corp.,Karbon-X,Karbon-X Corp.,KARX,KARX,OTC,NV,NV,Y,2844,"Perfumes, Cosmetics & Other Toilet Preparations",operating, / Emerging growth company,smaller_reporting_<75M,1720 54- 5 AVE SW,,CALGARY,A0,T2P 0M2,1720 54- 5 AVE SW,CALGARY,A0,T2P 0M2,250-608-5435,,,822882342,COCOLUV INC.,2026-06-05,8-K,Y
1935033,KEEMO Fashion Group Ltd,KEEMO Fashion Group,KEEMO Fashion Group Ltd,KMFG,KMFG,OTC,NV,NV,Y,5130,"Wholesale-Apparel, Piece Goods & Notions",operating, / Emerging growth company,smaller_reporting_<75M,"69 WANKE BOYU, XILI LUXIN 1ST RD",NANSHAN DISTRICT,GUANGDONG,F4,518052,"69 WANKE BOYU, XILI LUXIN 1ST RD",GUANGDONG,F4,518052,8617612822030,,,320686375,,2026-04-01,8-K,Y
1696025,"Kindcard, Inc.",Kindcard,"Kindcard, Inc.",KCRD,KCRD,OTC,NV,NV,Y,5940,Retail-Miscellaneous Shopping Goods Stores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1001 YAMATO RD.,SUITE #100,BOCA RATON,FL,33431,1001 YAMATO RD.,BOCA RATON,FL,33431,888-888-0708,,,814520116,MWF GLOBAL INC.,2026-05-19,10-K,Y
1110607,"Koil Energy Solutions, Inc.",Koil Energy Solutions,"Koil Energy Solutions, Inc.",KLNG,KLNG,OTC,NV,NV,Y,3533,Oil & Gas Field Machinery & Equipment,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1310 RANKIN ROAD,,HOUSTON,TX,77073,1310 RANKIN ROAD,HOUSTON,TX,77073,(281) 517-5000,,,752263732,"Deep Down, Inc.|MediQuip Holdings, INC|TRUE HEALTH INC",2026-05-22,8-K,Y
1108248,KRONOS ADVANCED TECHNOLOGIES INC,Kronos Advanced Technologies,Kronos Advanced Technologies Inc,KNOS,KNOS,OTC,NV,NV,Y,3564,Industrial & Commercial Fans & Blowers & Air Purifing Equip,operating,,smaller_reporting_<75M,2501 GARFIELD AVENUE,,PARKERSBURG,WV,26101,505 24TH STREET,PARKERSBURG,WV,26101,800-723-3247,,,870440410,TSET INC,2025-12-15,SEC STAFF ACTION,Y
1081834,Kuber Resources Corp,Kuber Resources,Kuber Resources Corp,KUBR,KUBR,OTC,NV,NV,Y,4832,Radio Broadcasting Stations,operating, / Emerging growth company,smaller_reporting_<75M,1113 LIPPO CENTRE TOWER 2,89 QUEENSWAY,ADMIRALTY,K3,000-000,1113 LIPPO CENTRE TOWER 2,ADMIRALTY,K3,000-000,852 3703 6155,,,870629754,UONLIVE CORP|CHINA WORLD TRADE CORP|TXON INTERNATIONAL DEVELOPMENT CORP,2026-03-31,NT 10-K,Y
1477960,LataMed AI Corp.,LataMed AI,LataMed AI Corp.,LMED,LMED,OTC,NV,NV,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,AV ROMULO GALLEGOS CON AVENIDA LAS PALMA,EDIF TORRE GERENCIAL LOS ANDES,"PISO 4 OFICINA 4-D, URB BOLEIT",,1071,AV ROMULO GALLEGOS CON AVENIDA LAS PALMA,"PISO 4 OFICINA 4-D, URB BOLEIT",,1071,1-787-476-2350,,,263670551,"Catalyst Crew Technologies Corp.|Blue Chip Technologies Corp.|Hermes Jets, Inc.",2026-05-20,10-Q,Y
1715433,Leader Capital Holdings Corp.,Leader Capital Holdings,Leader Capital Holdings Corp.,LCHD,LCHD,OTC,NV,NV,Y,7371,Services-Computer Programming Services,operating, / Emerging growth company,smaller_reporting_<75M,"RM. 711, 7F., NO. 89, SECTION 1,","ZHONGQING ROAD, NORTH DISTRICT,",TAICHUNG,F5,404638,"RM. 711, 7F., NO. 89, SECTION 1,",TAICHUNG,F5,404638,852 3487 6378,,,371853394,,2025-09-24,SCHEDULE 13G/A,Y
1643721,"LEAFBUYER TECHNOLOGIES, INC.",Leafbuyer Technologies,"Leafbuyer Technologies, Inc.",LBUY,LBUY|LBUYD,,NV,NV,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"6888 S. CLINTON STREET, SUITE 300",,GREENWOOD VILLAGE,CO,80112,"6888 S. CLINTON STREET, SUITE 300",GREENWOOD VILLAGE,CO,80112,720-235-0099,,,383944821,AP EVENT INC.,2026-05-14,10-Q,Y
1456189,Leatt Corp,Leatt,Leatt Corp,LEAT,LEAT,OTC,NV,NV,Y,3751,"Motorcycles, Bicycles & Parts",operating, / Emerging growth company,smaller_reporting_<75M,"12 KIEPERSOL DRIVE, ATLAS GARDENS",CONTERMANSKLOOF ROAD,"DURBANVILLE, WESTERN CAPE",T3,7550,"12 KIEPERSOL CRES, ATLAS GARDENS","DURBANVILLE, WESTERN CAPE",T3,7550,(27)21-556-5409,,,202819367,,2026-05-13,8-K,Y
1230524,"Leopard Energy, Inc.",Leopard Energy,"Leopard Energy, Inc.",LEEN,LEEN,OTC,NV,NV,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"VIA TOMASO RODARI, 6 - 6900",,LUGANO,V8,6900,"VIA TOMASO RODARI, 6 - 6900",LUGANO,V8,6900,41 79 1595013,,,900314205,"Cyber Apps World|CLEAN ENVIRO TECH CORP|SKY POWER SOLUTIONS CORP.|Superlattice Power, Inc.|ZINGO, INC|JAVAKINGCOFFEE INC|TITAN WEB SOLUTIONS INC",2026-03-02,10-Q,Y
1391135,LFTD PARTNERS INC.,Lftd Partners,Lftd Partners Inc.,LIFD,LIFD,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,14155 PINE ISLAND DRIVE,,JACKSONVILLE,FL,32224,14155 PINE ISLAND DRIVE,JACKSONVILLE,FL,32224,847-915-2446,,,870479286,Acquired Sales CORP|ACQUIRED SALES CORP,2026-05-15,10-Q,Y
2057463,Liberty Capital Corp/NV,Liberty Capital,Liberty Capital Corp,GLIBB,GLIBA|GLIBB|GLIBK,OTC,NV,NV,Y,4841,Cable & Other Pay Television Services,operating, / Emerging growth company,smaller_reporting_<75M,12300 LIBERTY BLVD,,ENGLEWOOD,CO,80112,12300 LIBERTY BLVD,ENGLEWOOD,CO,80112,7208755700,,,000000000,"GCI Liberty, Inc.",2026-06-04,4,Y
2078416,"Liberty Live Holdings, Inc.",Liberty Live Holdings,"Liberty Live Holdings, Inc.",LLYVB,LLYVA|LLYVB|LLYVK,OTC,NV,NV,Y,7900,Services-Amusement & Recreation Services,operating, / Emerging growth company,smaller_reporting_<75M,12300 LIBERTY BLVD.,,ENGLEWOOD,CO,80112,12300 LIBERTY BLVD.,ENGLEWOOD,CO,80112,888-789-8415,,,332910829,,2026-05-13,8-K,Y
1172178,LIBERTY STAR URANIUM & METALS CORP.,Liberty Star Uranium & Metals,Liberty Star Uranium & Metals Corp.,LBSR,LBSR,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2 EAST CONGRESS ST.,STE 900,TUCSON,AZ,85701,2 EAST CONGRESS ST.,TUCSON,AZ,85701,520-425-1433,,,270019071,LIBERTY STAR GOLD CORP|TITANIUM INTELLIGENCE INC,2026-06-01,8-K,Y
1407704,"LINGERIE FIGHTING CHAMPIONSHIPS, INC.",Lingerie Fighting Championships,"Lingerie Fighting Championships, Inc.",BOTY,BOTY,OTC,NV,NV,Y,7900,Services-Amusement & Recreation Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,6955 NORTH DURANGO DRIVE,SUITE 1115-129,LAS VEGAS,NV,89149,6955 NORTH DURANGO DRIVE,LAS VEGAS,NV,89149,702-505-0743,,,208009362,"CALA ENERGY CORP.|XODTEC LED, INC.|Xodtec Group USA, Inc.|Sparking Events, Inc.",2026-05-20,10-Q,Y
2065821,Little West Holdings Inc.,Little West Holdings,Little West Holdings Inc.,LILW,LILW,,NV,NV,Y,2080,Beverages,other,,smaller_reporting_<75M,426 E 58TH STREET,,LOS ANGELES,CA,90011,426 E 58TH STREET,LOS ANGELES,CA,90011,(323) 412-0682,,,334089960,,2026-04-14,S-1/A,Y
1593549,"Livento Group, Inc.",Livento Group,"Livento Group, Inc.",LIVG,LIVG,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,17 STATE STREET,,NEW YORK,NY,10004,17 STATE STREET,NEW YORK,NY,10004,980 432 8241,,,493999052,"NuGene International, Inc.|Bling Marketing, Inc.",2026-05-15,10-Q,Y
1566826,"LogicMark, Inc.",LogicMark,"LogicMark, Inc.",LGMK,LGMK,OTC,NV,NV,Y,3842,"Orthopedic, Prosthetic & Surgical Appliances & Supplies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2801 DIODE LANE,,LOUISVILLE,KY,40299,2801 DIODE LANE,LOUISVILLE,KY,40299,(502) 442-7911,,,460678374,"Nxt-ID, Inc.",2026-05-15,8-K,Y
1892316,Longduoduo Co Ltd,Longduoduo Co,Longduoduo Co Ltd,LDDD,LDDD,OTC,NV,NV,Y,8000,Services-Health Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"G3-5-8016, SHUI'AN TOWN, RUYI HEADQUARTE",HOHHOT ECONOMIC DEVELOPMENT ZONE,HOHHOT,,010000,"G3-5-8016, SHUI'AN TOWN, RUYI HEADQUARTE",HOHHOT,,010000,86 (0472) 510 4980,,,372018431,,2026-05-12,10-Q,Y
1726079,"Lucent, Inc.",Lucent,"Lucent, Inc.",LUCN,LUCN,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5151 CALIFORNIA AVE.,SUITE 100,IRVINE,CA,92617,5151 CALIFORNIA AVE.,IRVINE,CA,92617,949-251-1470,,,834057513,"Tipmefast, Inc.",2025-12-31,8-K,Y
1960262,"LUDWIG ENTERPRISES, INC.",Ludwig Enterprises,"Ludwig Enterprises, Inc.",LUDG,LUDG,OTC,NV,NV,Y,8071,Services-Medical Laboratories,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,3160 NW 1 AVENUE,,POMPANO BEACH,FL,33064,3160 NW 1 AVENUE,POMPANO BEACH,FL,33064,786-235-9026,,,611133438,,2026-05-29,10-Q,Y
831378,LVPAI GROUP Ltd,LVPAI GROUP,LVPAI GROUP Ltd,LVPA,LVPA,OTC,NV,NV,Y,6799,"Investors, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,110 WALL STREET SUITE 15C,,NEW YORK,NY,10005,"50 WEST LIBERTY STREET, SUITE 880",RENO,NV,89501,2127018527,,,760251547,FINOTEC GROUP INC|ONLINE INTERNATIONAL CORP /NV/|CONDOR WEST CORP,2026-05-18,10-K,Y
1753373,"M2i Global, Inc.",M2i Global,"M2i Global, Inc.",MTWO,MTWO,OTC,NV,NV,Y,5050,Wholesale-Metals & Minerals (No Petroleum),operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,885 TAHOE BLVD.,,INCLINE VILLAGE,NV,89451,885 TAHOE BLVD.,INCLINE VILLAGE,NV,89451,(775) 909-6000,,,000000000,INKY INC.,2026-05-15,10-Q,Y
1977837,MADE IN USA INC.,Made in Usa,Made in Usa Inc.,USDW,USDW,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating, / Emerging growth company,smaller_reporting_<75M,"1712 PIONEER AVENUE,",SUITE 500,CHEYENNE,WY,82001,"1712 PIONEER AVENUE,",CHEYENNE,WY,82001,561-789-1139,,,371922983,ALIXO-YOLLOO Corp|ALIXO-YOLLO Corp|ALIXO-YOLLOO CORP.,2026-06-02,SCHEDULE 13G,Y
1318268,Madison Technologies Inc.,Madison Technologies,Madison Technologies Inc.,MDEX,MDEX,OTC,NV,NV,Y,5900,Retail-Miscellaneous Retail,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2500 WESTCHESTER AVENUE,SUITE 401,PURCHASE,NY,10577,2500 WESTCHESTER AVENUE,PURCHASE,NY,10577,(212) 257-4193,,,000000000,"MADISON EXPLORATIONS, INC.|Madison Explorations Inc.|MADISON EXPLORATIONS INC.",2026-05-18,10-Q,Y
1515317,MAGELLAN COPPER & GOLD Corp,MAGELLAN COPPER & GOLD,MAGELLAN COPPER & GOLD Corp,MAGE,MAGE,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,602 CEDAR STREET,SUITE 205,WALLACE,ID,83873,602 CEDAR STREET,WALLACE,ID,83873,707-291-6198,,,273566922,MAGELLAN COPPER & GOLD INC.|MAGELLAN GOLD Corp,2026-05-15,10-Q,Y
1439264,Marvion Inc.,Marvion,Marvion Inc.,MVNC,MVNC,OTC,NV,NV,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"UNIT B, 15/F, TEDA BUILDING",87 WING LOK STREET,SHEUNG WAN,,,"UNIT B, 15/F, TEDA BUILDING",SHEUNG WAN,,,852 2111 4437,,,262723015,Bonanza Goldfields Corp.|Bonanza Goldfield Corp.,2026-05-14,10-Q,Y
1404593,Medical Care Technologies Inc.,Medical Care Technologies,Medical Care Technologies Inc.,MDCE,MDCE,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,,smaller_reporting_<75M,1910 S STAPLEY DRIVE,SUITE 221,MESA,AZ,85204,1910 S STAPLEY DRIVE,MESA,AZ,85204,480-645-0750,,,000000000,"AM OIL RESOURCES & TECHNOLOGY INC.|Aventerra Explorations, Inc.",2026-04-22,1-A,Y
1827855,Medicale Corp.,Medicale,Medicale Corp.,MCLE,MCLE,OTC,NV,NV,Y,8000,Services-Health Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,9314 FOREST HILL BLVD,#929,WELLINGTON,FL,33411,9314 FOREST HILL BLVD,WELLINGTON,FL,33411,407-245-7339,,,981556944,,2026-02-17,10-Q,Y
1931055,Medinotec Inc.,Medinotec,Medinotec Inc.,MDNC,MDNC,OTC,NV,NV,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"NORTHLANDS DECO PARK, 10 NEW MARKET ST.",STAND 299 AVANT GARDE AVENUE,JOHANNESBURG,,2169,"NORTHLANDS DECO PARK, 10 NEW MARKET ST.",JOHANNESBURG,,2169,27 87 330 2301,,,364990343,,2026-05-28,10-K,Y
1520118,"MedWellAI, Inc.",MedWellAI,"MedWellAI, Inc.",MWAI,MWAI,OTC,NV,NV,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2380 DREW STREET,SUITE 3,CLEARWATER,FL,33765,2380 DREW STREET,CLEARWATER,FL,33765,813-358-4400,,,821725385,"INTEGRATED VENTURES, INC.|EMS FIND, INC.|LIGHTCOLLAR, INC.",2026-05-05,10-Q,Y
924095,"Metavesco, Inc.",Metavesco,"Metavesco, Inc.",MVCO,MVCO,OTC,NV,NV,Y,6199,Finance Services,operating,Non-accelerated filer,smaller_reporting_<75M,300 EAST MAIN STREET,,NORFOLK,VA,23510,410 PEACHTREE PKWY,CUMMING,GA,30041,678-341-5898,,,541694665,WATERSIDE CAPITAL CORP|EASTERN VIRGINIA SMALL BUSINESS INVESTMENT CORP,2025-07-25,253G1,Y
1309251,MICROALLIANCE GROUP INC.,Microalliance Group,Microalliance Group Inc.,MALG,MALG,OTC,NV,NV,Y,2080,Beverages,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"701 S. CARSON STREET, SUITE 200",,CARSON CITY,NV,89701,"701 S. CARSON STREET, SUITE 200",CARSON CITY,NV,89701,604-331-1459,,,861098668,"FOUNTAIN HEALTHY AGING, INC.|IMMUREBOOST, INC.|eSavingsStore.com, Inc.|Celtic Cross Ltd.",2025-07-24,D,Y
1854816,Minerva Gold Inc.,Minerva Gold,Minerva Gold Inc.,MINR,MINR,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"12/1 KUNAYEV STR, IA 17",,NUR-SULTAN,1P,010000,"12/1 KUNAYEV STR, IA 17",NUR-SULTAN,1P,010000,(725) 225-1800,,,981588963,,2026-05-11,10-K,Y
802257,"Mitesco, Inc.",Mitesco,"Mitesco, Inc.",MITI,MITI,OTC,NV,NV,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"505 BEACHLAND BLVD., SUITE 1377",,VERO BEACH,FL,32963,"505 BEACHLAND BLVD., SUITE 1377",VERO BEACH,FL,32963,844-383-8689,,,000000000,"True Nature Holding, Inc.|Trunity Holdings, Inc.|BRAIN TREE INTERNATIONAL INC",2026-06-08,8-K,Y
1440799,MMEX Resources Corp,MMEX Resources,MMEX Resources Corp,MMEX,MMEX,OTC,NV,NV,Y,7819,Services-Allied To Motion Picture Production,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3600 DICKINSON,,FORT STOCKTON,TX,79735,3600 DICKINSON,FORT STOCKTON,TX,79735,855-880-0400,,,261749145,"MMEX Mining Corp|Management Energy, Inc.|MGMT ENERGY, INC.|Quantum Information, Inc.",2026-04-21,8-K,Y
1447380,MOBIVITY HOLDINGS CORP.,Mobivity Holdings,Mobivity Holdings Corp.,MFON,MFON,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3133 WEST FRYE ROAD,SUITE 215,CHANDLER,AZ,85226,3133 WEST FRYE ROAD,CHANDLER,AZ,85226,877-282-7660,,,263439095,COMMERCETEL CORP|ARES VENTURES CORP.,2026-03-31,8-K,Y
1611046,ModuLink Inc.,ModuLink,ModuLink Inc.,MDLK,MDLK,OTC,NV,NV,Y,7000,"Hotels, Rooming Houses, Camps & Other Lodging Places",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"UNIT 2, LEVEL 6, WESTIN CENTRE","26 HUNG TO ROAD, KWUN TONG",HONG KONG,,,"UNIT 2, LEVEL 6, WESTIN CENTRE",HONG KONG,,,888-493-8028,,,465692180,International Endeavors Corp,2026-05-20,10-Q,Y
1671132,Music Licensing Inc.,Music Licensing,Music Licensing Inc.,SONG,SONG,OTC,NV,NV,Y,7900,Services-Amusement & Recreation Services,other,,smaller_reporting_<75M,3811 AIRPORT PULLING ROAD NORTH,SUITE 203,NAPLES,FL,34105,3811 AIRPORT PULLING ROAD NORTH,NAPLES,FL,34105,(833) 227-7683,,,465145215,Nuvus Gro Corp|HempTech Corp,2026-02-06,SCHEDULE 13D,Y
1556801,"My City Builders, Inc.",My City Builders,"My City Builders, Inc.",MYCB,MYCB,OTC,NV,NV,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"100 BISCAYNE BLVD., #1611",,MIAMI,FL,33132,"100 BISCAYNE BLVD., #1611",MIAMI,FL,33132,786-553-4006,,,273816969,"iMine Corp|DIAMANTE MINERALS, INC.|OCONN INDUSTRIES CORP",2026-06-05,10-Q,Y
1703625,"NAPC Defense, Inc.",NAPC Defense,"NAPC Defense, Inc.",BLIS,BLIS,OTC,NV,NV,Y,7310,Services-Advertising,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1501 LAKE AVE SE,,LARGO,FL,33771,1501 LAKE AVE SE,LARGO,FL,33771,(754) 242-6272,,,000000000,"Treasure & Shipwreck Recovery, Inc.|BELISS CORP.",2026-06-08,8-K,Y
1605481,Nevada Canyon Gold Corp.,Nevada Canyon Gold,Nevada Canyon Gold Corp.,NGLD,NGLD,OTC,NV,NV,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5655 RIGGINS COURT,SUITE 15,RENO,NV,89502,5655 RIGGINS COURT,RENO,NV,89502,888-909-5548,,,465152859,"Tech Foundry Ventures, Inc.",2026-06-05,8-K,Y
1132509,New Momentum Corp.,New Momentum,New Momentum Corp.,NNAX,NNAX,OTC,NV,NV,Y,8741,Services-Management Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"150 CECIL STREET, #08-01",,SINGAPORE,U0,069543,"150 CECIL STREET, #08-01",SINGAPORE,U0,069543,65 3105 1428,,,880435998,"Eason Education Kingdom Holdings, Inc.|HAN LOGISTICS INC",2026-03-31,NT 10-K,Y
1371128,"NewHydrogen, Inc.",NewHydrogen,"NewHydrogen, Inc.",NEWH,NEWH,OTC,NV,NV,Y,3081,Unsupported Plastics Film & Sheet,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,27936 VISTA CANYON BLVD,Suite 202,Santa Clarita,CA,91387,27936 VISTA CANYON BLVD,Santa Clarita,CA,91387,6612510001,,,000000000,BioSolar Inc,2026-05-15,10-Q,Y
1289223,"Newport Gold, Inc.",Newport Gold,"Newport Gold, Inc.",NWPG,,OTC,NV,NV,Y,1040,Gold and Silver Ores,operating,,smaller_reporting_<75M,1495 RIDGEVIEW DRIVE,SUITE 220,RENO,NV,89509,1495 RIDGEVIEW DRIVE,RENO,NV,89509,905-542-4990,,,000000000,,2026-04-22,D,Y
1593001,"NightFood Holdings, Inc.",NightFood Holdings,"NightFood Holdings, Inc.",NGTF,NGTF,OTC,NV,NV,Y,3590,Misc Industrial & Commercial Machinery & Equipment,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,500 WHITE PLAINS ROAD,SUITE 520,TARRYTOWN,NY,10591,500 WHITE PLAINS ROAD,TARRYTOWN,NY,10591,866-291-7778,,,463885019,,2026-05-20,10-Q,Y
772263,NITCHES INC,Nitches,Nitches Inc,NICH,,OTC,NV,NV,Y,2330,"Women's, Misses': and Juniors Outerwear",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1333 N. BUFFALO DR.,UNIT 210,LAS VEGAS,NV,89128,1333 N. BUFFALO DR.,LAS VEGAS,NV,89128,858-625-2633,,,952848021,BEEBAS CREATIONS INC,2026-01-08,15-12G,Y
1603793,"Norris Industries, Inc.",Norris Industries,"Norris Industries, Inc.",NRIS,NRIS,OTC,NV,NV,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,102 PALO PINTO ST.,SUITE B,WEATHERFORD,TX,76086,102 PALO PINTO ST.,WEATHERFORD,TX,76086,8558096900,,,465034746,"INTERNATIONAL WESTERN PETROLEUM, INC.",2026-05-29,10-K,Y
1415744,NORTHERN MINERALS & EXPLORATION LTD.,Northern Minerals & Exploration,Northern Minerals & Exploration Ltd.,NMEX,NMEX,OTC,NV,NV,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1301 AVENUE M,,CISCO,TX,76437,P.O. BOX 31,CISCO,TX,76437,254-442-2627,,,000000000,"Punchline Resources Ltd.|Punchline Entertainment, Inc.",2026-06-05,8-K,Y
827099,Ocean Thermal Energy Corp,Ocean Thermal Energy,Ocean Thermal Energy Corp,CPWR,CPWR,OTC,NV,NV,Y,4931,Electric & Other Services Combined,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3675 MARKET STREET,SUITE 200,PHILADELPHIA,PA,19104,3675 MARKET STREET,PHILADELPHIA,PA,19104,(717) 299-1344,,,205081381,TETRIDYN SOLUTIONS INC|CREATIVE VENDING CORP,2026-05-12,10-Q,Y
1626644,"Odyssey Health, Inc.",Odyssey Health,"Odyssey Health, Inc.",ODYY,ODYY,OTC,NV,NV,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2300 WEST SAHARA AVENUE,SUITE 800-#4012,LAS VEGAS,NV,89102,2300 WEST SAHARA AVENUE,LAS VEGAS,NV,89102,702-780-6559,,,471022125,"Odyssey Group International, Inc.",2026-05-26,8-K,Y
1848334,"OKMIN RESOURCES, INC.",Okmin Resources,"Okmin Resources, Inc.",OKMN,OKMN,OTC,NV,NV,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,16501 VENTURA BLVD.,SUITE 400,ENCINO,CA,91436,16501 VENTURA BLVD.,ENCINO,CA,91436,818-201-3727,,,854401166,,2026-05-15,10-Q,Y
1682265,Onar Holding Corp,Onar Holding,Onar Holding Corp,ONAR,ONAR,OTC,NV,NV,Y,1700,Construction - Special Trade Contractors,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,8605 SANTA MONICA BOULEVARD,PMB 36522,LOS ANGELES,CA,90069,8605 SANTA MONICA BOULEVARD,LOS ANGELES,CA,90069,213-437-3081,,,472200506,"Reliant Holdings, Inc.",2026-06-01,DEF 14C,Y
1622244,"One World Products, Inc.",One World Products,"One World Products, Inc.",OWPC,OWPC,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,6605 GRAND MONTECITO PKWY,SUITE 100,LAS VEGAS,NV,89149,6605 GRAND MONTECITO PKWY,LAS VEGAS,NV,89149,7026050605,,,611744826,"One World Pharma, Inc.|PUNTO GROUP, CORP.",2026-03-31,NT 10-K,Y
1388295,OneMeta Inc.,OneMeta,OneMeta Inc.,ONEI,ONEI,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1 HAMPSHIRE COURT,,"NEWPORT BEACH,",CA,92660,1 HAMPSHIRE COURT,"NEWPORT BEACH,",CA,92660,949-642-7816,,,205150818,"WebSafety, Inc.|Blindspot Alert, Inc.|Promotions on Wheels Holdings, Inc.",2026-05-26,SEC STAFF ACTION,Y
1419793,"ORIGINCLEAR, INC.",Originclear,"Originclear, Inc.",OCLN,OCLN,OTC,NV,NV,Y,3559,"Special Industry Machinery, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,600 CLEVELAND ST,SUITE 307,CLEARWATER,FL,33755,600 CLEVELAND ST,CLEARWATER,FL,33755,727-476-1330,,,260287664,ORIGINOIL INC,2026-05-29,10-Q,Y
1854183,Orion Bliss Corp.,Orion Bliss,Orion Bliss Corp.,ORIB,ORIB,OTC,NV,NV,Y,2840,"Soap, Detergents, Cleang Preparations, Perfumes, Cosmetics",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,KALONITE 9-57,,ASHDOD,,7724233,KALONITE 9-57,ASHDOD,,7724233,307-298-0969,,,981591444,,2026-02-17,10-Q,Y
1994582,Oyocar Group Inc.,Oyocar Group,Oyocar Group Inc.,OYCG,OYCG,OTC,NV,NV,Y,5500,Retail-Auto Dealers & Gasoline Stations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"COLINAS MARINAS, MARBELLAS, VILLA 10",,SOSUA,G8,57000,"COLINAS MARINAS, MARBELLAS, VILLA 10",SOSUA,G8,57000,1-829-859-0389,,,981742455,,2026-04-13,10-Q,Y
1751707,OZ VISION INC.,Oz Vision,Oz Vision Inc.,OZVN,UNXP|OZVN,OTC,NV,NV,Y,4700,Transportation Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,4345 W. POST RD,,LAS VEGAS,NV,89118,4345 W. POST RD,LAS VEGAS,NV,89118,949-350-0123,,,821965608,United Express Inc.,2026-05-15,10-Q,Y
1679817,"OZOP ENERGY SOLUTIONS, INC.",Ozop Energy Solutions,"Ozop Energy Solutions, Inc.",OZSC,OZSC,OTC,NV,NV,Y,3690,"Miscellaneous Electrical Machinery, Equipment & Supplies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,55 RONALD REAGAN BLVD.,,WARWICK,NY,10990,55 RONALD REAGAN BLVD.,WARWICK,NY,10990,(845) 544-5112,,,352540672,OZOP SURGICAL CORP.|Newmarkt Corp.,2026-05-22,10-Q,Y
1620749,Panamera Holdings Corp,Panamera Holdings,Panamera Holdings Corp,PHCI,PHCI,OTC,NV,NV,Y,8742,Services-Management Consulting Services,operating, / Emerging growth company,smaller_reporting_<75M,"2000 WEST LOOP SOUTH, SUITE 1820",,HOUSTON,TX,77056,"2000 WEST LOOP SOUTH, SUITE 1820",HOUSTON,TX,77056,713-878-7200,,,465707326,PANAMERA HEALTHCARE Corp,2026-05-12,8-K,Y
1297937,"PARKS AMERICA, INC",Parks America,"Parks America, Inc",PRKA,PRKA,OTC,NV,NV,Y,7990,Services-Miscellaneous Amusement & Recreation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1300 OAK GROVE RD,,PINE MOUNTAIN,GA,31822,1300 OAK GROVE RD,PINE MOUNTAIN,GA,31822,706-663-8744,,,910626756,GREAT AMERICAN FAMILY PARKS INC,2026-05-11,10-Q,Y
1080448,PATRIOT GOLD CORP,Patriot Gold,Patriot Gold Corp,PGOL,PGOL,OTC,NV,NV,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,401 RYLAND STREET,SUITE 180,RENO,NV,89502,401 RYLAND STREET,RENO,NV,89502,702-456-9565,,,860947048,NORTHERN OSTRICH CORP,2026-05-15,10-Q,Y
1609258,PetroGas Co,PetroGas,PetroGas Co,PTCO,PTCO,OTC,NV,NV,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,2800 POST OAK BOULEVARD,SUITE 4100,HOUSTON,TX,77056,2800 POST OAK BOULEVARD,HOUSTON,TX,77056,(806) 375-3338,,,981153516,America Resources Exploration Inc.|Alazzio Entertainment Corp,2026-02-05,10-Q,Y
1512922,"PetVivo Holdings, Inc.",PetVivo Holdings,"PetVivo Holdings, Inc.",PETV,PETV|PETVW,OTC,NV,NV,Y,3841,Surgical & Medical Instruments & Apparatus,operating, / Emerging growth company,smaller_reporting_<75M,5251 EDINA INDUSTRIAL BLVD,,EDINA,MN,55439,5251 EDINA INDUSTRIAL BLVD,EDINA,MN,55439,(952) 217-4952,,,990363559,Technologies Scan Corp,2026-06-01,4,Y
1710495,PINEAPPLE EXPRESS CANNABIS Co,PINEAPPLE EXPRESS CANNABIS,PINEAPPLE EXPRESS CANNABIS Co,PNXP,PNXP,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,300 PEACHTREE STREET NE,#1775,ATLANTA,GA,30009,300 PEACHTREE STREET NE,ATLANTA,GA,30009,404-734-3277,,,364864568,MINARO CORP,2026-05-05,8-K,Y
1813452,Planet 13 Holdings Inc.,Planet 13 Holdings,Planet 13 Holdings Inc.,PLNH,PLNH,OTC,NV,NV,Y,0100,Agricultural Production-Crops,operating, / Emerging growth company,smaller_reporting_<75M,2548 WEST DESERT INN ROAD,,LAS VEGAS,NV,89109,4675 W. TECO AVE.,LAS VEGAS,NV,89118,702-815-1313,,,832787199,,2026-05-15,8-K,Y
1265521,"Polomar Health Services, Inc.",Polomar Health Services,"Polomar Health Services, Inc.",PMHS,PMHS,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,32866 US HWY. 19 N,,PALM HARBOR,FL,34684,32866 US HWY. 19 N,PALM HARBOR,FL,34684,800-490-7454,,,861006313,Trustfeed Corp.|HEALTHMED SERVICES LTD,2026-06-01,10-Q,Y
1350156,PREAXIA HEALTH CARE PAYMENT SYSTEMS INC.,Preaxia Health Care Payment Systems,Preaxia Health Care Payment Systems Inc.,PAXH,,OTC,NV,NV,Y,5700,"Retail-Home Furniture, Furnishings & Equipment Stores",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,PO BOX 368,,DUNEDIN,FL,34697-0368,PO BOX 368,DUNEDIN,FL,34697-0368,(403) 850-4120,,,204395271,SUN WORLD PARTNERS INC,2026-05-15,10-Q,Y
1570937,Premier Air Charter Holdings Inc.,Premier Air Charter Holdings,Premier Air Charter Holdings Inc.,PREM,PREM,OTC,NV,NV,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2006 PALOMAR AIRPORT ROAD,SUITE 210,CARLSBAD,CA,92011,2006 PALOMAR AIRPORT ROAD,CARLSBAD,CA,92011,858-239-0788,,,990385465,ALTAIR INTERNATIONAL CORP.,2026-05-26,3,Y
1128189,"ProtoKinetix, Inc.",ProtoKinetix,"ProtoKinetix, Inc.",PKTX,PKTX,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,109 W. MAIN ST.,,DALTON,OH,44618,109 W. MAIN ST.,DALTON,OH,44618,330-445-4971,,,943355026,RJV NETWORK INC,2026-05-15,NT 10-Q,Y
1141964,PUBLIC CO MANAGEMENT CORP,Public Co Management,Public Co Management Corp,PCMC,PCMC,OTC,NV,NV,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9350 WILSHIRE BOULEVARD,SUITE 203,BEVERLY HILLS,CA,90212,9350 WILSHIRE BOULEVARD,BEVERLY HILLS,CA,90212,310-862-1957,,,880496188,"MYOFFIZ, INC.|MYOFFIZ INC",2026-05-12,10-Q,Y
1575858,Purebase Corp,Purebase,Purebase Corp,PUBC,PUBC,OTC,NV,NV,Y,2870,Agricultural Chemicals,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,8631 STATE HIGHWAY 124,P.O. BOX 757,IONE,CA,95640,8631 STATE HIGHWAY 124,IONE,CA,95640,(530) 676-7873,,,272060863,Port of Call Online Inc.,2026-06-01,8-K,Y
856984,"QHSLab, Inc.",QHSLab,"QHSLab, Inc.",USAQ,USAQ,OTC,NV,NV,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,901 NORTHPOINT PARKWAY,SUITE 302,WEST PALM BEACH,FL,33407,901 NORTHPOINT PARKWAY,WEST PALM BEACH,FL,33407,(929) 379-6503,,,112655906,USA EQUITIES CORP.|AMERICAN BIOGENETIC SCIENCES INC,2026-05-26,8-K,Y
1103795,"QS Energy, Inc.",QS Energy,"QS Energy, Inc.",QSEP,QSEP,OTC,NV,NV,Y,3533,Oil & Gas Field Machinery & Equipment,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,23902 FM 2978,,TOMBALL,TX,77375,23902 FM 2978,TOMBALL,TX,77375,775-300-7647,,,522088326,SAVE THE WORLD AIR INC,2026-05-15,10-Q,Y
1393781,Quality Industrial Corp.,Quality Industrial,Quality Industrial Corp.,QIND,QIND,OTC,NV,NV,Y,3590,Misc Industrial & Commercial Machinery & Equipment,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,505 MONTGOMERY STREET FLOOR 11,,SAN FRANCISCO,CA,94111,505 MONTGOMERY STREET FLOOR 11,SAN FRANCISCO,CA,94111,800-706-0806,,,352675388,WIKISOFT CORP.|POWER PLAY DEVELOPMENT CORP,2026-05-15,10-Q,Y
1663038,Quantum Genesis AI Corp.,Quantum Genesis AI,Quantum Genesis AI Corp.,QTZM,QTZM|QGAI,,NV,NV,Y,2860,Industrial Organic Chemicals,operating, / Emerging growth company,smaller_reporting_<75M,"15656 BERNARDO CENTER DRIVE, #801",,SAN DIEGO,CA,92127,"15656 BERNARDO CENTER DRIVE, #801",SAN DIEGO,CA,92127,858-216-7676,,,364806481,Quantumzyme Corp.|Reliant Service Inc,2026-04-15,10-Q/A,Y
1101433,QUOTEMEDIA INC,Quotemedia,Quotemedia Inc,QMCI,QMCI,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,17100 E SHEA BLVD,SUITE 230,FOUNTAIN HILLS,AZ,85268,17100 E SHEA BLVD,FOUNTAIN HILLS,AZ,85268,4809057311,,,912008633,QUOTEMEDIA INC|QUOTEMEDIA COM INC,2026-05-14,10-Q,Y
1872292,Rainmaker Worldwide Inc.,Rainmaker Worldwide,Rainmaker Worldwide Inc.,RAKR,RAKR,OTC,NV,NV,Y,2086,Bottled & Canned Soft Drinks & Carbonated Waters,operating, / Emerging growth company,smaller_reporting_<75M,2510 EAST SUNSET ROAD,SUITE 5 #925,LAS VEGAS,NV,89120,2510 EAST SUNSET ROAD,LAS VEGAS,NV,89120,877-334-3820,,,824346844,,2026-04-24,8-K,Y
1438943,"RANGE IMPACT, INC.",Range Impact,"Range Impact, Inc.",RNGE,RNGE,OTC,NV,NV,Y,1600,Heavy Construction Other Than Bldg Const - Contractors,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,200 PARK AVENUE,SUITE 400,CLEVELAND,OH,44122,200 PARK AVENUE,CLEVELAND,OH,44122,530-231-7800,,,753268988,"MALACHITE INNOVATIONS, INC.|Vitality Biopharma, Inc.|Stevia First Corp.|Legend Mining Inc.",2026-06-03,8-K,Y
1415397,Raphael Pharmaceutical Inc.,Raphael Pharmaceutical,Raphael Pharmaceutical Inc.,RAPH,RAPH,OTC,NV,NV,Y,2833,Medicinal Chemicals & Botanical Products,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,SUITE 105 - 5348 VEGAS DR.,,LAS VEGAS,NV,89108,SUITE 105 - 5348 VEGAS DR.,LAS VEGAS,NV,89108,702-442-1166,,,260204284,Easy Energy Inc,2026-05-14,10-Q,Y
1910975,Rapid Line Inc.,Rapid Line,Rapid Line Inc.,RPDL,RPDL,OTC,NV,NV,Y,8200,Services-Educational Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1111 SOUTH ROOP STREET,#1915,CARSON CITY,NV,89702,1111 SOUTH ROOP STREET,CARSON CITY,NV,89702,415-841-3570,,,372039216,,2026-06-01,10-Q,Y
2126221,"Recreatives Industries, Inc.",Recreatives Industries,"Recreatives Industries, Inc.",RECX,,OTC,NV,NV,Y,,,other,,smaller_reporting_<75M,1936 59TH TERRACE EAST,,BRADENTON,FL,34203,1936 59TH TERRACE EAST,BRADENTON,FL,34203,(800) 255-2511,,,873525932,,2026-05-22,1-A,Y
1589150,Regen BioPharma Inc,Regen BioPharma,Regen BioPharma Inc,RGBP,RGBP|RGBPP,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4700 SPRING ST #304,,LA MESA,CA,91942,4700 SPRING ST #304,LA MESA,CA,91942,619-722-5505,,,455192997,,2026-05-14,10-Q,Y
1357878,"REGENEREX PHARMA, INC.",Regenerex Pharma,"Regenerex Pharma, Inc.",RGPX,RGPX,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating, / Emerging growth company,smaller_reporting_<75M,"5348 VEGAS DRIVE, SUITE 177",,LAS VEGAS,NV,89108,"5348 VEGAS DRIVE, SUITE 177",LAS VEGAS,NV,89108,305-927-5191,,,980479983,"PEPTIDE TECHNOLOGIES, INC.|Eternelle Skincare Products Inc.|CREENERGY Corp|ONLINE ORIGINALS, INC",2026-05-06,8-K,Y
1412126,RemSleep Holdings Inc.,RemSleep Holdings,RemSleep Holdings Inc.,RMSL,RMSL,OTC,NV,NV,Y,7200,Services-Personal Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,14175 ICOT BVLD. SUITE 300,,CLEARWATER,FL,33760,14175 ICOT BVLD. SUITE 300,CLEARWATER,FL,33760,(727) 955-4465,,,383759675,"OBICOM, INC.|Kat Gold Holdings Corp.|Bella Viaggio, Inc.",2026-06-04,8-K,Y
1335288,ReoStar Energy CORP,ReoStar Energy,ReoStar Energy CORP,REOS,REOS,OTC,NV,NV,Y,1382,Oil & Gas Field Exploration Services,operating,,smaller_reporting_<75M,87 N. RAYMOND AVE,SUITE 200,PASADENA,CA,91103,87 N. RAYMOND AVE,PASADENA,CA,91103,1-817-989-7367,,,208428738,"GOLDRANGE RESOURCES, INC.",2026-04-29,1-K,Y
897078,"Resonate Blends, Inc.",Resonate Blends,"Resonate Blends, Inc.",KOAN,KOAN,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"26565 AGOURA RD.,","SUITE 200,",CALABASAS,CA,91302,"26565 AGOURA RD.,",CALABASAS,CA,91302,571-888-0009,,,581588291,"Textmunication Holdings, Inc.|FIRSTWAVE TECHNOLOGIES INC|BROCK INTERNATIONAL INC|BROCK CONTROL SYSTEMS INC",2025-07-22,15-12G/A,Y
1785493,RHINO BITCOIN INC.,Rhino Bitcoin,Rhino Bitcoin Inc.,RHNO,RHNO,OTC,NV,NV,Y,1700,Construction - Special Trade Contractors,operating, / Emerging growth company,smaller_reporting_<75M,1200 BRICKELL AVENUE #310,,MIAMI,FL,33131,1200 BRICKELL AVENUE #310,MIAMI,FL,33131,888-854-3824,,,611907981,Phoenix Plus Corp.,2026-04-15,8-K/A,Y
1424864,Rise Gold Corp.,Rise Gold,Rise Gold Corp.,RYES,RYES,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1250 - 625 HOWE STREET,,VANCOUVER,,V6C 2T6,1250 - 625 HOWE STREET,VANCOUVER,,V6C 2T6,604-999-4136,,,300692325,Rise Resources Inc.|Patriot Minefinders Inc.|Atlantic Resources Inc.,2026-05-22,8-K,Y
1970743,"RMX INDUSTRIES, INC.",Rmx Industries,"Rmx Industries, Inc.",RMXI,RMXI,OTC,NV,NV,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,4514 COLE AVE,STE. 600,DALLAS,TX,75205,4514 COLE AVE,DALLAS,TX,75205,619-977-7203,,,882960484,"Reticulate Micro, Inc.",2026-05-19,10-Q,Y
2034288,Rocky Mountains Group Ltd,Rocky Mountains Group,Rocky Mountains Group Ltd,RMGL,,OTC,NV,NV,Y,8200,Services-Educational Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,E 242 BUCKLANDS BEACH ROAD,BUCKLANDS BEACH,AUCKLAND,Q2,2012,E 242 BUCKLANDS BEACH ROAD,AUCKLAND,Q2,2012,61 4 05223877,,,932609396,,2026-05-04,8-A12G,Y
1893657,Rubber Leaf Inc,Rubber Leaf,Rubber Leaf Inc,RLEA,RLEA,OTC,NV,NV,Y,3714,Motor Vehicle Parts & Accessories,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"QIXING ROAD, WENG'AO INDUSTRIAL ZONE","CHUNHU SUBDISTRICT, FENGHUA DISTRICT","NINGBO, ZHEJIANG",F4,315506,"QIXING ROAD, WENG'AO INDUSTRIAL ZONE","NINGBO, ZHEJIANG",F4,315506,86-18217730800,,,320655276,,2026-06-03,S-1/A,Y
1128281,"Saker Aviation Services, Inc.",Saker Aviation Services,"Saker Aviation Services, Inc.",SKAS,SKAS,OTC,NV,NV,Y,4581,"Airports, Flying Fields & Airport Terminal Services",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,885 2ND AVENUE,,NEW YORK,NY,10017,885 2ND AVENUE,NEW YORK,NY,10017,212-909-9500,,,870617649,"FirstFlight, Inc.|FBO AIR, INC.|SHADOWS BEND DEVELOPMENT INC",2026-05-15,10-Q,Y
1277575,SAXON CAPITAL GROUP INC,Saxon Capital Group,Saxon Capital Group Inc,SCGX,SCGX,OTC,NV,NV,Y,1311,Crude Petroleum & Natural Gas,operating,,smaller_reporting_<75M,7740 E EVANS RD,,SCOTTSDALE,AZ,85260,7740 E GRAY RD,SCOTTSDALE,AZ,85260,480-385-3893,,,300220588,"USA SUPERIOR ENERGY HOLDINGS, INC.|COMLINK COMMUNICATIONS CO",2026-04-23,D,Y
2032609,Scientist Home Future Health Ltd,Scientist Home Future Health,Scientist Home Future Health Ltd,SHFH,SHFH,OTC,NV,NV,Y,2844,"Perfumes, Cosmetics & Other Toilet Preparations",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"3/F, MOW HING INDUSTRIAL BUILDING",205 WAI YIP STREET,KWUN TONG,K3,00000,"3/F, MOW HING INDUSTRIAL BUILDING",KWUN TONG,K3,00000,85257023076,,,000000000,,2026-05-14,10-Q,Y
1763660,SEATech Ventures Corp.,SEATech Ventures,SEATech Ventures Corp.,SEAV,SEAV,OTC,NV,NV,Y,7380,Services-Miscellaneous Business Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"11-05&11-06, TOWER A,","AVE 3 VERTICAL BUSINESS SUITE,","BANGSAR SOUTH, KUALA LUMPUR",N8,59200,"11-05&11-06, TOWER A,","BANGSAR SOUTH, KUALA LUMPUR",N8,59200,60322421288,,,611992326,,2026-05-27,DEF 14C,Y
1358633,SENTIENT BRANDS HOLDINGS INC.,Sentient Brands Holdings,Sentient Brands Holdings Inc.,SNBH,SNBH,OTC,NV,NV,Y,5734,Retail-Computer & Computer Software Stores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,590 MADISON AVE,"21ST, FLOOR",NEW YORK,NY,10022,590 MADISON AVE,NEW YORK,NY,10022,646-202-2897,,,200956471,"Intelligent Buying, Inc.",2026-05-22,3,Y
889353,Sentinel Holdings Ltd.,Sentinel Holdings,Sentinel Holdings Ltd.,SNTL,SNTL,OTC,NV,NV,Y,7200,Services-Personal Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1793 LAFAYETTE ST 2ND FL,,SANTA CLARA,CA,95050,1793 LAFAYETTE ST 2ND FL,SANTA CLARA,CA,95050,801-706-9429,,,954363944,James Maritime Holdings Inc.|OUT TAKES INC,2026-06-05,10-K,Y
794998,SETO HOLDINGS INC,Seto Holdings,Seto Holdings Inc,SETO,SETO,OTC,NV,NV,Y,3540,Metalworkg Machinery & Equipment,operating,,smaller_reporting_<75M,554 NORTH STATE ROAD,,BRIARCLIFF MANOR,NY,10510,554 NORTH STATE ROAD,BRIARCLIFF MANOR,NY,10510,9142731400,,,770082545,SEMICON TOOLS INC /NV/,2025-12-19,QUALIF,Y
819926,SHARING ECONOMY INTERNATIONAL INC.,Sharing Economy International,Sharing Economy International Inc.,SEII,SEII,OTC,NV,NV,Y,7373,Services-Computer Integrated Systems Design,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9205 COUNTRY CLUB DRIVE,,FARMINGTON HILLS,MI,48221,9205 COUNTRY CLUB DRIVE,FARMINGTON HILLS,MI,48221,248-971-9325,,,900648920,"Cleantech Solutions International, Inc.,|China Wind Systems, Inc|MALEX INC",2026-06-03,8-K,Y
1031093,"SILVER BULL RESOURCES, INC.",Silver Bull Resources,"Silver Bull Resources, Inc.",SVBL,SVBL,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"999 WEST HASTINGS STREET, SUITE 1508",,VANCOUVER,,V6C 2W2,"999 WEST HASTINGS STREET, SUITE 1508",VANCOUVER,,V6C 2W2,604-687-5800,,,911766677,METALLINE MINING CO,2026-04-17,8-K,Y
1508786,"SILVERTON ENERGY, INC.",Silverton Energy,"Silverton Energy, Inc.",SLTN,,OTC,NV,NV,Y,3021,Rubber & Plastics Footwear,operating,Smaller reporting company,smaller_reporting_<75M,17304 PRESTON RD,SUITE 1290,DALLAS,TX,75252,17304 PRESTON RD,DALLAS,TX,75252,2148026777,,,923197364,"META GOLD, INC.|TIRELESS STEPS, INC.",2025-08-28,D,Y
1085277,"SKINVISIBLE, INC.",Skinvisible,"Skinvisible, Inc.",SKVI,SKVI,OTC,NV,NV,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,6320 S SANDHILL ROAD,UNIT 9,LAS VEGAS,NV,89120,6320 S SANDHILL ROAD,LAS VEGAS,NV,89120,702-433-7154,,,880344219,SKINVISIBLE INC,2026-05-13,10-Q,Y
1546853,"Skkynet Cloud Systems, Inc.",Skkynet Cloud Systems,"Skkynet Cloud Systems, Inc.",SKKY,SKKY,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2233 ARGENTIA ROAD,SUITE 302,MISSISSAUGA,A6,L5N 2X7,2233 ARGENTIA ROAD,MISSISSAUGA,A6,L5N 2X7,888-702-7851,,,453757848,"Skyynet Cloud Systems, Inc.",2026-04-28,4,Y
1555017,"Sky Century Investment, Inc.",Sky Century Investment,"Sky Century Investment, Inc.",SKYI,SKYI,OTC,NV,NV,Y,8741,Services-Management Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,220 EMERALD VISTA WAY #233,,LAS VEGAS,NV,89144,220 EMERALD VISTA WAY #233,LAS VEGAS,NV,89144,205-238-7735,,,455243254,"BAND REP MANAGEMENT, INC.|Band Rep Management, Inc.|SKY CENTURY INVESTMENT INC.",2026-04-14,10-Q,Y
1817511,SOCIETY PASS INCORPORATED.,Society Pass Incorporated.,Society Pass Incorporated.,SOPAQ,SOPAQ,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating, / Emerging growth company,smaller_reporting_<75M,"80 ROBINSON ROAD, #17-01B",,SINGAPORE,,068898,"80 ROBINSON ROAD, #17-01B",SINGAPORE,,068898,65 6518-9382,,,831019155,,2026-06-08,8-K,Y
1071840,"SolarWindow Technologies, Inc.",SolarWindow Technologies,"SolarWindow Technologies, Inc.",WNDW,WNDW,OTC,NV,NV,Y,2860,Industrial Organic Chemicals,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,9375 E. SHEA BLVD,SUITE 107-B,SCOTTSDALE,AZ,85260,9375 E. SHEA BLVD,SCOTTSDALE,AZ,85260,800-213-0689,,,593509694,"NEW ENERGY TECHNOLOGIES, INC.|OCTILLION CORP",2026-05-20,EFFECT,Y
1427644,"Solidus Communications, Inc.",Solidus Communications,"Solidus Communications, Inc.",SLDC,SLDC,OTC,NV,NV,Y,4813,Telephone Communications (No Radiotelephone),operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,260 WILLIAMSON BLVD,STE 731544,ORMOND BEACH,FL,32174,260 WILLIAMSON BLVD,ORMOND BEACH,FL,32174,7869424449,,,980546544,"Telco Cuba, Inc.|TELCO CUBA, INC..|CaerVision Global, Inc.|American Mineral Group, Inc.|Sungro Minerals Inc.",2025-09-30,QUALIF,Y
1874138,"Sparx Holdings Group, Inc.",Sparx Holdings Group,"Sparx Holdings Group, Inc.",SHGI,,OTC,NV,NV,Y,3585,Air-Cond & Warm Air Heatg Equip & Comm & Indl Refrig Equip,operating, / Emerging growth company,smaller_reporting_<75M,"1800D MINERAL SPRING AVENUE, #164",,NORTH PROVIDENCE,RI,02904,1180 NARRAGANSETT BOULEVARD,CRANSTON,RI,02905,401-830-9878,,,923402117,"Prime Time Holdings, Inc.",2026-04-07,1-SA,Y
1840102,"SPECIFICITY, INC.",Specificity,"Specificity, Inc.",SPTY,SPTY,OTC,NV,NV,Y,7311,Services-Advertising Agencies,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,408 WARE BLVD,SUITE 508,TAMPA,FL,33619,408 WARE BLVD,TAMPA,FL,33619,8133644744,,,854017786,,2026-06-05,10-K/A,Y
1131903,SPECTRAL CAPITAL Corp,SPECTRAL CAPITAL,SPECTRAL CAPITAL Corp,FCCN,FCCN,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4500 9TH AVENUE NE,,SEATTLE,WA,98105,4500 9TH AVENUE NE,SEATTLE,WA,98105,206-385-6490,,,880472860,SPECTRA CAPITAL Corp|FUSA CAPITAL CORP|GALAXY CHAMPIONSHIP WRESTLING INC,2026-06-05,10-K/A,Y
1553788,"SPLASH BEVERAGE GROUP, INC.",Splash Beverage Group,"Splash Beverage Group, Inc.",SBEVW,SBEV|SBEVW,OTC,NV,NV,Y,2080,Beverages,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"1314 E LAS OLAS BLVD, SUITE 221",,FORT LAUDERDALE,FL,33301,"1314 E LAS OLAS BLVD, SUITE 221",FORT LAUDERDALE,FL,33301,954.745.5815,,,341720075,"Canfield Medical Supply, Inc.",2026-06-04,8-K,Y
1999261,StageWise Strategies Corp.,StageWise Strategies,StageWise Strategies Corp.,STWI,STWI,OTC,NV,NV,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,FRIEDRICHSTR. 114A,,BERLIN,2M,10117,FRIEDRICHSTR. 114A,BERLIN,2M,10117,14133076199,,,612108075,,2026-05-20,10-Q/A,Y
1178660,Standard Dental Labs Inc.,Standard Dental Labs,Standard Dental Labs Inc.,TUTH,TUTH,OTC,NV,NV,Y,3843,Dental Equipment & Supplies,operating,,smaller_reporting_<75M,424 E CENTRAL BLVD,SUITE 308,ORLANDO,FL,32801,424 E CENTRAL BLVD,ORLANDO,FL,32801,321-465-9899,,,880411500,COSTAS INC,2026-04-24,1-U,Y
1401835,Star Gold Corp.,Star Gold,Star Gold Corp.,SRGZ,SRGZ,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1875 N. LAKEWOOD DR.,SUITE 200,COEUR D'ALENE,ID,83814,1875 N. LAKEWOOD DR.,COEUR D'ALENE,ID,83814,208-664-5066,,,270348508,Elan Development Inc,2026-06-05,8-K,Y
1539850,"Starco Brands, Inc.",Starco Brands,"Starco Brands, Inc.",STCB,STCB,OTC,NV,NV,Y,7311,Services-Advertising Agencies,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,250 26TH STREET,SUITE 200,SANTA MONICA,CA,90402,250 26TH STREET,SANTA MONICA,CA,90402,818-760-1644,,,271781753,"Insynergy Products, Inc",2026-05-20,10-Q,Y
1803096,"STARGUIDE GROUP, INC.",Starguide Group,"Starguide Group, Inc.",STRG,STRG,OTC,NV,NV,Y,5190,Wholesale-Miscellaneous Nondurable Goods,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,300 E 2ND ST,STE 1510 PMB 5010,RENO,NV,89501,300 E 2ND ST,RENO,NV,89501,702-664-0097,,,611817627,,2026-05-01,NT 10-K,Y
1794942,"Stark Focus Group, Inc.",Stark Focus Group,"Stark Focus Group, Inc.",SKFG,SKFG,OTC,NV,NV,Y,5130,"Wholesale-Apparel, Piece Goods & Notions",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"SUITE 3001, 505 6TH STREET SW",,CALGARY,A0,T2P 1X5,"SUITE 3001, 505 6TH STREET SW",CALGARY,A0,T2P 1X5,(403) 237-8330,,,320610316,,2026-06-02,10-K,Y
1795851,"Stewards, Inc.",Stewards,"Stewards, Inc.",SWRD,SWRD,OTC,NV,NV,Y,6153,Short-Term Business Credit Institutions,other,,smaller_reporting_<75M,4300 N. UNIVERSITY DRIVE,SUITE D-105,LAUDERHILL,FL,33351,4300 N. UNIVERSITY DRIVE,LAUDERHILL,FL,33351,8333286477,,,880436017,"Favo Capital, Inc.|Favo Realty, Inc",2026-06-01,S-1/A,Y
1493712,Stimcell Energetics Inc.,Stimcell Energetics,Stimcell Energetics Inc.,STME,STME,OTC,NV,NV,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"820 - 1130 PENDER STREET, WEST",,VANCOUVER,A1,V6E 4A4,"820 - 1130 PENDER STREET, WEST",VANCOUVER,A1,V6E 4A4,(844) 238-2692,,,383939625,"Cell MedX Corp.|Sports Asylum, Inc.|Plandel Resources, Inc.",2026-04-10,10-Q,Y
847942,STRATEGIC ACQUISITIONS INC /NV/,Strategic Acquisitions,Strategic Acquisitions Inc,STQN,STQN,OTC,NV,NV,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2464 DARTS COVE WAY,(MOUNT PLEASANT) CHARLESTON,SOUTH CAROLINA,SC,29466-0101,2464 DARTS COVE WAY,SOUTH CAROLINA,SC,29466-0101,212-878-6532,,,133506506,,2026-05-07,10-Q,Y
1576197,"Strategic Environmental & Energy Resources, Inc.",Strategic Environmental & Energy Resources,"Strategic Environmental & Energy Resources, Inc.",SENR,SENR,OTC,NV,NV,Y,4955,Hazardous Waste Management,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,370 INTERLOCKEN BOULEVARD,SUITE 680,BROOMFIELD,CO,80021,370 INTERLOCKEN BOULEVARD,BROOMFIELD,CO,80021,(303)295-6498,,,020565834,,2026-03-31,NT 10-K,Y
1394108,SUIC Worldwide Holdings Ltd.,SUIC Worldwide Holdings,SUIC Worldwide Holdings Ltd.,SUIC,SUIC,OTC,NV,NV,Y,2860,Industrial Organic Chemicals,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,136-20 38TH AVE.,UNIT 3G,FLUSHING,NY,11354,136-20 38TH AVE.,FLUSHING,NY,11354,929-391-2550,,,472148252,"Sino United Worldwide Consolidated Ltd.|AJ GREENTECH HOLDINGS.|AMERICAN JIANYE GREENTECH HOLDINGS, LTD.|Gateway Certifications, Inc.",2026-05-14,10-Q,Y
1619096,Summit Networks Inc.,Summit Networks,Summit Networks Inc.,SNTW,SNTW,OTC,NV,NV,Y,4953,Refuse Systems,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"1221 BRICKELL AVENUE, SUITE 900",,MIAMI,FL,33131,"1221 BRICKELL AVENUE, SUITE 900",MIAMI,FL,33131,305-347-5158,,,352511257,,2026-05-19,10-Q,Y
1171838,"Sundance Strategies, Inc.",Sundance Strategies,"Sundance Strategies, Inc.",SUND,SUND,OTC,NV,NV,Y,6411,"Insurance Agents, Brokers & Service",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"4626 NORTH 300 WEST, SUITE 365",,PROVO,UT,84604,"4626 NORTH 300 WEST, SUITE 365",PROVO,UT,84604,801-705-8968,,,880515333,JAVA EXPRESS INC,2026-02-17,10-Q,Y
1481028,"SUNHYDROGEN, INC.",Sunhydrogen,"Sunhydrogen, Inc.",HYSR,HYSR,OTC,NV,NV,Y,3674,Semiconductors & Related Devices,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,BIOVENTURES CENTER,2500 CROSSPARK ROAD,CORALVILLE,IA,52241,BIOVENTURES CENTER,CORALVILLE,IA,52241,805-966-6566,,,000000000,"Hypersolar, Inc.",2026-05-08,10-Q,Y
1624985,SUPA Consolidated Inc.,SUPA Consolidated,SUPA Consolidated Inc.,SFCX,SFCX,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,530 TECHNOLOGY DRIVE,SUITE 100,IRVINE,CA,92618,530 TECHNOLOGY DRIVE,IRVINE,CA,92618,844.787.2720,,,371758469,"Tribal Rides International Corp.|XINDA INTERNATIONAL CORP.|TriMax Consulting, Inc.",2026-05-01,10-Q,Y
1192323,Superstar Platforms Inc.,Superstar Platforms,Superstar Platforms Inc.,SPST,SPST,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,114 JUAN PABLO DUARTE CALLE,,SANTO DOMINGO,NY,00000,P. O. BOX 3143,LIVERPOOL,NY,13089,315-701-1031,,,010741042,"Dinewise, Inc.|DINEWISE, INC.|SIMPLAGENE USA INC",2026-05-15,10-Q,Y
1437750,T-REX Acquisition Corp.,T-REX Acquisition,T-REX Acquisition Corp.,TRXA,TRXA,OTC,NV,NV,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,7301 NW 4TH STREET,SUITE 102,PLANTATION,FL,33317,7301 NW 4TH STREET,PLANTATION,FL,33317,954-742-3001,,,261754034,"Trex Acquisition Corp.|Sync2 Networks Corp|Plethora Resources, Inc.",2026-05-26,10-Q,Y
1090396,TABLE TRAC INC,Table Trac,Table Trac Inc,TBTC,TBTC,OTC,NV,NV,Y,7990,Services-Miscellaneous Amusement & Recreation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,BAKER TECHNOLOGY PLAZA SOUTH,6101 BAKER ROAD ? SUITE 206,MINNETONKA,MN,55345,BAKER TECHNOLOGY PLAZA SOUTH,MINNETONKA,MN,55345,952-548-8877,,,880365568,,2026-05-13,8-K,Y
1753391,"TANCHENG GROUP CO., LTD.",Tancheng Group Co.,"Tancheng Group Co., Ltd.",QSJC,QSJC,OTC,NV,NV,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"7TH FLOOR, JINCHENG INTL., JIUJINCI RD.",WANBAILIN DISTRICT,TAIYUAN CITY,,,"7TH FLOOR, JINCHENG INTL., JIUJINCI RD.",TAIYUAN CITY,,,8613910972765,,,384086827,BIGEON CORP.,2026-05-15,10-Q,Y
1481443,"TechCom, Inc.",TechCom,"TechCom, Inc.",TCRI,TCRI,OTC,NV,NV,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"2901, 29TH FLOOR, BOULEVARD PLAZA TOWER",BURJ KHALIFA DISTRICT,DOWNTOWN DUBAI,C0,00000,"2901, 29TH FLOOR, BOULEVARD PLAZA TOWER",DOWNTOWN DUBAI,C0,00000,852 29803711,,,061701678,RMD Entertainment Group,2026-05-06,10-Q,Y
1384365,"Telvantis, Inc.",Telvantis,"Telvantis, Inc.",RDAR,RDAR,OTC,NV,NV,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1680 MICHIGAN AVENUE,SUITE 700,MIAMI BEACH,FL,33139,1680 MICHIGAN AVENUE,MIAMI BEACH,FL,33139,954-456-3191,,,204622782,"RAADR, INC.|PITOOEY!, INC.|WHITE DENTAL SUPPLY, INC.",2025-10-15,1-Z,Y
711034,THUNDER MOUNTAIN GOLD INC,Thunder Mountain Gold,Thunder Mountain Gold Inc,THMG,THMG,OTC,NV,NV,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,11770 W. PRESIDENT DR. STE F,,BOISE,ID,83713,11770 W. PRESIDENT DR. STE F,BOISE,ID,83713,208-658-1037,,,911031075,,2026-06-08,8-K,Y
1463208,"Transportation & Logistics Systems, Inc.",Transportation & Logistics Systems,"Transportation & Logistics Systems, Inc.",TLSS,TLSS,OTC,NV,NV,Y,4700,Transportation Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5500 MILITARY TRAIL,SUITE 22-357,JUPITER,FL,33458,5500 MILITARY TRAIL,JUPITER,FL,33458,1.833.764.1443,,,263106763,PETROTERRA CORP.|LORAN CONNECTION CORP,2026-06-05,8-K,Y
1758699,TRANSUITE.ORG INC.,Transuite.org,Transuite.org Inc.,TRSO,TRSO,OTC,NV,NV,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,732 S 6TH ST # 4304,,LAS VEGAS,NV,89101,732 S 6TH ST # 4304,LAS VEGAS,NV,89101,7028339602,,,301129581,,2026-05-22,10-K,Y
1349706,"TurnOnGreen, Inc.",TurnOnGreen,"TurnOnGreen, Inc.",TOGI,TOGI|TOGIW,OTC,NV,NV,Y,3690,"Miscellaneous Electrical Machinery, Equipment & Supplies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1421 MCCARTHY BLVD.,,MILPITAS,CA,95035,1421 MCCARTHY BLVD.,MILPITAS,CA,95035,(510) 657-2635,,,205648820,IMPERALIS HOLDING CORP.|COLOURED (US) INC.,2026-05-13,10-Q,Y
1952670,TV Channels Network Inc.,TV Channels Network,TV Channels Network Inc.,TVCN,TVCN,,NV,NV,Y,4899,"Communications Services, NEC",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,7582 LAS VEGAS BLVD SOUTH,,LAS VEGAS,NV,89123,7582 LAS VEGAS BLVD SOUTH,LAS VEGAS,NV,89123,7027219915,,,883851932,,2026-05-14,10-Q,Y
1096938,"United Health Products, Inc.",United Health Products,"United Health Products, Inc.",UEEC,UEEC,OTC,NV,NV,Y,3842,"Orthopedic, Prosthetic & Surgical Appliances & Supplies",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,526 COMMERCE CIRCLE,STE. #120,MESQUITE,NV,89027,526 COMMERCE CIRCLE,MESQUITE,NV,89027,475-755-1005,,,841517723,United EcoEnergy Corp.|MNS EAGLE EQUITY GROUP III INC,2026-05-22,424B3,Y
1677897,UPAY,Upay,Upay,UPYY,UPYY,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,3010 LBJ FWY,SUITE 1200,DALLAS,TX,75234,3010 LBJ FWY,DALLAS,TX,75234,9728886052,,,371793622,,2026-06-02,10-K,Y
1746119,Vanguard Green Investment Ltd,Vanguard Green Investment,Vanguard Green Investment Ltd,VGES,VGES,OTC,NV,NV,Y,7200,Services-Personal Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"RM. 5, 7F., NO. 296, SEC. 4, XINYI RD.,","DA AN DIST.,",TAIPEI CITY,F5,106427,"RM. 5, 7F., NO. 296, SEC. 4, XINYI RD.,",TAIPEI CITY,F5,106427,886 0905153139,,,301089215,MU GLOBAL HOLDING Ltd,2026-03-16,10-Q,Y
1506929,"VERDE RESOURCES, INC.",Verde Resources,"Verde Resources, Inc.",VRDR,VRDR,OTC,NV,NV,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,8112 MARYLAND AVE,SUITE 400,ST. LOUIS,MO,63105,8112 MARYLAND AVE,ST. LOUIS,MO,63105,(314) 530-9071,,,272448672,,2026-06-03,10-K/A,Y
2033264,Vertical Data Inc.,Vertical Data,Vertical Data Inc.,VDTA,VDTA,OTC,NV,NV,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1980 FESTIVAL PLAZA DRIVE SUITE 300,,LAS VEGAS,NV,89135,1980 FESTIVAL PLAZA DRIVE SUITE 300,LAS VEGAS,NV,89135,7026132328,,,992841705,,2026-06-05,POS AM,Y
1084475,"Video River Networks, Inc.",Video River Networks,"Video River Networks, Inc.",NIHK,NIHK,OTC,NV,NV,Y,6500,Real Estate,operating, / Emerging growth company,smaller_reporting_<75M,1333 N. BUFFALO DR.,SUITE 210,LAS VEGAS,NV,89128,1333 N. BUFFALO DR.,LAS VEGAS,NV,89128,5015842853,,,870627349,NIGHTHAWK SYSTEMS INC|PEREGRINE INC|LSI COMMUNICATIONS INC,2025-11-05,15-15D,Y
1832161,"VIP Play, Inc.",VIP Play,"VIP Play, Inc.",VIPZ,VIPZ,OTC,NV,NV,Y,5900,Retail-Miscellaneous Retail,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,78 SW 7TH STREET,SUITE 500,MIAMI,FL,33130,78 SW 7TH STREET,MIAMI,FL,33130,866-783-9435,,,850738656,KeyStar Corp.,2026-05-15,10-Q,Y
1470129,VisitIQ Corp.,VisitIQ,VisitIQ Corp.,VIIQ,VIIQ,OTC,NV,NV,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,729 N. WASHINGTON AVENUE,SUITE 600,MINNEAPOLIS,MN,55401,729 N. WASHINGTON AVENUE,MINNEAPOLIS,MN,55401,651-295-7583,,,680678185,"Capstone Technologies Group Inc.|China Bilingual Technology & Education Group Inc.|DESIGNER EXPORT, INC",2026-05-26,10-K/A,Y
1699709,VitaNova Life Sciences Corp,VitaNova Life Sciences,VitaNova Life Sciences Corp,VNOV,VNOV,OTC,NV,NV,Y,5130,"Wholesale-Apparel, Piece Goods & Notions",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"39 E. BROADWAY, STE 603",,NEW YORK,NY,10002,"39 E. BROADWAY, STE 603",NEW YORK,NY,10002,516-886-8888,,,352583762,YIJIA GROUP CORP.|YIJIA GROUP CORP|Soldino Group Corp,2026-03-18,8-K,Y
1703073,VIVIC CORP.,Vivic,Vivic Corp.,VIVC,VIVC,OTC,NV,NV,Y,7990,Services-Miscellaneous Amusement & Recreation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"187 E. WARM SPRINGS ROAD., SUITE B450",,LAS VEGAS,NV,89119-4112,"187 E. WARM SPRINGS ROAD., SUITE B450",LAS VEGAS,NV,89119-4112,702-899-0818,,,981353606,,2026-05-14,10-Q,Y
1410738,Voip-pal.com Inc,Voip-pal.com,Voip-pal.com Inc,VPLM,VPLM,OTC,NV,NV,Y,3661,Telephone & Telegraph Apparatus,operating, / Emerging growth company,smaller_reporting_<75M,7215 BOSQUE BLVD,SUITE 102,WACO,TX,76710,7215 BOSQUE BLVD,WACO,TX,76710,253-219-9512,,,980184110,,2026-06-04,144,Y
1515139,WASTE ENERGY CORP.,Waste Energy,Waste Energy Corp.,WAST,WAST,OTC,NV,NV,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3250 OAKLAND HILLS COURT,,FAIRFIELD,CA,94534,3250 OAKLAND HILLS COURT,FAIRFIELD,CA,94534,424-570-9446,,,273098487,"METAWORKS PLATFORMS, INC.|CurrencyWorks Inc.|ICOX INNOVATIONS INC.|AppCoin Innovations Inc.|RedStone Literary Agents, Inc.",2026-05-27,8-K/A,Y
1393772,"WEED, INC.",Weed,"Weed, Inc.",BUDZ,BUDZ,OTC,NV,NV,Y,8731,Services-Commercial Physical & Biological Research,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4920 N. POST TRAIL,,TUCSON,AZ,85750,4920 N. POST TRAIL,TUCSON,AZ,85750,520-818-8582,,,830452269,UNITED MINES INC,2026-05-15,10-Q,Y
723533,Wenyuan Group Corp.,Wenyuan Group,Wenyuan Group Corp.,WYGC,WYGC,OTC,NV,NV,Y,8742,Services-Management Consulting Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"RM 219, NO. 25 CAIHE RD",SHANGCHENG DIST.,HANGZHOU,,,"RM 219, NO. 25 CAIHE RD",HANGZHOU,,,626-872-9451,,,953506403,"Longwen Group Corp.|Allied Ventures Holdings Corp.|Dephasium Corp.|ALLIED VENTURES HOLDING CORP.|Pay Mobile, Inc|EXPERTELLIGENCE INC",2026-05-20,10-Q,Y
1616156,"WEWARDS, INC.",Wewards,"Wewards, Inc.",WEWA,WEWA,OTC,NV,NV,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3305 SPRING MOUNTAIN ROAD,SUITE 104,LAS VEGAS,NV,89102,3305 SPRING MOUNTAIN ROAD,LAS VEGAS,NV,89102,702-944-5599,,,331230099,"GLOBAL ENTERTAINMENT CLUBS, INC.|FUTURE WORLD GROUP, INC.|Betafox Corp.",2026-03-17,10-Q,Y
1587603,"WINNERS, INC.",Winners,"Winners, Inc.",WNRS,WNRS|WNRSD,,NV,NV,Y,7900,Services-Amusement & Recreation Services,other,,smaller_reporting_<75M,401 RYLAND STREET,SUITE 200-A,RENO,NV,89502,401 RYLAND STREET,RENO,NV,89502,954-908-3366,,,260764832,"Baroma, Inc.",2026-04-24,QUALIF,Y
1503658,"Winning Catering Group, Inc.",Winning Catering Group,"Winning Catering Group, Inc.",WNHK,WNHK,OTC,NV,NV,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4800 MONTGOMERY LANE,SUITE 210,BETHESDA,MD,20814,4800 MONTGOMERY LANE,BETHESDA,MD,20814,301-971-3940,,,271467607,LiquidValue Development Inc.|SeD Intelligent Home Inc.|HOMEOWNUSA,2026-04-22,10-Q,Y
1558740,Winvest Group Ltd,Winvest Group,Winvest Group Ltd,WNLV,WNLV,OTC,NV,NV,Y,7812,Services-Motion Picture & Video Tape Production,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,50 WEST LIBERTY STREET,SUITE 880,RENO,NV,89501,50 WEST LIBERTY STREET,RENO,NV,89501,(775) 996-0288,,,272052033,ZYROX MINING INTERNATIONAL INC,2026-05-14,NT 10-Q,Y
1560143,WYTEC INTERNATIONAL INC,Wytec International,Wytec International Inc,WYTC,WYTC,OTC,NV,NV,Y,4822,Telegraph & Other Message Communications,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"19206 HUEBNER ROAD, SUITE 202",,SAN ANTONIO,TX,78258,"19206 HUEBNER ROAD, SUITE 202",SAN ANTONIO,TX,78258,(210) 233-8980,,,460720717,,2026-05-26,D,Y
1651932,"Xenous Holdings, Inc.",Xenous Holdings,"Xenous Holdings, Inc.",XITO,XITO,OTC,NV,NV,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"SUITE 20.03, PLAZA 138, JALAN AMPANG",,KUALA LUMPUR,N8,50450,"SUITE 20.03, PLAZA 138, JALAN AMPANG",KUALA LUMPUR,N8,50450,603 2181 0150,,,870363526,M101 CORP.|Concept Holding Corp.,2026-05-12,8-K,Y
1557376,"Zeo ScientifiX, Inc.",Zeo ScientifiX,"Zeo ScientifiX, Inc.",ZEOX,ZEOX,OTC,NV,NV,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3321 COLLEGE AVENUE,SUITE 246,DAVIE,FL,33314,3321 COLLEGE AVENUE,DAVIE,FL,33314,888-963-7881,,,474180540,"Organicell Regenerative Medicine, Inc.|Biotech Products Services & Research, Inc.|BESPOKE TRICYCLES INC",2026-06-09,8-K,Y
1465311,Zicix Corp,Zicix,Zicix Corp,ZICX,ZICX,OTC,NV,NV,Y,7310,Services-Advertising,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"1901, THE WORLD TRADE CENTRE","280 GLOUCESTER ROAD, CAUSEWAY BAY",HONG KONG,,,"1901, THE WORLD TRADE CENTRE",HONG KONG,,,852-91010998,,,742036525,BEDERRA Corp,2026-02-20,10-Q,Y
1101026,"Zivo Bioscience, Inc.",Zivo Bioscience,"Zivo Bioscience, Inc.",ZIVO,ZIVO|ZIVOW,OTC,NV,NV,Y,2836,"Biological Products, (No Diagnostic Substances)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,21 E. LONG LAKE ROAD,SUITE 100,BLOOMFIELD HILLS,MI,48304,21 E. LONG LAKE ROAD,BLOOMFIELD HILLS,MI,48304,(248) 452 9866,,,870699977,HEALTH ENHANCEMENT PRODUCTS INC|WESTERN GLORY HOLE INC,2026-04-24,4,Y
1279620,"Zoned Properties, Inc.",Zoned Properties,"Zoned Properties, Inc.",ZDPY,ZDPY,OTC,NV,NV,Y,6512,Opeators of Nonresidential Buildings,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"8360 E. RAINTREE DRIVE, SUITE #230",,SCOTTSDALE,AZ,85260,"8360 E. RAINTREE DRIVE, SUITE #230",SCOTTSDALE,AZ,85260,877-360-8839,,,465198242,"Vanguard Minerals CORP|Vanguard Minerals Corp|Knewtrino, Inc.|MONGOLIAN EXPLORATIONS LTD",2026-05-15,8-K,Y
1328409,WHITE RIVER BANCSHARES CO,White River Bancshares,White River Bancshares Co,WRIV,WRIV,OTC,AR,AR,Y,,,other,,smaller_reporting_<75M,3878 N. CROSSOVER ROAD,SUITE 20,FAYETTEVILLE,AR,72703,3878 N. CROSSOVER ROAD,FAYETTEVILLE,AR,72703,479-684-3700,,,000000000,,2026-05-15,SCHEDULE 13G/A,Y
2135939,Norient Acquisition,Norient Acquisition,Norient Acquisition,NORT,,,AZ,AZ,Y,,,other,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,ARC GROUP SECURITIES LLC,"398 MILL AVE, SUITE 201B",TEMPE,AZ,85281,ARC GROUP SECURITIES LLC,TEMPE,AZ,85281,1 928 625 0928,,,000000000,,2026-06-03,S-1,Y
1956237,Almco Plumbing Inc,Almco Plumbing,Almco Plumbing Inc,ALMP,ALMP,OTC,CA,CA,Y,1700,Construction - Special Trade Contractors,other,,smaller_reporting_<75M,5663 BALBOA AVE,UNIT 372,SAN DIEGO,CA,92111,5663 BALBOA AVE,SAN DIEGO,CA,92111,8582529321,,,364915179,,2026-04-30,1-K,Y
1723059,Bio Essence Corp,Bio Essence,Bio Essence Corp,BIOE,BIOE,OTC,CA,CA,Y,2834,Pharmaceutical Preparations,operating, / Emerging growth company,smaller_reporting_<75M,2955 MAIN STREET,STE 300,IRVINE,CA,92614,2955 MAIN STREET,IRVINE,CA,92614,888-816-1494,,,943349551,,2026-05-19,8-K/A,Y
803016,CALIFORNIA FIRST LEASING CORP,California First Leasing,California First Leasing Corp,CFNB,CFNB,OTC,CA,CA,Y,6021,National Commercial Banks,operating,Smaller reporting company,smaller_reporting_<75M,"5000 BIRCH STREET, SUITE 500",,NEWPORT BEACH,CA,92660,"5000 BIRCH STREET, SUITE 500",NEWPORT BEACH,CA,92660,949-255-0500,,,330964185,CALIFORNIA FIRST NATIONAL BANCORP|AMPLICON INC,2026-06-08,40-17G,Y
1917599,Endeavor Bancorp,Endeavor Bancorp,Endeavor Bancorp,EDVR,EDVR,OTC,CA,CA,Y,,,other,,smaller_reporting_<75M,"750 B STREET, SUITE 3110",,SAN DIEGO,CA,92101,"750 B STREET, SUITE 3110",SAN DIEGO,CA,92101,619-887-3505,,,874376296,,2026-02-17,D,Y
79661,PORTSMOUTH SQUARE INC,Portsmouth Square,Portsmouth Square Inc,PRSI,PRSI,OTC,CA,CA,Y,6552,Land Subdividers & Developers (No Cemeteries),operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,11620 WILSHIRE BOULEVARD,SUITE 350,LOS ANGELES,CA,90025,11620 WILSHIRE BOULEVARD,LOS ANGELES,CA,90025,(310) 889-2511,,,941674111,,2026-05-26,8-K,Y
92108,SOUTHERN CALIFORNIA GAS CO,Southern California Gas,Southern California Gas Co,SOCGM,SOCGM|SOCGP,OTC,CA,CA,Y,4922,Natural Gas Transmission,operating,,smaller_reporting_<75M,555 WEST 5TH STREET,,LOS ANGELES,CA,90013-1011,555 WEST 5TH STREET,LOS ANGELES,CA,90013-1011,2132441200,,,951240705,,2026-05-15,8-K,Y
942126,TAITRON COMPONENTS INC,Taitron Components,Taitron Components Inc,TAIT,TAIT,OTC,CA,CA,Y,5065,"Wholesale-Electronic Parts & Equipment, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,28040 WEST HARRISON PARKWAY,,VALENCIA,CA,91355,28040 WEST HARRISON PARKWAY,VALENCIA,CA,91355,(661) 257-6060,,,954249240,,2026-02-12,SCHEDULE 13G/A,Y
835662,"AiXin Life International, Inc.",AiXin Life International,"AiXin Life International, Inc.",AIXN,AIXN,OTC,CO,CO,Y,5912,Retail-Drug Stores and Proprietary Stores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"HONGXING INTL BUSINESS BUILDING 2,","14TH FLR, NO. 69, QINGYUN SOUVE AVE.,","JINJIANG DISTRICT,CHENGDU CITY",F4,610021,"HONGXING INTL BUSINESS BUILDING 2,","JINJIANG DISTRICT,CHENGDU CITY",F4,610021,212-739-7689,,,841085935,MERCARI COMMUNICATIONS GROUP LTD,2026-05-18,8-K,Y
872716,ALPINE BANKS OF COLORADO,Alpine Banks of Colorado,Alpine Banks of Colorado,ALPIB,ALPIB,OTC,CO,CO,Y,,,other,,smaller_reporting_<75M,"P.O. BOX 10,000",,GLENWOOD SPRINGS,CO,81601,"P.O. BOX 10,000",GLENWOOD SPRINGS,CO,81601,970-384-3257,,,840868818,,2025-12-04,D,Y
875729,BION ENVIRONMENTAL TECHNOLOGIES INC,Bion Environmental Technologies,Bion Environmental Technologies Inc,BNET,BNET,OTC,CO,CO,Y,2870,Agricultural Chemicals,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,PO BOX 323,,OLD BETHPAGE,NY,11804,PO BOX 323,OLD BETHPAGE,NY,11804,406-839-0816,,,841176672,,2026-05-15,10-Q,Y
2029586,"Blue Line Holdings, Inc.",Blue Line Holdings,"Blue Line Holdings, Inc.",BLNH,BLNH,OTC,CO,CO,Y,2086,Bottled & Canned Soft Drinks & Carbonated Waters,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1361 CASTLEPOINT CIRCLE,,CASTLE PINES,CO,80108,1361 CASTLEPOINT CIRCLE,CASTLE PINES,CO,80108,720-705-9222,,,993114735,,2026-05-04,10-Q,Y
1411057,"Cannabis Bioscience International Holdings, Inc.",Cannabis Bioscience International Holdings,"Cannabis Bioscience International Holdings, Inc.",CBIH,CBIH,OTC,CO,CO,Y,8731,Services-Commercial Physical & Biological Research,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,6201 BONHOMME ROAD,SUITE 435S,HOUSTON,TX,77036,6201 BONHOMME ROAD,HOUSTON,TX,77036,214-733-0868,,,844901229,CHINA INFRASTRUCTURE CONSTRUCTION Corp|FIDELITY AVIATION CORP,2026-05-21,253G2,Y
1084551,Community Redevelopment Inc.,Community Redevelopment,Community Redevelopment Inc.,CRDV,CRDV,OTC,CO,CO,Y,6552,Land Subdividers & Developers (No Cemeteries),operating, / Emerging growth company,smaller_reporting_<75M,9 C MEDWAY ROAD,#214,MILFORD,MA,01757,9 C MEDWAY ROAD,MILFORD,MA,01757,774-573-9114,,,852629422,Crosswind Renewable Energy Corp|STEALTH MEDIALABS INC|KIDSTOYSPLUS COM INC,2026-05-29,1-A,Y
790273,CONECTISYS CORP,Conectisys,Conectisys Corp,CONC,CONC,OTC,CO,CO,Y,3663,Radio & Tv Broadcasting & Communications Equipment,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,14308 S. GOSS RD.,,CHENEY,WA,99004,14308 S. GOSS RD.,CHENEY,WA,99004,949 929-5455,,,841017107,,2026-05-06,10-Q,Y
1828377,Fortitude Gold Corp,Fortitude Gold,Fortitude Gold Corp,FTCO,FTCO,OTC,CO,CO,Y,1040,Gold and Silver Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2886 CARRIAGE MANOR POINT,,COLORADO SPRINGS,CO,80906,2886 CARRIAGE MANOR POINT,COLORADO SPRINGS,CO,80906,3033207708,,,852602691,,2026-06-05,8-K,Y
84112,"GEORGE RISK INDUSTRIES, INC.",George Risk Industries,"George Risk Industries, Inc.",RSKIA,RSKIA,OTC,CO,CO,Y,3669,"Communications Equipment, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,802 SOUTH ELM,,KIMBALL,NE,69145,802 S ELM ST,KIMBALL,NE,69145,3082354645,,,840524756,RISK GEORGE INDUSTRIES INC,2026-05-11,SCHEDULE 13G,Y
1497649,Graphene & Solar Technologies Ltd,Graphene & Solar Technologies,Graphene & Solar Technologies Ltd,GSTX,GSTX,OTC,CO,CO,Y,1000,Metal Mining,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,11201 NORTH TATUM BOULEVARD,SUITE 300,PHOENIX,AZ,85028,11201 NORTH TATUM BOULEVARD,PHOENIX,AZ,85028,602-388-8335,,,272888719,Solar Quartz Technologies Corp|Vanguard Energy Corp,2026-05-15,10-Q,Y
918573,GROOVE BOTANICALS INC.,Groove Botanicals,Groove Botanicals Inc.,GRVE,GRVE,OTC,CO,CO,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,310 FOURTH AVENUE SOUTH,SUITE 7000,MINNEAPOLIS,MN,55415,310 FOURTH AVENUE SOUTH,MINNEAPOLIS,MN,55415,(952) 746-9652,,,841168832,"Avalon Oil & Gas, Inc.|XDOGS COM INC|SLED DOGS CO",2026-05-22,8-K,Y
1945619,Kinetic Seas Inc.,Kinetic Seas,Kinetic Seas Inc.,KSEZ,KSEZ,OTC,CO,CO,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1501 WOODFIELD ROAD,SUITE 114E,SCHAUMBURG,IL,60173,1501 WOODFIELD ROAD,SCHAUMBURG,IL,60173,888-901-8806,,,471981170,"Bellatora, Inc.",2026-06-08,144,Y
1493137,"Lifeloc Technologies, Inc",Lifeloc Technologies,"Lifeloc Technologies, Inc",LCTC,LCTC,OTC,CO,CO,Y,3826,Laboratory Analytical Instruments,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,12441 WEST 49TH AVE UNIT #4,,WHEAT RIDGE,CO,80033,12441 WEST 49TH AVE UNIT #4,WHEAT RIDGE,CO,80033,303-431-9500,,,841053680,Lifeloc Technologies Inc,2026-06-05,8-K,Y
1145604,"NIKA PHARMACEUTICALS, INC",Nika Pharmaceuticals,"Nika Pharmaceuticals, Inc",NIKA,NIKA,OTC,CO,CO,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,2269 MERRIMACK VALLEY AVENUE,,HENDERSON,NV,89044,2269 MERRIMACK VALLEY AVENUE,HENDERSON,NV,89044,7023263615,,,900292940,CENTENNIAL GROWTH EQUITIES INC,2026-05-12,10-Q,Y
1990446,"Trans American Aquaculture, Inc",Trans American Aquaculture,"Trans American Aquaculture, Inc",GRPS,GRPS,OTC,CO,CO,Y,0200,Agricultural Prod-Livestock & Animal Specialties,operating, / Emerging growth company,smaller_reporting_<75M,1022 SHADYSIDE LANE,,DALLAS,TX,75223,1022 SHADYSIDE LANE,DALLAS,TX,75223,972-358-6037,,,020685828,,2026-05-15,NT 10-Q,Y
1477009,TREES Corp (Colorado),TREES Corp (Colorado),TREES Corp (Colorado),CANN,CANN,OTC,CO,CO,Y,5912,Retail-Drug Stores and Proprietary Stores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,215 UNION BOULEVARD,SUITE 415,LAKEWOOD,CO,80228,215 UNION BOULEVARD,LAKEWOOD,CO,80228,303-759-1300,,,208096131,"GENERAL CANNABIS CORP|Advanced Cannabis Solutions, Inc.|Promap Corp",2025-08-22,8-K,Y
23426,CONNECTICUT LIGHT & POWER CO,Connecticut Light & Power,Connecticut Light & Power Co,CNTHP,CNTHP|CNLPL|CNTHO|CNTHN|CNLHP|CNLTP|CNLTL|CNPWM|CNLHO|CNPWP|CNLPM|CNLTN|CNLHN,OTC,CT,CT,Y,4911,Electric Services,operating,,smaller_reporting_<75M,107 SELDEN STREET,,BERLIN,CT,06037-1616,107 SELDEN STREET,BERLIN,CT,06037,(860)665-5000,,,060303850,,2026-05-07,10-Q,Y
1472033,"Citibank,N.A./ADR","Citibank,N.A./ADR","Citibank,N.A./ADR",JTGEY,JTGEY|JTGLF,OTC,DC,DC,Y,,,other,,smaller_reporting_<75M,"388 GREENWICH STREET, 14TH FLOOR",,NEW YORK,NY,10013,"388 GREENWICH STREET, 14TH FLOOR",NEW YORK,NY,10013,212-816-6647,,,521568099,"Citibank,N.A./ADR",2026-06-08,F-6EF,Y
1386044,"Awareness Group, Inc.",Awareness Group,"Awareness Group, Inc.",TAAG,TAAG,OTC,FL,FL,Y,6163,Loan Brokers,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"4343 N SCOTTSDALE RD, #150",,SCOTTSDALE,AZ,85251,"4343 N SCOTTSDALE RD, #150",SCOTTSDALE,AZ,85251,818-357-3155,,,562560951,"Freedom Holdings, Inc.|FREEDOM ENERGY HOLDINGS INC|FREEDOM FINANCIAL HOLDINGS INC",2026-05-11,NT 10-Q,Y
1109262,"BILI Social International, Inc.",BILI Social International,"BILI Social International, Inc.",AGGI,AGGI,OTC,FL,FL,Y,5960,Retail-Nonstore Retailers,operating, / Emerging growth company,smaller_reporting_<75M,625 BROAD STREET,"2ND FLOOR, SUITE 240",NEWARK,NJ,07102,625 BROAD STREET,NEWARK,NJ,07102,888-458-2454,,,223084979,"Allied Energy, Inc.|TECHNOL FUEL CONDITIONERS INC|BRAZILIAN SERVICES COM INC",2026-06-04,8-K,Y
1658678,"BioStem Technologies, Inc.",BioStem Technologies,"BioStem Technologies, Inc.",BSEM,BSEM,OTC,FL,FL,Y,2836,"Biological Products, (No Diagnostic Substances)",other,,smaller_reporting_<75M,2836 CENTER PORT CIRCLE,,POMPANO BEACH,FL,33604,2836 CENTER PORT CIRCLE,POMPANO BEACH,FL,33604,954-380-8342,,,270400416,BIOSTEM TECHNOLOGIES,2026-06-03,D,Y
1568385,"Bright Mountain Media, Inc.",Bright Mountain Media,"Bright Mountain Media, Inc.",BMTM,BMTM,OTC,FL,FL,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,6400 CONGRESS AVE.,SUITE 2050,BOCA RATON,FL,33487,6400 CONGRESS AVE.,BOCA RATON,FL,33487,561-998-2440,,,272977890,"Bright Mountain Acquisition Corp|Bright Mountain Holdings, Inc./FL",2026-05-19,4,Y
1166708,"Brownie's Marine Group, Inc",Brownie's Marine Group,"Brownie's Marine Group, Inc",BWMG,BWMG,OTC,FL,FL,Y,3949,"Sporting & Athletic Goods, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"3001 NW 25TH AVENUE,",SUITE 1,POMPANO BEACH,FL,33069,"3001 NW 25TH AVENUE,",POMPANO BEACH,FL,33069,954-462-5570,,,300024898,UNITED COMPANIES CORP,2026-05-15,10-Q,Y
1509957,Can B Corp,Can B,Can B Corp,NASC,NASC,OTC,FL,FL,Y,5122,"Wholesale-Drugs, Proprietaries & Druggists' Sundries",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"960 SOUTH BROADWAY, SUITE 120",,HICKSVILLE,NY,11801,"960 SOUTH BROADWAY, SUITE 120",HICKSVILLE,NY,11801,516-205-4751,,,203624118,"Canbiola, Inc.|Wrapmail, Inc.",2025-07-16,15-12G,Y
814926,"CAPSTONE COMPANIES, INC.",Capstone Companies,"Capstone Companies, Inc.",CAPC,CAPC,OTC,FL,FL,Y,3640,Electric Lighting & Wiring Equipment,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"NUMBER 144-V, 10 FAIRWAY DRIVE",SUITE 100,DEERFIELD BEACH,FL,33441,"NUMBER 144-V, 10 FAIRWAY DRIVE",DEERFIELD BEACH,FL,33441,(954) 252-3440,,,841047159,CHDT CORP|CHINA DIRECT TRADING CORP|CBQ INC|FREEDOM FUNDING INC,2026-05-20,8-K/A,Y
811222,Cardiff Lexington Corp,Cardiff Lexington,Cardiff Lexington Corp,CDIX,CDIX,OTC,FL,FL,Y,8011,Services-Offices & Clinics of Doctors of Medicine,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3753 HOWARD HUGHES PARKWAY,SUITE 200,LAS VEGAS,NV,89169,3753 HOWARD HUGHES PARKWAY,LAS VEGAS,NV,89169,844-628-2100,,,841044583,CARDIFF INTERNATIONAL INC,2026-05-13,10-Q,Y
1362516,"Cleartronic, Inc.",Cleartronic,"Cleartronic, Inc.",CLRI,CLRI,OTC,FL,FL,Y,4812,Radiotelephone Communications,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,28050 US HWY 19 N,,CLEARWATER,FL,33761,28050 US HWY 19 N,CLEARWATER,FL,33761,813-289-7620,,,650958798,"GlobalTel IP, Inc.",2026-05-12,10-Q,Y
1619227,"Cloudweb, Inc.",Cloudweb,"Cloudweb, Inc.",CLOW,CLOW,OTC,FL,FL,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,800 W EL CAMINO REAL,SUITE 180,MOUNTAIN VIEW,CA,94040,800 W EL CAMINO REAL,MOUNTAIN VIEW,CA,94040,(650) 963-7749,,,470978297,"Data Backup Solutions, Inc.|Formigli Inc.",2026-05-15,NT 10-Q,Y
1400271,Curative Biotechnology Inc,Curative Biotechnology,Curative Biotechnology Inc,CUBT,CUBTD,OTC,FL,FL,Y,2836,"Biological Products, (No Diagnostic Substances)",other,,smaller_reporting_<75M,1825 NW CORPORATE BLVD,SUITE 110,BOCA RATON,FL,33431,1825 NW CORPORATE BLVD,BOCA RATON,FL,33431,800-526-8006,,,721550658,Connectyx Technologies Corp,2025-12-22,RW,Y
1127475,"Digital Brand Media & Marketing Group, Inc.",Digital Brand Media & Marketing Group,"Digital Brand Media & Marketing Group, Inc.",DBMM,DBMM,OTC,FL,FL,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"600 THIRD AVENUE, 2ND FLOOR",,NEW YORK,NY,10016,"600 THIRD AVENUE, 2ND FLOOR",NEW YORK,NY,10016,646-722-2706,,,593666743,RTG VENTURES INC,2026-04-14,10-Q,Y
784539,EACO CORP,Eaco,Eaco Corp,EACO,EACO,OTC,FL,FL,Y,5065,"Wholesale-Electronic Parts & Equipment, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5065 E HUNTER AVE,,ANAHEIM,CA,92807,5065 E HUNTER AVE,ANAHEIM,CA,92807,(714) 876-2490,,,592597349,FAMILY STEAK HOUSES OF FLORIDA INC,2026-04-13,10-Q,Y
1538495,"Earth Science Tech, Inc.",Earth Science Tech,"Earth Science Tech, Inc.",ETST,ETST,OTC,FL,FL,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,8950 SW 74TH CT,SUITE 101,MIAMI,FL,33156,8950 SW 74TH CT,MIAMI,FL,33156,(786) 375-7281,,,454267181,Ultimate Novelty Sports Inc.,2026-04-17,8-K,Y
1363598,"Entrex Carbon Market, Inc.",Entrex Carbon Market,"Entrex Carbon Market, Inc.",NTRX,NTRX,OTC,FL,FL,Y,5712,Retail-Furniture Stores,operating,,smaller_reporting_<75M,150 EAST PALMETTO PARK EIGHTH FLOOR,,BOCA RATON,FL,33432,150 EAST PALMETTO PARK EIGHTH FLOOR,BOCA RATON,FL,33432,8774368739,,,842099590,"UHF Logistics Group, Inc.|Regal Group, Inc.|Regal Life Concepts, Inc.|Regal Rock, Inc.",2026-02-20,QUALIF,Y
1695473,"Greater Cannabis Company, Inc.",Greater Cannabis Company,"Greater Cannabis Company, Inc.",GCAN,GCAN,OTC,FL,FL,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"15 WALKER AVE,",SUITE 101,BALTIMORE,MD,21208,"15 WALKER AVE,",BALTIMORE,MD,21208,(443) 738-4051,,,300842570,,2026-05-13,10-Q,Y
915661,GREEN LEAF INNOVATIONS INC,Green Leaf Innovations,Green Leaf Innovations Inc,GRLF,GRLF,OTC,FL,FL,Y,2050,Bakery Products,operating,,smaller_reporting_<75M,15800 PINES BLVD,,PEMBROKE PINES,FL,33027,15800 PINES BLVD,PEMBROKE PINES,FL,33027,8003036268,,,872290605,RAPTOR INVESTMENTS INC|PARAMARK ENTERPRISES INC|T J CINNAMONS INC,2025-08-15,1-A-W,Y
2066926,Guident Corp.,Guident,Guident Corp.,GDNT,GDNT,,FL,FL,Y,7372,Services-Prepackaged Software,other,,smaller_reporting_<75M,4910 COMMUNICATION AVE,SUITE 150,BOCA RATON,FL,33431,4910 COMMUNICATION AVE,BOCA RATON,FL,33431,561-245-1306,,,845172003,,2026-03-17,FWP,Y
1953988,Helio Corp /FL/,Helio,Helio Corp,HLEO,HLEO,OTC,FL,FL,Y,3760,Guided Missiles & Space Vehicles & Parts,operating, / Emerging growth company,smaller_reporting_<75M,2448 SIXTH STREET,,BERKELEY,CA,94710,2448 SIXTH STREET,BERKELEY,CA,94710,510-545-2666,,,920286004,WEB3 Corp|Stirling Bridge Group Inc,2026-06-04,4,Y
312257,INNOVATIVE FOOD HOLDINGS INC,Innovative Food Holdings,Innovative Food Holdings Inc,IVFH,IVFH,OTC,FL,FL,Y,5141,"Wholesale-Groceries, General Line",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2528 S 27TH AVE,,BROADVIEW,IL,60155,2528 S 27TH AVE,BROADVIEW,IL,60155,239-596-0204,,,201167761,ALPHA SOLARCO INC,2026-05-20,10-Q,Y
1861448,"IntriEnergy, Inc.",IntriEnergy,"IntriEnergy, Inc.",ITRE,,OTC,FL,FL,Y,,,other,,smaller_reporting_<75M,"3510 KRAFT ROAD, SUITE 200",,NAPLES,FL,34105,4850 TAMIAMI TRAIL N SUITE 301,NAPLES,FL,34103,(239) 303-6400,,,464617171,,2026-04-27,D/A,Y
2122791,Lawaken Group Inc.,Lawaken Group,Lawaken Group Inc.,LAWK,,,FL,FL,Y,,,other,,smaller_reporting_<75M,"NO. 1201, BUILDING A4, CHINA VISION,","99 LONGCHUAN ROAD, BAOHE DISTRICT",HEFEI,,230041,"NO. 1201, BUILDING A4, CHINA VISION,",HEFEI,,230041,086 0551 87276125,,,000000000,,2026-05-19,S-1,Y
1594968,Loan Artificial Intelligence Corp.,Loan Artificial Intelligence,Loan Artificial Intelligence Corp.,VEST,VEST|LAAI,,FL,FL,Y,7900,Services-Amusement & Recreation Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"1113 TOWER 2, LIPPO CENTRE,",89 QUEENSWAY,ADMIRALTY,,0000,"1113 TOWER 2, LIPPO CENTRE,",ADMIRALTY,,0000,949-258-4404,,,454895104,"Vestiage, Inc.",2026-05-20,10-Q,Y
1374567,"Luvu Brands, Inc.",Luvu Brands,"Luvu Brands, Inc.",LUVU,LUVU,OTC,FL,FL,Y,2510,Household Furniture,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2745 BANKERS INDUSTRIAL DRIVE,,ATLANTA,GA,30360,2745 BANKERS INDUSTRIAL DRIVE,ATLANTA,GA,30360,770-246-6426,,,593581576,"Liberator, Inc.|WES Consulting, Inc.",2026-05-15,8-K,Y
1872066,MIAMI BREEZE CAR CARE INC,Miami Breeze Car Care,Miami Breeze Car Care Inc,MIBE,,OTC,FL,FL,Y,7500,"Services-Automotive Repair, Services & Parking",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,848 BRICKELL AVE,PH 5,MIAMI,FL,33131,848 BRICKELL AVE,MIAMI,FL,33131,(917) 232-0289,,,862579086,,2026-01-23,15-12G,Y
1492448,Nextel Medical Corp.,Nextel Medical,Nextel Medical Corp.,MAJI,MAJI,OTC,FL,FL,Y,4899,"Communications Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,7901 4TH STREET N #23494,,ST. PETERSBURG,FL,33702,7901 4TH STREET N #23494,ST. PETERSBURG,FL,33702,509-605-6533,,,272616571,"Exousia Pro, Inc.|GRN Holding Corp|Discovery Gold Corp|NORMAN CAY DEVELOPMENT, INC.",2026-05-26,253G2,Y
72205,NOBILITY HOMES INC,Nobility Homes,Nobility Homes Inc,NOBH,NOBH,OTC,FL,FL,Y,2451,Mobile Homes,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3741 S W 7TH ST,,OCALA,FL,34474,3741 SW 7TH STREET,OCALA,FL,34474,3527325157,,,591166102,,2026-03-17,10-Q,Y
720762,NON INVASIVE MONITORING SYSTEMS INC /FL/,Non Invasive Monitoring Systems,Non Invasive Monitoring Systems Inc,NIMU,NIMU,OTC,FL,FL,Y,3760,Guided Missiles & Space Vehicles & Parts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1840 W AVE,,MIAMI BEACH,FL,33139,1840 WEST AVE,MIAMI BEACH,FL,33140,3055343694,,,592007840,,2026-06-08,DEF 14C,Y
912544,NovelStem International Corp.,NovelStem International,NovelStem International Corp.,NSTM,NSTM,OTC,FL,FL,Y,5990,"Retail-Retail Stores, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2255 GLADES RD,STE 237 W,BOCA RATON,FL,33431,2255 GLADES RD,BOCA RATON,FL,33431,5619988000,,,650385686,NovelStem International Corp|HOLLYWOOD MEDIA CORP|HOLLYWOOD COM INC|BIG ENTERTAINMENT INC,2026-05-15,10-Q,Y
1000045,OLD MARKET CAPITAL Corp,OLD MARKET CAPITAL,OLD MARKET CAPITAL Corp,OMCC,OMCC,OTC,FL,FL,Y,6153,Short-Term Business Credit Institutions,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1601 DODGE ST.,SUITE 3350,OMAHA,NE,68102,1601 DODGE ST.,OMAHA,NE,68102,727-726-0763,,,593019317,NICHOLAS FINANCIAL INC,2026-01-21,SCHEDULE 13G/A,Y
914139,PARKERVISION INC,Parkervision,Parkervision Inc,PRKR,PRKR,OTC,FL,FL,Y,3663,Radio & Tv Broadcasting & Communications Equipment,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4446 - 1A HENDRICKS AVENUE,SUITE 354,JACKSONVILLE,FL,32207,4446 - 1A HENDRICKS AVENUE,JACKSONVILLE,FL,32207,9047326100,,,592971472,,2026-05-21,3,Y
1094032,QDM International Inc.,QDM International,QDM International Inc.,QDMI,QDMI,OTC,FL,FL,Y,6411,"Insurance Agents, Brokers & Service",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,ROOM 1030B 10F OCEAN CENTRE HARBOUR CITY,"5 CANTON ROAD, TSIM SHA TSUI",KOWLOON,K3,000000,ROOM 1030B 10F OCEAN CENTRE HARBOUR CITY,KOWLOON,K3,000000,852 3188 9800,,,593564984,"24/7 Kid Doc, Inc.|DALE JARRETT RACING ADVENTURE INC|DALE JARRET RACING ADVENTURE INC|JARRETT FAVRE DRIVING ADVENTURE INC",2026-06-02,S-8,Y
1807893,"STANDARD PREMIUM FINANCE HOLDINGS, INC.",Standard Premium Finance Holdings,"Standard Premium Finance Holdings, Inc.",SPFX,SPFX,OTC,FL,FL,Y,6159,Miscellaneous Business Credit Institution,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,13590 SW 134TH AVE,#214,MIAMI,FL,33186,13590 SW 134TH AVE,MIAMI,FL,33186,(305) 232-2752,,,812624094,,2026-05-29,4,Y
1292490,"Synbio International, Inc.",Synbio International,"Synbio International, Inc.",SYIN,SYIN,OTC,FL,FL,Y,7374,Services-Computer Processing & Data Preparation,other,,smaller_reporting_<75M,30 N GOULD ST,STE 5835,SHERIDAN,WY,89014,30 N GOULD ST,SHERIDAN,WY,89014,646-359-4854,,,043588066,Natural Harmony Foods Inc,2025-09-04,SEC STAFF ACTION,Y
909112,TEMPLETON EMERGING MARKETS INCOME FUND,Templeton Emerging Markets Income Fund,Templeton Emerging Markets Income Fund,TXEMF,TEI|TXEMF,OTC,FL,FL,Y,,,other,,smaller_reporting_<75M,300 S.E. 2ND STREET,,FORT LAUDERDALE,FL,33301-1923,300 S.E. 2ND STREET,FORT LAUDERDALE,FL,33301-1923,9545277500,,,593192205,TEMPLETON EMERGING MARKETS INCOME FUND INC,2026-05-27,NPORT-P,Y
1434601,"Transglobal Management Group, Inc.",Transglobal Management Group,"Transglobal Management Group, Inc.",TMGI,TMGI,OTC,FL,FL,Y,4832,Radio Broadcasting Stations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,7901 4TH ST. N.,SUITE 4887,ST. PETERSBURGH,FL,33702,7901 4TH ST. N.,ST. PETERSBURGH,FL,33702,(602) 989-4653,,,262091212,"Marquie Group, Inc.|ZHONG SEN INTERNATIONAL TEA CO|ZHONG SEN INTERNATIONAL TEA Co|MUSIC OF YOUR LIFE INC",2026-05-28,8-K,Y
1082733,"VISIUM TECHNOLOGIES, INC.",Visium Technologies,"Visium Technologies, Inc.",VISM,VISM,OTC,FL,FL,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"401 E. LAS OLAS BOULEVARD,",SUITE 1400,FORT LAUDERDALE,FL,33301,"401 E. LAS OLAS BOULEVARD,",FORT LAUDERDALE,FL,33301,(954) 712-7487,,,870449667,"NuSTATE ENERGY HOLDINGS, INC.|Fittipaldi Logistics, Inc.|POWER2SHIP INC|JAGUAR INVESTMENTS INC",2026-05-20,10-Q,Y
1138586,"Xcelerate, Inc.",Xcelerate,"Xcelerate, Inc.",XCRT,XCRT,OTC,FL,FL,Y,8000,Services-Health Services,operating,,smaller_reporting_<75M,110 RENAISSANCE CIRCLE,,MAULDIN,SC,29662,110 RENAISSANCE CIRCLE,MAULDIN,SC,29662,854-900-2020,,,650710392,"UNION DENTAL HOLDINGS, INC.|NATIONAL BUSINESS HOLDINGS INC|SHAVA INC",2025-05-29,RW,Y
925779,HIRU Corp,HIRU,HIRU Corp,HIRU,HIRU,OTC,GA,GA,Y,5812,Retail-Eating Places,operating,,smaller_reporting_<75M,20 BAY STREET,,TORONTO,A6,M5J 2N8,20 BAY STREET,TORONTO,A6,M5J 2N8,954-228-1053,,,581861457,PHOENIX RESTAURANT GROUP INC|DENAMERICA CORP|AMERICAN FAMILY RESTAURANTS INC,2025-08-06,SCHEDULE 13G/A,Y
1076691,OCONEE FINANCIAL CORP,Oconee Financial,Oconee Financial Corp,OSBK,OSBK,OTC,GA,GA,Y,6022,State Commercial Banks,operating,,smaller_reporting_<75M,35 NORTH MAIN STREET,PO BOX 205,WATKINSVILLE,GA,30677-0205,35 NORTH MAIN STREET,WATKINSVILLE,GA,30677-0205,7067696611,,,000000000,,2025-08-28,D,Y
2084026,"QumulusAI, Inc.",QumulusAI,"QumulusAI, Inc.",QMLS,QMLS,,GA,GA,Y,7374,Services-Computer Processing & Data Preparation,other,,smaller_reporting_<75M,1130 POWERS FERRY PL,,MARIETTA,GA,30067,C/O FOX ROTHSCHILD LLP,MINNEAPOLIS,MN,55402,877-420-9242,,,922681813,,2026-05-14,S-1/A,Y
1133798,"TX Rail Products, Inc.",TX Rail Products,"TX Rail Products, Inc.",TXRP,TXRP,OTC,GA,GA,Y,5084,Wholesale-Industrial Machinery & Equipment,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,P. O. BOX 1425,,ASHLAND,KY,41105,P. O. BOX 1425,ASHLAND,KY,41105,606-928-1131,,,582558702,"TX Holdings, Inc.|R WIRELESS INC|HOM CORP",2026-06-02,RW,Y
1308027,Vystar Corp,Vystar,Vystar Corp,VYST,VYST,OTC,GA,GA,Y,3060,"Fabricated Rubber Products, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,365 SHREWSBURY ST.,,WORCESTER,MA,01604,365 SHREWSBURY ST.,WORCESTER,MA,01604,1 (508) 791-9114,,,202027731,,2026-05-13,10-Q,Y
1122020,"PCS Edventures!, Inc.",PCS Edventures!,"PCS Edventures!, Inc.",PCSV,PCSV|PCSVD,,ID,ID,Y,8200,Services-Educational Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,941 S. INDUSTRY WAY,,MERIDIAN,ID,83642,941 S. INDUSTRY WAY,MERIDIAN,ID,83642,208-343-3110,,,820475383,PCS EDVENTURES COM INC,2026-05-06,4/A,Y
18654,Ameren Illinois Co,Ameren Illinois,Ameren Illinois Co,AILIH,AILIH|AILLI|AILLM|AILLN|AILIM|AILLO|AILIN|AILLP|AILIO|AILIP,OTC,IL,IL,Y,4931,Electric & Other Services Combined,operating,,smaller_reporting_<75M,10 RICHARD MARK WAY,,COLLINSVILLE,IL,62234,10 RICHARD MARK WAY,COLLINSVILLE,IL,62234,618-343-8150,,,370211380,CENTRAL ILLINOIS PUBLIC SERVICE CO,2026-05-18,8-K,Y
786298,FORESIGHT FINANCIAL GROUP INC,Foresight Financial Group,Foresight Financial Group Inc,FGFH,FGFH,OTC,IL,IL,Y,6022,State Commercial Banks,other,,smaller_reporting_<75M,809 CANNELL-PURI CT,"SUITE 5, PO BOX 339",WINNEBAGO,IL,61088,809 CANNELL-PURI CT,WINNEBAGO,IL,61088,8158477500,,,363371610,,2026-02-17,SCHEDULE 13G,Y
709005,NOBLE ROMANS INC,Noble Romans,Noble Romans Inc,NROM,NROM,OTC,IN,IN,Y,5812,Retail-Eating Places,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,ONE VIRGINIA AVE,STE 800,INDIANAPOLIS,IN,46204,ONE VIRGINIA AVENUE,INDIANAPOLIS,IN,46204,3176343377,,,351281154,,2026-06-08,10-K,Y
1919847,"Software Effective Solutions, Corp.",Software Effective Solutions,"Software Effective Solutions, Corp.",SFWJ,SFWJ,OTC,LA,LA,Y,7371,Services-Computer Programming Services,other,,smaller_reporting_<75M,"6500 RIVER PLACE BLVD, BUILDING 7",SUITE 250,AUSTIN,TX,78730,"6500 RIVER PLACE BLVD, BUILDING 7",AUSTIN,TX,78730,512-554-3736,,,872005243,,2025-10-24,253G2,Y
1812286,Harrison Street Infrastructure Income Fund,Harrison Street Infrastructure Income Fund,Harrison Street Infrastructure Income Fund,VCRDX,VCRDX,,MA,MA,Y,,,other,,smaller_reporting_<75M,"5050 S. SYRACUSE ST., SUITE 1100",,DENVER,CO,80237,"5050 S. SYRACUSE ST., SUITE 1100",DENVER,CO,80237,(877) 200-1878,,,000000000,Versus Capital Infrastructure Income Fund|Versus Capital Real Asset Debt Fund,2026-06-04,N-CSR,Y
13372,NSTAR ELECTRIC CO,Nstar Electric,Nstar Electric Co,NSARO,NSARO|NSARP,OTC,MA,MA,Y,4911,Electric Services,operating,,smaller_reporting_<75M,800 BOYLSTON ST,P1600,BOSTON,MA,02199,800 BOYLSTON ST,BOSTON,MA,02199,6174242000,,,041278810,BOSTON EDISON CO,2026-05-13,8-K,Y
1723701,PIMCO Flexible Municipal Income Fund,PIMCO Flexible Municipal Income Fund,PIMCO Flexible Municipal Income Fund,PMFAX,PMFAX,,MA,MA,Y,,,other,,smaller_reporting_<75M,1633 BROADWAY,,NEW YORK,NY,10019,1633 BROADWAY,NEW YORK,NY,10019,(844) 337-4626,,,000000000,,2026-05-29,NPORT-P,Y
790500,"ABRDN ASIA-PACIFIC INCOME FUND, INC.",Abrdn Asia-pacific Income Fund,"Abrdn Asia-pacific Income Fund, Inc.",ABAKF,FAX|ABAKF,OTC,MD,MD,Y,,,other,,smaller_reporting_<75M,1900 MARKET STREET,SUITE 200,PHILADELPHIA,PA,19103,1900 MARKET STREET,PHILADELPHIA,PA,19103,215-405-5700,,,133334183,ABERDEEN ASIA-PACIFIC INCOME FUND INC|ABERDEEN ASIA PACIFIC INCOME FUND INC|FIRST AUSTRALIA PRIME INCOME FUND INC,2026-05-29,POS EX,Y
1327978,Ares Real Estate Income Trust Inc.,Ares Real Estate Income Trust,Ares Real Estate Income Trust Inc.,ZARE,ZARE,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer,smaller_reporting_<75M,ONE TABOR CENTER,"1200 SEVENTEENTH STREET, SUITE 2900",DENVER,CO,80202,ONE TABOR CENTER,DENVER,CO,80202,(303)228-2200,,,300309068,Black Creek Diversified Property Fund Inc.|Dividend Capital Diversified Property Fund Inc.|Dividend Capital Total Realty Trust Inc.,2026-06-04,8-K,Y
1275477,"BIMINI CAPITAL MANAGEMENT, INC.",Bimini Capital Management,"Bimini Capital Management, Inc.",BMNM,BMNM,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3305 FLAMINGO DRIVE,,VERO BEACH,FL,32963,3305 FLAMINGO DRIVE,VERO BEACH,FL,32963,772 231 1400,,,721571637,Opteum Inc.|BIMINI MORTGAGE MANAGEMENT INC,2026-05-08,10-Q,Y
1662972,"Blackstone Real Estate Income Trust, Inc.",Blackstone Real Estate Income Trust,"Blackstone Real Estate Income Trust, Inc.",BSTT,BSTT,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer,smaller_reporting_<75M,345 PARK AVENUE,,NEW YORK,NY,10154,345 PARK AVENUE,NEW YORK,NY,10154,212-583-5000,,,810696966,,2026-06-04,8-K,Y
1498547,"CIM REAL ESTATE FINANCE TRUST, INC.",Cim Real Estate Finance Trust,"Cim Real Estate Finance Trust, Inc.",CMRF,CMRF,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer,smaller_reporting_<75M,2398 EAST CAMELBACK ROAD,4TH FLOOR,PHOENIX,AZ,85016,2398 EAST CAMELBACK ROAD,PHOENIX,AZ,85016,602-778-8700,,,273148022,"COLE CREDIT PROPERTY TRUST IV, INC.|Cole Advisor Retail Income REIT, Inc.",2026-05-13,10-Q,Y
2013792,"EWSB Bancorp, Inc. /MD/",EWSB Bancorp,"EWSB Bancorp, Inc.",EWSB,EWSB,OTC,MD,MD,Y,6036,"Savings Institutions, Not Federally Chartered",operating, / Emerging growth company,smaller_reporting_<75M,109 WEST SECOND STREET,,KAUKAUNA,WI,02492,109 WEST SECOND STREET,KAUKAUNA,WI,02492,(920) 766-4646,,,000000000,,2026-06-05,8-K,Y
1698022,"Farmers & Merchants Bancshares, Inc.",Farmers & Merchants Bancshares,"Farmers & Merchants Bancshares, Inc.",FMFG,FMFG,OTC,MD,MD,Y,6036,"Savings Institutions, Not Federally Chartered",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4510 LOWER BECKLEYSVILLE ROAD,SUITE H,HAMPSTEAD,MD,21074,4510 LOWER BECKLEYSVILLE ROAD,HAMPSTEAD,MD,21074,4103741510,,,813605835,,2026-05-21,8-K,Y
1068897,FOXBY CORP.,Foxby,Foxby Corp.,FXBY,FXBY,OTC,MD,MD,Y,,,investment,,smaller_reporting_<75M,17 OLD DREWSVILLE ROAD,,WALOPLE,NH,,17 OLD DREWSVILLE ROAD,WALOPLE,NH,,2127850900,,,391966806,FOXBY CORP|INTERNET GROWTH FUND INC|LCM INTERNET GROWTH FUND INC,2026-05-28,NPORT-P,Y
890066,GLEN BURNIE BANCORP,Glen Burnie Bancorp,Glen Burnie Bancorp,GLBZ,GLBZ,OTC,MD,MD,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,101 CRAIN HWY SE,,GLEN BURNIE,MD,21061,101 CRAIN HWY SE,GLEN BURNIE,MD,21061,4107663300,,,521782444,,2026-01-13,15-12G,Y
1978811,"Gouverneur Bancorp, Inc./MD/",Gouverneur Bancorp,"Gouverneur Bancorp, Inc.",GOVB,GOVB,OTC,MD,MD,Y,6036,"Savings Institutions, Not Federally Chartered",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,42 CHURCH STREET,,GOUVERNEUR,NY,13642,42 CHURCH STREET,GOUVERNEUR,NY,13642,315-287-2600,,,000000000,,2026-05-19,4,Y
1585101,"HINES GLOBAL INCOME TRUST, INC.",Hines Global Income Trust,"Hines Global Income Trust, Inc.",HGIT,HGIT,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer,smaller_reporting_<75M,845 TEXAS AVENUE,SUITE 3300,HOUSTON,TX,77002,845 TEXAS AVENUE,HOUSTON,TX,77002,888-220-6121,,,800947092,"HINES GLOBAL REIT II, INC.",2026-05-18,424B3,Y
1528985,"Inland Real Estate Income Trust, Inc.",Inland Real Estate Income Trust,"Inland Real Estate Income Trust, Inc.",INRE,INRE,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer,smaller_reporting_<75M,2901 BUTTERFIELD ROAD,,OAK BROOK,IL,60523,2901 BUTTERFIELD ROAD,OAK BROOK,IL,60523,6302188000,,,453079597,"Inland Monthly Income Trust, Inc.|Inland Core Assets Real Estate Trust, Inc.",2026-05-21,4,Y
1690012,"InPoint Commercial Real Estate Income, Inc.",InPoint Commercial Real Estate Income,"InPoint Commercial Real Estate Income, Inc.",ICRL,ICR-PA|ICRL|ICRP,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2901 BUTTERFIELD ROAD,,OAK BROOK,IL,60523,2901 BUTTERFIELD ROAD,OAK BROOK,IL,60523,630-218-8000,,,320506267,,2026-05-28,8-K,Y
2067746,"JOSS Realty REIT, Inc.",JOSS Realty REIT,"JOSS Realty REIT, Inc.",JOSS,JOSS,,MD,MD,Y,6798,Real Estate Investment Trusts,other,,smaller_reporting_<75M,"650 FIFTH AVENUE, SUITE 2700",,NEW YORK,NY,10019,"650 FIFTH AVENUE, SUITE 2700",NEW YORK,NY,10019,2127108194,,,334793312,,2026-04-14,S-11/A,Y
1482430,"KBS Real Estate Investment Trust III, Inc.",KBS Real Estate Investment Trust III,"KBS Real Estate Investment Trust III, Inc.",KBSR,KBSR,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer,smaller_reporting_<75M,800 NEWPORT CENTER DRIVE,SUITE 700,NEWPORT BEACH,CA,92660,800 NEWPORT CENTER DRIVE,NEWPORT BEACH,CA,92660,949-417-6500,,,271627696,,2026-05-14,10-Q,Y
1619312,"Lightstone Value Plus REIT IV, Inc.",Lightstone Value Plus REIT IV,"Lightstone Value Plus REIT IV, Inc.",LTSV,LTSV,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1985 CEDAR BRIDGE AVENUE,SUITE 1,LAKEWOOD,NJ,08701,1985 CEDAR BRIDGE AVENUE,LAKEWOOD,NJ,08701,732-367-0129,,,471796830,Lightstone Real Estate Income Trust Inc.,2026-05-13,10-Q,Y
2024899,"Monroe Federal Bancorp, Inc.",Monroe Federal Bancorp,"Monroe Federal Bancorp, Inc.",MFBI,MFBI,OTC,MD,MD,Y,6035,"Savings Institution, Federally Chartered",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,24 E. MAIN STREET,,TIPP CITY,OH,45371,24 E. MAIN STREET,TIPP CITY,OH,45371,(937) 667-8461,,,000000000,,2026-02-17,SCHEDULE 13G/A,Y
1561032,"National Healthcare Properties, Inc.",National Healthcare Properties,"National Healthcare Properties, Inc.",HLTC,NHP|HLTC|NHPAP|NHPBP,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer,smaller_reporting_<75M,"540 MADISON AVE, 27TH FLOOR",,NEW YORK,NY,10022,"540 MADISON AVE, 27TH FLOOR",NEW YORK,NY,10022,332-258-8770,,,383888962,"Healthcare Trust, Inc.|American Realty Capital Healthcare Trust II, Inc.",2026-06-01,SCHEDULE 13G,Y
1854964,"NewLake Capital Partners, Inc.",NewLake Capital Partners,"NewLake Capital Partners, Inc.",NLCP,NLCP,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating, / Emerging growth company,smaller_reporting_<75M,50 LOCUST AVENUE,,NEW CANAAN,CT,06840,50 LOCUST AVENUE,NEW CANAAN,CT,06840,203.594.1402,,,834400045,,2026-06-08,8-K,Y
888981,NOCOPI TECHNOLOGIES INC/MD/,Nocopi Technologies,Nocopi Technologies Inc,NNUP,NNUP,OTC,MD,MD,Y,3944,"Games, Toys & Children's Vehicles (No Dolls & Bicycles)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,480 SHOEMAKER ROAD,SUITE 104,KING OF PRUSSIA,PA,19406,480 SHOEMAKER ROAD,KING OF PRUSSIA,PA,19406,6108349600,,,870406496,,2026-05-21,8-K,Y
1456772,OFFICE PROPERTIES INCOME TRUST,Office Properties Income Trust,Office Properties Income Trust,OPIRQ,OPIRQ|OPITQ,OTC,MD,MD,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,C/O THE RMR GROUP,"TWO NEWTON PL., 255 WASH. ST., STE. 300",NEWTON,MA,02458,C/O THE RMR GROUP,NEWTON,MA,02458,(617) 219-1440,,,264273474,Government Properties Income Trust|GOVERNMENT PROPERTIES INCOME TRUST,2026-06-04,8-K,Y
1824204,Park View OZ REIT Inc,Park View OZ REIT,Park View OZ REIT Inc,PVOZ,PVOZ,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,other,,smaller_reporting_<75M,ONE BEACON STREET,32ND FLOOR,BOSTON,MA,02108,ONE BEACON STREET,BOSTON,MA,02108,617 917 8807,,,851631598,,2026-05-26,1-U,Y
1305767,"Pioneer Floating Rate Fund, Inc.",Pioneer Floating Rate Fund,"Pioneer Floating Rate Fund, Inc.",PHD,PHD,,MD,MD,Y,,,other,,smaller_reporting_<75M,60 STATE STREET,5TH FLOOR,BOSTON,MA,02109,60 STATE STREET,BOSTON,MA,02109,617-742-7825,,,582683903,Pioneer Floating Rate Trust,2026-04-23,NPORT-P,Y
845385,PRINCETON CAPITAL CORP,Princeton Capital,Princeton Capital Corp,PIAC,PIAC,OTC,MD,MD,Y,,,operating,Non-accelerated filer,smaller_reporting_<75M,800 TURNPIKE STREET,SUITE 300,NORTH ANDOVER,MA,01845,800 TURNPIKE STREET,NORTH ANDOVER,MA,01845,978-794-3366,,,463516073,REGAL ONE CORP|REGAL ONE Corp,2026-05-26,40-17G,Y
1692345,"PROCACCIANTI HOTEL REIT, INC.",Procaccianti Hotel Reit,"Procaccianti Hotel Reit, Inc.",PRXA,PRXA,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1140 RESERVOIR AVENUE,,CRANSTON,RI,02920,1140 RESERVOIR AVENUE,CRANSTON,RI,02920,401-946-4600,,,813661609,,2026-05-27,8-K,Y
2087419,"PSB Financial, Inc.",PSB Financial,"PSB Financial, Inc.",PNSB,,OTC,MD,MD,Y,6036,"Savings Institutions, Not Federally Chartered",operating, / Emerging growth company,smaller_reporting_<75M,202 NORTH MAIN STREET,,DEER LODGE,MT,59722,833 E MICHIGAN STREET,MILWAUKEE,WI,53202,406-846-2202,,,000000000,,2026-05-21,8-K,Y
2077715,"RiverNorth Long Prime Unicorn Fund I, Inc.",RiverNorth Long Prime Unicorn Fund I,"RiverNorth Long Prime Unicorn Fund I, Inc.",UNIU,UNIU,,MD,MD,Y,,,other,,smaller_reporting_<75M,360 SOUTH ROSEMARY AVENUE,SUITE 1420,WEST PALM BEACH,FL,33401,360 SOUTH ROSEMARY AVENUE,WEST PALM BEACH,FL,33401,561-484-7185,,,000000000,"RiverNorth Long Prime Unicorn Fund 2028, Inc.|RiverNorth Long Prime Unicorn Fund 2027, Inc.",2026-06-08,8-A12B/A,Y
2077697,"RiverNorth Short Prime Unicorn Fund I, Inc",RiverNorth Short Prime Unicorn Fund I,"RiverNorth Short Prime Unicorn Fund I, Inc",UNID,UNID,,MD,MD,Y,,,other,,smaller_reporting_<75M,360 SOUTH ROSEMARY AVENUE,SUITE 1420,WEST PALM BEACH,FL,33401,360 SOUTH ROSEMARY AVENUE,WEST PALM BEACH,FL,33401,561-484-7185,,,392956978,"RiverNorth Short Prime Unicorn Fund 2028, Inc|RiverNorth Short Prime Unicorn Fund 2027, Inc.",2026-06-08,8-A12B/A,Y
2036060,"Security Midwest Bancorp, Inc.",Security Midwest Bancorp,"Security Midwest Bancorp, Inc.",SBMW,SBMW,OTC,MD,MD,Y,6036,"Savings Institutions, Not Federally Chartered",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,510 E. MONROE,,SPRINFIELD,IL,62701,510 E. MONROE,SPRINFIELD,IL,62701,(217) 789-3500,,,000000000,,2026-05-14,10-Q,Y
2072421,"Seneca Bancorp, Inc.",Seneca Bancorp,"Seneca Bancorp, Inc.",SNNF,SNNF,OTC,MD,MD,Y,6021,National Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,35 OSWEGO STREET,,BALDWINSVILLE,NY,13027,35 OSWEGO STREET,BALDWINSVILLE,NY,13027,(315) 638-0233,,,000000000,,2026-06-04,8-K,Y
1301236,Sotherly Hotels Inc.,Sotherly Hotels,Sotherly Hotels Inc.,SOHON,SOHOO|SOHON|SOHOB,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,306 SOUTH HENRY STREET,SUITE 100,WILLIAMSBURG,VA,23185,306 SOUTH HENRY STREET,WILLIAMSBURG,VA,23185,757-229-5648,,,000000000,MHI Hospitality CORP,2026-04-28,SCHEDULE 13G/A,Y
1711929,"Starwood Real Estate Income Trust, Inc.",Starwood Real Estate Income Trust,"Starwood Real Estate Income Trust, Inc.",SWDR,SWDR,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer,smaller_reporting_<75M,2340 COLLINS AVENUE,,MIAMI BEACH,FL,33139,2340 COLLINS AVENUE,MIAMI BEACH,FL,33139,305-695-5500,,,822023409,,2026-05-29,8-K,Y
1852575,"Strategic Storage Trust VI, Inc.",Strategic Storage Trust VI,"Strategic Storage Trust VI, Inc.",SGST,SGST,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating, / Emerging growth company,smaller_reporting_<75M,10 TERRACE ROAD,,LADERA RANCH,CA,92694,10 TERRACE ROAD,LADERA RANCH,CA,92694,9495424516,,,853494431,,2026-05-28,8-K,Y
1698538,"Strategic Student & Senior Housing Trust, Inc.",Strategic Student & Senior Housing Trust,"Strategic Student & Senior Housing Trust, Inc.",STSR,STSR,OTC,MD,MD,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,10 TERRACE ROAD,,LADERA RANCH,CA,92694,10 TERRACE ROAD,LADERA RANCH,CA,92694,949 429 6600,,,000000000,"Strategic Student Senior & Storage Trust, Inc.",2026-05-26,8-K,Y
2084261,"URSB Bancorp, Inc.",URSB Bancorp,"URSB Bancorp, Inc.",URSB,URSB,OTC,MD,MD,Y,6036,"Savings Institutions, Not Federally Chartered",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,11-15 COOKE AVENUE,,CARTERET,NJ,07008,11-15 COOKE AVENUE,CARTERET,NJ,07008,732-541-5445,,,000000000,,2026-05-15,10-Q,Y
1630745,"DCFC Holdings, LLC",DCFC Holdings,"DCFC Holdings, LLC",DCFBS,DCFBS,OTC,MI,MI,Y,,,other,,smaller_reporting_<75M,3401 E. LAFAYETTE,,DETROIT,MI,48216,3401 E. LAFAYETTE,DETROIT,MN,,3136562480,,,472662769,,2026-04-30,C-AR,Y
1023458,AEI INCOME & GROWTH FUND XXII LTD PARTNERSHIP,Aei Income & Growth Fund Xxii Ltd Partnership,Aei Income & Growth Fund Xxii Ltd Partnership,XAEIU,XAEIU,OTC,MN,MN,Y,6500,Real Estate,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,30 EAST 7TH ST SUITE 1300,,ST PAUL,MN,55101,30 EAST 7TH ST SUITE 1300,ST PAUL,MN,55101,6512277333,,,411848181,,2026-05-13,10-Q,Y
943034,AUTOSCOPE TECHNOLOGIES CORP,Autoscope Technologies,Autoscope Technologies Corp,AATC,AATC,OTC,MN,MN,Y,3829,"Measuring & Controlling Devices, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1115 HENNEPIN AVE,,MINNEAPOLIS,MN,55403,1115 HENNEPIN AVE,MINNEAPOLIS,MN,55403,6516037700,,,863685595,IMAGE SENSING SYSTEMS INC,2026-03-30,D/A,Y
1838003,"Encore Medical, Inc.",Encore Medical,"Encore Medical, Inc.",EMI,EMI,,MN,MN,Y,3841,Surgical & Medical Instruments & Apparatus,other,,smaller_reporting_<75M,2975 LONE OAK DRIVE,,EAGAN,MN,55121,2975 LONE OAK DRIVE,EAGAN,MN,55121,651-797-0913,,,822906303,,2026-04-09,FWP,Y
1489874,Golden Growers Cooperative,Golden Growers Cooperative,Golden Growers Cooperative,GGROU,GGROU,OTC,MN,MN,Y,0700,Agricultural Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1002 MAIN AVENUE WEST,SUITE 5,WEST FARGO,ND,58078,1002 MAIN AVENUE WEST,WEST FARGO,ND,58078,701-281-0468,,,000000000,,2026-05-08,10-Q,Y
71557,"Nuvera Communications, Inc.",Nuvera Communications,"Nuvera Communications, Inc.",NUVR,NUVR,OTC,MN,MN,Y,4813,Telephone Communications (No Radiotelephone),operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,27 NORTH MINNESOTA ST.,,NEW ULM,MN,56073,P O BOX 697,NEW ULM,MN,56073,5073544111,,,410440990,NEW ULM TELECOM INC,2026-05-29,4,Y
942895,REDWOOD FINANCIAL INC /MN/,Redwood Financial,Redwood Financial Inc,REDW,REDW,OTC,MN,MN,Y,6035,"Savings Institution, Federally Chartered",other,,smaller_reporting_<75M,301 S WASHINGTON ST,P O BOX 317,REDWOOD FALLS,MN,56283,301 S WASHINGTON ST,REDWOOD FALLS,MN,56283,5076378730,,,411807233,,2026-03-18,D,Y
100826,UNION ELECTRIC CO,Union Electric,Union Electric Co,UELMO,UELMO|UEPCN|UEPEO|UEPEP|UEPCP|UEPEN|UEPCO|UEPEM,OTC,MO,MO,Y,4911,Electric Services,operating,,smaller_reporting_<75M,1901 CHOUTEAU AVENUE,MC 1310,ST LOUIS,MO,63166,1901 CHOUTEAU AVENUE,ST LOUIS,MO,63166,314-621-3222,,,430559760,,2026-05-18,8-K,Y
770460,PEOPLES FINANCIAL CORP /MS/,Peoples Financial,Peoples Financial Corp,PFBX,PFBX,OTC,MS,MS,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,152 LAMEUSE STREET,P O BOX 529,BILOXI,MS,39530,P O BOX 529,BILOXI,MS,39533-0529,2284355511,,,640709834,PEOPLES FINANCIAL CORP,2026-06-04,4,Y
1531193,"First Carolina Financial Services, Inc.",First Carolina Financial Services,"First Carolina Financial Services, Inc.",FCBM,FCBM,,NC,NC,Y,6022,State Commercial Banks,other,,smaller_reporting_<75M,2626 GLENWOOD AVENUE,SUITE 200,RALEIGH,NC,27608,2626 GLENWOOD AVENUE,RALEIGH,NC,27608,252-937-2152,,,272136973,,2026-06-08,FWP,Y
898171,UWHARRIE CAPITAL CORP,Uwharrie Capital,Uwharrie Capital Corp,UWHR,UWHR,OTC,NC,NC,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,132 NORTH FIRST STREET,PO BOX 338,ALBEMARLE,NC,28001,P O BOX 338,ALBEMARLE,NC,28002-0338,7049836181,,,561814206,STANLY CAPITAL CORP,2026-05-26,3,Y
1053369,ELITE PHARMACEUTICALS INC /NV/,Elite Pharmaceuticals,Elite Pharmaceuticals Inc,ELTP,ELTP,OTC,NJ,NJ,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,165 LUDLOW AVENUE,,NORTHVALE,NJ,07647,165 LUDLOW AVENUE,NORTHVALE,NJ,07647,2017502646,,,223542636,ELITE PHARMACEUTICALS INC /DE/,2026-06-01,8-K,Y
36840,"FIRST REAL ESTATE INVESTMENT TRUST OF NEW JERSEY, INC.",First Real Estate Investment Trust of New Jersey,"First Real Estate Investment Trust of New Jersey, Inc.",FREVS,FREVS,OTC,NJ,NJ,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,505 MAIN STREET,SUITE 400,HACKENSACK,NJ,07601,505 MAIN STREET,HACKENSACK,NJ,07601,2014886400,,,221697095,FIRST REAL ESTATE INVESTMENT TRUST OF NEW JERSEY,2026-05-28,PRER14A,Y
803097,"SportsQuest, Inc.",SportsQuest,"SportsQuest, Inc.",SPQS,SPQS,OTC,NJ,NJ,Y,7900,Services-Amusement & Recreation Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"500 AUSTRALIAN AVENUE, SUITE 600",,WEST PALM BEACH,FL,33401,"500 AUSTRALIAN AVENUE, SUITE 600",WEST PALM BEACH,FL,33401,954-837-6833,,,222742564,AIR BROOK AIRPORT EXPRESS INC,2026-05-15,10-Q,Y
81023,PUBLIC SERVICE CO OF NEW MEXICO,Public Service Co of New Mexico,Public Service Co of New Mexico,PNMXO,PNMXO,OTC,NM,NM,Y,4931,Electric & Other Services Combined,operating,,smaller_reporting_<75M,414 SILVER AVE. SW,,ALBUQUERQUE,NM,87102-3289,414 SILVER AVE. SW,ALBUQUERQUE,NM,87102-3289,5058482700,,,850019030,,2026-06-02,8-K,Y
1642365,Alpine Auto Brokers Inc.,Alpine Auto Brokers,Alpine Auto Brokers Inc.,ALTB,ALTB,OTC,NY,NY,Y,5990,"Retail-Retail Stores, NEC",operating, / Emerging growth company,smaller_reporting_<75M,749 SOUTH STATE STREET,,SALT LAKE CITY,UT,84111,"ROOM 2605 SOUTH TOWER, CONCORDIA PLAZA",KOWLOON,K3,000000,(852) 2180 7022,,,383970138,"Balincan International Inc.|Alpine Auto Brokers, Inc.",2025-08-05,8-K,Y
1672571,Antiaging Quantum Living Inc.,Antiaging Quantum Living,Antiaging Quantum Living Inc.,AAQL,AAQL,OTC,NY,NY,Y,7331,Services-Direct Mail Advertising Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,135-22 NORTHERN BLVD,2ND FL,FLUSHING,NY,11354,135-22 NORTHERN BLVD,FLUSHING,NY,11354,9174705393,,,472643986,Achison Inc,2026-02-13,10-Q,Y
1904616,Baker Global Asset Management Inc.,Baker Global Asset Management,Baker Global Asset Management Inc.,BAKR,BAKR,OTC,NY,NY,Y,6200,"Security & Commodity Brokers, Dealers, Exchanges & Services",other,,smaller_reporting_<75M,"3 WEST GARDEN STREET, SUITE 407",,PENSACOLA,FL,32502,"3 WEST GARDEN STREET, SUITE 407",PENSACOLA,FL,32502,5169311090,,,000000000,,2025-10-31,1-K,Y
2094107,"Ballston Spa Bancorp, Inc.",Ballston Spa Bancorp,"Ballston Spa Bancorp, Inc.",BSPA,BSPA,OTC,NY,NY,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,990 STATE ROUTE 67,,BALLSTON SPA,NY,,990 STATE ROUTE 67,BALLSTON SPA,NY,,(518) 363-8199,,,742245601,,2026-05-14,10-Q,Y
1939479,China Strategic Technology Group Limited/ADR,China Strategic Technology Group Limited/ADR,China Strategic Technology Group Limited/ADR,USPCY,USPCY,OTC,NY,NY,Y,3510,Engines & Turbines,other,,smaller_reporting_<75M,120 BROADWAY,32ND FLOOR,NEW YORK,NY,10271,120 BROADWAY,NEW YORK,NY,10271,2122383128,,,000000000,USPACE Technology Group Limited/ADR|Hong Kong Aerospace Technology Group Limited/ADR,2025-12-02,424B3,Y
1837671,Copper Property CTL Pass Through Trust,Copper Property CTL Pass Through Trust,Copper Property CTL Pass Through Trust,CPPTL,CPPTL,OTC,NY,NY,Y,6500,Real Estate,operating, / Emerging growth company,smaller_reporting_<75M,6501 LEGACY DRIVE,,PLANO,TX,75024,6501 LEGACY DRIVE,PLANO,TX,75024,972-243-1100,,,000000000,,2026-06-05,8-K,Y
927719,DELHI BANK CORP,Delhi Bank,Delhi Bank Corp,DWNX,DWNX,OTC,NY,NY,Y,6021,National Commercial Banks,other,,smaller_reporting_<75M,124 MAIN ST,,DELHI,NY,13753,124 MAIN ST,DELHI,NY,13753,855-413-3544,,,141777653,,2026-03-16,QUALIF,Y
1261002,GENOIL INC,Genoil,Genoil Inc,GNOLF,GNOLF,OTC,NY,NY,Y,1389,"Oil & Gas Field Services, NEC",operating,Non-accelerated filer,smaller_reporting_<75M,"ONE ROCKEFELLER CENTER, 11TH FLOOR",,NEW YORK,NY,10020,"ONE ROCKEFELLER CENTER, 11TH FLOOR",NEW YORK,NY,10020,1-403-750 3450,,,000000000,,2026-05-13,20-F,Y
1585380,"Greene Concepts, Inc",Greene Concepts,"Greene Concepts, Inc",INKW,INKW,OTC,NY,NY,Y,2086,Bottled & Canned Soft Drinks & Carbonated Waters,other,,smaller_reporting_<75M,1865 HERNDON AVENUE,SUITE K358,CLOVIS,CA,93611,1865 HERNDON AVENUE,CLOVIS,CA,93611,559-494-1000,,,743101465,,2026-05-21,253G1,Y
50292,IEH Corp,IEH,IEH Corp,IEHC,IEHC,OTC,NY,NY,Y,3678,Electronic Connectors,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,140 58TH ST BLDG B UNIT 8E,,BROOKLYN,NY,11220,140 58TH STREET BUILDING B SUITE 8E,BROOKLYN,NY,11220,7184924440,,,135549345,IEH CORPORATION,2026-06-08,8-K,Y
2003750,"Maitong Sunshine Cultural Development Co., Ltd",Maitong Sunshine Cultural Development Co.,"Maitong Sunshine Cultural Development Co., Ltd",MGSD,MGSD,OTC,NY,NY,Y,4700,Transportation Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"ROOM 202, GATE 6, BUILDING 9, YAYUAN","ANHUI BEILI, CHAOYANG DISTRICT",BEIJING,,100000,"ROOM 202, GATE 6, BUILDING 9, YAYUAN",BEIJING,,100000,0086 010 64927946,,,934332287,,2026-05-20,10-Q,Y
66496,MILLS MUSIC TRUST,Mills Music Trust,Mills Music Trust,MMTRS,MMTRS,OTC,NY,NY,Y,6794,Patent Owners & Lessors,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1001 AVENUE OF THE AMERICAS,2ND FLOOR,NEW YORK,NY,10018,1001 AVENUE OF THE AMERICAS,NEW YORK,NY,10018,2128685781,,,136183792,,2026-05-15,10-Q,Y
1562805,Mitsui Kinzoku Co Ltd./ADR,Mitsui Kinzoku Co Ltd./ADR,Mitsui Kinzoku Co Ltd./ADR,XZJCF,XZJCF,OTC,NY,NY,Y,,,other,,smaller_reporting_<75M,120 BROADWAY,32ND FLOOR,NEW YORK,NY,10271,120 BROADWAY,NEW YORK,NY,10271,212-238-3128,,,000000000,"Mitsui Mining & Smelting Co., Ltd./ADR",2025-10-10,F-6 POS,Y
1084267,"Mobiquity Technologies, Inc.",Mobiquity Technologies,"Mobiquity Technologies, Inc.",MOBQ,MOBQ|MOBQW,OTC,NY,NY,Y,7310,Services-Advertising,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,35 TORRINGTON LANE,,SHOREHAM,NY,11786,35 TORRINGTON LANE,SHOREHAM,NY,11786,516-256-7766,,,113427886,ACE MARKETING & PROMOTIONS INC,2026-05-15,10-Q,Y
747540,SURGE COMPONENTS INC,Surge Components,Surge Components Inc,SPRS,SPRS,OTC,NY,NY,Y,5065,"Wholesale-Electronic Parts & Equipment, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,95 EAST JEFRYN BLVD,,DEER PARK,NY,11729,SURGE COMPONENTS INC,DEER PARK,NY,11729,5165951818,,,112602030,,2026-04-14,10-Q,Y
1555815,Tisco Financial Group Public Co Limited/ADR,Tisco Financial Group Public Co Limited/ADR,Tisco Financial Group Public Co Limited/ADR,TSCFY,TSCFY,OTC,NY,NY,Y,,,other,,smaller_reporting_<75M,120 BROADWAY,32ND FLOOR,NEW YORK,NY,10271,120 BROADWAY,NEW YORK,NY,10271,2122383267,,,000000000,,2025-09-05,F-6EF,Y
895464,Yubo International Biotech Ltd,Yubo International Biotech,Yubo International Biotech Ltd,YBGJ,YBGJ,OTC,NY,NY,Y,3845,Electromedical & Electrotherapeutic Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"ROOM 105, BUILDING 5, 31 XISHIKU AVENUE",,BEIJING,F4,00000,"ROOM 105, BUILDING 5, 31 XISHIKU AVENUE",BEIJING,F4,00000,86 (010) 6615-5141,,,113074326,MAGNA LAB INC,2026-05-15,10-Q,Y
2066925,"CAPSTONE 72, INC.",Capstone 72,"Capstone 72, Inc.",CAPI,CAPI,,OH,OH,Y,6500,Real Estate,other,,smaller_reporting_<75M,"1440 ROCKSIDE RD SUITE 118,",ROCKSIDE PLAZA,PARMA,OH,44134,"1440 ROCKSIDE RD SUITE 118,",PARMA,OH,44134,1 828 7246873,,,334807947,,2026-05-27,S-11/A,Y
1006830,CONSUMERS BANCORP INC /OH/,Consumers Bancorp,Consumers Bancorp Inc,CBKM,CBKM,OTC,OH,OH,Y,6021,National Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,614 E LINCOLN WAY,PO BOX 256,MINERVA,OH,44657-2096,614 E LINCOLN WAY,MINERVA,OH,44657-2095,3308687701,,,341771400,,2026-06-01,3,Y
880417,"CSB Bancorp, Inc.",CSB Bancorp,"CSB Bancorp, Inc.",CSBB,CSBB,OTC,OH,OH,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,91 NORTH CLAY ST,,MILLERSBURG,OH,44654,91 NORTH CLAY ST,MILLERSBURG,OH,44654,3306749015,,,341687530,CSB BANCORP INC /OH,2026-05-14,10-Q,Y
1087456,UNITED BANCSHARES INC/OH,United Bancshares,United Bancshares Inc,UBOH,,OTC,OH,OH,Y,6021,National Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,105 PROGRESSIVE DRIVE,,COLUMBUS GROVE,OH,45830,105 PROGRESSIVE DRIVE,COLUMBUS GROVE,OH,45830,419-659-2141,,,341516518,,2026-05-13,D,Y
1917993,Growth Stalk Holdings Corp,Growth Stalk Holdings,Growth Stalk Holdings Corp,GSTK,GSTK,OTC,OK,OK,Y,0100,Agricultural Production-Crops,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,11991 N HWY 99,,SEMINOLE,OK,74868,11991 N HWY 99,SEMINOLE,OK,74868,4054560207,,,873145742,,2026-05-28,D,Y
1879293,"Mag Mile Capital, Inc.",Mag Mile Capital,"Mag Mile Capital, Inc.",MMCP,MMCP,OTC,OK,OK,Y,3567,Industrial Process Furnaces & Ovens,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1141 W. RANDOLPH STREET,SUITE 200,CHICAGO,IL,60607,3625 COVE POINT DRIVE,SALT LAKE CITY,UT,84109,801 209 0740,,,871614433,"Myson, Inc.",2026-05-14,10-Q,Y
1449794,"Embassy Bancorp, Inc.",Embassy Bancorp,"Embassy Bancorp, Inc.",EMYB,EMYB,OTC,PA,PA,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,100 GATEWAY DRIVE,SUITE 100,BETHLEHEM,PA,18017,100 GATEWAY DRIVE,BETHLEHEM,PA,18017,610-882-8800,,,263339011,,2026-06-08,4,Y
1437479,ENB Financial Corp,ENB Financial,ENB Financial Corp,ENBP,ENBP,OTC,PA,PA,Y,6021,National Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,31 E MAIN STREET,PO BOX 457,EPHRATA,PA,17522-0457,31 E MAIN STREET,EPHRATA,PA,17522-0457,717-733-4181,,,510661129,,2026-05-15,10-Q,Y
862668,ESCALON MEDICAL CORP,Escalon Medical,Escalon Medical Corp,ESMC,ESMC,OTC,PA,PA,Y,3845,Electromedical & Electrotherapeutic Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,435 DEVON PARK ROAD,SUITE 824,WAYNE,PA,19087,435 DEVON PARK ROAD,WAYNE,PA,19087,6106886830,,,330272839,,2026-05-15,10-Q,Y
737875,FIRST KEYSTONE CORP,First Keystone,First Keystone Corp,FKYS,FKYS,OTC,PA,PA,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,111 W FRONT ST,PO BOX 289,BERWICK,PA,18603,111 WEST FRONT STREET,BERWICK,PA,18603,570-752-3671 X 1150,,,232249083,,2026-05-28,8-K,Y
1846702,"Forge Group, Inc.",Forge Group,"Forge Group, Inc.",FIGP,FIGP,OTC,PA,PA,Y,6331,"Fire, Marine & Casualty Insurance",other,,smaller_reporting_<75M,8401 CONNECTICUT AVENUE,SUITE 300,CHEVY CHASE,MD,20815,8401 CONNECTICUT AVENUE,CHEVY CHASE,MD,20815,202-547-8700,,,854184821,"Amalgamated Specialty Group Holdings, Inc.",2026-05-15,1-U,Y
714712,JUNIATA VALLEY FINANCIAL CORP,Juniata Valley Financial,Juniata Valley Financial Corp,JUVF,JUVF,OTC,PA,PA,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,BRIDGE AND MAIN STREETS,PO BOX 66,MIFFLINTOWN,PA,17059-0066,BRIDGE AND MAIN STREETS,MIFFLINTOWN,PA,17059-0066,855-582-5101,,,232235254,,2026-06-04,4,Y
731122,MUNCY COLUMBIA FINANCIAL Corp,MUNCY COLUMBIA FINANCIAL,MUNCY COLUMBIA FINANCIAL Corp,CCFN,CCFN,OTC,PA,PA,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1199 LIGHTSTREET ROAD,,BLOOMSBURG,PA,17815,1199 LIGHTSTREET ROAD,BLOOMSBURG,PA,17815,5707844400,,,232254643,CCFNB BANCORP INC,2026-05-27,4,Y
750558,QNB CORP.,Qnb,Qnb Corp.,QNBC,QNBC,OTC,PA,PA,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,15 NORTH THIRD STREET,,QUAKERTOWN,PA,18951-9005,P.O. BOX 9005,QUAKERTOWN,PA,18951,2155385600,,,232318082,QNB CORP,2026-06-08,8-K/A,Y
1391933,"QUAINT OAK BANCORP, INC.",Quaint Oak Bancorp,"Quaint Oak Bancorp, Inc.",QNTO,QNTO,OTC,PA,PA,Y,6036,"Savings Institutions, Not Federally Chartered",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,501 KNOWLES AVENUE,,SOUTHAMPTON,PA,18966,501 KNOWLES AVENUE,SOUTHAMPTON,PA,18966,215 364 4059,,,352293957,QUAINT OAK BANCORP INC,2026-05-27,4,Y
202947,CAPITAL PROPERTIES INC /RI/,Capital Properties,Capital Properties Inc,CPTP,CPTP,OTC,RI,RI,Y,6519,"Lessors of Real Property, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,5 STEEPLE STREET,UNIT 303,PROVIDENCE,RI,02903,5 STEEPLE STREET,PROVIDENCE,RI,02903,401-435-7171,,,050386287,,2026-02-10,SCHEDULE 13G,Y
1437213,"Coastal Carolina Bancshares, Inc.",Coastal Carolina Bancshares,"Coastal Carolina Bancshares, Inc.",CCNB,CCNB,OTC,SC,SC,Y,6021,National Commercial Banks,operating,,smaller_reporting_<75M,1012 38TH AVENUE NORTH,,MYRTLE BEACH,SC,29577,1012 38TH AVENUE NORTH,MYRTLE BEACH,SC,29577,(843) 839-1952,,,331206107,,2026-02-13,SCHEDULE 13G/A,Y
818677,SECURITY FEDERAL CORP,Security Federal,Security Federal Corp,SFDL,SFDL,OTC,SC,SC,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,238 RICHLAND AVENUE NW,,AIKEN,SC,29801,238 RICHLAND AVENUE NW,AIKEN,SC,29801,8036413000,,,570858504,SECURITY FEDERAL CORPORATION,2026-03-20,10-K,Y
1568969,Techlott Inc.,Techlott,Techlott Inc.,LOTT,APYP,OTC,SD,SD,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,16 NATAN ALTERMAN ST,,GAN YAVNE,,,447 BROADWAY,NEW YORK,NY,10013,8006743561,,,461496846,"APPYEA, INC",2026-06-03,8-K,Y
29332,DIXIE GROUP INC,Dixie Group,Dixie Group Inc,DXYN,DXYN,OTC,TN,TN,Y,2273,Carpets & Rugs,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,PO BOX 2007,,DALTON,GA,30722,PO BOX 2007,DALTON,GA,30722,7068765814,,,620183370,DIXIE YARNS INC,2026-05-27,SCHEDULE 13G,Y
96664,"American Fusion, Inc.",American Fusion,"American Fusion, Inc.",AMFN,AMFN,OTC,TX,TX,Y,4911,Electric Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"401 N CARROLL AVE., STE. 192",,SOUTHLAKE,TX,76092,"401 N CARROLL AVE., STE. 192",SOUTHLAKE,TX,76092,480-788-7420,,,221436279,"Renewal Fuels, Inc.|TECH LABORATORIES INC",2026-05-20,10-Q,Y
1572386,"GREENWAY TECHNOLOGIES, INC. & SUBSIDIARIES","Greenway Technologies, Inc. & Subsidiaries","Greenway Technologies, Inc. & Subsidiaries",GWTI,GWTI,OTC,TX,TX,Y,2860,Industrial Organic Chemicals,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,1521 NORTH COOPER STREET,SUITE 205,ARLINGTON,TX,76011,1521 NORTH COOPER STREET,ARLINGTON,TX,76011,(561) 809-4644,,,900893594,"GREENWAY TECHNOLOGIES INC|UMED HOLDINGS, INC.",2026-06-03,8-K,Y
862022,HUGOTON ROYALTY TRUST,Hugoton Royalty Trust,Hugoton Royalty Trust,HGTXU,HGTXU,OTC,TX,TX,Y,6792,Oil Royalty Traders,operating,,smaller_reporting_<75M,C/O ARGENT TRUST COMPANY,"3838 OAK LAWN AVE., SUITE 1720",DALLAS,TX,75219-4518,C/O ARGENT TRUST COMPANY,DALLAS,TX,75219-4518,972-919-1360,,,586379215,,2026-05-18,8-K,Y
1096296,MINERALRITE Corp,MINERALRITE,MINERALRITE Corp,RITE,RITE,OTC,TX,TX,Y,1090,Miscellaneous Metal Ores,operating, / Emerging growth company,smaller_reporting_<75M,325 N. ST. PAUL STREET,SUITE 3100,DALLAS,TX,75201,325 N. ST. PAUL STREET,DALLAS,TX,75201,469-881-8900,,,900315909,ROYAL QUANTUM GROUP INC|PLATINUM SUPERYACHTS INC|MENTOR ON CALL INC|PSM CORP,2026-05-27,8-K,Y
844985,POSITRON CORP,Positron,Positron Corp,POSC,POSC,OTC,TX,TX,Y,3845,Electromedical & Electrotherapeutic Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,530 OAKMONT LANE,,WESTMOUNT,IL,60559,530 OAKMONT LANE,WESTMOUNT,IL,60559,2814927100,,,760083622,,2026-05-15,10-Q,Y
1038277,RADNOSTIX INC,Radnostix,Radnostix Inc,INIS,INIS,OTC,TX,TX,Y,3823,"Industrial Instruments For Measurement, Display, and Control",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4137 COMMERCE CIRCLE,,IDAHO FALLS,ID,83401,4137 COMMERCE CIRCLE,IDAHO FALLS,ID,83401,2085245300,,,742763837,INTERNATIONAL ISOTOPES INC,2026-06-04,DEFA14A,Y
34285,RELIABILITY INC,Reliability,Reliability Inc,RLBY,RLBY,OTC,TX,TX,Y,7363,Services-Help Supply Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,22505 GATEWAY CENTER DRIVE,P.O. BOX 71,CLARKSBURG,MD,20871,22505 GATEWAY CENTER DRIVE,CLARKSBURG,MD,20871,(203) 489-9500,,,750868913,,2026-05-20,10-Q,Y
1181412,SPACE EXPLORATION TECHNOLOGIES CORP,Space Exploration Technologies,Space Exploration Technologies Corp,SPCX,SPCX,,TX,TX,Y,7370,"Services-Computer Programming, Data Processing, Etc.",other,,smaller_reporting_<75M,1 ROCKET ROAD,,STARBASE,TX,78521,1 ROCKET ROAD,STARBASE,TX,78521,3103636000,,,000000000,,2026-06-09,FWP,Y
867038,SPINDLETOP OIL & GAS CO,Spindletop Oil & Gas,Spindletop Oil & Gas Co,SPND,SPND,OTC,TX,TX,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,12850 SPURLING RD.,SUITE 200,DALLAS,TX,75230-1279,12850 SPURLING RD.,DALLAS,TX,75230-1279,9726442581,,,752063001,,2026-05-20,10-Q,Y
1083490,SUNRISE REAL ESTATE GROUP INC,Sunrise Real Estate Group,Sunrise Real Estate Group Inc,SRRE,SRRE,OTC,TX,TX,Y,6513,Operators of Apartment Buildings,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,SUITE 1502,NO. 333 ZHAOJIABANG ROAD,SHANGHAI,,,SUITE 1502,SHANGHAI,,,8621-64220505,,,752713701,SUNRISE REAL ESTATE DEVELOPMENT GROUP INC|PARALLAX ENTERTAINMENT INC,2026-05-20,10-Q,Y
1532383,VANJIA CORP,Vanjia,Vanjia Corp,VNJA,VNJA,OTC,TX,TX,Y,1531,Operative Builders,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4771 SWEETWATER BLVD #199,,SUGAR LAND,TX,77479,4771 SWEETWATER BLVD #199,SUGAR LAND,TX,77479,713-898-6818,,,453051284,Vantone Realty Corp,2026-05-15,10-Q,Y
1062506,ATLANTICA INC,Atlantica,Atlantica Inc,ALDA,ALDA,OTC,UT,UT,Y,6770,Blank Checks,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,11450 SE DIXIE HIGHWAY,,HOBE SOUND,FL,33455,11450 SE DIXIE HIGHWAY,HOBE SOUND,FL,33455,772-545-9002,,,430976473,,2026-05-04,10-Q,Y
1543637,"Nu-Med Plus, Inc.",Nu-Med Plus,"Nu-Med Plus, Inc.",NUMD,NUMD,OTC,UT,UT,Y,3841,Surgical & Medical Instruments & Apparatus,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,640 BELLE TERRE RD. 2 E,,PORT JEFFERSON,NY,11777,640 BELLE TERRE RD. 2 E,PORT JEFFERSON,NY,11777,631-403-4337,,,453672530,,2026-05-14,10-Q,Y
1610718,"Outdoor Specialty Products, Inc.",Outdoor Specialty Products,"Outdoor Specialty Products, Inc.",ODRS,ODRS,OTC,UT,UT,Y,3949,"Sporting & Athletic Goods, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,3842 QUAIL HOLLOW DRIVE,,SALT LAKE CITY,UT,84109,3842 QUAIL HOLLOW DRIVE,SALT LAKE CITY,UT,84109,801-560-5184,,,464854952,,2026-05-05,10-Q,Y
1138476,PACIFIC HEALTH CARE ORGANIZATION INC,Pacific Health Care Organization,Pacific Health Care Organization Inc,PFHO,PFHO,OTC,UT,UT,Y,8090,"Services-Misc Health & Allied Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,19800 MACARTHUR BOULEVARD,SUITES 306 & 307,IRVINE,CA,92612,19800 MACARTHUR BOULEVARD,IRVINE,CA,92612,(949) 721-8272,,,870285238,,2026-06-04,4,Y
841533,"SADDLE RANCH MEDIA, INC.",Saddle Ranch Media,"Saddle Ranch Media, Inc.",SRMX,SRMX,OTC,UT,UT,Y,3640,Electric Lighting & Wiring Equipment,operating,,smaller_reporting_<75M,19200 VON KARMAN AVE.,STE 400,IRVINE,CA,92612,19200 VON KARMAN AVE.,IRVINE,CA,92612,949-212-1898,,,870461653,INTERLINE RESOURCES CORP,2026-02-04,1-A-W,Y
727346,"SELECTIS HEALTH, INC.",Selectis Health,"Selectis Health, Inc.",GBCS,GBCS,OTC,UT,UT,Y,6798,Real Estate Investment Trusts,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,8480 E. ORCHARD ROAD,SUITE 4900,GREENWOOD VILLAGE,CO,80111,8480 E. ORCHARD ROAD,GREENWOOD VILLAGE,CO,80111,720-680-0808,,,870340206,"GLOBAL HEALTHCARE REIT, INC.|GLOBAL CASINOS INC",2026-05-26,3,Y
804563,BENCHMARK BANKSHARES INC,Benchmark Bankshares,Benchmark Bankshares Inc,BMBN,BMBN,OTC,VA,VA,Y,6022,State Commercial Banks,operating,,smaller_reporting_<75M,100 S BROAD ST,,KENBRIDGE,VA,23944,100 S BROAD ST,KENBRIDGE,VA,23944,8046768444,,,541460991,,2025-05-29,D,Y
1763925,CoJax Oil & Gas Corp,CoJax Oil & Gas,CoJax Oil & Gas Corp,CJAX,CJAX,OTC,VA,VA,Y,1311,Crude Petroleum & Natural Gas,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,3130 19TH ST N,,ARLINGTON,VA,22201,3130 19TH ST N,ARLINGTON,VA,22201,703-216-8606,,,461892622,,2026-05-13,10-Q,Y
1900720,EPWK Holdings Ltd.,EPWK Holdings,EPWK Holdings Ltd.,EPWKF,EPWKF,OTC,VA,VA,Y,7389,"Services-Business Services, NEC",other, / Emerging growth company,smaller_reporting_<75M,NO. 359 CHENGYI ROAD,"DISTRICT A, BUILDING #2",XIAMEN,,0000,NO. 359 CHENGYI ROAD,XIAMEN,,0000,86 400-1286688,,,000000000,,2026-06-02,25-NSE,Y
740806,F&M BANK CORP,F&m Bank,F&m Bank Corp,FMBM,FMBM,OTC,VA,VA,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,P.O. BOX 1111,,TIMBERVILLE,VA,22853,P. O. BOX 1111,TIMBERVILLE,VA,22853,540-896-8941,,,541280811,,2026-05-27,8-K,Y
1163389,NEW PEOPLES BANKSHARES INC,New Peoples Bankshares,New Peoples Bankshares Inc,NWPP,NWPP,OTC,VA,VA,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,67 COMMERCE DRIVE,,HONAKER,VA,24260,PO BOX 1810,HONAKER,VA,24260,2768737000,,,311804543,,2026-06-08,4,Y
1865429,"Oak View Bankshares, Inc.",Oak View Bankshares,"Oak View Bankshares, Inc.",OAKV,OAKV,OTC,VA,VA,Y,6021,National Commercial Banks,other,,smaller_reporting_<75M,128 BROADVIEW AVENUE,,WARRENTON,VA,20186,128 BROADVIEW AVENUE,WARRENTON,VA,20186,540-359-7151,,,870937245,,2025-10-24,D,Y
1657642,"Skyline Bankshares, Inc.",Skyline Bankshares,"Skyline Bankshares, Inc.",SLBK,SLBK,OTC,VA,VA,Y,6022,State Commercial Banks,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,101 JACKSONVILLE CIRCLE,,FLOYD,VA,24091,101 JACKSONVILLE CIRCLE,FLOYD,VA,24091,540-745-4191,,,475486027,Parkway Acquisition Corp.,2026-05-21,8-K,Y
1083522,JONES SODA CO.,Jones Soda,Jones Soda Co.,JSDA,JSDA,OTC,WA,WA,Y,2080,Beverages,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4786 1ST AVENUE SOUTH,SUITE 103,SEATTLE,WA,98134,4786 1ST AVENUE SOUTH,SEATTLE,WA,98134,206 624-3357,,,911696175,JONES SODA CO|URBAN JUICE & SODA CO LTD /WY/,2026-05-22,10-K/A,Y
107815,WISCONSIN ELECTRIC POWER CO,Wisconsin Electric Power,Wisconsin Electric Power Co,WELPP,WELPP|WELPM,OTC,WI,WI,Y,4911,Electric Services,operating,Non-accelerated filer,smaller_reporting_<75M,231 W MICHIGAN ST,PO BOX 2046,MILWAUKEE,WI,53290-0001,231 W MICHIGAN ST,MILWAUKEE,WI,53201,414-221-2345,,,390476280,,2026-06-04,8-K,Y
2042320,Alpha One Inc.,Alpha One,Alpha One Inc.,AOAO,AOAO,OTC,WY,WY,Y,4899,"Communications Services, NEC",other,,smaller_reporting_<75M,"NO. 203, F2.62A, 2F, TIANZHAN BUILDING,","NO. 4 TANRAN 5TH ROAD,",SHENZHEN,F4,518001,"NO. 203, F2.62A, 2F, TIANZHAN BUILDING,",SHENZHEN,F4,518001,86 755 82794624,,,271310226,,2026-05-27,RW,Y
1771995,American Picture House Corp,American Picture House,American Picture House Corp,APHP,APHP,OTC,WY,WY,Y,7900,Services-Amusement & Recreation Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,555 MADISON AVENUE 5FL,,NEW YORK,NY,10022,555 MADISON AVENUE 5FL,NEW YORK,NY,10022,9175658898,,,830754859,,2026-05-14,10-Q,Y
1133818,"BIO-PATH HOLDINGS, INC.",Bio-path Holdings,"Bio-path Holdings, Inc.",BPTH,BPTH,OTC,WY,WY,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,4710 BELLAIRE BOULEVARD,SUITE 210,BELLAIRE,TX,77401,4710 BELLAIRE BOULEVARD,BELLAIRE,TX,77401,(832) 742-1357,,,870652870,BIO-PATH HOLDINGS INC|OGDEN GOLF CO CORP,2026-05-26,8-K,Y
1444839,Bravo Multinational Inc.,Bravo Multinational,Bravo Multinational Inc.,BRVO,BRVO,OTC,WY,WY,Y,7990,Services-Miscellaneous Amusement & Recreation,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2020 GENERAL BOOTH BLVD UNIT 230,,VIRGINIA BEACH,VA,23454,2020 GENERAL BOOTH BLVD UNIT 230,VIRGINIA BEACH,VA,23454,757-306-6090,,,854068651,GoldLand Holdings Corp.|GoldCorp Holdings Corp.|GoldCorp Holding Co.,2026-05-19,10-Q,Y
1873722,Bubblr Inc.,Bubblr,Bubblr Inc.,BBLR,BBLR,OTC,WY,WY,Y,7370,"Services-Computer Programming, Data Processing, Etc.",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,30 N. GOULD STREET,SUITE R,SHERIDAN,WY,82801,30 N. GOULD STREET,SHERIDAN,WY,82801,647-646-2263,,,862355916,,2026-05-15,10-Q,Y
1106861,CS DIAGNOSTICS CORP.,Cs Diagnostics,Cs Diagnostics Corp.,CSDX,CSDX,OTC,WY,WY,Y,2842,"Specialty Cleaning, Polishing and Sanitation Preparations",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,STRESEMANNALLEE 4B,,NEUSS,2M,41460,STRESEMANNALLEE 4B,NEUSS,2M,41460,49 21311510871,,,201290331,FLASHZERO CORP.|CHILDRENS INTERNET INC|DWC INSTALLATIONS,2026-05-15,NT 10-Q,Y
1741220,CW Petroleum Corp,CW Petroleum,CW Petroleum Corp,CWPE,CWPE,OTC,WY,WY,Y,5172,Wholesale-Petroleum & Petroleum Products (No Bulk Stations),other,,smaller_reporting_<75M,23501 CINCO RANCH BLVD,SUITE H120-#325,KATY,TX,77494,23501 CINCO RANCH BLVD,KATY,TX,77494,281-817-8099,,,202765559,,2026-04-29,1-K,Y
1935092,"Cyber Enviro-Tech, Inc.",Cyber Enviro-Tech,"Cyber Enviro-Tech, Inc.",CETI,CETI,OTC,WY,WY,Y,3690,"Miscellaneous Electrical Machinery, Equipment & Supplies",operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"6991 E. CAMELBACK ROAD, SUITE D-300",,SCOTTSDALE,AZ,85251,"6991 E. CAMELBACK ROAD, SUITE D-300",SCOTTSDALE,AZ,85251,307-200-2803,,,863601702,,2026-05-20,10-K,Y
725394,"Dalrada Technology Group, Inc.",Dalrada Technology Group,"Dalrada Technology Group, Inc.",DHTI,DHTI,OTC,WY,WY,Y,7363,Services-Help Supply Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,600 LA TERRAZA BOULEVARD,,ESCONDIDO,CA,92025,600 LA TERRAZA BOULEVARD,ESCONDIDO,CA,92025,858-283-1253,,,383713274,DALRADA FINANCIAL CORP|IMAGING TECHNOLOGIES CORP/CA|PERSONAL COMPUTER PRODUCTS INC,2026-05-21,10-Q,Y
1791929,"DISCOUNT PRINT USA, INC.",Discount Print Usa,"Discount Print Usa, Inc.",DPUI,DPUI,OTC,WY,WY,Y,2750,Commercial Printing,other,,smaller_reporting_<75M,2801 S. VALLEY VIEW BLVD,SUITE 7-1,LAS VEGAS,NV,89102,2801 S. VALLEY VIEW BLVD,LAS VEGAS,NV,89102,7025273536,,,842125667,,2026-05-26,253G1,Y
1356914,ECOPLUS INC,Ecoplus,Ecoplus Inc,ECPL,ECPL,OTC,WY,WY,Y,8090,"Services-Misc Health & Allied Services, NEC",other,,smaller_reporting_<75M,120 WASHINGTON ST.,,SALEM,MA,01970,120 WASHINGTON ST.,SALEM,MA,01970,855-955-3275,,,000000000,,2026-05-04,1-A/A,Y
1043150,"Eline Entertainment Group, Inc.",Eline Entertainment Group,"Eline Entertainment Group, Inc.",EEGI,EEGI,OTC,WY,WY,Y,1520,General Bldg Contractors - Residential Bldgs,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"113, TOWER 2, LIPPO CENTRE",89 QUEENSWAY,ADMIRALTY,K3,00000,"113, TOWER 2, LIPPO CENTRE",ADMIRALTY,K3,00000,852-3703-6155,,,880429856,ELINE ENTERTAINMENT GROUP INC|ELINE MUSIC COM INC|RAPID RETRIEVAL SYSTEMS INC,2026-05-20,10-Q,Y
1939937,"Exousia Bio, Inc.",Exousia Bio,"Exousia Bio, Inc.",LMMY,LMMY,OTC,WY,WY,Y,8200,Services-Educational Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,7901 4TH STREET N #23494,,ST. PETERSBURG,FL,33702,7901 4TH STREET N #23494,ST. PETERSBURG,FL,33702,940-367-6154,,,372039216,LAMY|L A M Y,2026-04-14,NT 10-Q,Y
1807689,"FAST CASUAL CONCEPTS, INC.",Fast Casual Concepts,"Fast Casual Concepts, Inc.",FCCI,FCCI,OTC,WY,WY,Y,5810,Retail-Eating & Drinking Places,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,141 AMSTERDAM RD.,,GROVE CITY,PA,16127,PO BOX 1832,DRAPER,UT,84020,801-871-5225,,,834100110,,2026-05-01,10-Q,Y
1871890,Galaxy Enterprises Inc. /WY/,Galaxy Enterprises,Galaxy Enterprises Inc.,GLEI,GLEI,OTC,WY,WY,Y,6531,Real Estate Agents & Managers (For Others),operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1701 CHARLES LAM COURT,,LAS VEGAS,NV,89117,1701 CHARLES LAM COURT,LAS VEGAS,NV,89117,702-596-9628,,,861370102,,2026-03-25,10-Q,Y
55234,"Global Asset Management Group, Inc.",Global Asset Management Group,"Global Asset Management Group, Inc.",GAMG,GAMG,OTC,WY,WY,Y,7990,Services-Miscellaneous Amusement & Recreation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"1505 MONROE STREET, SUITE 1505",,ROCKVILLE,MD,20852,"1505 MONROE STREET, SUITE 1505",ROCKVILLE,MD,20852,312-372-6900,,,132610105,KENILWORTH SYSTEMS CORP,2026-05-20,10-Q,Y
1940243,Global-Smart.Tech,Global-Smart.Tech,Global-Smart.Tech,GSMT,GSMT,OTC,WY,WY,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"KAVA B.B.,",,TIVAT,,85320,"KAVA B.B.,",TIVAT,,85320,12052165924,,,981664763,Global-Smart.Tech Inc.,2026-04-09,10-Q,Y
1081188,GOLD ENTERPRISE GROUP INC,Gold Enterprise Group,Gold Enterprise Group Inc,GEGP,GEGP,OTC,WY,WY,Y,3842,"Orthopedic, Prosthetic & Surgical Appliances & Supplies",operating,,smaller_reporting_<75M,16034 US HWY 19,,HUDSON,FL,34667,PO BOX 690041,VERO BEACH,FL,32969,561-210-7553,,,980206212,GOLD ENTERTAINMENT GROUP INC|ADVANCED MEDICAL TECHNOLOGIES INC/CANADA,2025-11-24,8-K,Y
1084937,Green Rain Energy Holdings Inc.,Green Rain Energy Holdings,Green Rain Energy Holdings Inc.,GREH,GREH,OTC,WY,WY,Y,9995,Non-Operating Establishments,operating, / Emerging growth company,smaller_reporting_<75M,109 EAST 17TH STREET,SUITE 80,CHEYENNE,WY,82001,109 EAST 17TH STREET,CHEYENNE,WY,82001,310-714-2950,,,880395372,NOW Corp I|NOW CORPORATION/NV|HEALTHCOMP EVALUATION SERVICES CORP,2026-03-13,8-K,Y
1409253,"Havana Roasters Coffee Companies, Inc.",Havana Roasters Coffee Companies,"Havana Roasters Coffee Companies, Inc.",NAFS,NAFS|THRC,,WY,WY,Y,8742,Services-Management Consulting Services,operating,Smaller reporting company,smaller_reporting_<75M,3445 HOLLYWOOD BLVD,SUITE 415,HOLLYWOOD,FL,33302,3445 HOLLYWOOD BLVD,HOLLYWOOD,FL,33302,786-510-8899,,,208926549,"North America Frac Sand, Inc.|Xterra Building Systems, Inc.|Innovate Building Systems, Inc.|NEW FOUND SHRIMP INC",2026-04-27,1-A/A,Y
1721056,HOOPS SCOUTING USA,Hoops Scouting Usa,Hoops Scouting Usa,HSCT,HSCT,OTC,WY,WY,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,63 ROCIO CT,,PALM DESERT,CA,92260,63 ROCIO CT,PALM DESERT,CA,92260,760-636-4353,,,000000000,,2026-05-13,10-Q,Y
1070789,HyOrc Corp,HyOrc,HyOrc Corp,HYOR,HYOR,OTC,WY,WY,Y,8711,Services-Engineering Services,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,12707 HIGH BLUFF DRIVE 2ND FL,,SAN DIEGO,CA,92130,114 MAGNOLIA STREET,BELLINGHAM,WA,98225,6193504288,,,470855301,ASIA PROPERTIES INC,2026-05-14,8-K,Y
1919191,"Intelithrive, Inc.",Intelithrive,"Intelithrive, Inc.",ITHR,ITHR,OTC,WY,WY,Y,3690,"Miscellaneous Electrical Machinery, Equipment & Supplies",other,,smaller_reporting_<75M,7306 SKYVIEW AVE,,NEW PORT RICHEY,FL,34653,7306 SKYVIEW AVE,NEW PORT RICHEY,FL,34653,8018715225,,,872433982,PGD ECO SOLUTIONS,2026-04-21,1-K,Y
1657214,International Land Alliance Inc.,International Land Alliance,International Land Alliance Inc.,ILAL,ILAL,OTC,WY,WY,Y,6552,Land Subdividers & Developers (No Cemeteries),operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,350 10TH AVENUE,SUITE 1000,SAN DIEGO,CA,92101,350 10TH AVENUE,SAN DIEGO,CA,92101,(858) 692-2677,,,463752361,,2026-06-02,8-K,Y
1413119,"Kraig Biocraft Laboratories, Inc.",Kraig Biocraft Laboratories,"Kraig Biocraft Laboratories, Inc.",KBLB,KBLB,OTC,WY,WY,Y,2820,"Plastic Material, Synth Resin/Rubber, Cellulos (No Glass)",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,2723 SOUTH STATE STREET,SUITE 150,ANN ARBOR,MI,48104,2723 SOUTH STATE STREET,ANN ARBOR,MI,48104,(734) 619-8066,,,830459707,"Kraig Biocraft Laboratories, Inc",2026-05-22,424B3,Y
1985554,Londax Corp.,Londax,Londax Corp.,LDXC,LDXC,OTC,WY,WY,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,YIANGOU POTAMITI 27,,LIMASSOL,,3010,YIANGOU POTAMITI 27,LIMASSOL,,3010,3727121419,,,352807931,,2026-04-07,10-Q,Y
1888740,LSEB Creative Corp.,LSEB Creative,LSEB Creative Corp.,LSEB,LSEB,OTC,WY,WY,Y,2320,"Men's & Boys' Furnishgs, Work Clothg, & Allied Garments",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,30 N. GOULD STREET,#4000,SHERIDAN,WY,82801,30 N. GOULD STREET,SHERIDAN,WY,82801,(902) 305-4177,,,834415385,,2026-03-02,8-K,Y
1949864,Mag Magna Corp,Mag Magna,Mag Magna Corp,MGNC,MGNC,OTC,WY,WY,Y,1400,Mining & Quarrying of Nonmetallic Minerals (No Fuels),operating, / Emerging growth company,smaller_reporting_<75M,4005 WEST RENO AVENUE,SUITE F,LAS VEGAS,NV,89118,4005 WEST RENO AVENUE,LAS VEGAS,NV,89118,8617823500944,,,981626237,Mag Magna Corp.,2026-06-05,8-K,Y
1978111,Naploy Corp.,Naploy,Naploy Corp.,NPLY,,OTC,WY,WY,Y,8000,Services-Health Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,95 LIAS ESTATE KAFE,,"DISTRICT ABUJA, FCT",Q5,900108,95 LIAS ESTATE KAFE,"DISTRICT ABUJA, FCT",Q5,900108,13072133163,,,000000000,,2026-05-21,10-Q,Y
1933359,Natics Corp.,Natics,Natics Corp.,NTCS,NTCS,OTC,WY,WY,Y,7374,Services-Computer Processing & Data Preparation,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,"APP 6, YEHUDA GORODISKI 1",,REHOVOT,L3,7623101,"APP 6, YEHUDA GORODISKI 1",REHOVOT,L3,7623101,130-722-20096,,,981660105,,2026-02-17,10-Q,Y
1941360,Neolara Corp.,Neolara,Neolara Corp.,NELR,NELR,OTC,WY,WY,Y,1520,General Bldg Contractors - Residential Bldgs,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,C/O REGISTERED AGENTS INC.,30 N. GOULD ST. STE R,SHERIDAN,WY,82801,C/O REGISTERED AGENTS INC.,SHERIDAN,WY,82801,307-269-0177,,,981674969,,2026-05-14,10-Q,Y
1059689,North America Lithium & Gold Corp,North America Lithium & Gold,North America Lithium & Gold Corp,NALG,NALG,OTC,WY,WY,Y,9995,Non-Operating Establishments,operating,,smaller_reporting_<75M,6615 GRAND AVENUE,#428,GURNEE,WY,,6615 GRAND AVENUE,GURNEE,WY,,8666005444,,,650794980,BrightRock Gold Corp|GO CALL INC,2025-12-09,D,Y
1107280,OCULUS INC.,Oculus,Oculus Inc.,OVTZ,OVTZ,OTC,WY,WY,Y,7389,"Services-Business Services, NEC",operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,837 WEST HASTINGS STREET,SUITE 507,VANCOUVER,,V6C 3N6,837 WEST HASTINGS STREET,VANCOUVER,,V6C 3N6,6046851017,,,061576391,OCULUS VISIONTECH INC.|OCULUS VISION TECH INC.|USA VIDEO INTERACTIVE CORP,2026-05-12,10-Q,Y
1733861,REST EZ Inc.,REST EZ,REST EZ Inc.,RTEZ,RTEZ,OTC,WY,WY,Y,2834,Pharmaceutical Preparations,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,1398 WEST MASON HOLLOW DRIVE,,RIVERTON,UT,84065,1398 WEST MASON HOLLOW DRIVE,RIVERTON,UT,84065,801-300-2542,,,824268982,,2026-02-10,10-Q,Y
1703157,"Securetech Innovations, Inc.",Securetech Innovations,"Securetech Innovations, Inc.",SCTH,SCTH,OTC,WY,WY,Y,3714,Motor Vehicle Parts & Accessories,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,"2355 HIGHWAY 36 WEST, SUITE 400",,ROSEVILLE,MN,55113,"2355 HIGHWAY 36 WEST, SUITE 400",ROSEVILLE,MN,55113,612-317-8990,,,820972782,"Securetech, Inc.",2026-05-21,4,Y
2029303,Tech Tonic Group Corp.,Tech Tonic Group,Tech Tonic Group Corp.,THTG,THTG,OTC,WY,WY,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,REMSCHEIDER STR. 54,,KREFELD,2M,47807,REMSCHEIDER STR. 54,KREFELD,2M,47807,307-855-1550,,,365075435,,2026-05-06,10-Q,Y
1919182,Universal Token,Universal Token,Universal Token,UTKN,UTKN,OTC,WY,WY,Y,6199,Finance Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,WORLD TRADE CENTER,"CALLE EL MIRADOR, 87 AVE NORTE",SAN SALVADOR,,,5211 READING CIR,ROSENBERG,TX,77471,8018715225,,,872595314,"Eco Bright Future, Inc.",2026-05-11,10-Q,Y
1880431,Vocodia Holdings Corp,Vocodia Holdings,Vocodia Holdings Corp,VHAI,VHAI|VHABW|VHAIW,OTC,WY,WY,Y,7371,Services-Computer Programming Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,7781 NW BEACON SQUARE BLVD.,UNIT 102-V64,BOCA RATON,FL,33487,7781 NW BEACON SQUARE BLVD.,BOCA RATON,FL,33487,(561) 484-5234,,,863519415,,2026-05-13,SCHEDULE 13G,Y
1645155,Webstar Technology Group Inc.,Webstar Technology Group,Webstar Technology Group Inc.,WBSR,WBSR,OTC,WY,WY,Y,7372,Services-Prepackaged Software,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,4231 WALNUT BEND,,JACKSONVILLE,FL,32257,4231 WALNUT BEND,JACKSONVILLE,FL,32257,8006086344,,,371780261,,2026-05-22,SEC STAFF ACTION,Y
1887912,Welsis Corp.,Welsis,Welsis Corp.,WLSS,WLSS,OTC,WY,WY,Y,8000,Services-Health Services,operating,Non-accelerated filer / Smaller reporting company / Emerging growth company,smaller_reporting_<75M,701 E CATHEDRAL RD,STE 45 PMB 405,PHILADELPHIA,PA,19128,701 E CATHEDRAL RD,PHILADELPHIA,PA,19128,215-552-8991,,,000000000,,2026-05-15,NT 10-Q,Y
1438461,Yinfu Gold Corp.,Yinfu Gold,Yinfu Gold Corp.,ELRE,ELRE,OTC,WY,WY,Y,1090,Miscellaneous Metal Ores,operating,Non-accelerated filer / Smaller reporting company,smaller_reporting_<75M,DONGFANG SCIENCE AND TECHNOLOGY MANSION,"SUITE 2313, NANSHAN DISTRICT",SHENZHEN,F4,518000,DONGFANG SCIENCE AND TECHNOLOGY MANSION,SHENZHEN,F4,518000,86-755-8316-0998,,,208531222,Element92 Resources Corp.,2026-02-23,10-Q,Y
1 cik name short_name display_name ticker all_tickers exchange state_of_incorporation incorporation_desc is_us_domestic sic sic_desc entity_type filer_category filer_size_bucket biz_street1 biz_street2 biz_city biz_state biz_zip mail_street1 mail_city mail_state mail_zip phone website investor_website ein former_names last_filing_date last_filing_form is_active
2 1599407 1847 Holdings LLC 1847 Holdings 1847 Holdings LLC LBRA LBRA OTC DE DE Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 590 MADISON AVENUE 21ST FLOOR NEW YORK NY 10022 590 MADISON AVENUE NEW YORK NY 10022 212-521-4052 383922937 2026-06-04 S-8 Y
3 1748680 1WS Credit Income Fund 1WS Credit Income Fund 1WS Credit Income Fund OWSCX OWSCX DE DE Y other smaller_reporting_<75M 299 PARK AVENUE, 25TH FLOOR NEW YORK NY 10171 299 PARK AVENUE, 25TH FLOOR NEW YORK NY 10171 212-377-4810 000000000 2026-05-07 40-17G Y
4 1893219 Abpro Holdings, Inc. Abpro Holdings Abpro Holdings, Inc. ABPO ABPO|ABPWW OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating / Emerging growth company smaller_reporting_<75M 6 ST JOHNS LANE, FLOOR 5 NEW YORK NY 10013 6 ST JOHNS LANE, FLOOR 5 NEW YORK NY 10013 248-890-7200 871013956 Atlantic Coastal Acquisition Corp. II 2026-06-04 8-K Y
5 1850767 Accustem Sciences Inc. Accustem Sciences Accustem Sciences Inc. ACUT ACUT OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 5 PENN PLAZA, 19TH FLOOR #1954 NEW YORK NY 10001 5 PENN PLAZA, 19TH FLOOR NEW YORK NY 10001 442070661000 000000000 AccuStem Sciences Ltd 2026-05-15 10-Q Y
6 1141284 ACTELIS NETWORKS INC Actelis Networks Actelis Networks Inc ASNS ASNS OTC DE DE Y 3669 Communications Equipment, NEC operating / Emerging growth company smaller_reporting_<75M 4039 CLIPPER COURT FREMONT CA 94538 4039 CLIPPER COURT FREMONT CA 94538 510-545-1040 522160309 2026-05-20 4 Y
7 1938571 ADAPTIN BIO, INC. Adaptin Bio Adaptin Bio, Inc. APTN APTN OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 3540 TORINGDON WAY SUITE 200, #250 CHARLOTTE NC 28277 3540 TORINGDON WAY CHARLOTTE NC 28277 (888) 609-1498 881566415 Unite Acquisition 1 Corp. 2026-05-18 424B3 Y
8 2105139 ADI GLOBAL DISTRIBUTION INC. Adi Global Distribution Adi Global Distribution Inc. ADIG ADIG DE DE Y 5072 Wholesale-Hardware other smaller_reporting_<75M 251 LITTLE FALLS DRIVE WILMINGTON DE 19808 275 BROADHOLLOW ROAD, SUITE 400 MELVILLE NY 11747 302-636-5400 413033245 2026-06-04 10-12B/A Y
9 849401 ADM TRONICS UNLIMITED, INC. Adm Tronics Unlimited Adm Tronics Unlimited, Inc. ADMT ADMT OTC DE DE Y 3845 Electromedical & Electrotherapeutic Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 224 S PEGASUS AVE NORTHVALE NJ 07647 224 S PEGASUS AVE NORTHVALE NJ 07647 2017676040 221896032 ADM TRONICS UNLIMITED INC/DE 2026-02-13 10-Q Y
10 352991 ADVANCED OXYGEN TECHNOLOGIES INC Advanced Oxygen Technologies Advanced Oxygen Technologies Inc AOXY AOXY OTC DE DE Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ADVANCED OXYGEN TECHNOLOGIES, INC. C/O CROSSFIELD, INC. PO BOX 189 RANDOLPH VT 05060 ADVANCED OXYGEN TECHNOLOGIES, INC. RANDOLPH VT 05060 212-727-7085 911143622 2026-05-12 10-Q Y
11 2084227 Advasa Holdings, Inc. Advasa Holdings Advasa Holdings, Inc. ADBT ADBT DE DE Y 7372 Services-Prepackaged Software other smaller_reporting_<75M 4TH FLOOR AKASAKA K TOWER, 1-2-7 MOTO AKASAKA MINATO-KU 107-0051 4TH FLOOR AKASAKA K TOWER, MINATO-KU 107-0051 81-03-6868-5538 000000000 2026-04-29 S-1/A Y
12 1744494 ADVENT TECHNOLOGIES HOLDINGS, INC. Advent Technologies Holdings Advent Technologies Holdings, Inc. ADNH ADNH OTC DE DE Y 3690 Miscellaneous Electrical Machinery, Equipment & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 500 RUTHERFORD AVENUE SUITE 102 BOSTON MA 02129 500 RUTHERFORD AVENUE BOSTON MA 02129 857-264-7035 830982969 AMCI Acquisition Corp. 2026-05-15 8-K Y
13 764630 AETERNUM HEALTH, INC. Aeternum Health Aeternum Health, Inc. AETN AETN OTC DE DE Y 3690 Miscellaneous Electrical Machinery, Equipment & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5291 NE ELAM YOUNG PKWY SUITE 160 HILLSBORO OR 97124 5291 NE ELAM YOUNG PKWY HILLSBORO OR 97124 (503) 892-7345 061120072 SHOREPOWER TECHNOLOGIES INC.|UNITED STATES BASKETBALL LEAGUE INC 2026-05-19 10-Q Y
14 1964979 ALLURION TECHNOLOGIES, INC. Allurion Technologies Allurion Technologies, Inc. ALUR ALUR|ALURW OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating / Emerging growth company smaller_reporting_<75M 11 HURON DR STE 200 NATICK MA 01760 11 HURON DR STE 200 NATICK MA 01760 508-647-4000 000000000 ALLURION TECHNOLOGIES HOLDINGS, INC. 2026-05-27 8-K Y
15 1616736 Alpha Investment Inc. Alpha Investment Alpha Investment Inc. GGBY GGBY OTC DE DE Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1000 5TH STREET SUITE 200 MIAMI BEACH FL 33139 1000 5TH STREET MIAMI BEACH FL 33139 (305) 704-3294 900998139 Gogo Baby, Inc. 2025-09-02 8-K Y
16 1852016 AltEnergy Acquisition Corp AltEnergy Acquisition AltEnergy Acquisition Corp AEAE AEAE|AEAEU|AEAEW OTC DE DE Y 3714 Motor Vehicle Parts & Accessories operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 137 ROWAYTON AVENUE SUITE 400 ROWAYTON CT 06853 137 ROWAYTON AVENUE ROWAYTON CT 06853 2032953343 862157013 2026-05-21 SCHEDULE 13G/A Y
17 1496254 Alternative Strategies Income Fund Alternative Strategies Income Fund Alternative Strategies Income Fund LTAFX LTAFX|LTCFX DE DE Y other smaller_reporting_<75M 225 PICTORIA DRIVE SUITE 450 CINCINNATI OH 45246 17645 WRIGHT STREET OMAHA NE 68130 212-409-2680 000000000 Alternative Strategies Fund|Ladenburg Thalmann Alternative Strategies Fund 2026-05-28 NPORT-P Y
18 775057 ALTEX INDUSTRIES INC Altex Industries Altex Industries Inc ALTX ALTX OTC DE DE Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 700 COLORADO BLVD #273 DENVER CO 80206-4084 700 COLORADO BLVD DENVER CO 80206-4084 3032659312 840989164 2026-05-01 10-Q Y
19 2078570 AMATUHI HOLDINGS, INC. Amatuhi Holdings Amatuhi Holdings, Inc. AMTU AMTU DE DE Y 1520 General Bldg Contractors - Residential Bldgs other smaller_reporting_<75M 10TH FLOOR, NISSEKI YOKOHAMA BUILDING, 1-8, SAKURAGICHO 1-CHOME, NAKA-KU, YOKOHAMA-SHI, KANAGAWA-KEN 231-0062 10TH FLOOR, NISSEKI YOKOHAMA BUILDING, YOKOHAMA-SHI, KANAGAWA-KEN 231-0062 81-045-263-8670 393087053 2026-05-01 AW Y
20 1487718 AMERICAN BATTERY MATERIALS, INC. American Battery Materials American Battery Materials, Inc. BLTH BLTH OTC DE DE Y 1400 Mining & Quarrying of Nonmetallic Minerals (No Fuels) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 500 WEST PUTNAM AVENUE SUITE 400 GREENWICH CT 06830 500 WEST PUTNAM AVENUE GREENWICH CT 06830 800-998-7962 223956444 BOXSCORE BRANDS, INC.|U-Vend, Inc.|INTERNET MEDIA SERVICES, INC. 2026-05-26 S-1/A Y
21 1815974 Anebulo Pharmaceuticals, Inc. Anebulo Pharmaceuticals Anebulo Pharmaceuticals, Inc. ANEB ANEB OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M C/O ANEBULO PHARMACEUTICALS, INC. 1017 RANCH ROAD 620 SOUTH, SUITE 107 LAKEWAY TX 78734 C/O ANEBULO PHARMACEUTICALS, INC. LAKEWAY TX 78734 737 203 5270 851170950 2026-03-02 15-12G Y
22 1716885 Angel Oak Strategic Credit Fund Angel Oak Strategic Credit Fund Angel Oak Strategic Credit Fund ASCIX ASCIX DE DE Y other smaller_reporting_<75M ANGEL OAK CAPITAL ADVISORS, LLC 980 HAMMOND DRIVE, SUITE 200 ATLANTA GA 30328 ANGEL OAK CAPITAL ADVISORS, LLC ATLANTA GA 30328 404-953-4900 000000000 2026-05-29 486BPOS Y
23 879911 APPLIED ENERGETICS, INC. Applied Energetics Applied Energetics, Inc. AERG AERG|AERGP OTC DE DE Y 3812 Search, Detection, Navigation, Guidance, Aeronautical Sys operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9070 S. RITA ROAD SUITE 1500 TUCSON AZ 85747 9070 S. RITA ROAD TUCSON AZ 85747 520-628-7415 770262908 IONATRON, INC.|US HOME & GARDEN INC 2026-06-03 4 Y
24 1070050 AppTech Payments Corp. AppTech Payments AppTech Payments Corp. APCX APCX|APCXW OTC DE DE Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5876 OWENS AVENUE SUITE 100 CARLSBAD CA 92008 5876 OWENS AVENUE CARLSBAD CA 92008 (760) 707-5955 650847995 AppTech Payments Corp.|AppTech Corp.|Natural Nutrition Inc.|CSI Business Finance, Inc.|HEALTH EXPRESS USA INC 2026-06-04 4 Y
25 1923734 Ark7 Properties Plus LLC Ark7 Properties Plus Ark7 Properties Plus LLC AKPPS OTC DE DE Y 6500 Real Estate other smaller_reporting_<75M 1 FERRY BUILDING STE 201 SAN FRANCISCO CA 94111 1 FERRY BUILDING SAN FRANCISCO CA 94111 415-275-0701 881359905 2026-05-14 1-K Y
26 2032732 Arrived Homes 5, LLC Arrived Homes 5 Arrived Homes 5, LLC AEHGS AEHGS|ALOIS|AVPKS|AVSBS OTC DE DE Y 6500 Real Estate other smaller_reporting_<75M 1700 WESTLAKE AVE N SUITE 200 SEATTLE WA 98109 1 W MOUNTAIN ST FAYETTEVILLE AR 72701 8142774833 993997278 2026-05-28 QUALIF Y
27 863110 ARTESIAN RESOURCES CORP Artesian Resources Artesian Resources Corp ARTNB ARTNA|ARTNB OTC DE DE Y 4941 Water Supply operating Non-accelerated filer smaller_reporting_<75M 664 CHURCHMANS RD NEWARK DE 19702 664 CHURCHMANS RD NEWARK DE 19702 3024536900 510002090 2026-05-20 4 Y
28 1756390 Ascend Wellness Holdings, Inc. Ascend Wellness Holdings Ascend Wellness Holdings, Inc. AAWH AAWH OTC DE DE Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 174 NJ-17 ROCHELLE PARK NJ 07662 174 NJ-17 ROCHELLE PARK NJ 07662 (646) 661-7600 830602006 Ascend Wellness Holdings, Inc|Ascend Wellness Holdings, LLC 2026-05-13 10-Q Y
29 926617 Aspira Women's Health Inc. Aspira Women's Health Aspira Women's Health Inc. AWHL AWHL OTC DE DE Y 2835 In Vitro & In Vivo Diagnostic Substances operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 12117 BEE CAVES ROAD BUILDING THREE SUITE 100 AUSTIN TX 78738 12117 BEE CAVES ROAD BUILDING THREE AUSTIN TX 78738 512-519-0400 330595156 VERMILLION, INC.|CIPHERGEN BIOSYSTEMS INC 2026-06-09 8-K Y
30 1642122 Associated Capital Group, Inc. Associated Capital Group Associated Capital Group, Inc. ACGP ACGP OTC DE DE Y 6211 Security Brokers, Dealers & Flotation Companies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 191 MASON STREET GREENWICH CT 06830 191 MASON STREET GREENWICH CT 06830 914-921-5135 Gabelli Securities Group, Inc. 2026-03-03 4 Y
31 1882198 Athena Technology Acquisition Corp. II Athena Technology Acquisition Corp. II Athena Technology Acquisition Corp. II ATEK ATEK|ATEKU|ATEKW OTC DE DE Y 4955 Hazardous Waste Management operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 442 5TH AVENUE NEW YORK NY 10018 442 5TH AVENUE NEW YORK NY 10018 970-925-1572 872447308 2026-05-22 DEF 14A Y
32 2101833 ATII Holdings Inc. ATII Holdings ATII Holdings Inc. NANO DE DE Y 6770 Blank Checks other Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 2093 PHILADELPHIA PIKE #1968 CLAYMONT DE 19703 2093 PHILADELPHIA PIKE #1968 CLAYMONT DE 19703 725-312-2430 000000000 2026-05-08 425 Y
33 1605888 ATLANTIC INTERNATIONAL CORP. Atlantic International Atlantic International Corp. SQLLW ATLN|SQLLW OTC DE DE Y 7363 Services-Help Supply Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 270 SYLVAN AVENUE SUITE 2230 ENGLEWOOD CLIFFS NJ 07632 270 SYLVAN AVENUE ENGLEWOOD CLIFFS NJ 07632 2018994470 465319744 SeqLL, Inc. 2026-05-27 424B3 Y
34 1963088 AtlasClear Holdings, Inc. AtlasClear Holdings AtlasClear Holdings, Inc. ATCHW ATCH|ATCHW OTC DE DE Y 6199 Finance Services operating / Emerging growth company smaller_reporting_<75M 2203 LOIS AVE., STE. 814 TAMPA FL 33607 2203 LOIS AVE., STE. 814 TAMPA FL 33607 813-257-9366 000000000 Calculator New Pubco, Inc. 2026-06-08 S-3 Y
35 826253 AURA SYSTEMS INC Aura Systems Aura Systems Inc AUSI AUSI OTC DE DE Y 3690 Miscellaneous Electrical Machinery, Equipment & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 10541 ASHDALE STREET STANTON CA 90680 10541 ASHDALE STREET STANTON CA 90680 3106435300 954106894 2026-06-03 NT 10-K Y
36 2092446 Avalanche Treasury Corp Avalanche Treasury Avalanche Treasury Corp AVAT AVAT DE DE Y 6199 Finance Services other Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 251 LITTLE FALLS DRIVE WILMINGTON DE 19808 251 LITTLE FALLS DRIVE WILMINGTON DE 19808 (800) 927-9800 000000000 2026-05-29 424B3 Y
37 1644963 AVENUE THERAPEUTICS, INC. Avenue Therapeutics Avenue Therapeutics, Inc. ATXI ATXI OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1111 KANE CONCOURSE SUITE 301 BAY HARBOR ISLANDS FL 33154 1111 KANE CONCOURSE BAY HARBOR ISLANDS FL 33154 781-652-4500 474113275 2026-05-08 10-Q Y
38 1762303 AVITA Medical, Inc. AVITA Medical AVITA Medical, Inc. AVHHL RCEL|AVHHL OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 28159 AVENUE STANFORD SUITE 220 VALENCIA CA 91355 28159 AVENUE STANFORD VALENCIA CA 91355 661-568-1317 202578762 Avita Therapeutics, Inc.|Avita Medical, Ltd. 2026-06-08 8-K Y
39 1021917 Awaysis Capital, Inc. Awaysis Capital Awaysis Capital, Inc. AWCA AWCA OTC DE DE Y 6512 Opeators of Nonresidential Buildings operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3400 LAKESIDE DR SUITE 100 MIRAMAR FL 33027 3400 LAKESIDE DR MIRAMAR FL 33027 954-931-9244 270514566 JV GROUP, INC.|ASPI, INC.|ASPEON INC|JAVELIN SYSTEMS INC 2026-05-15 10-Q Y
40 1123596 BAB, INC. Bab Bab, Inc. BABB BABB OTC DE DE Y 5812 Retail-Eating Places operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 500 LAKE COOK ROAD SUITE 475 DEERFIELD IL 60015 500 LAKE COOK ROAD DEERFIELD IL 60015 847 948-7520 364389547 BAB INC 2026-06-04 8-K Y
41 1632121 Balance Labs, Inc. Balance Labs Balance Labs, Inc. BLNC BLNC OTC DE DE Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1111 LINCOLN ROAD 4TH FLOOR MIAMI FL 33139 407 LINCOLN ROAD MIAMI BEACH FL 33139 (305) 907-7600 471146785 2026-05-15 10-Q Y
42 1826889 Beachbody Company, Inc. Beachbody Company Beachbody Company, Inc. BODYW BODI|BODYW OTC DE DE Y 5960 Retail-Nonstore Retailers operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 400 CONTINENTAL BLVD SUITE 400 EL SEGUNDO CA 90245 400 CONTINENTAL BLVD EL SEGUNDO CA 90245 3109850200 000000000 Forest Road Acquisition Corp. 2026-06-04 4 Y
43 2094256 BEACON TOPCO, INC. Beacon Topco Beacon Topco, Inc. CLYD CLYD DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 20400 CENTURY BOULEVARD, SUITE 210 GERMANTOWN MD 20874 20400 CENTURY BOULEVARD, SUITE 210 GERMANTOWN MD 20874 4439170966 000000000 2026-06-05 10-Q Y
44 1059213 BEXIL INVESTMENT TRUST Bexil Investment Trust Bexil Investment Trust BXSY BXSY OTC DE DE Y other smaller_reporting_<75M 17 OLD DREWSVILLE ROAD WALPOLE NH 17 OLD DREWSVILLE ROAD WALPOLE NH 2127850900 510382212 DIVIDEND & INCOME FUND|DIVIDEND & INCOME FUND, INC.|CHARTWELL DIVIDEND & INCOME FUND INC 2026-05-28 NPORT-P Y
45 1130166 Bio Green Med Solution, Inc. Bio Green Med Solution Bio Green Med Solution, Inc. BGMSP BGMS|BGMSP OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 200 CONNELL DRIVE SUITE 1500 BERKELEY HEIGHTS NJ 07922 200 CONNELL DRIVE BERKELEY HEIGHTS NJ 07922 908-517-7330 911766850 Cyclacel Pharmaceuticals, Inc.|XCYTE THERAPIES INC 2026-06-04 425 Y
46 1019034 BIO KEY INTERNATIONAL INC Bio Key International Bio Key International Inc BKYI BKYI OTC DE DE Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 101 CRAWFORDS CORNER RD SUITE 4116 HOLMDEL NJ 07733 101 CRAWFORDS CORNER RD HOLMDEL NJ 07733 7323591100 411761861 SAC TECHNOLOGIES INC 2026-05-18 NT 10-Q Y
47 1575142 BIOADAPTIVES, INC. Bioadaptives Bioadaptives, Inc. BDPT BDPT OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2620 REGATTA DRIVE SUITE 102 LAS VEGAS NV 89128 2620 REGATTA DRIVE LAS VEGAS NV 89128 (702) 659-8829 462592228 APEX 8 Inc. 2026-06-03 4 Y
48 880242 BIOLARGO, INC. Biolargo Biolargo, Inc. BLGO BLGO OTC DE DE Y 2800 Chemicals & Allied Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 14921 CHESTNUT ST. WESTMINSTER CA 92683 14921 CHESTNUT ST. WESTMINSTER CA 92683 888 400-2863 650159115 NUWAY MEDICAL INC|NUWAY ENERGY INC|LATIN AMERICAN CASINOS INC 2026-05-15 10-Q Y
49 2097508 Blockfusion Data Centers, Inc. Blockfusion Data Centers Blockfusion Data Centers, Inc. BLDC BLDC DE DE Y 7374 Services-Computer Processing & Data Preparation other Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 447 BROADWAY, 2ND FLOOR, #538 NEW YORK NY 10013 447 BROADWAY, 2ND FLOOR, #538 NEW YORK NY 10013 646-732-4427 395104456 2026-05-01 S-4/A Y
50 793306 BLUE DOLPHIN ENERGY CO Blue Dolphin Energy Blue Dolphin Energy Co BDCO BDCO OTC DE DE Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 801 TRAVIS SUITE 2100 HOUSTON TX 77002-5729 801 TRAVIS SUITE 2100 HOUSTON TX 77002-5729 713-568-4725 731268729 2026-05-29 4 Y
51 1730773 Blue Star Foods Corp. Blue Star Foods Blue Star Foods Corp. BSFC BSFC OTC DE DE Y 2092 Prepared Fresh or Frozen Fish & Seafoods operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3330 CLEMATIS STREET SUITE 217 WEST PALM BEACH FL 33401 3330 CLEMATIS STREET WEST PALM BEACH FL 33401 800-341-2684 824270040 AG ACQUISITION GROUP II, INC. 2026-05-22 10-K Y
52 2041531 Bodhi Tree Biotechnology Inc Bodhi Tree Biotechnology Bodhi Tree Biotechnology Inc BDTB BDTB OTC DE DE Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 4125 BLACKHAWK PLAZA CIRCLE, SUITE 172 DANVILLE CA 94506 4125 BLACKHAWK PLAZA CIRCLE, SUITE 172 DANVILLE CA 94506 (925)406-4528 934908449 2026-05-14 10-Q Y
53 1499961 BOLLINGER INNOVATIONS, INC. Bollinger Innovations Bollinger Innovations, Inc. BINI BINI OTC DE DE Y 3711 Motor Vehicles & Passenger Car Bodies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1405 PIONEER STREET BREA CA 92821 1405 PIONEER STREET BREA CA 92821 7146131900 901025599 MULLEN AUTOMOTIVE INC.|Net Element, Inc.|Net Element International, Inc.|Cazador Acquisition Corp Ltd. 2026-02-17 SCHEDULE 13G/A Y
54 1841125 Bolt Projects Holdings, Inc. Bolt Projects Holdings Bolt Projects Holdings, Inc. BSLK BSLK|BSLKW OTC DE DE Y 2860 Industrial Organic Chemicals operating / Emerging growth company smaller_reporting_<75M 2261 MARKET STREET, SUITE 5447 SAN FRANCISCO CA 94114 2261 MARKET STREET, SUITE 5447 SAN FRANCISCO CA 94114 6192484062 861256660 Golden Arrow Merger Corp. 2026-03-12 15-12G Y
55 1137883 BRAINSTORM CELL THERAPEUTICS INC. Brainstorm Cell Therapeutics Brainstorm Cell Therapeutics Inc. BCLI BCLI OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1325 AVENUE OF AMERICAS 28TH FLOOR NEW YORK NY 10019 1325 AVENUE OF AMERICAS NEW YORK NY 10019 201-488-0460 207273918 BRAINSTORM CELL THERAPEUTICS INC|GOLDEN HAND RESOURCES INC|WIZBANG TECHNOLOGIES INC 2026-06-03 3 Y
56 1976870 BRB Foods Inc. BRB Foods BRB Foods Inc. BRBF BRBF DE DE Y 2000 Food and Kindred Products operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 8 THE GREEN STE #3 DOVER DE 19901 RUA DOUTOR EDUARDO DE SOUZA ARANHA SAO PAULO, SP 55 11 4040-5766 921196935 BRB Foods Ltd 2026-05-18 NT 10-Q Y
57 2083583 BSTR Holdings, Inc. BSTR Holdings BSTR Holdings, Inc. BSTR BSTR DE DE Y 6199 Finance Services other smaller_reporting_<75M THE CORPORATION SERVICES COMPANY 251 LITTLE FALLS DRIVE WILMINGTON DE 19808 THE CORPORATION SERVICES COMPANY WILMINGTON DE 19808 (212) 938-5000 000000000 2026-06-08 424B3 Y
58 724445 BURZYNSKI RESEARCH INSTITUTE INC Burzynski Research Institute Burzynski Research Institute Inc BZYR BZYR OTC DE DE Y 2835 In Vitro & In Vivo Diagnostic Substances operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 12000 RICHMOND AVE HOUSTON TX 77082 9432 KATY FREEWAY HOUSTON TX 77055 (713) 335-5697 760136810 2026-05-12 8-K Y
59 15847 BUTLER NATIONAL CORP Butler National Butler National Corp BUKS BUKS OTC DE DE Y 7990 Services-Miscellaneous Amusement & Recreation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ONE AERO PLAZA NEW CENTURY KS 66031 ONE AERO PLAZA NEW CENTURY KS 66031 9137809595 410834293 2026-06-01 8-K Y
60 2080841 BW Industrial Holdings Inc. BW Industrial Holdings BW Industrial Holdings Inc. BWGC BWGC DE DE Y 1540 General Bldg Contractors - Nonresidential Bldgs other smaller_reporting_<75M 2825 WILCREST DRIVE, SUITE 421 HOUSTON TX 2825 WILCREST DRIVE, SUITE 421 HOUSTON TX 832-627-6852 814516346 2026-03-23 FWP Y
61 1801417 byNordic Acquisition Corp byNordic Acquisition byNordic Acquisition Corp BYNO BYNO|BYNOU|BYNOW OTC DE DE Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M EINAR HANSENS ESPLANAD 29 MALMO EINAR HANSENS ESPLANAD 29 MALMO 46 763 134 695 000000000 2026-05-15 10-Q Y
62 1855485 Calidi Biotherapeutics, Inc. Calidi Biotherapeutics Calidi Biotherapeutics, Inc. CLDWW CLDI|CLDWW OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating / Emerging growth company smaller_reporting_<75M 4475 EXECUTIVE DRIVE SUITE 200 SAN DIEGO CA 92121 4475 EXECUTIVE DRIVE SAN DIEGO CA 92121 858-794-9600 862967193 Calidi Biotherapeutics, Inc.|First Light Acquisition Group, Inc. 2026-06-05 DEFA14A Y
63 1879270 Cannaisseur Group Inc. Cannaisseur Group Cannaisseur Group Inc. TCRG TCRG OTC DE DE Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 650 PONCE DE LEON AVE SUITE 300 #2334 ATLANTA GA 30308 650 PONCE DE LEON AVE ATLANTA GA 30308 404-254-2100 861907561 2026-05-11 10-Q Y
64 1081938 CANNAPHARMARX, INC. Cannapharmarx Cannapharmarx, Inc. CPMD CPMD OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4439 TOWNSHIP RD 304 MOUNTAIN VIEW COUNTY T0M 0R0 4439 TOWNSHIP RD 304 MOUNTAIN VIEW COUNTY T0M 0R0 949-652-6838 274635140 GOLDEN DRAGON HOLDING CO.|CCVG, INC.|CONCORD VENTURES, INC.|CAVION TECHNOLOGIES INC 2026-05-20 10-Q Y
65 1009759 Capstone Green Energy Holdings, Inc. Capstone Green Energy Holdings Capstone Green Energy Holdings, Inc. CGEH CGEH OTC DE DE Y 3510 Engines & Turbines operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 16640 STAGG STREET VAN NUYS CA 91406 16640 STAGG STREET VAN NUYS CA 91406 818-734-5300 954180883 Capstone Green Energy Holdings, Inc.|Capstone Green Energy Corp|CAPSTONE TURBINE CORP|CAPSTONE TURBINE Corp 2026-05-28 SD Y
66 1016178 CARVER BANCORP INC Carver Bancorp Carver Bancorp Inc CARV CARV OTC DE DE Y 6035 Savings Institution, Federally Chartered operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 75 W 125TH ST NEW YORK NY 10027-4512 75 W 125TH ST NEW YORK NY 10027-4512 2128764747 133904174 2025-12-29 SCHEDULE 13D/A Y
67 1435064 CEMTREX INC Cemtrex Cemtrex Inc CETXP CETX|CETXP OTC DE DE Y 1700 Construction - Special Trade Contractors operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 276 GREENPOINT AVE. BLD 8 SUITE 208 BROOKLYN NY 11222 276 GREENPOINT AVE. BLD 8 SUITE 208 BROOKLYN NY 11222 631 756 9116 000000000 2026-06-02 8-K Y
68 1870404 CERO THERAPEUTICS HOLDINGS, INC. Cero Therapeutics Holdings Cero Therapeutics Holdings, Inc. CERO CERO|CEROW OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating / Emerging growth company smaller_reporting_<75M 201 HASKINS WAY SUITE 230 SOUTH SAN FRANCISCO CA 94080 201 HASKINS WAY SOUTH SAN FRANCISCO CA 94080 650-407-2376 871088814 CERO THERAPEUTICS HOLDINGS, INC.|PHOENIX BIOTECH ACQUISITION CORP. 2026-05-29 424B3 Y
69 1352952 CFN Enterprises Inc. CFN Enterprises CFN Enterprises Inc. CNFN CNFN OTC DE DE Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 600 E. 8TH STREET WHITEFISH MT 59937 600 E. 8TH STREET WHITEFISH MT 59937 8334202636 000000000 Accelerize Inc.|ACCELERIZE NEW MEDIA INC 2026-05-20 10-Q Y
70 1459188 Charging Robotics Inc. Charging Robotics Charging Robotics Inc. CHEV CHEV OTC DE DE Y 5013 Wholesale-Motor Vehicle Supplies & New Parts operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 20 RAUL WALLENBERG STREET TEL AVIV L3 6971916 20 RAUL WALLENBERG STREET TEL AVIV L3 6971916 972 54 642 0352 262274999 FUEL DOCTOR HOLDINGS, INC.|Silverhill Management Services Inc 2026-05-14 10-Q Y
71 1025771 CHASE PACKAGING CORP Chase Packaging Chase Packaging Corp WHLT WHLT OTC DE DE Y 0700 Agricultural Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M PO BOX 126 RUMSON NJ 07760 PO BOX 126 RUMSON NJ 07760 732-741-1500 931216127 2026-05-15 10-Q Y
72 1310630 China Foods Holdings Ltd. China Foods Holdings China Foods Holdings Ltd. CFOO CFOO OTC DE DE Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M SUITE 3102, EVERBRIGHT CENTER 108 GLOUCESTER ROAD WANCHAI K3 0000 SUITE 3102, EVERBRIGHT CENTER WANCHAI K3 0000 852-3618-8608 910974149 Trafalgar Resources, Inc. 2026-05-15 10-Q Y
73 1539029 Clearside Biomedical, Inc. Clearside Biomedical Clearside Biomedical, Inc. CLSDQ CLSDQ OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 900 NORTH POINT PARKWAY SUITE 200 ALPHARETTA GA 30005 900 NORTH POINT PARKWAY ALPHARETTA GA 30005 678-270-3631 452437375 2026-01-07 15-12G Y
74 2103884 Compass Sub North, Inc. Compass Sub North Compass Sub North, Inc. CONE CONE DE DE Y 6022 State Commercial Banks other smaller_reporting_<75M 17 20TH STREET NORTH, SUITE 500 BIRMINGHAM AL 35203 17 20TH STREET NORTH, SUITE 500 BIRMINGHAM AL 35203 205-719-5750 000000000 2026-05-08 EFFECT Y
75 1851959 Concord Acquisition Corp II Concord Acquisition Corp II Concord Acquisition Corp II CNDA CNDA|CNDAU|CNDAW OTC DE DE Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 477 MADISON AVENUE NEW YORK NY 10022 477 MADISON AVENUE NEW YORK NY 10022 212-883-4330 862171101 2026-05-14 10-Q Y
76 1895249 ConnectM Technology Solutions, Inc. ConnectM Technology Solutions ConnectM Technology Solutions, Inc. CNTM CNTM|CNTMD OTC DE DE Y 1700 Construction - Special Trade Contractors operating / Emerging growth company smaller_reporting_<75M 2 MOUNT ROYAL AVENUE, SUITE 550 MARLBOROUGH MA 01752 2 MOUNT ROYAL AVENUE, SUITE 550 MARLBOROUGH MA 01752 617-395-1333 000000000 Monterey Capital Acquisition Corp 2026-06-08 4 Y
77 2064307 ContextLogic Holdings Inc. ContextLogic Holdings ContextLogic Holdings Inc. LOGC LOGC OTC DE DE Y 5961 Retail-Catalog & Mail-Order Houses operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2648 INTERNATIONAL BLVD. STE. 115 OAKLAND CA 94601 2648 INTERNATIONAL BLVD. OAKLAND CA 94601 415-965-8476 000000000 Easter Parent, Inc. 2026-06-05 4 Y
78 2093018 CopperTech Metals Inc. CopperTech Metals CopperTech Metals Inc. CUX DE DE Y 1000 Metal Mining other smaller_reporting_<75M 3500 SOUTH DUPONT HIGHWAY DOVER DE 19901 3500 SOUTH DUPONT HIGHWAY DOVER DE 19901 44 7860 413642 000000000 2026-06-02 S-1 Y
79 1958489 Cortigent, Inc. Cortigent Cortigent, Inc. CRGT CRGT DE DE Y 3845 Electromedical & Electrotherapeutic Apparatus other smaller_reporting_<75M 27200 TOURNEY ROAD SUITE 315 VALENCIA CA 91355 27200 TOURNEY ROAD VALENCIA CA 91355 818-833-5000 000000000 2026-05-13 S-1/A Y
80 1562151 Crimson Wine Group, Ltd Crimson Wine Group Crimson Wine Group, Ltd CWGL CWGL OTC DE DE Y 2080 Beverages operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5901 SILVERADO TRAIL NAPA CA 94558 5901 SILVERADO TRAIL NAPA CA 94558 800-486-0503 133607383 2026-06-01 SCHEDULE 13D/A Y
81 924396 Crisp Momentum Inc. Crisp Momentum Crisp Momentum Inc. CRSF CRSF OTC DE DE Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 250 PARK AVENUE, 7TH FLOOR NEW YORK NY 10017 1700 PALM BEACH LAKES BLVD WEST PALM BEACH FL 33401 43 660 596 1401 043021770 OpenLocker Holdings, Inc.|Descrypto Holdings, Inc.|W Technologies, Inc.|Winning Edge International, Inc.|GWIN INC|GLOBAL SPORTS & ENTERTAINMENT INC/|IMSCO TECHNOLOGIES INC /DE/|IMSCO INC /MA/ 2026-05-15 10-Q Y
82 2115027 Cryptex Digital Market Cap ETF Cryptex Digital Market Cap ETF Cryptex Digital Market Cap ETF BAGZ BAGZ DE DE Y other smaller_reporting_<75M 30 N. GOULD ST., SUITE R CRYPTEX FINANCE, LLC SHERIDAN WY 82801 30 N. GOULD ST., SUITE R SHERIDAN WY 82801 (888) 869-5261 000000000 2026-03-25 S-1 Y
83 1035422 CTT PHARMACEUTICAL HOLDINGS, INC. Ctt Pharmaceutical Holdings Ctt Pharmaceutical Holdings, Inc. CTTH CTTH OTC DE DE Y 2834 Pharmaceutical Preparations operating Smaller reporting company smaller_reporting_<75M 3853 NORTHDALE BLVD #268 TAMPA FL 33624 3853 NORTHDALE BLVD #268 TAMPA FL 33624 813-606-0060 113763974 Mindesta Inc.|INDUSTRIAL MINERALS INC|PNW CAPITAL INC|WINCHESTER MINING CORP 2026-05-29 S-1/A Y
84 1058623 CUMULUS MEDIA INC Cumulus Media Cumulus Media Inc CMLS CMLS|CMLSQ DE DE Y 4832 Radio Broadcasting Stations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3280 PEACHTREE ROAD N.W. SUITE 2300 ATLANTA GA 30305 3280 PEACHTREE ROAD N.W. ATLANTA GA 30305 4049490700 364159663 2026-04-30 10-K/A Y
85 1510964 CV Sciences, Inc. CV Sciences CV Sciences, Inc. CVSI CVSI OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9530 PADGETT STREET SUITE 107 SAN DIEGO CA 92126 9530 PADGETT STREET SAN DIEGO CA 92126 866-290-2157 800944970 CannaVEST Corp.|Foreclosure Solutions, Inc. 2026-06-04 8-K Y
86 1175680 CytoDyn Inc. CytoDyn CytoDyn Inc. CYDY CYDY OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1111 MAIN STREET, SUITE 660 VANCOUVER WA 98660 1111 MAIN STREET, SUITE 660 VANCOUVER WA 98660 360-980-8524 753056237 CYTODYN INC|REXRAY CORP 2026-05-20 EFFECT Y
87 1918102 DEEP FISSION, INC. Deep Fission Deep Fission, Inc. FISN FISN DE DE Y 4911 Electric Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 2831 GARBER STREET BERKELEY CA 94705 2831 GARBER STREET BERKELEY CA 94705 (707) 400-0778 874265302 Surfside Acquisition Inc. 2026-05-28 8-A12B Y
88 1533357 DEFENSE TECHNOLOGIES INTERNATIONAL CORP. Defense Technologies International Defense Technologies International Corp. DTII OTC DE DE Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 6700 N. LINDER ROAD STE. 156-361 MERIDIAN ID 83646 6700 N. LINDER ROAD MERIDIAN ID 83646 800-520-9485 000000000 CANYON GOLD CORP. 2026-04-24 10-Q Y
89 1805526 DeFi Development Corp. DeFi Development DeFi Development Corp. DFUKF DFDV|DFDVW|DFUKF OTC DE DE Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 6401 CONGRESS AVE STE 250 BOCA RATON FL 33487 6401 CONGRESS AVE BOCA RATON FL 33487 5615594111 832676794 DeFi Development Corp.|Janover Inc.|Janover Ventures LLC 2026-06-05 DEF 14C Y
90 1394638 Driveitaway Holdings, Inc. Driveitaway Holdings Driveitaway Holdings, Inc. DWAY DWAY OTC DE DE Y 8200 Services-Educational Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3401 MARKET STREET SUITE 200/201 PHILADELPHIA PA 19104 3401 MARKET STREET PHILADELPHIA PA 19104 904-824-3133 204456503 CREATIVE LEARNING Corp|B2 HEALTH, INC. 2026-05-22 10-Q Y
91 1282980 Dror Ortho-Design, Inc. Dror Ortho-Design Dror Ortho-Design, Inc. DROR DROR OTC DE DE Y 3843 Dental Equipment & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 480 JOHNSON ROAD SUITE 200 WASHINGTON PA 15301 480 JOHNSON ROAD WASHINGTON PA 15301 724-206-1500 850461778 NOVINT TECHNOLOGIES INC 2026-06-05 3 Y
92 1111741 DYNARESOURCE, INC. Dynaresource Dynaresource, Inc. DYNR DYNR OTC DE DE Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 222 W. LAS COLINAS BLVD SUITE 1910 NORTH TOWER IRVING TX 75039 222 W. LAS COLINAS BLVD IRVING TX 75039 (972) 868-9066 941589426 DYNARESOURCE INC|DYNA RESOURCE INC 2026-05-18 8-K Y
93 1347123 EBR Systems, Inc. EBR Systems EBR Systems, Inc. EBRCZ EBRCZ OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 480 OAKMEAD PARKWAY SUNNYVALE CA 94085 480 OAKMEAD PARKWAY SUNNYVALE CA 94085 408 720-1906 571164669 EBR Systems Inc 2026-05-11 10-Q Y
94 1487798 ECA Marcellus Trust I ECA Marcellus Trust I ECA Marcellus Trust I ECTM ECTM OTC DE DE Y 1311 Crude Petroleum & Natural Gas operating smaller_reporting_<75M C/O BNY MELLON 601 TRAVIS STREET, FLOOR 16 HOUSTON TX 77002 C/O BNY MELLON HOUSTON TX 77002 512-236-6555 276522024 2026-05-18 8-K Y
95 1715819 Electromedical Technologies, Inc Electromedical Technologies Electromedical Technologies, Inc EMED EMED OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 16561 N 92ND STREET SUITE 101 SCOTTSDALE AZ 85260 16561 N 92ND STREET SCOTTSDALE AZ 85260 888-880-7888 822619815 2025-07-14 15-12G Y
96 1089815 Elite Health Systems Inc. Elite Health Systems Elite Health Systems Inc. EHSI EHSI OTC DE DE Y 8093 Services-Specialty Outpatient Facilities, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1131 W 6TH STREET SUITE 225 ONTARIO CA 91762 1131 W 6TH STREET ONTARIO CA 91762 949-249-1170 521842411 Elite Health Systems, Inc.|U.S. NeuroSurgical Holdings, Inc.|US NEUROSURGICAL INC 2026-05-20 10-Q Y
97 1035354 Eloxx Pharmaceuticals, Inc. Eloxx Pharmaceuticals Eloxx Pharmaceuticals, Inc. ELOX ELOX|ELOXD OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M P.O. BOX 274 ARLINGTON MA 02476 P.O. BOX 274 ARLINGTON MA 02476 781-577-5300 841368850 Sevion Therapeutics, Inc.|SENESCO TECHNOLOGIES INC|NAVA LEISURE USA INC 2026-06-08 EFFECT Y
98 822370 Emmaus Life Sciences, Inc. Emmaus Life Sciences Emmaus Life Sciences, Inc. EMMA EMMA OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 21250 HAWTHORNE BOULEVARD, SUITE 800 TORRANCE CA 90503 21250 HAWTHORNE BOULEVARD, SUITE 800 TORRANCE CA 90503 310-214-0065 870419387 MYnd Analytics, Inc.|CNS RESPONSE, INC.|STRATIVATION, INC.|SalesTactix, Inc.|AGE RESEARCH INC 2026-05-15 8-K Y
99 2089161 Encore Inc. Encore Encore Inc. ECR DE DE Y 7900 Services-Amusement & Recreation Services other smaller_reporting_<75M 5100 N. RIVER ROAD, SUITE 300 SCHILLER PARK IL 60176 5100 N. RIVER ROAD, SUITE 300 SCHILLER PARK IL 60176 847-450-7203 464573857 2026-04-10 S-1 Y
100 1908984 ENDI Corp. ENDI ENDI Corp. ENDI ENDI OTC DE DE Y 6282 Investment Advice operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1806 SUMMIT AVE, STE 300 RICHMOND VA 23230 1806 SUMMIT AVE, STE 300 RICHMOND VA 23230 (434) 336-7737 874284605 2025-12-03 144 Y
101 1716947 Ensysce Biosciences, Inc. Ensysce Biosciences Ensysce Biosciences, Inc. ENSCW ENSC|ENSCW OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7946 IVANHOE AVENUE SUITE 201 LA JOLLA CA 92037 7946 IVANHOE AVENUE LA JOLLA CA 92037 (858) 263-4196 822755287 Leisure Acquisition Corp. 2026-06-04 S-3 Y
102 2028464 ENTRATA, INC. Entrata Entrata, Inc. ENT DE DE Y 7372 Services-Prepackaged Software other smaller_reporting_<75M 4205 CHAPEL RIDGE ROAD LEHI UT 84043 4205 CHAPEL RIDGE ROAD LEHI UT 84043 8013755522 000000000 2026-05-28 S-1 Y
103 2110029 ERock, Inc. ERock ERock, Inc. EROC EROC DE DE Y 3620 Electrical Industrial Apparatus other smaller_reporting_<75M 1113 VINE ST. SUITE 101 HOUSTON TX 77002 1113 VINE ST. HOUSTON TX 77002 713.429.4091 000000000 Enchanted Rock, Inc. 2026-06-09 8-A12B Y
104 1618835 Evofem Biosciences, Inc. Evofem Biosciences Evofem Biosciences, Inc. EVFM EVFM OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 12400 HIGH BLUFF DRIVE SUITE 600 SAN DIEGO CA 92130 12400 HIGH BLUFF DRIVE SAN DIEGO CA 92130 (858) 550-1900 208527075 Neothetics, Inc. 2026-05-18 8-K Y
105 1705012 Fat Brands, Inc Fat Brands Fat Brands, Inc FATAQ FATAQ|FABTQ|FATPQ OTC DE DE Y 5812 Retail-Eating Places operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9720 WILSHIRE BLVD., SUITE 500 BEVERLY HILLS CA 90212 9720 WILSHIRE BLVD., BEVERLY HILLS CA 90212 310-406-0600 821302696 2026-06-04 8-K Y
106 1722731 FDCTECH, INC. Fdctech Fdctech, Inc. FDCT FDCT OTC DE DE Y 7372 Services-Prepackaged Software operating / Emerging growth company smaller_reporting_<75M 200 SPECTRUM DRIVE SUITE 300 IRVINE CA 92618 200 SPECTRUM DRIVE IRVINE CA 92618 877-445-6047 811265459 FDC TECH, INC.|Forex Development Corp. 2026-06-08 8-K Y
107 922358 FERRELLGAS PARTNERS L P Ferrellgas Partners L P Ferrellgas Partners L P FGPR FGPR OTC DE DE Y 5900 Retail-Miscellaneous Retail operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ONE LIBERTY PLAZA LIBERTY MO 64068 ONE LIBERTY PLAZA LIBERTY MO 64068 816-792-1600 431698480 2026-06-05 10-Q Y
108 2064124 Figure Technology Solutions, Inc. Figure Technology Solutions Figure Technology Solutions, Inc. FGRS FIGR|FGRS OTC DE DE Y 6163 Loan Brokers operating Non-accelerated filer / Emerging growth company smaller_reporting_<75M 100 WEST LIBERTY ST. SUITE 600 RENO NV 10018 100 WEST LIBERTY ST. RENO NV 10018 (917) 789-8049 000000000 Figure Technology Solutions, Inc.|FT Intermediate, Inc. 2026-06-04 4 Y
109 1892704 First Breach, Inc. First Breach First Breach, Inc. FBDT FBDT DE DE Y 3480 Ordnance & Accessories, (No Vehicles/Guided Missiles) other smaller_reporting_<75M 8402 TOPPING RD. BALTIMORE MD 21208 8402 TOPPING RD. BALTIMORE MD 21208 (410) 303-1600 825147193 2026-05-27 S-1/A Y
110 1416876 First Choice Healthcare Solutions, Inc. First Choice Healthcare Solutions First Choice Healthcare Solutions, Inc. FCHS FCHS OTC DE DE Y 8071 Services-Medical Laboratories operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 709 S. HARBOR CITY BLVD. SUITE 250 MELBOURNE FL 32901 709 S. HARBOR CITY BLVD. MELBOURNE FL 32901 (321) 725-0090 900687379 Medical Billing Assistance, Inc.|Medical Billing Assistance Inc 2026-05-08 10-Q Y
111 1065823 FIRST NILES FINANCIAL INC First Niles Financial First Niles Financial Inc FNFI FNFI|FNFPA OTC DE DE Y 6035 Savings Institution, Federally Chartered other smaller_reporting_<75M 55 NORTH MAIN STREET NILES OH 44446 55 NORTH MAIN STREET NILES OH 44446 3306522539 341870418 2025-05-19 D Y
112 1099668 FIRST OTTAWA BANCSHARES, INC. First Ottawa Bancshares First Ottawa Bancshares, Inc. FOTB FOTB OTC DE DE Y 6022 State Commercial Banks operating smaller_reporting_<75M 701 LASALLE STREET P O BOX 657 OTTAWA IL 61350 701 LASALLE STREET OTTAWA IL 61350 8154340044X291 364331185 FIRST OTTAWA BANCSHARES, INC|FIRST OTTAWA BANCSHARES INC 2025-12-17 D Y
113 1925062 Forbright, Inc. Forbright Forbright, Inc. FRBT FRBT DE DE Y 6022 State Commercial Banks other smaller_reporting_<75M 4445 WILLARD AVENUE, SUITE 1000 CHEVY CHASE MD 20815 4445 WILLARD AVENUE, SUITE 1000 CHEVY CHASE MD 20815 (301) 299-8810 000000000 2026-06-08 S-1/A Y
114 1812360 FOXO TECHNOLOGIES INC. Foxo Technologies Foxo Technologies Inc. FOXO FOXO|FOXOW OTC DE DE Y 8731 Services-Commercial Physical & Biological Research operating / Emerging growth company smaller_reporting_<75M 477 SOUTH ROSEMARY AVENUE SUITE 224 WEST PALM BEACH FL 33401 477 SOUTH ROSEMARY AVENUE WEST PALM BEACH FL 33401 (612) 800-0059 851050265 Delwinds Insurance Acquisition Corp. 2026-06-02 DEF 14C Y
115 1825248 Franklin BSP Capital Corp Franklin BSP Capital Franklin BSP Capital Corp FRBP FRBP OTC DE DE Y operating Non-accelerated filer / Emerging growth company smaller_reporting_<75M ONE MADISON AVENUE SUITE 1600 NEW YORK NY 10010 ONE MADISON AVENUE NEW YORK NY 10010 (212) 588-6700 000000000 Franklin BSP Capital L.L.C. 2026-06-05 DEFA14A Y
116 1543652 Free Flow USA, Inc. Free Flow USA Free Flow USA, Inc. FFLO FFLO OTC DE DE Y 5531 Retail-Auto & Home Supply Stores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9243 JOHN F. KENNEDY BLVD. SUITE 104 NORTH BERGEN NJ 07047 9243 JOHN F. KENNEDY BLVD. NORTH BERGEN NJ 07047 703-789-3344 453838831 Free Flow, Inc. 2026-05-14 10-Q Y
117 1563577 Galera Therapeutics, Inc. Galera Therapeutics Galera Therapeutics, Inc. GRTX GRTX OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 101 LINDENWOOD DRIVE SUITE 225 MALVERN PA 19355 101 LINDENWOOD DRIVE MALVERN PA 19355 610-725-1500 461454898 2026-06-02 425 Y
118 2130606 Gazelle Parent, Inc. Gazelle Parent Gazelle Parent, Inc. OBX OBX DE DE Y 2834 Pharmaceutical Preparations other smaller_reporting_<75M 1030 MASSACHUSETTS AVENUE CAMBRIDGE MA 02138 1030 MASSACHUSETTS AVENUE CAMBRIDGE MA 02138 (781) 806-6245 000000000 2026-06-02 S-4/A Y
119 890725 GELSTAT CORP Gelstat Gelstat Corp GSAC GSAC OTC DE DE Y 2834 Pharmaceutical Preparations operating smaller_reporting_<75M 333 SE 2ND AVENUE SUITE 2000 MIAMI FL 33131 333 SE 2ND AVENUE MIAMI FL 33131 772-212-1368 900075732 DEVELOPED TECHNOLOGY RESOURCE INC 2026-05-11 1-Z Y
120 1796949 GenFlat Holdings, Inc. GenFlat Holdings GenFlat Holdings, Inc. GFLT GFLT OTC DE DE Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1983 N BERRA BLVD TOOELE UT 84074 1983 N BERRA BLVD TOOELE UT 84074 615-696-7676 843639946 Healthcare Business Resources, Inc. 2026-05-26 4 Y
121 1121795 GHST World Inc. GHST World GHST World Inc. GHST GHST OTC DE DE Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 3001 PGA BOULEVARD SUITE 305 PALM BEACH GARDENS FL 33410 3001 PGA BOULEVARD PALM BEACH GARDENS FL 33410 561-686-3307 912007477 Ghost Technology Inc.|I A EUROPE GROUP INC|GENERAL TELEPHONY COM INC 2026-05-13 10-Q Y
122 1846084 Global Crossing Airlines Group Inc. Global Crossing Airlines Group Global Crossing Airlines Group Inc. JETMF JETMF|JETBF OTC DE DE Y 4512 Air Transportation, Scheduled operating / Emerging growth company smaller_reporting_<75M 4200 NW 36TH STREET, BUILDING 5A MIAMI INT'L AIRPORT, 4TH FLOOR MIAMI FL 33166 4200 NW 36TH STREET, BUILDING 5A MIAMI FL 33166 7867518503 981350261 2026-05-12 8-K Y
123 1817232 Global Gas Corp Global Gas Global Gas Corp HGAS HGAS|HGASW OTC DE DE Y 2810 Industrial Inorganic Chemicals operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 99 WALL STREET SUITE 436 NEW YORK NY 10005 99 WALL STREET NEW YORK NY 10005 917-327-0437 851617911 Dune Acquisition Corp 2026-05-15 10-Q Y
124 1837774 Global Innovative Platforms Inc. Global Innovative Platforms Global Innovative Platforms Inc. GIPL GIPL OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating / Emerging growth company smaller_reporting_<75M 149 JAMES PLACE MAITLAND FL 32751 149 JAMES PLACE MAITLAND FL 32751 321-230-3739 853816149 Canning Street Corp 2026-06-04 D Y
125 932021 GLOBAL TECHNOLOGIES LTD Global Technologies Global Technologies Ltd GTLL GTLL DE DE Y 3663 Radio & Tv Broadcasting & Communications Equipment operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 806 GREEN VALLEY ROAD SUITE 200 GREENSBORO NC 27408 806 GREEN VALLEY ROAD GREENSBORO NC 27408 (973) 233-5151 860970492 INTERACTIVE FLIGHT TECHNOLOGIES INC 2026-06-03 10-Q Y
126 1420108 Glucose Health, Inc. Glucose Health Glucose Health, Inc. GLUC GLUC OTC DE DE Y 2833 Medicinal Chemicals & Botanical Products operating Smaller reporting company smaller_reporting_<75M 609 SW 8TH STREET, SUITE 600 BENTONVILLE AR 72712 609 SW 8TH STREET, SUITE 600 BENTONVILLE AR 72712 479-802-3827 901117742 Bio-Solutions Corp. 2026-02-04 D Y
127 1011509 Golden Minerals Co Golden Minerals Golden Minerals Co AUMN AUMN OTC DE DE Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1312 17TH ST UNIT 2136 DENVER CO 80202 1312 17TH ST DENVER CO 80202 3038395060 841363747 APEX SILVER MINES LTD 2026-05-20 8-K Y
128 1852040 Grayscale Basic Attention Token Trust (BAT) Grayscale Basic Attention Token Trust (BAT) Grayscale Basic Attention Token Trust (BAT) GBAT GBAT OTC DE DE Y other smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212-668-1427 866366321 2026-02-05 144 Y
129 2029297 Grayscale Bittensor Trust (TAO) Grayscale Bittensor Trust (TAO) Grayscale Bittensor Trust (TAO) GTAO GTAO OTC DE DE Y 6221 Commodity Contracts Brokers & Dealers operating / Emerging growth company smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212-668-1427 996506784 2026-05-20 8-K Y
130 2106762 Grayscale BNB ETF Grayscale BNB ETF Grayscale BNB ETF GBNB GBNB DE DE Y 6221 Commodity Contracts Brokers & Dealers other smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212-668-1427 416775679 2026-06-03 S-1/A Y
131 1852023 Grayscale Decentraland Trust (MANA) Grayscale Decentraland Trust (MANA) Grayscale Decentraland Trust (MANA) MANA MANA OTC DE DE Y other smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06092 290 HARBOR DRIVE STAMFORD CT 06092 212-668-1427 866384735 2026-05-07 144 Y
132 1852039 Grayscale Filecoin Trust (FIL) Grayscale Filecoin Trust (FIL) Grayscale Filecoin Trust (FIL) FILG FILG OTC DE DE Y 6199 Finance Services other smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212-668-1427 856627668 2026-05-07 144 Y
133 1748945 Grayscale Horizen Trust (ZEN) Grayscale Horizen Trust (ZEN) Grayscale Horizen Trust (ZEN) HZEN HZEN OTC DE DE Y 6221 Commodity Contracts Brokers & Dealers operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212-668-1427 836217411 Zen Investment Trust 2026-05-08 10-Q Y
134 1732406 Grayscale Litecoin Trust (LTC) Grayscale Litecoin Trust (LTC) Grayscale Litecoin Trust (LTC) LTCN LTCN OTC DE DE Y 6221 Commodity Contracts Brokers & Dealers operating / Emerging growth company smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212 668 1427 826868171 Litecoin Investment Trust 2026-05-22 8-K Y
135 1852024 Grayscale Livepeer Trust (LPT) Grayscale Livepeer Trust (LPT) Grayscale Livepeer Trust (LPT) GLIV GLIV OTC DE DE Y other smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212-668-1427 866374254 2026-05-06 144 Y
136 2025000 Grayscale Near Trust (NEAR) Grayscale Near Trust (NEAR) Grayscale Near Trust (NEAR) GSNR GSNR OTC DE DE Y 6221 Commodity Contracts Brokers & Dealers other smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212-668-1427 996514154 2026-05-06 144 Y
137 2024996 Grayscale Stacks Trust (STX) Grayscale Stacks Trust (STX) Grayscale Stacks Trust (STX) STCK STCK OTC DE DE Y other smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212-668-1427 996511355 2026-05-04 144 Y
138 1761325 Grayscale Stellar Lumens Trust (XLM) Grayscale Stellar Lumens Trust (XLM) Grayscale Stellar Lumens Trust (XLM) GXLM GXLM OTC DE DE Y 6221 Commodity Contracts Brokers & Dealers operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212 668 1427 836545098 Stellar Lumens Investment Trust 2026-05-08 10-Q Y
139 1720265 Grayscale Zcash Trust (ZEC) Grayscale Zcash Trust (ZEC) Grayscale Zcash Trust (ZEC) ZCSH ZCSH OTC DE DE Y 6221 Commodity Contracts Brokers & Dealers operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 290 HARBOR DRIVE 4TH FLOOR STAMFORD CT 06902 290 HARBOR DRIVE STAMFORD CT 06902 212-668-1427 826646113 Zcash Investment Trust 2026-05-08 10-Q Y
140 1693687 GREENLIT VENTURES INC. Greenlit Ventures Greenlit Ventures Inc. MSYND MSYND|GLVT DE DE Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 717 FULIN HOTEL 1805 HEPING ROAD LUOHU, SHENZHEN 717 FULIN HOTEL LUOHU, SHENZHEN 604-671-9998 814679061 MS YOUNG ADVENTURE ENTERPRISE, INC.|AllyMe Holding Inc.|Rain Sound Acquisition Corp 2026-05-15 NT 10-Q Y
141 1841761 Grove Collaborative Holdings, Inc. Grove Collaborative Holdings Grove Collaborative Holdings, Inc. GROVW GROV|GROVW OTC DE DE Y 5961 Retail-Catalog & Mail-Order Houses operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1301 SANSOME STREET SAN FRANCISCO CA 94111 1301 SANSOME STREET SAN FRANCISCO CA 94111 (800) 231-8527 882840659 Virgin Group Acquisition Corp. II 2026-06-04 4 Y
142 1832487 Guerrilla RF, Inc. Guerrilla RF Guerrilla RF, Inc. GUER GUER OTC DE DE Y 3674 Semiconductors & Related Devices operating / Emerging growth company smaller_reporting_<75M 2000 PISGAH CHURCH ROAD GREENSBORO NC 27455 2000 PISGAH CHURCH ROAD GREENSBORO NC 27455 3365107840 853837067 Laffin Acquisition Corp. 2026-06-05 8-K Y
143 924515 GUIDED THERAPEUTICS INC Guided Therapeutics Guided Therapeutics Inc GTHP GTHP OTC DE DE Y 3845 Electromedical & Electrotherapeutic Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5835 PEACHTREE CORNERS EAST SUITE B PEACHTREE CORNERS GA 30092 5835 PEACHTREE CORNERS EAST PEACHTREE CORNERS GA 30092 7702428723 582029543 SPECTRX INC 2026-05-15 10-Q Y
144 1563665 Harvard Apparatus Regenerative Technology, Inc. Harvard Apparatus Regenerative Technology Harvard Apparatus Regenerative Technology, Inc. HRGN HRGN OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 84 OCTOBER HILL ROAD SUITE 11 HOLLISTON MA 01746 84 OCTOBER HILL ROAD HOLLISTON MA 01746 (774) 233-7300 455210462 Biostage, Inc. 2026-05-13 10-Q Y
145 844856 Healthier Choices Management Corp. Healthier Choices Management Healthier Choices Management Corp. HCMC HCMC OTC DE DE Y 2100 Tobacco Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3800 NORTH 28TH WAY HOLLYWOOD FL 33020 3800 NORTH 28TH WAY HOLLYWOOD FL 33020 305-600-5004 841070932 VAPOR CORP.|MILLER DIVERSIFIED CORP 2026-05-14 10-Q Y
146 1583771 Hepion Pharmaceuticals, Inc. Hepion Pharmaceuticals Hepion Pharmaceuticals, Inc. HEPA HEPA|CTRVP OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 34 SHREWSBURY AVE. SUITE 1D RED BANK NJ 07701 34 SHREWSBURY AVE. RED BANK NJ 07701 732-902-4000 462783806 ContraVir Pharmaceuticals, Inc. 2026-05-26 3 Y
147 797465 HG Holdings, Inc. HG Holdings HG Holdings, Inc. STLY STLY OTC DE DE Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 6265 OLD WATER OAK ROAD, UNIT 204 TALLAHASSEE FL 32312 6265 OLD WATER OAK ROAD, UNIT 204 TALLAHASSEE FL 32312 850-201-9204 541272589 STANLEY FURNITURE CO INC.|STANLEY FURNITURE CO INC/ 2026-05-13 10-Q Y
148 2089271 Honeywell Aerospace Inc. Honeywell Aerospace Honeywell Aerospace Inc. HONA HONA DE DE Y 3724 Aircraft Engines & Engine Parts other smaller_reporting_<75M 1944 E SKY HARBOR CIR N PHOENIX AZ 85034 1944 E SKY HARBOR CIR N PHOENIX AZ 85034 704-627-6200 394202057 Honeywell Aerospace LLC 2026-06-08 10-12B/A Y
149 1760542 HOOKIPA Pharma Inc. HOOKIPA Pharma HOOKIPA Pharma Inc. HOOK HOOK OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 350 FIFTH AVENUE, 72ND FLOOR, SUITE 7240 NEW YORK NY 10118 350 FIFTH AVENUE, 72ND FLOOR, SUITE 7240 NEW YORK NY 10118 0114318906360 815395687 2025-10-09 4 Y
150 88000 Horizon Kinetics Holding Corp Horizon Kinetics Holding Horizon Kinetics Holding Corp HKHC HKHC OTC DE DE Y 6282 Investment Advice operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 470 PARK AVE S. NEW YORK NY 10016 470 PARK AVE S. NEW YORK NY 10016 6462912300 840920811 Scott's Liquid Gold - Inc.|SCOTTS LIQUID GOLD INC 2026-05-21 4 Y
151 1639068 Hubilu Venture Corp Hubilu Venture Hubilu Venture Corp HBUV HBUV OTC DE DE Y 6510 Real Estate Operators (No Developers) & Lessors operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9777 WILSHIRE BLVD SUITE 804 BEVERLY HILLS CA 90212 9777 WILSHIRE BLVD BEVERLY HILLS CA 90212 (310) 308-7887 473342387 2026-05-26 10-Q Y
152 1718405 HYCROFT MINING HOLDING CORP Hycroft Mining Holding Hycroft Mining Holding Corp HYMCW HYMC|HYMCW OTC DE DE Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4300 WATER CANYON ROAD UNIT 1 WINNEMUCCA NV 89445 4300 WATER CANYON ROAD WINNEMUCCA NV 89445 7753040260 822657796 HYCROFT MINING HOLDING CORP|Mudrick Capital Acquisition Corp 2026-06-08 4 Y
153 1580490 I-ON Digital Corp. I-ON Digital I-ON Digital Corp. IONI IONI OTC DE DE Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1244 N. STONE ST. UNIT #3 CHICAGO IL 60610 1244 N. STONE ST. CHICAGO IL 60610 866-440-2278 463031328 I-ON Communications Corp.|Evans Brewing Co Inc.|ALPINE 3 Inc. 2026-06-05 8-K Y
154 1729944 IMAC Holdings, Inc. IMAC Holdings IMAC Holdings, Inc. BACK BACK OTC DE DE Y 8093 Services-Specialty Outpatient Facilities, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3401 MALLORY LANE SUITE 100 FRANKLIN TN 37067 3401 MALLORY LANE FRANKLIN TN 37067 844-266-4622 473579961 IMAC HOLDINGS LLC 2026-03-31 15-12G Y
155 1680513 IMPACT ANALYTICS INC. Impact Analytics Impact Analytics Inc. IPTNF IPTNF|IPTND DE DE Y other smaller_reporting_<75M 780 ELKRIDGE LANDING ROAD SUITE 100 LINTHICUM HEIGHTS MD 21090 780 ELKRIDGE LANDING ROAD LINTHICUM HEIGHTS MD 21090 (917) 244-3631 474178385 2025-06-03 D Y
156 1042418 Inhibitor Therapeutics, Inc. Inhibitor Therapeutics Inhibitor Therapeutics, Inc. INTI INTI OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4830 W. KENNEDY BLVD. SUITE 600 TAMPA FL 33609 4830 W. KENNEDY BLVD. TAMPA FL 33609 (813) 766-2462 541641133 HedgePath Pharmaceuticals, Inc.|COMMONWEALTH BIOTECHNOLOGIES INC 2026-06-01 4 Y
157 1190370 INNOVATIVE DESIGNS INC Innovative Designs Innovative Designs Inc IVDN IVDN OTC DE DE Y 2390 Miscellaneous Fabricated Textile Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 124 CHERRY ST. STE 1 PITTSBURGH PA 15223 124 CHERRY ST. PITTSBURGH PA 15223 4127990350 030465528 2026-05-18 10-K/A Y
158 2001557 Innventure, Inc. Innventure Innventure, Inc. INVLW INV|INVLW OTC DE DE Y 6770 Blank Checks operating / Emerging growth company smaller_reporting_<75M 6900 TAVISTOCK LAKES BLVD, SUITE 400 ORLANDO FL 32827 6900 TAVISTOCK LAKES BLVD, SUITE 400 ORLANDO FL 32827 (321) 209-6787 934440048 Learn SPAC HoldCo, Inc. 2026-05-20 8-K Y
159 1016504 INTEGRATED BIOPHARMA INC Integrated Biopharma Integrated Biopharma Inc INBP INBP OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 225 LONG AVENUE BUILDING 15 HILLSIDE NJ 07205 225 LONG AVENUE HILLSIDE NJ 07205 9739260816 222407475 INTEGRATED HEALTH TECHNOLOGIES INC|CHEM INTERNATIONAL INC 2026-05-08 8-K Y
160 1846235 International Media Acquisition Corp. International Media Acquisition International Media Acquisition Corp. IMAQ IMAQ|IMAQR|IMAQU|IMAQW OTC DE DE Y 7812 Services-Motion Picture & Video Tape Production operating / Emerging growth company smaller_reporting_<75M 1604 HWY 130 NORTH BRUNSWICK NJ 08902 1604 HWY 130 NORTH BRUNSWICK NJ 08902 2129603677 000000000 2026-06-01 8-K Y
161 1355790 International Stem Cell CORP International Stem Cell International Stem Cell CORP ISCO ISCO OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9745 BUSINESSPARK AVENUE SAN DIEGO CA 92131 9745 BUSINESSPARK AVENUE SAN DIEGO CA 92131 760-940-6383 204494098 BTHC III INC. 2026-05-14 10-Q Y
162 1054102 INTERPACE BIOSCIENCES, INC. Interpace Biosciences Interpace Biosciences, Inc. IDXG IDXG OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M WATERVIEW PLAZA, SUITE 310 2001 ROUTE 46 PARSIPPANY NJ 07054 WATERVIEW PLAZA, SUITE 310 PARSIPPANY NJ 07054 412-224-6100 222919486 Interpace Diagnostics Group, Inc.|PDI INC|PROFESSIONAL DETAILING INC 2026-05-14 8-K Y
163 1865494 IO Biotech, Inc. IO Biotech IO Biotech, Inc. IOBTQ IOBTQ OTC DE DE Y 2834 Pharmaceutical Preparations operating / Emerging growth company smaller_reporting_<75M OLE MAALOES VEH 3 COPENHAGEN G7 2200 OLE MAALOES VEH 3 COPENHAGEN G7 2200 4570702980 870909276 2026-06-08 25-NSE Y
164 2123613 Kardigan, Inc. Kardigan Kardigan, Inc. KARD DE DE Y 2834 Pharmaceutical Preparations other smaller_reporting_<75M C/O KARDIGAN, INC. 131 OYSTER POINT BLVD., SECOND FLOOR SOUTH SAN FRANCISCO CA 94080 C/O KARDIGAN, INC. SOUTH SAN FRANCISCO CA 94080 (415) 573-3220 932994203 2026-05-26 S-1 Y
165 1530746 Kaya Holdings, Inc. Kaya Holdings Kaya Holdings, Inc. KAYS KAYS OTC DE DE Y 2834 Pharmaceutical Preparations operating / Emerging growth company smaller_reporting_<75M 915 MIDDLE RIVER DRIVE, SUITE 316 FORT LAUDERDALE FL 33304 915 MIDDLE RIVER DRIVE, SUITE 316 FORT LAUDERDALE FL 33304 954-5347895 900898007 Alternative Fuels Americas, Inc.|Alternative Fuels America, Inc. 2026-03-30 NT 10-K Y
166 774415 King Resources, Inc. King Resources King Resources, Inc. KRFG KRFG OTC DE DE Y 3612 Power, Distribution & Specialty Transformers operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M UNIT 1813, 18/F, FO TAN INDUSTRIAL CENTR 26-28 AU PUI WAN STREET FO TAN UNIT 1813, 18/F, FO TAN INDUSTRIAL CENTR FO TAN 852-35858905 133784149 OneSolution Technology Inc.|KING RESOURCES INC|ARXA INTERNATIONAL ENERGY INC 2026-06-03 DEF 14C Y
167 1372514 KIORA PHARMACEUTICALS INC Kiora Pharmaceuticals Kiora Pharmaceuticals Inc KPHMW KPRX|KPHMW OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 169 SAXONY RD. SUITE 212 ENCINITAS CA 92024 169 SAXONY RD. ENCINITAS CA 92024 858-224-9600 980443284 EYEGATE PHARMACEUTICALS INC 2026-05-28 424B3 Y
168 1855457 KORE Group Holdings, Inc. KORE Group Holdings KORE Group Holdings, Inc. KORGW KORE|KORGW OTC DE DE Y 4899 Communications Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1155 PERIMETER CENTER WEST 11TH FLOOR ATLANTA GA 30346 1155 PERIMETER CENTER WEST ATLANTA GA 30346 877-710-5673 863078783 King Pubco, Inc. 2026-06-03 4 Y
169 1884164 KwikClick, Inc. KwikClick KwikClick, Inc. KWIK KWIK OTC DE DE Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 585 WEST 500 SOUTH SUITE 130 BOUNTIFUL UT 84010 585 WEST 500 SOUTH BOUNTIFUL UT 84010 8012434840 954463033 2026-05-15 10-Q Y
170 1442492 Laredo Oil, Inc. Laredo Oil Laredo Oil, Inc. LRDC LRDC OTC DE DE Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2021 GUADALUPE STREET, STE. 260 AUSTIN TX 78705 2021 GUADALUPE STREET, AUSTIN TX 78705 (512) 337-1199 262435874 Laredo Mining, Inc. 2026-04-14 10-Q Y
171 1826000 Latch, Inc. Latch Latch, Inc. LTCH LTCH|LTCHW OTC DE DE Y 5072 Wholesale-Hardware operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1220 N PRICE ROAD SUITE 2 OLIVETTE MO 63132 1220 N PRICE ROAD OLIVETTE MO 63132 (314) 227-1100 853087759 TS Innovation Acquisitions Corp. 2026-06-05 4 Y
172 1736734 Lendbuzz Inc. Lendbuzz Lendbuzz Inc. LBZZ LBZZ DE DE Y 6141 Personal Credit Institutions other smaller_reporting_<75M 100 SUMMER STREET BOSTON MA 02110 100 SUMMER STREET BOSTON MA 02110 857-999-0250 475047556 2026-03-06 S-1/A Y
173 1803977 Limitless X Holdings Inc. Limitless X Holdings Limitless X Holdings Inc. LIMX LIMX OTC DE DE Y 7990 Services-Miscellaneous Amusement & Recreation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9777 WILSHIRE BLVD., SUITE 400, BEVERLY HILLS CA 90212 9777 WILSHIRE BLVD., BEVERLY HILLS CA 90212 720-273-0433 811034163 BIO LAB NATURALS, INC. 2026-06-05 8-K/A Y
174 1347242 LIPELLA PHARMACEUTICALS INC. Lipella Pharmaceuticals Lipella Pharmaceuticals Inc. LIPO LIPO OTC DE DE Y 2834 Pharmaceutical Preparations operating / Emerging growth company smaller_reporting_<75M 400 N LEXINGTON ST STE LL103 PITTSBURGH PA 15208 400 N LEXINGTON ST PITTSBURGH PA 15208 412-901-0315 000000000 LIPELLA PHARMACEUTICALS INC 2026-03-31 8-K Y
175 1840780 Local Bounti Corporation/DE Local Bounti Local Bounti Corporation LOCLW LOCL|LOCLW OTC DE DE Y 0100 Agricultural Production-Crops operating / Emerging growth company smaller_reporting_<75M 490 FOLEY LANE HAMILTON MT 59840 490 FOLEY LANE HAMILTON MT 59840 800-640-4016 981584830 Leo Holdings III Corp. 2026-05-21 EFFECT Y
176 1842939 Longevity Health Holdings, Inc. Longevity Health Holdings Longevity Health Holdings, Inc. XAGE XAGE|XAGEW OTC DE DE Y 2840 Soap, Detergents, Cleang Preparations, Perfumes, Cosmetics operating / Emerging growth company smaller_reporting_<75M 2403 SIDNEY STREET, SUITE 300 PITTSBURGH PA 15203 2403 SIDNEY STREET, SUITE 300 PITTSBURGH PA 15203 412-894-8248 861645738 Carmell Corp|ALPHA HEALTHCARE ACQUISITION CORP III 2026-06-04 8-K Y
177 1753712 Lord Abbett Credit Opportunities Fund Lord Abbett Credit Opportunities Fund Lord Abbett Credit Opportunities Fund LARAX LARAX DE DE Y other smaller_reporting_<75M 30 HUDSON STREET JERSEY CITY NJ 07302 30 HUDSON STREET JERSEY CITY NJ 07302 888-522-2388 000000000 2026-05-29 NPORT-P Y
178 1327273 Lyra Therapeutics, Inc. Lyra Therapeutics Lyra Therapeutics, Inc. LYRA LYRA OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 480 ARSENAL WAY WATERTOWN MA 02472 480 ARSENAL WAY WATERTOWN MA 02472 617-373-4600 000000000 480 Biomedical, Inc.|Arsenal Vascular, Inc.|Arsenal Medical, Inc.|WMR Biomedical Inc 2026-05-15 4 Y
179 1052354 MAN AHL DIVERSIFIED I LP Man Ahl Diversified I Man Ahl Diversified I LP MADL MADL DE DE Y 6221 Commodity Contracts Brokers & Dealers operating Non-accelerated filer smaller_reporting_<75M 123 NORTH WACKER DRIVE SUITE 2800 CHICAGO IL 60606 123 NORTH WACKER DRIVE CHICAGO IL 60606 312-881-6800 000000000 2026-05-14 10-Q Y
180 1965052 Marblegate Capital Corp Marblegate Capital Marblegate Capital Corp MGTE MGTE|MGTEW OTC DE DE Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 411 THEODORE FREMD AVENUE, SUITE 206S RYE NY 10580 411 THEODORE FREMD AVENUE, SUITE 206S RYE NY 10580 (914) 415-4081 922142791 2026-05-14 10-Q Y
181 1522767 MARIMED INC. Marimed Marimed Inc. MRMD MRMD OTC DE DE Y 2833 Medicinal Chemicals & Botanical Products operating / Emerging growth company smaller_reporting_<75M 10 OCEANA WAY 2ND FLOOR NORWOOD MA 02062 10 OCEANA WAY NORWOOD MA 02062 781-277-0007 274672745 WORLDS ONLINE INC. 2026-06-08 4 Y
182 1844392 Marpai, Inc. Marpai Marpai, Inc. MRAI MRAI OTC DE DE Y 8090 Services-Misc Health & Allied Services, NEC operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 615 CHANNELSIDE DRIVE SUITE 207 TAMPA FL 33602 615 CHANNELSIDE DRIVE TAMPA FL 33602 646-303-3483 000000000 2026-06-02 4 Y
183 2131882 McCarthy Finney, Inc. McCarthy Finney McCarthy Finney, Inc. MCFN DE DE Y other smaller_reporting_<75M 8580 STRAWBERRY LANE NIWOT CO 80503 8580 STRAWBERRY LANE NIWOT CO 80503 303-995-3036 413005249 2026-05-14 S-4 Y
184 1295514 MDWerks, Inc. MDWerks MDWerks, Inc. MDWK MDWK OTC DE DE Y 2080 Beverages operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 411 WALNUT STREET, SUITE 20125 GREEN COVE SPRINGS FL 32043 411 WALNUT STREET, GREEN COVE SPRINGS FL 32043 (252) 501-0019 331095411 WESTERN EXPLORATION INC. 2026-05-29 4 Y
185 1599117 Mentor Capital, Inc. Mentor Capital Mentor Capital, Inc. MNTR MNTR OTC DE DE Y 6799 Investors, NEC operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 5964 CAMPUS COURT PLANO TX 75093 5964 CAMPUS COURT PLANO TX 75093 (760) 788-4700 770395098 2026-05-14 10-Q Y
186 1001601 MGT CAPITAL INVESTMENTS, INC. Mgt Capital Investments Mgt Capital Investments, Inc. MGTI MGTI OTC DE DE Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 540 MONTREAL AVE SUITE 133 MELBOURNE FL 32935 540 MONTREAL AVE MELBOURNE FL 32935 (914) 630-7430 134148725 MGT CAPITAL INVESTMENTS INC|MEDICSIGHT INC|HTTP TECHNOLOGY INC|INTERNET HOLDINGS INC|CHINA BIOMEDICAL GROUP INC 2026-05-11 8-K Y
187 1788841 micromobility.com Inc. micromobility.com micromobility.com Inc. MCOM MCOM|MCOMW OTC DE DE Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 500 BROOME ST. NEW YORK NY 10013 500 BROOME ST. NEW YORK NY 10013 917-675-7157 843015108 Helbiz, Inc.|GreenVision Acquisition Corp. 2026-03-31 NT 10-K Y
188 2088281 Midera Food Processing, Inc. Midera Food Processing Midera Food Processing, Inc. MFP MFP DE DE Y 3580 Refrigeration & Service Industry Machinery other smaller_reporting_<75M 1400 TOASTMASTER DRIVE ELGIN IL 60120 320 S. CANAL ST. CHICAGO IL 60606 (847) 450-9692 393886250 Middleby Food Processing, Inc. 2026-05-27 10-12B/A Y
189 1886362 Mobile Global Esports, Inc. Mobile Global Esports Mobile Global Esports, Inc. MGAM MGAM OTC DE DE Y 7900 Services-Amusement & Recreation Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 500 POST ROAD EAST 2ND FLOOR WESTPORT CT 06883 500 POST ROAD EAST WESTPORT CT 06883 (475) 666-8401 862684455 2026-05-15 10-Q Y
190 2090312 Mobility Global Inc. Mobility Global Mobility Global Inc. MBGL MBGL DE DE Y 7389 Services-Business Services, NEC other smaller_reporting_<75M 1906 RESTON METRO PLAZA RESTON VA 20190 1906 RESTON METRO PLAZA RESTON VA 20190 703-934-2664 000000000 S&P Global Mobility Holding Co 2026-06-04 3 Y
191 836564 Mosaic ImmunoEngineering Inc. Mosaic ImmunoEngineering Mosaic ImmunoEngineering Inc. CPMV CPMV OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9114 ADAMS AVE. #202 HUNTINGTON BEACH CA 92646 9114 ADAMS AVE. HUNTINGTON BEACH CA 92646 657-208-0890 841070278 PATRIOT SCIENTIFIC CORP 2026-05-20 10-Q Y
192 1859035 Mountain Crest Acquisition Corp. V Mountain Crest Acquisition Corp. V Mountain Crest Acquisition Corp. V MCAG MCAG|MCAGR|MCAGU OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 524 BROADWAY 11TH FLOOR NEW YORK NY 10012 524 BROADWAY NEW YORK NY 10012 646-493-6558 000000000 2026-05-15 10-Q Y
193 1946573 Nakamoto Inc. Nakamoto Nakamoto Inc. NAKAW NAKA|NAKAW OTC DE DE Y 6199 Finance Services operating / Emerging growth company smaller_reporting_<75M 300 10TH AVE SOUTH NASHVILLE TN 37203 300 10TH AVE SOUTH NASHVILLE TN 37203 (385) 388-8220 843829824 Kindly MD, Inc. 2026-06-01 SCHEDULE 13D/A Y
194 1947861 Nature's Miracle Holding Inc. Nature's Miracle Holding Nature's Miracle Holding Inc. NMHI NMHI|NMHIW OTC DE DE Y 3523 Farm Machinery & Equipment operating / Emerging growth company smaller_reporting_<75M 858 NORTH CENTRAL AVENUE UPLAND CA 91786 858 NORTH CENTRAL AVENUE UPLAND CA 91786 888-420-3694 000000000 LBBB Merger Corp. 2026-05-28 8-K Y
195 1725911 NetBrands Corp. NetBrands NetBrands Corp. NBND NBND OTC DE DE Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4042 AUSTIN BOULEVARD SUITE B ISLAND PARK NY 11558 4042 AUSTIN BOULEVARD ISLAND PARK NY 11558 800-550-5996 823707673 Global Diversified Marketing Group Inc.|Dense Forest Acquisition Corp 2026-05-13 10-Q Y
196 1282631 NETLIST INC Netlist Netlist Inc NLST NLST OTC DE DE Y 3674 Semiconductors & Related Devices operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 111 ACADEMY, SUITE 100 IRVINE CA 92617 111 ACADEMY, SUITE 100 IRVINE CA 92617 949-435-0025 954812784 2026-06-08 144 Y
197 1699963 Neutron Holdings, Inc. Neutron Holdings Neutron Holdings, Inc. LIME DE DE Y 7372 Services-Prepackaged Software other smaller_reporting_<75M 85 2ND ST SUITE 750 SAN FRANCISCO CA 94105 85 2ND ST SAN FRANCISCO CA 94105 415-449-4139 814870517 2026-05-08 S-1 Y
198 1061040 New Generation Consumer Group, Inc. New Generation Consumer Group New Generation Consumer Group, Inc. NGCG NGCG|NGCGD OTC DE DE Y 7371 Services-Computer Programming Services operating smaller_reporting_<75M 300 DELAWARE AVE. SUITE 210 WILMINGTON DE 19801 7950 E. REDFIELD ROAD SCOTTSDALE AZ 85260 13025878719 113118271 MEGAWORLD INC 2026-03-27 253G1 Y
199 1663712 NEXPOINT REAL ESTATE STRATEGIES FUND Nexpoint Real Estate Strategies Fund Nexpoint Real Estate Strategies Fund NRSAX NRSAX DE DE Y other smaller_reporting_<75M 300 CRESCENT COURT SUITE 700 DALLAS TX 75201 300 CRESCENT COURT DALLAS TX 75201 214-276-6300 811061590 2026-06-01 NPORT-P Y
200 1976663 Nexscient, Inc. Nexscient Nexscient, Inc. NXNT NXNT OTC DE DE Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Emerging growth company smaller_reporting_<75M 2029 CENTURY PARK EAST SUITE 400 LOS ANGELES CA 90067 2029 CENTURY PARK EAST LOS ANGELES CA 90067 (310) 494-6620 922915192 2026-05-15 10-Q Y
201 1865631 NEXTNAV INC. Nextnav Nextnav Inc. NXNVW NN|NNAVW|NXNVW OTC DE DE Y 3812 Search, Detection, Navigation, Guidance, Aeronautical Sys operating / Emerging growth company smaller_reporting_<75M 11911 FREEDOM DRIVE STE 200 RESTON VA 20190 11911 FREEDOM DRIVE RESTON VA 20190 800-775-0982 000000000 Spartacus Acquisition Shelf Corp. 2026-06-03 4 Y
202 1011060 Nordicus Partners Corp Nordicus Partners Nordicus Partners Corp NORD NORD OTC DE DE Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 280 SOUTH BEVERLY DR. SUITE 505 BEVERLY HILLS CA 90212 280 SOUTH BEVERLY DR. BEVERLY HILLS CA 90212 508-523-3141 043186647 EKIMAS Corp|AdvanSource Biomaterials Corp|CARDIOTECH INTERNATIONAL INC 2026-02-13 10-Q Y
203 1072379 NORTHWEST BIOTHERAPEUTICS INC Northwest Biotherapeutics Northwest Biotherapeutics Inc NWBO NWBO OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4800 MONTGOMERY LANE SUITE 800 BETHESDA MD 20814 4800 MONTGOMERY LANE BETHESDA MD 20814 (240) 497-9024 943306718 2026-05-15 10-Q Y
204 1759546 NU RIDE INC. Nu Ride Nu Ride Inc. NRDE NRDE OTC DE DE Y 3711 Motor Vehicles & Passenger Car Bodies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1700 BROADWAY, 19TH FLOOR NEW YORK NY 10019 1700 BROADWAY, 19TH FLOOR NEW YORK NY 10019 212-202-2200 832533239 Lordstown Motors Corp.|DiamondPeak Holdings Corp. 2026-06-04 8-K Y
205 1814215 Nuburu, Inc. Nuburu Nuburu, Inc. BURUW BURU|BURUW OTC DE DE Y 3690 Miscellaneous Electrical Machinery, Equipment & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 44 COOK STREET SUITE 100 DENVER CO 80206 44 COOK STREET DENVER CO 80206 (303) 780-7389 000000000 Tailwind Acquisition Corp. 2026-06-01 8-K Y
206 1091596 Nuo Therapeutics, Inc. Nuo Therapeutics Nuo Therapeutics, Inc. AURX AURX OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 8285 EL RIO SUITE 190 HOUSTON TX 77054 8285 EL RIO HOUSTON TX 77054 832-236-9060 233011702 Nuo Therapeutics, Inc|CYTOMEDIX INC|AUTOLOGOUS WOUND THERAPY INC|AUTOLOGOUS WOUND TRERAPY INC 2026-06-05 4 Y
207 1869974 Ocean Biomedical, Inc. Ocean Biomedical Ocean Biomedical, Inc. OCEA OCEA OTC DE DE Y 2834 Pharmaceutical Preparations operating / Emerging growth company smaller_reporting_<75M 515 MADISON AVE SUITE 8078 NEW YORK NY 10022 515 MADISON AVE SUITE 8078 NEW YORK NY 10022 (646) 908-2658 871309280 Ocean Biomedical, Inc./DE|Aesther Healthcare Acquisition Corp. 2025-08-14 NT 10-Q Y
208 278165 OMNIQ Corp. OMNIQ OMNIQ Corp. OMQS OMQS OTC DE DE Y 7373 Services-Computer Integrated Systems Design operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 696 W CONFLUENCE AVE MURRAY UT 84123 696 W CONFLUENCE AVE MURRAY UT 84123 800-242-7272 020314487 Quest Solution, Inc.|AMERIGO ENERGY, INC.|STRATEGIC GAMING INVESTMENTS, INC.|LEFT RIGHT MARKETING TECHNOLOGY INC|LEFT RIGHT MAKETING TECHNOLOGY INC|GLOBAL GAMING & TECHNOLOGY INC 2026-06-02 8-K Y
209 908259 Oncotelic Therapeutics, Inc. Oncotelic Therapeutics Oncotelic Therapeutics, Inc. OTLC OTLC OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 29397 AGOURA RD. #107 AGUORA HILLS CA 91301 29397 AGOURA RD. AGUORA HILLS CA 91301 650-635-7000 133679168 MATEON THERAPEUTICS INC|OXIGENE INC 2026-05-14 10-Q Y
210 1825452 Onfolio Holdings, Inc Onfolio Holdings Onfolio Holdings, Inc ONFOP ONFO|ONFOP|ONFOW OTC DE DE Y 7374 Services-Computer Processing & Data Preparation operating / Emerging growth company smaller_reporting_<75M 1007 NORTH ORANGE STREET 4TH FLOOR WILMINGTON DE 19801 1007 NORTH ORANGE STREET 4TH FLOOR WILMINGTON DE 19801 (682) 990-6920 000000000 Onfolio Holdings Inc|Onfolio Holdings, Inc. 2026-06-08 PRE 14A Y
211 2070577 Option Therapeutics Inc. Option Therapeutics Option Therapeutics Inc. OPTN OPTN DE DE Y 2834 Pharmaceutical Preparations other smaller_reporting_<75M 680 W NYE LN STE 201 CARSON CITY NV 89703 680 W NYE LN STE 201 CARSON CITY NV 89703 775-446-0517 334884057 2026-03-16 S-1/A Y
212 1868282 Osprey Solana Trust Osprey Solana Trust Osprey Solana Trust OSOL OSOL OTC DE DE Y other smaller_reporting_<75M 520 WHITE PLAINS ROAD SUITE 500 TARRYTOWN NY 10591 520 WHITE PLAINS ROAD TARRYTOWN NY 10591 9142144174 000000000 2025-10-22 S-1 Y
213 1816708 Owlet, Inc. Owlet Owlet, Inc. OWLTW OWLT|OWLTW OTC DE DE Y 3829 Measuring & Controlling Devices, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2940 WEST MAPLE LOOP DRIVE SUITE 203 LEHI UT 84048 2940 WEST MAPLE LOOP DRIVE LEHI UT 84048 8443345330 000000000 Sandbridge Acquisition Corp 2026-06-05 8-K Y
214 1172069 P2 Solar, Inc. P2 Solar P2 Solar, Inc. PTOS PTOS OTC DE DE Y 1700 Construction - Special Trade Contractors operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 13718 91 AVENUE SURREY V3V 7X1 13718 91 AVENUE SURREY V3V 7X1 778.321.0047 980234680 NATCO INTERNATIONAL INC.|SPECTRUM INTERNATIONAL INC 2025-08-15 NT 10-Q Y
215 1765651 Pacific Sports Exchange Inc. Pacific Sports Exchange Pacific Sports Exchange Inc. PSPX PSPX OTC DE DE Y 5940 Retail-Miscellaneous Shopping Goods Stores operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 3055 NW YEON AVE, #236 PORTLAND OR 97210 3055 NW YEON AVE, #236 PORTLAND OR 97210 971-279-2764 831189007 2026-04-21 10-Q Y
216 1017655 PAID INC Paid Paid Inc PAYD PAYD OTC DE DE Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 200 FRIBERG PARKWAY SUITE 4004 WESTBOROUGH MA 01581 200 FRIBERG PARKWAY WESTBOROUGH MA 01581 617-861-6050 731479833 SALES ONLINE DIRECT INC|SECURITIES RESOLUTION ADVISORS INC|ROSE INTERNATIONAL LTD 2026-05-20 3 Y
217 1938569 Palomino Laboratories Inc. Palomino Laboratories Palomino Laboratories Inc. PALX PALX OTC DE DE Y 3674 Semiconductors & Related Devices operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 130 CASTILIAN DRIVE SUITE 102 GOLETA CA 93117 130 CASTILIAN DRIVE GOLETA CA 93117 (917) 200-3734 881619619 Unite Acquisition 3 Corp. 2026-05-15 10-Q Y
218 1657677 Parabilis Medicines, Inc. Parabilis Medicines Parabilis Medicines, Inc. PBLS PBLS DE DE Y 2834 Pharmaceutical Preparations other smaller_reporting_<75M 30 ACORN PARK DRIVE 6TH FLOOR CAMBRIDGE MA 02140 30 ACORN PARK DRIVE CAMBRIDGE MA 02140 617-945-9510 474505725 FOG PHARMACEUTICALS, INC. 2026-06-09 S-1/A Y
219 1815903 Petros Pharmaceuticals, Inc. Petros Pharmaceuticals Petros Pharmaceuticals, Inc. PTPI PTPI OTC DE DE Y 2834 Pharmaceutical Preparations operating / Emerging growth company smaller_reporting_<75M 1185 AVENUE OF THE AMERICAS, 3RD FLOOR NEW YORK NY 10036 1185 AVENUE OF THE AMERICAS, 3RD FLOOR NEW YORK NY 10036 973-242-0005 851410058 2026-06-08 4 Y
220 1923622 PGIM Private Credit Fund PGIM Private Credit Fund PGIM Private Credit Fund PGIM PGIM DE DE Y operating / Emerging growth company smaller_reporting_<75M 655 BROAD ST NEWARK NJ 07102 655 BROAD ST NEWARK NJ 07102 (973) 802-5032 000000000 PGIM Senior Loan Opportunities Fund 2026-05-28 8-K Y
221 1879848 PHOENIX MOTOR INC. Phoenix Motor Phoenix Motor Inc. PEVM PEVM OTC DE DE Y 3713 Truck & Bus Bodies operating / Emerging growth company smaller_reporting_<75M 401 SOUTH DOUBLEDAY AVENUE ONTARIO CA 91761 401 SOUTH DOUBLEDAY AVENUE ONTARIO CA 91761 909-987-0815 000000000 2026-06-05 8-K Y
222 1807765 PMV Consumer Acquisition Corp. PMV Consumer Acquisition PMV Consumer Acquisition Corp. PMVC PMVC|PMVCW OTC DE DE Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 249 ROYAL PALM WAY SUITE 503 PALM BEACH FL 33480 249 ROYAL PALM WAY SUITE 503 PALM BEACH FL 33480 5616712100 845174573 2026-05-14 10-Q Y
223 1784058 Pony Group Inc. Pony Group Pony Group Inc. PNYG PNYG OTC DE DE Y 7500 Services-Automotive Repair, Services & Parking operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ENGINEER EXPERIMENT BUILDING, A202 7 GAOXIN SOUTH AVENUE, NANSHAN DISTRICT SHENZHEN, GUANGDONG PROVINCE ENGINEER EXPERIMENT BUILDING, A202 SHENZHEN, GUANGDONG PROVINCE 86-0755-86665622 833532241 2026-05-15 10-Q Y
224 1435617 POWERDYNE INTERNATIONAL, INC. Powerdyne International Powerdyne International, Inc. PWDY PWDY OTC DE DE Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 45 MAIN STREET NORTH READING MA 01864 45 MAIN STREET NORTH READING MA 01864 401-739-3300 205572576 Greenmark Acquisition CORP|Greenlight Acquisition CORP 2026-05-20 10-Q Y
225 1756404 Principal Real Asset Fund Principal Real Asset Fund Principal Real Asset Fund PDSRX PDSRX|PDSKX DE DE Y other smaller_reporting_<75M 711 HIGH ST. DES MOINES IA 50392 711 HIGH ST. DES MOINES IA 50392 5152359328 832104764 Principal Diversified Select Real Asset Fund 2026-05-28 N-CSR Y
226 1859807 Profusa, Inc. Profusa Profusa, Inc. NVACW PFSA|NVACW OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating / Emerging growth company smaller_reporting_<75M 207 WEST 25TH ST, 9TH FLOOR NEW YORK NY 10001 207 WEST 25TH ST, 9TH FLOOR NEW YORK NY 10001 212-494-9022 863437271 NorthView Acquisition Corp 2026-06-08 424B3 Y
227 868278 ProPhase Labs, Inc. ProPhase Labs ProPhase Labs, Inc. PRPH PRPH OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 711 STEWART AVE, SUITE 200 GARDEN CITY NEW YORK NY 11530 711 STEWART AVE, SUITE 200 NEW YORK NY 11530 (215) 345-0919 232577138 QUIGLEY CORP 2026-06-01 10-K Y
228 1022899 Protagenic Therapeutics, Inc.\new Protagenic Therapeutics, Inc.\new Protagenic Therapeutics, Inc.\new PTIX PTIX|PTIXW OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 149 FIFTH AVENUE SUITE 500 NEW YORK NY 10010 149 FIFTH AVENUE NEW YORK NY 10010 (212) 994-8200 061390025 Atrinsic, Inc.|NEW MOTION, INC.|MPLC, Inc.|MILLBROOK PRESS INC 2026-04-07 8-K Y
229 315545 PROVECTUS BIOPHARMACEUTICALS, INC. Provectus Biopharmaceuticals Provectus Biopharmaceuticals, Inc. PVCT PVCT OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 800 S. GAY STREET SUITE 1610 KNOXVILLE TN 37929 800 S. GAY STREET KNOXVILLE TN 37929 (866) 594-5999 900031917 PROVECTUS PHARMACEUTICALS INC|PROVECTUS PHARMACEUTICAL INC|ZAMAGE DIGITAL IMAGING INC|SPM GROUP INC 2026-06-05 4 Y
230 1006028 PURE BIOSCIENCE, INC. Pure Bioscience Pure Bioscience, Inc. PURE PURE OTC DE DE Y 2890 Miscellaneous Chemical Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 771 JAMACHA ROAD #512 EL CAJON CA 92019 771 JAMACHA ROAD #512 EL CAJON CA 92019 619-596-8600 330530289 PURE BIOSCIENCE|INNOVATIVE MEDICAL SERVICES 2026-05-05 8-K Y
231 1844505 QT IMAGING HOLDINGS, INC. Qt Imaging Holdings Qt Imaging Holdings, Inc. QTIWW QTI|QTIWW OTC DE DE Y 3845 Electromedical & Electrotherapeutic Apparatus operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 3 HAMILTON LANDING SUITE 160 NOVATO CA 94949 3 HAMILTON LANDING NOVATO CA 94949 415-842-7250 861728920 GigCapital5, Inc. 2026-05-21 8-K Y
232 1549631 Quarta-Rad, Inc. Quarta-Rad Quarta-Rad, Inc. QURT QURT OTC DE DE Y 3823 Industrial Instruments For Measurement, Display, and Control operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1201 ORANGE ST. STE. 700 WILMINGTON DE 19801 1201 ORANGE ST. WILMINGTON DE 19801 732-887-8511 454232089 2026-05-15 10-Q Y
233 1487091 Quest Water Global, Inc. Quest Water Global Quest Water Global, Inc. QWTR QWTR OTC DE DE Y 3585 Air-Cond & Warm Air Heatg Equip & Comm & Indl Refrig Equip operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M SUITE 209 828 HARBOURSIDE DRIVE NORTH VANCOUVER A1 V7P 3R9 SUITE 209 NORTH VANCOUVER A1 V7P 3R9 (888) 897-5536 271994359 RPM Dental, Inc. 2026-05-29 8-K Y
234 1254699 QVC INC Qvc Qvc Inc QVCCQ QVCCQ|QVCDQ OTC DE DE Y 5961 Retail-Catalog & Mail-Order Houses operating Non-accelerated filer smaller_reporting_<75M 1200 WILSON DRIVE AT STUDIO PARK WEST CHESTER PA 19380 232414041 2026-06-01 SD Y
235 1448038 Redwood Mortgage Investors IX Redwood Mortgage Investors IX Redwood Mortgage Investors IX RWDMU OTC DE DE Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 155 BOVET ROAD SUITE 302 SAN MATEO CA 155 BOVET ROAD SAN MATEO CA 650-365-5341 000000000 2026-05-20 10-Q Y
236 1437283 REGO PAYMENT ARCHITECTURES, INC. Rego Payment Architectures Rego Payment Architectures, Inc. RPMT RPMT OTC DE DE Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 325 SENTRY PARKWAY SUITE 200 BLUE BELL PA 19422 325 SENTRY PARKWAY BLUE BELL PA 19422 267-465-7530 352327649 VIRTUAL PIGGY, INC.|Moggle, Inc. 2026-05-27 8-K Y
237 1860484 Relativity Acquisition Corp Relativity Acquisition Relativity Acquisition Corp ACQC ACQC OTC DE DE Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 3753 HOWARD HUGHES PARKWAY, SUITE 200 LAS VEGAS NV 89619 3753 HOWARD HUGHES PARKWAY, SUITE 200 LAS VEGAS NV 89619 3107019520 863244927 2026-06-02 10-Q Y
238 83350 RESERVE PETROLEUM CO Reserve Petroleum Reserve Petroleum Co RSRV RSRV OTC DE DE Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 6801 N BROADWAY STE 300 OKLAHOMA CITY OK 73116-9092 6801 NORTH BROADWAY OKLAHOMA OK 73116-9092 4058487551 730237060 2026-05-26 ARS Y
239 2078721 ReserveOne Holdings, Inc. ReserveOne Holdings ReserveOne Holdings, Inc. RONE RONE DE DE Y 6199 Finance Services other smaller_reporting_<75M 200 PARK AVE. 58TH FLOOR NEW YORK NY 10166 200 PARK AVE. NEW YORK NY 10166 212-204-2777 392968926 2026-05-13 EFFECT Y
240 1836295 RetinalGenix Technologies Inc. RetinalGenix Technologies RetinalGenix Technologies Inc. RTGN RTGN OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1450 NORTH MCDOWELL BOULEVARD SUITE 150 PETALUMA CA 94954 1450 NORTH MCDOWELL BOULEVARD PETALUMA CA 94954 415-578-9583 823936890 2026-05-20 10-Q Y
241 1839140 Revium Rx. Revium Rx. Revium Rx. RVRC RVRC OTC DE DE Y 2834 Pharmaceutical Preparations operating / Emerging growth company smaller_reporting_<75M C/O ABOUDI LEGAL GROUP PLLC, 745 5TH AVE SUITE 500 NEW YORK NY 10151 C/O ABOUDI LEGAL GROUP PLLC, 745 5TH AVE NEW YORK NY 10151 6467684285 844516676 2026-06-01 8-K Y
242 1742927 REVIVA PHARMACEUTICALS HOLDINGS, INC. Reviva Pharmaceuticals Holdings Reviva Pharmaceuticals Holdings, Inc. RVPH RVPH OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 10080 N WOLFE ROAD SUITE SW3-200 CUPERTINO CA 95014 10080 N WOLFE ROAD CUPERTINO CA 95014 4085018881 000000000 Tenzing Acquisition Corp. 2026-05-15 SCHEDULE 13G/A Y
243 2087716 ROKIT America, Inc. ROKIT America ROKIT America, Inc. RKAM RKAM DE DE Y 2834 Pharmaceutical Preparations other smaller_reporting_<75M 3435 WILSHIRE BLVD SUITE 2925 LOS ANGELES CA 90010 3435 WILSHIRE BLVD LOS ANGELES CA 90010 6788610046 384124442 2026-06-04 S-1/A Y
244 1694617 Royale Energy, Inc. Royale Energy Royale Energy, Inc. ROYL ROYL OTC DE DE Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1530 HILTON HEAD RD EL CAJON CA 92019 1530 HILTON HEAD RD EL CAJON CA 92019 (619) 881-2800 814596368 Royale Energy Holdings, Inc. 2026-04-10 8-K Y
245 2084032 Salspera, Inc. Salspera Salspera, Inc. TKVA TKVA DE DE Y 2834 Pharmaceutical Preparations other smaller_reporting_<75M 45 PROSPECT STREET CAMBRIDGE MA 02139 45 PROSPECT STREET CAMBRIDGE MA 02139 652-402-5587 874698872 2026-03-20 S-1/A Y
246 1001233 SANGAMO THERAPEUTICS, INC Sangamo Therapeutics Sangamo Therapeutics, Inc SGMO SGMO OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 501 CANAL BLVD. RICHMOND CA 94084 501 CANAL BLVD. RICHMOND CA 94084 5109706000 680359556 SANGAMO BIOSCIENCES INC 2026-05-27 4 Y
247 1661600 SATIVUS TECH CORP. Sativus Tech Sativus Tech Corp. SATT SATT OTC DE DE Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M #3 BETHESDA METRO CENTER #700 BETHESDA MD 06880 #3 BETHESDA METRO CENTER #700 BETHESDA MD 06880 800-608-6432 472847446 SEEDO CORP.|GRCR Partners Inc 2026-05-14 10-Q Y
248 1091326 SB Technology Holdings, Inc. SB Technology Holdings SB Technology Holdings, Inc. VGLS VGLSD OTC DE DE Y 2834 Pharmaceutical Preparations operating Smaller reporting company smaller_reporting_<75M PO BOX 1020 SOUTH PASADENA CA 91031 PO BOX 1020 SOUTH PASADENA CA 91031 805-879-9000 330814123 VG Life Sciences Inc.|VG Life Sciences, Inc.|VIRAL GENETICS INC /DE/|5 STARLIVING ONLINE INC 2026-05-04 RW Y
249 1994624 ScanTech AI Systems Inc. ScanTech AI Systems ScanTech AI Systems Inc. STAI STAI OTC DE DE Y 3825 Instruments For Meas & Testing of Electricity & Elec Signals operating / Emerging growth company smaller_reporting_<75M 1177 AVENUE OF THE AMERICA, SUITE 5100 NEW YORK NY 10036 1177 AVENUE OF THE AMERICA, SUITE 5100 NEW YORK NY 10036 8886221218 933502562 2026-06-08 25-NSE Y
250 87802 SCIENTIFIC INDUSTRIES INC Scientific Industries Scientific Industries Inc SCND SCND OTC DE DE Y 3826 Laboratory Analytical Instruments operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 70 ORVILLE DR AIRPORT INTERNATIONAL PLZ BOHEMIA NY 11716 70 ORVILLE DR BOHEMIA NY 11716 6315674700 042217279 2026-05-15 10-Q Y
251 1674227 SCWorx Corp. SCWorx SCWorx Corp. WORX WORX OTC DE DE Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 35 VILLAGE RD, SUITE 100 MIDDLETON MA 01949 35 VILLAGE RD, SUITE 100 MIDDLETON MA 01949 2127397825 475412331 Alliance MMA, Inc. 2026-06-01 PRE 14A Y
252 2094496 Securitize Holdings, Inc. Securitize Holdings Securitize Holdings, Inc. SECZ SECZ DE DE Y 6199 Finance Services other smaller_reporting_<75M 78 SW 7TH STREET, SUITE 500 MIAMI FL 33130 78 SW 7TH STREET, SUITE 500 MIAMI FL 33130 (646) 918-5012 000000000 2026-06-05 EFFECT Y
253 1779977 SeeQC, Inc. SeeQC SeeQC, Inc. SEQC DE DE Y 7374 Services-Computer Processing & Data Preparation other smaller_reporting_<75M 150 CLEARBOOK ROAD SUITE 170 ELMSFORD NY 10523 150 CLEARBOOK ROAD ELMSFORD NY 10523 (914) 592-1190 825117037 2026-05-26 S-4 Y
254 1913577 Semnur Pharmaceuticals, Inc. Semnur Pharmaceuticals Semnur Pharmaceuticals, Inc. SMNR SMNR|SMNRW OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 960 SAN ANTONIO ROAD PALO ALTO CA 94303 960 SAN ANTONIO ROAD PALO ALTO CA 94303 (650) 516-4310 981659463 Denali Capital Acquisition Corp. 2026-05-18 EFFECT Y
255 2068385 SharonAI Holdings Inc. SharonAI Holdings SharonAI Holdings Inc. SHAZW SHAZ|SHAZW OTC DE DE Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 745 FIFTH AVENUE, SUITE 500 NEW YORK NY 10151 745 FIFTH AVENUE, SUITE 500 NEW YORK NY 10151 949-720-7133 000000000 SharonAI Holdings, Inc.|Roth CH Holdings, Inc. 2026-06-05 S-1 Y
256 1022505 SideChannel, Inc. SideChannel SideChannel, Inc. SDCH SDCH OTC DE DE Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 146 MAIN STREET SUITE 405 WORCESTER MA 01608 146 MAIN STREET WORCESTER MA 01608 512-649-7700 860837077 CIPHERLOC Corp|NATIONAL SCIENTIFIC CORP/AZ 2026-05-12 10-Q Y
257 1642159 Sigyn Therapeutics, Inc. Sigyn Therapeutics Sigyn Therapeutics, Inc. SIGY SIGY OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9190 W OLYMPIC BLVD # 263 BEVERLY HILLS CA 90212 9190 W OLYMPIC BLVD # 263 BEVERLY HILLS CA 90212 619-368-2000 472573116 Reign Resources Corp|Reign Sapphire Corp 2026-03-31 NT 10-K Y
258 91668 SOLITRON DEVICES INC Solitron Devices Solitron Devices Inc SODI SODI OTC DE DE Y 3674 Semiconductors & Related Devices operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 901 SANSBURYS WAY WEST PALM BEACH FL 33411 901 SANSBURYS WAY WEST PALM BEACH FL 33411 561-848-4311 221684144 2026-06-08 4 Y
259 1870600 Solo Brands, Inc. Solo Brands Solo Brands, Inc. SBDS SBDS OTC DE DE Y 3949 Sporting & Athletic Goods, NEC operating / Emerging growth company smaller_reporting_<75M 1001 MUSTANG DR GRAPEVINE TX 76051 1001 MUSTANG DR GRAPEVINE TX 76051 (817) 900-2664 871360865 2026-05-27 8-K Y
260 1407973 Sonendo, Inc. Sonendo Sonendo, Inc. SONX SONX OTC DE DE Y 3843 Dental Equipment & Supplies operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 26061 MERIT CIRCLE SUITE 101 Laguna Hills CA 92653 26061 MERIT CIRCLE Laguna Hills CA 92653 (949) 766-3636 205041718 Dentatek CORP 2026-02-11 SCHEDULE 13G/A Y
261 1801602 SpringBig Holdings, Inc. SpringBig Holdings SpringBig Holdings, Inc. SBIG SBIG|SBIGW OTC DE DE Y 7371 Services-Computer Programming Services operating / Emerging growth company smaller_reporting_<75M 621 NW 53RD ST SUITE 260 BOCA RATON FL 33487 621 NW 53RD ST BOCA RATON FL 33487 (800) 772-9172 882789488 Tuatara Capital Acquisition Corp 2026-06-03 8-K Y
262 2080215 StableCoinX Inc. StableCoinX StableCoinX Inc. USDE USDE DE DE Y 6199 Finance Services other smaller_reporting_<75M 4001 KENNETT PIKE, SUITE 302 WILMINGTON DE 19807 4001 KENNETT PIKE, SUITE 302 WILMINGTON DE 19807 (302) 803-6849 393052555 2026-05-29 424B3 Y
263 2049977 Starton Holdings, Inc. Starton Holdings Starton Holdings, Inc. STA STA DE DE Y 2834 Pharmaceutical Preparations other smaller_reporting_<75M 215 COLLEGE ROAD, SUITE 300 PARAMUS NJ 07652 215 COLLEGE ROAD, SUITE 300 PARAMUS NJ 07652 800-449-5405 332448745 2026-06-09 S-1/A Y
264 1658645 Stone Ridge Trust V Stone Ridge Trust V Stone Ridge Trust V LENDX LENDX DE DE Y other smaller_reporting_<75M ONE VANDERBILT AVENUE 65TH FL. NEW YORK NY 10017 ONE VANDERBILT AVENUE NEW YORK NY 10017 212-257-4750 475536331 2026-05-28 24F-2NT Y
265 1051514 STRATA Skin Sciences, Inc. STRATA Skin Sciences STRATA Skin Sciences, Inc. SSKN SSKN OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5 WALNUT GROVE DRIVE SUITE 140 HORSHAM PA 19044 5 WALNUT GROVE DRIVE HORSHAM PA 19044 215-619-3200 133986004 MELA SCIENCES, INC. /NY|ELECTRO OPTICAL SCIENCES INC /NY 2026-03-26 10-K Y
266 1652539 SusGlobal Energy Corp. SusGlobal Energy SusGlobal Energy Corp. SNRG SNRG OTC DE DE Y 4953 Refuse Systems operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 200 DAVENPORT ROAD TORONTO A6 M5R 1J2 200 DAVENPORT ROAD TORONTO A6 M5R 1J2 4162238500 000000000 2026-03-31 NT 10-K Y
267 1527599 SYNLOGIC, INC. Synlogic Synlogic, Inc. SYBX SYBX OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M PO BOX 30 WINCHESTER MA 01890 PO BOX 30 WINCHESTER MA 01890 617-659-2802 261824804 Mirna Therapeutics, Inc. 2026-05-18 25-NSE Y
268 1922335 Syra Health Corp Syra Health Syra Health Corp SYRA SYRA OTC DE DE Y 7361 Services-Employment Agencies operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1119 KEYSTONE WAY N. #201 CARMEL IN 46032 1119 KEYSTONE WAY N. CARMEL IN 46032 (317) 922-0922 000000000 2026-06-01 DEFA14A Y
269 1997652 Tamboran Resources Corp Tamboran Resources Tamboran Resources Corp TBNRL TBN|TBNRL OTC DE DE Y 1311 Crude Petroleum & Natural Gas operating / Emerging growth company smaller_reporting_<75M LEVEL 39, SUITE 1, TOWER ONE 100 BARANGAROO AVENUE BARANGAROO C3 2000 LEVEL 39, SUITE 1, TOWER ONE BARANGAROO C3 2000 61 2 8330 6626 000000000 2026-06-08 S-8 Y
270 1119190 TAP REAL ESTATE TECHNOLOGIES, INC. Tap Real Estate Technologies Tap Real Estate Technologies, Inc. RWAX RWAX OTC DE DE Y 5000 Wholesale-Durable Goods operating / Emerging growth company smaller_reporting_<75M 26 CROSS STREET NEW CANAAN CT 06840 26 CROSS STREET NEW CANAAN CT 06840 203-930-7427 271296318 HUMBL, INC.|Tesoro Enterprises, Inc.|Tesoro Distributors, Inc.|IWT TESORO CORP|PONCA ACQUISITION 2026-05-29 8-K Y
271 1586554 Target Group Inc. Target Group Target Group Inc. CBDY CBDY OTC DE DE Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 20 HEMPSTEAD DRIVE HAMILTON L8W 2E7 55 ADMINISTRATION ROAD, UNIT 13 VAUGHAN L4K-4G9 905-541-3833 463610035 Chess Supersite Corp|River Run Acquisition Corp 2026-05-15 10-Q Y
272 1445942 Texas Mineral Resources Corp. Texas Mineral Resources Texas Mineral Resources Corp. TMRC TMRC OTC DE DE Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 539 EL PASO STREET SIERRA BLANCA TX 79851 539 EL PASO STREET SIERRA BLANCA TX 79851 (915) 369-2133 870294969 Texas Rare Earth Resources Corp.|Standard Silver Corp. 2026-04-24 4 Y
273 1066684 THEGLOBE COM INC Theglobe Com Theglobe Com Inc TGLO TGLO OTC DE DE Y 7310 Services-Advertising operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 110 EAST BROWARD BOULEVARD SUITE 1400 FORT LAUDERDALE FL 33301 PO BOX 029006 FORT LAUDERDALE FL 33302 954 769 5900 141782422 2026-05-22 10-Q Y
274 1912582 Thunder Power Holdings, Inc. Thunder Power Holdings Thunder Power Holdings, Inc. AIEV AIEV OTC DE DE Y 3711 Motor Vehicles & Passenger Car Bodies operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M UNIT 5, 21/F., WESTLEY SQUARE 48 HOI YUEN ROAD, KWUN TONG KOWLOON UNIT 5, 21/F., WESTLEY SQUARE KOWLOON 909-214-2482 874620515 Feutune Light Acquisition Corp 2026-06-02 DEF 14C Y
275 2107523 Titan Holdings Corp. Titan Holdings Titan Holdings Corp. KMCM KMCM DE DE Y 1000 Metal Mining other Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 701 BRICKELL AVE., SUITE 1550 MIAMI FL 33131 701 BRICKELL AVE., SUITE 1550 MIAMI FL 33131 305-728-5376 000000000 2026-04-21 425 Y
276 730349 TOFUTTI BRANDS INC Tofutti Brands Tofutti Brands Inc TOFB TOFB OTC DE DE Y 2024 Ice Cream & Frozen Desserts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 105 NEWFIELD AVENUE SUITE H EDISON NJ 08837 105 NEWFIELD AVE EDISON NJ 08837 9082722400 133094658 2026-05-18 10-Q Y
277 846377 Totaligent, Inc. Totaligent Totaligent, Inc. TGNT TGNT OTC DE DE Y 6153 Short-Term Business Credit Institutions operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3651 FAU BLVD SUITE 400 BOCA RATON FL 3651 FAU BLVD SUITE 400 BOCA RATON FL 561-988-2621 800142655 ALLTEMP, INC.|SOURCE FINANCIAL, INC.|WIKI GROUP, INC.|WIKILOAN INC.|SWAP-A-DEBT, INC.|5 FIFTY 5.COM, INC.|WINDSOR CAPITAL CORP 2026-05-15 10-Q Y
278 1045942 Track Group, Inc. Track Group Track Group, Inc. TRCK TRCK OTC DE DE Y 3669 Communications Equipment, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 200 E. 5TH AVENUE SUITE 100 NAPERVILLE IL 60563 200 E. 5TH AVENUE SUITE 100 NAPERVILLE IL 60563 877-260-2010 870543981 SecureAlert, Inc.|REMOTE MDX INC|VOLU SOL INC 2026-05-14 D Y
279 1725262 Tri-County Financial Group, Inc. Tri-County Financial Group Tri-County Financial Group, Inc. TYFG TYFG OTC DE DE Y 6022 State Commercial Banks operating Non-accelerated filer / Emerging growth company smaller_reporting_<75M 706 WASHINGTON STREET MENDOTA IL 61342 706 WASHINGTON STREET MENDOTA IL 61342 815-538-2265 363412522 2026-05-13 10-Q Y
280 1550453 TriLinc Global Impact Fund LLC TriLinc Global Impact Fund TriLinc Global Impact Fund LLC TRLC TRLC OTC DE DE Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1230 Rosecrans Ave SUITE 602 Manhattan Beach CA 90266 1230 Rosecrans Ave Manhattan Beach CA 90266 310-997-0580 364732802 2026-06-01 8-K Y
281 2011954 Twin Hospitality Group Inc. Twin Hospitality Group Twin Hospitality Group Inc. TWNPQ TWNPQ OTC DE DE Y 5812 Retail-Eating Places operating / Emerging growth company smaller_reporting_<75M 5151 BELT LINE ROAD, SUITE 1200 DALLAS TX 75254 5151 BELT LINE ROAD, SUITE 1200 DALLAS TX 75254 972-941-3150 991232362 2026-06-04 8-K Y
282 1723517 UC Asset LP UC Asset UC Asset LP UCASU UCASU OTC DE DE Y 6799 Investors, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2299 PERIMETER PARK DRIVE SUITE 120 ATLANTA GA 30341 2299 PERIMETER PARK DRIVE ATLANTA GA 30341 (470)475-1035 300912782 2026-06-04 1-A/A Y
283 1114936 UMeWorld Inc. UMeWorld UMeWorld Inc. UMEW UMEW OTC DE DE Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M UNIT B 12/F, HANG SENG CAUSEWAY BAY BUILDING, 28 YEE WOO STREET CAUSEWAY BAY 00000 UNIT B 12/F, HANG SENG CAUSEWAY BAY 00000 (852) 8191 5550 980177440 UMeWorld Ltd|ALPHARX INC 2026-05-15 3 Y
284 2134552 US Elemental Inc. US Elemental US Elemental Inc. ULIT DE DE Y 1400 Mining & Quarrying of Nonmetallic Minerals (No Fuels) other smaller_reporting_<75M 241 RIDGE STREET, SUITE 210 RENO NV 89501 241 RIDGE STREET, SUITE 210 RENO NV 89501 (212) 983-1602 000000000 2026-06-04 425 Y
285 1543623 US NUCLEAR CORP. Us Nuclear Us Nuclear Corp. UCLE UCLE OTC DE DE Y 3829 Measuring & Controlling Devices, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7051 ETON AVENUE CANOGA PARK CA 91303 7051 ETON AVENUE CANOGA PARK CA 91303 818-883-7043 454535739 APEX 3, INC. 2026-05-14 NT 10-Q Y
286 1736510 Variant Alternative Income Fund Variant Alternative Income Fund Variant Alternative Income Fund NICHX NICHX DE DE Y other smaller_reporting_<75M C/O UMB FUND SERVICES, INC. MILWAUKEE WI 53212 C/O UMB FUND SERVICES, INC. MILWAUKEE WI 53212 4142992200 000000000 2026-05-22 N-23C3A Y
287 2109801 VARSAL TECH, INC. Varsal Tech Varsal Tech, Inc. VAT DE DE Y 2800 Chemicals & Allied Products other smaller_reporting_<75M 363 IVYLAND ROAD WARMINSTER PA 18974 363 IVYLAND ROAD WARMINSTER PA 18974 2159575880 413424196 2026-05-26 S-1 Y
288 839087 VASO Corp VASO VASO Corp VASO VASO OTC DE DE Y 3845 Electromedical & Electrotherapeutic Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 137 COMMERCIAL STREET, STE. 200 PLAINVIEW NY 11803 137 COMMERCIAL STREET, STE. 200 PLAINVIEW NY 11803 516-997-4600 112871434 VASOMEDICAL, INC|VASOMEDICAL INC 2026-05-15 10-Q Y
289 1825079 Velo3D, Inc. Velo3D Velo3D, Inc. VLDXW VELO|VLDXW OTC DE DE Y 3559 Special Industry Machinery, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2710 LAKEVIEW CT FREMONT CA 94538 2710 LAKEVIEW CT FREMONT CA 94538 (408) 610-3915 000000000 JAWS Spitfire Acquisition Corp 2026-06-01 SCHEDULE 13G/A Y
290 2078149 Veri MedTech Holdings, Inc. Veri MedTech Holdings Veri MedTech Holdings, Inc. VRHI VRHI OTC DE DE Y 7374 Services-Computer Processing & Data Preparation other smaller_reporting_<75M 1600 INTERNATIONAL DRIVE, SUITE 600 MCLEAN VA 22102 1600 INTERNATIONAL DRIVE, SUITE 600 MCLEAN VA 22102 404-468-2883 000000000 2026-06-02 S-1/A Y
291 1984345 Vestible Assets, LLC Vestible Assets Vestible Assets, LLC VTBAS OTC DE DE Y 7389 Services-Business Services, NEC other smaller_reporting_<75M 5440 WEST 110TH STREET SUITE 300 OVERLAND PARK KS 66211 5440 WEST 110TH STREET OVERLAND PARK KS 66211 417-438-2561 932084697 2026-05-22 1-K Y
292 1812173 Vicarious Surgical Inc. Vicarious Surgical Vicarious Surgical Inc. RBOT RBOT|RBOTW OTC DE DE Y 3842 Orthopedic, Prosthetic & Surgical Appliances & Supplies operating / Emerging growth company smaller_reporting_<75M 78 FOURTH AVENUE WALTHAM MA 02451 78 FOURTH AVENUE WALTHAM MA 02451 (617) 868-1700 000000000 D8 Holdings Corp. 2026-04-30 10-Q Y
293 727510 Viskase Holdings, Inc. Viskase Holdings Viskase Holdings, Inc. ENZN ENZN|ENZND OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 333 EAST BUTTERFIELD ROAD, SUITE 400 LOMBARD IL 60148 333 EAST BUTTERFIELD ROAD, SUITE 400 LOMBARD IL 60148 (630) 874-0700 222372868 ENZON PHARMACEUTICALS, INC.|ENZON PHARMACEUTICALS INC|ENZON PHARMACEUTICALS INC|ENZON PHARMACEUTICAL INC|ENZON INC 2026-05-05 8-A12G Y
294 1565228 Vislink Technologies, Inc. Vislink Technologies Vislink Technologies, Inc. VISL VISL OTC DE DE Y 3669 Communications Equipment, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 350 CLARK DRIVE SUITE 125 MT. OLIVE NJ 07828 350 CLARK DRIVE MT. OLIVE NJ 07828 941 953 9035 205856795 xG TECHNOLOGY, INC. 2025-06-20 SCHEDULE 13D/A Y
295 1449349 VIVOS INC Vivos Vivos Inc RDGL RDGL OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 719 JADWIN AVENUE RICHLAND WA 99352 719 JADWIN AVENUE RICHLAND WA 99352 509-736-4000 800138937 ADVANCED MEDICAL ISOTOPE Corp 2026-05-14 10-Q Y
296 1853070 Volato Group, Inc. Volato Group Volato Group, Inc. SOARW SOAR|SOARW OTC DE DE Y 4522 Air Transportation, Nonscheduled operating / Emerging growth company smaller_reporting_<75M 1954 AIRPORT ROAD SUITE 124 CHAMBLEE GA 30341 1954 AIRPORT ROAD CHAMBLEE GA 30341 844-399-8998 862707040 PROOF Acquisition Corp I 2026-06-08 8-K Y
297 1580864 Vroom, Inc. Vroom Vroom, Inc. VRMWW VRM|VRMWW OTC DE DE Y 5500 Retail-Auto Dealers & Gasoline Stations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3600 W SAM HOUSTON PKWY S, FLOOR 4 HOUSTON TX 77042 3600 W SAM HOUSTON PKWY S, FLOOR 4 HOUSTON TX 77042 646-979-4746 901112566 AutoAmerica, Inc. 2026-06-05 4 Y
298 1424768 VYCOR MEDICAL INC Vycor Medical Vycor Medical Inc VYCO VYCO OTC DE DE Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 951 BROKEN SOUND PARKWAY SUITE 320 BOCA RATON, FL 33487 951 BROKEN SOUND PARKWAY BOCA RATON, FL 33487 562.558.2000 203369218 2026-05-15 8-K Y
299 1745078 Vynleads, Inc. Vynleads Vynleads, Inc. VYND VYND OTC DE DE Y 7200 Services-Personal Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 596 HERRONS FERRY ROAD SUITE 301 ROCK HILL SC 29730 596 HERRONS FERRY ROAD ROCK HILL SC 29730 845-745-0981 474584272 2026-05-15 NT 10-Q Y
300 1921603 WhiteHawk Income Corp WhiteHawk Income WhiteHawk Income Corp WHK WHK DE DE Y 1311 Crude Petroleum & Natural Gas other smaller_reporting_<75M 2400 MARKET STREET OFFSITE SUITE 230 PHILADELPHIA PA 19103 2400 MARKET STREET PHILADELPHIA PA 19103 917 691-9676 880862160 2026-06-09 8-A12B Y
301 946486 WINDTREE THERAPEUTICS INC /DE/ Windtree Therapeutics Windtree Therapeutics Inc WINT WINT OTC DE DE Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2600 KELLY ROAD SUITE 100 WARRINGTON PA 18976 2600 KELLY ROAD WARRINGTON PA 18976 2154889300 943171943 DISCOVERY LABORATORIES INC /DE/|ANSAN PHARMACEUTICALS INC|ANSAN INC 2026-04-01 NT 10-K Y
302 1854463 WinVest Acquisition Corp. WinVest Acquisition WinVest Acquisition Corp. WINV WINV|WINVR|WINVU|WINVW OTC DE DE Y 6770 Blank Checks operating / Emerging growth company smaller_reporting_<75M 125 CAMBRIDGEPARK DRIVE SUITE 301 CAMBRIDGE MA 02140 125 CAMBRIDGEPARK DRIVE CAMBRIDGE MA 02140 (617) 658-3094 862451181 2026-06-01 425 Y
303 1785494 Woodbridge Liquidation Trust Woodbridge Liquidation Trust Woodbridge Liquidation Trust WBQNL WBQNL OTC DE DE Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M C/O AKERMAN LLP, LAS OLAS CENTER II 350 EAST LAS OLAS BOULEVARD, SUITE 1600 FORT LAUDERDALE FL 33301 C/O AKERMAN LLP, LAS OLAS CENTER II FORT LAUDERDALE FL 33301 954 4632700 367730868 2026-05-14 10-Q Y
304 943535 WORLD HEALTH ENERGY HOLDINGS, INC. World Health Energy Holdings World Health Energy Holdings, Inc. WHEN WHEN OTC DE DE Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1825 NW CORPORATE BLVD SUITE 110 BOCA RATON FL 33431 1825 NW CORPORATE BLVD BOCA RATON FL 33431 5618700440 592762023 ADVANCED PLANT PHARMACEUTICALS INC 2026-04-15 8-K Y
305 1813744 World Scan Project, Inc. World Scan Project World Scan Project, Inc. WDSP WDSP OTC DE DE Y 5045 Wholesale-Computers & Peripheral Equipment & Software operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 2-18-23, NISHIWASEDA SHINJUKU-KU, TOKYO M0 162-0051 2-18-23, NISHIWASEDA SHINJUKU-KU, TOKYO M0 162-0051 81-3-6670-1692 352677532 2025-10-27 8-K Y
306 1279715 Wright Investors Service Holdings, Inc. Wright Investors Service Holdings Wright Investors Service Holdings, Inc. IWSH IWSH OTC DE DE Y 6282 Investment Advice operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 118 NORTH BEDFORD ROAD SUITE 100 MT KISCO NY 10549 118 NORTH BEDFORD ROAD MT KISCO NY 10549 (914) 242-5700 134005439 NATIONAL PATENT DEVELOPMENT CORP 2026-05-15 10-Q Y
307 2111860 Xtend AI Robotics, Inc. Xtend AI Robotics Xtend AI Robotics, Inc. XTND XTND DE DE Y 3760 Guided Missiles & Space Vehicles & Parts other smaller_reporting_<75M 5247 CROSSROADS PARK DRIVE TAMPA FL 33610 5247 CROSSROADS PARK DRIVE TAMPA FL 33610 000-000-0000 000000000 2026-06-02 425 Y
308 2040753 Xtreme One Entertainment, Inc. Xtreme One Entertainment Xtreme One Entertainment, Inc. XONI XONI OTC DE DE Y 7900 Services-Amusement & Recreation Services other smaller_reporting_<75M 47 COMMERCE SW GRAND RAPIDS MI 49503 47 COMMERCE SW GRAND RAPIDS MI 49503 305-701-9100 208535566 2026-05-12 SEC STAFF ACTION Y
309 1311673 Yale Transaction Finders, Inc. Yale Transaction Finders Yale Transaction Finders, Inc. YTFD YTFD OTC DE DE Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2308/C KETTNER BLVD. SAN DIEGO CA 92101 2308/C KETTNER BLVD. SAN DIEGO CA 92101 619-232-1001 760736467 Yacht Finders, Inc. 2026-05-18 8-K Y
310 1843714 Zapata Quantum, Inc. Zapata Quantum Zapata Quantum, Inc. ZPTA ZPTA|ZPTAW OTC DE DE Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 6 LIBERTY SQUARE #2488 BOSTON MA 02109 6 LIBERTY SQUARE BOSTON MA 02109 857-367-9002 981578373 Zapata Computing Holdings Inc.|Andretti Acquisition Corp. 2026-06-05 S-1 Y
311 1594204 ZHEN DING RESOURCES INC. Zhen Ding Resources Zhen Ding Resources Inc. RBTK RBTK OTC DE DE Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 99 AVE DE LA MOSELLE SAINT LAMBERT A8 J45 1W9 99 AVE DE LA MOSELLE SAINT LAMBERT A8 J45 1W9 (438) 376-5317 113350926 2026-05-14 10-Q Y
312 1131312 ZION OIL & GAS INC Zion Oil & Gas Zion Oil & Gas Inc ZNOG ZNOG|ZNOGW OTC DE DE Y 1382 Oil & Gas Field Exploration Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 12655 NORTH CENTRAL EXPRESSWAY SUITE 1000 DALLAS TX 75243 12655 NORTH CENTRAL EXPRESSWAY DALLAS TX 75243 2142214610 200065053 2026-06-03 8-K Y
313 1854275 Zoomcar Holdings, Inc. Zoomcar Holdings Zoomcar Holdings, Inc. ZCAR ZCAR|ZCARW OTC DE DE Y 7510 Services-Auto Rental & Leasing (No Drivers) operating / Emerging growth company smaller_reporting_<75M ANJANEYA TECHNO PARK, NO.147, 1ST FLOOR KODIHALLI BANGALORE K7 560008 ANJANEYA TECHNO PARK, NO.147, 1ST FLOOR BANGALORE K7 560008 91 99454-8382 000000000 Innovative International Acquisition Corp. 2026-06-05 8-K Y
314 1637147 zSpace, Inc. zSpace zSpace, Inc. ZSPC ZSPC OTC DE DE Y 7372 Services-Prepackaged Software operating / Emerging growth company smaller_reporting_<75M 2050 GATEWAY PLACE SUITE 100-302 SAN JOSE CA 95110 2050 GATEWAY PLACE SAN JOSE CA 95110 (408)498-4050 352284050 2026-06-01 8-K Y
315 1859007 ZyVersa Therapeutics, Inc. ZyVersa Therapeutics ZyVersa Therapeutics, Inc. ZVSA ZVSA OTC DE DE Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 2436 NORTH FEDERAL HIGHWAY SUITE 466 LIGHTHOUSE POINT FL 33064 2436 NORTH FEDERAL HIGHWAY LIGHTHOUSE POINT FL 33064 908-370-5102 862685744 Larkspur Health Acquisition Corp. 2026-05-13 10-Q Y
316 1877461 1606 CORP. 1606 1606 Corp. CBDW CBDW OTC NV NV Y 7372 Services-Prepackaged Software operating / Emerging growth company smaller_reporting_<75M 2425 E. CAMELBACK RD SUITE 150 PHOENIX AZ 85016 2425 E. CAMELBACK RD PHOENIX AZ 85016 602-481-1544 861497346 2026-06-03 8-K Y
317 1453122 3DX Industries, Inc. 3DX Industries 3DX Industries, Inc. DDDX OTC NV NV Y 2750 Commercial Printing operating Smaller reporting company smaller_reporting_<75M 6920 SALASHAN PARKWAY, BUILDING D-100 FERNDALE WA 98248 6920 SALASHAN PARKWAY, BUILDING D-100 FERNDALE WA 98248 949-682-7889 000000000 Amarok Resources, Inc.|Ukragro Corp 2026-05-13 1-A Y
318 1464865 Accredited Solutions, Inc. Accredited Solutions Accredited Solutions, Inc. ASII ASII OTC NV NV Y 2080 Beverages operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 20311 CHARTWELL CENTER DRIVE, SUITE 1469 CORNELIUS NC 28031 20311 CHARTWELL CENTER DRIVE, SUITE 1469 CORNELIUS NC 28031 800-947-9197 452578051 Good Hemp, Inc.|Lone Star Gold, Inc.|Keyser Resources, Inc. 2025-07-18 15-12G/A Y
319 1622996 ACRO BIOMEDICAL CO., LTD. Acro Biomedical Co. Acro Biomedical Co., Ltd. ACBM ACBM OTC NV NV Y 7900 Services-Amusement & Recreation Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 12175 VISIONARY WAY SUITE 1160 FISHERS IN 46038 12175 VISIONARY WAY FISHERS IN 46038 (317) 286-6788 471950356 KILLER WAVES HAWAII, INC 2026-05-05 10-Q Y
320 1420924 Adapti, Inc. Adapti Adapti, Inc. ADTI ADTI OTC NV NV Y 7900 Services-Amusement & Recreation Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2818 FORT HAMILTON PARKWAY BROOKLYN NY 11218 2818 FORT HAMILTON PARKWAY BROOKLYN NY 11218 347.834.7118 000000000 Scepter Holdings, Inc. NV|Brazos International Exploration, Inc. 2026-06-02 3 Y
321 1160420 Adia Nutrition, Inc. Adia Nutrition Adia Nutrition, Inc. ADIA ADIA OTC NV NV Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4421 GABRIELLA LANE WINTER PARK FL 32792 4421 GABRIELLA LANE WINTER PARK FL 32792 321-231-2843 870675769 PivX Solutions, Inc.|DRILLING INC 2026-05-15 10-Q Y
322 1588014 ADM ENDEAVORS, INC. Adm Endeavors Adm Endeavors, Inc. ADMQ ADMQ OTC NV NV Y 7310 Services-Advertising operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5941 POSEY LANE HALTOM CITY TX 76117 5941 POSEY LANE HALTOM CITY TX 76117 817-637-2150 450459323 2026-06-05 4 Y
323 930245 Agassi Sports Entertainment Corp. Agassi Sports Entertainment Agassi Sports Entertainment Corp. AASP AASP OTC NV NV Y 5900 Retail-Miscellaneous Retail operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1120 N. TOWN CENTER DR #160 LAS VEGAS NV 89144 1120 N. TOWN CENTER DR #160 LAS VEGAS NV 89144 702-400-4005 880203976 GLOBAL ACQUISITIONS Corp|ALL AMERICAN SPORTPARK INC|SAINT ANDREWS GOLF CORP 2026-06-05 8-K Y
324 1603345 Agentix Corp. Agentix Agentix Corp. AGTX AGTX OTC NV NV Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 32932 PACIFIC COAST HIGHWAY #14-254 DANA POINT CA 92629 32932 PACIFIC COAST HIGHWAY DANA POINT CA 92629 321-229-2014 462876282 FairWind Energy Inc. 2026-02-17 10-Q Y
325 1605331 AI Era Corp. AI Era AI Era Corp. AERA AERA OTC NV NV Y 6794 Patent Owners & Lessors operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 144 MAIN STREET SUITE 1009 MT. KISCO NY 10549 144 MAIN STREET MT. KISCO NY 10549 (917) 336-2398 371740351 AB INTERNATIONAL GROUP CORP. 2026-05-11 8-K Y
326 1763329 AIBOTICS, INC. Aibotics Aibotics, Inc. AIBT AIBT OTC NV NV Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 480 22ND STREET HEYBURN ID 83336 480 22ND STREET HEYBURN ID 83336 208-677-2020 870645794 Mycotopia Therapies, Inc.|20/20 Global, Inc. 2026-06-09 10-Q Y
327 1950209 Ainnova Tech Ainnova Tech Ainnova Tech ZHDM ZHDM OTC NV NV Y other smaller_reporting_<75M 440 LOUISIANA STREET, LYRIC TOWER SUITE 900 HOUSTON TX 77002 440 LOUISIANA STREET, LYRIC TOWER HOUSTON TX 77002 713-714-0779 873747314 2025-08-26 D/A Y
328 1532390 ALKALINE WATER Co INC ALKALINE WATER Co ALKALINE WATER Co INC WTER WTER OTC NV NV Y 5140 Wholesale-Groceries & Related Products operating / Emerging growth company smaller_reporting_<75M 5524 N 51ST AVE GLENDALE AZ 85301 5524 N 51ST AVE GLENDALE AZ 85301 480-656-2423 990367049 GLOBAL LINES INC 2025-12-23 8-K Y
329 1484674 ALL THINGS MOBILE ANALYTIC, INC. All Things Mobile Analytic All Things Mobile Analytic, Inc. ATMH ATMH OTC NV NV Y 7389 Services-Business Services, NEC operating Smaller reporting company smaller_reporting_<75M 209 W 29TH STREET SUITE 6241 NEW YORK X1 10001 209 W 29TH STREET NEW YORK X1 10001 (888) 350-4660 854301443 TORON INC. 2025-12-30 RW Y
330 1834868 Alternative Ballistics Corp Alternative Ballistics Alternative Ballistics Corp ALBC ALBC OTC NV NV Y 3480 Ordnance & Accessories, (No Vehicles/Guided Missiles) other smaller_reporting_<75M 5940 S. RAINBOW BLVD LAS VEGAS NV 89118 5940 S. RAINBOW BLVD LAS VEGAS NV 89118 619-326-4411 852764555 Alternative Ballisitics Corp 2026-04-30 1-K Y
331 773717 American Clean Resources Group, Inc. American Clean Resources Group American Clean Resources Group, Inc. ACRG ACRG OTC NV NV Y 1400 Mining & Quarrying of Nonmetallic Minerals (No Fuels) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 12567 WEST CEDAR DRIVE SUITE 104 LAKEWOOD CO 80228-2039 12567 WEST CEDAR DRIVE LAKEWOOD CO 80228-2039 8889607347 840991764 Standard Metals Processing, Inc.|Standard Gold Holdings, Inc.|Standard Gold|PRINCETON ACQUISITIONS INC 2026-05-29 4 Y
332 1545236 American Heritage International Inc. American Heritage International American Heritage International Inc. AHII AHII OTC NV NV Y 4950 Sanitary Services operating Smaller reporting company smaller_reporting_<75M 222 N. EXPRESSWAY 77/83 BROWNSVILLE TX 78521 222 N. EXPRESSWAY BROWNSVILLE TX 78521 7755804544 711052991 Cumberland Hills Ltd. 2026-03-18 D Y
333 1356371 AMERICAN LITHIUM MINERALS, INC. American Lithium Minerals American Lithium Minerals, Inc. AMLM AMLM OTC NV NV Y 1000 Metal Mining operating smaller_reporting_<75M 1007 SOUTH STREET CARSON CITY NV 89701 1007 SOUTH STREET CARSON CITY NV 89701 877-734-8787 711049972 Nugget Resources Inc. 2026-02-04 QUALIF Y
334 1648087 AMERICAN REBEL HOLDINGS INC American Rebel Holdings American Rebel Holdings Inc AREB AREB|AREBW OTC NV NV Y 3490 Miscellaneous Fabricated Metal Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 218 3RD AVENUE NORTH, #400 NASHVILLE TN 37201 218 3RD AVENUE NORTH, #400 NASHVILLE TN 37201 833-267-3235 473892903 CUBESCAPE INC 2026-06-02 DEF 14A Y
335 1514443 AMERIGUARD SECURITY SERVICES, INC. Ameriguard Security Services Ameriguard Security Services, Inc. AGSS AGSS OTC NV NV Y 7381 Services-Detective, Guard & Armored Car Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5470 W. SPRUCE AVENUE , SUITE 102 FRESNO CA 93722 5470 W. SPRUCE AVENUE , SUITE 102 FRESNO CA 93722 559-271-5984 990363866 HEALTH REVENUE ASSURANCE HOLDINGS, INC.|ANVEX INTERNATIONAL, INC. 2026-04-20 8-K Y
336 1781629 Ankam, Inc. Ankam Ankam, Inc. ANKM ANKM OTC NV NV Y 7371 Services-Computer Programming Services operating / Emerging growth company smaller_reporting_<75M 5F, NO. 97, JINGYE 1ST RD. ZHONGSHAN DIST. TAIPEI CITY F5 104 5F, NO. 97, JINGYE 1ST RD. TAIPEI CITY F5 104 886-928-486237 611900749 Ankam Inc. 2026-04-30 10-Q Y
337 1570132 ANVI GLOBAL HOLDINGS, INC. Anvi Global Holdings Anvi Global Holdings, Inc. ANVI ANVI OTC NV NV Y 5400 Retail-Food Stores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1135 KILDAIRE FARM ROAD SUITE 319-4 CARY NC 27511 1135 KILDAIRE FARM ROAD CARY NC 27511 408 821 4491 331226144 VETRO, INC. 2026-06-03 10-K Y
338 1134982 Apple iSports Group, Inc. Apple iSports Group Apple iSports Group, Inc. AAPI AAPI OTC NV NV Y 6411 Insurance Agents, Brokers & Service operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 100 SPECTRUM CENTER DRIVE SUITE 900 IRVINE CA 920618 100 SPECTRUM CENTER DRIVE IRVINE CA 920618 61 3 8393 1459 880126444 PREVENTION INSURANCE COM|PREVENTION INSURANCE COM INC 2026-05-21 10-Q Y
339 1755101 APPlife Digital Solutions Inc APPlife Digital Solutions APPlife Digital Solutions Inc ALDS ALDS OTC NV NV Y 5531 Retail-Auto & Home Supply Stores operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 50 CALIFORNIA ST SUITE 1500 SAN FRANCISCO CA 94111 50 CALIFORNIA ST SAN FRANCISCO CA 94111 4154395260 824868628 2026-05-13 10-Q Y
340 1651992 Appsoft Technologies, Inc. Appsoft Technologies Appsoft Technologies, Inc. ASFT ASFT OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1225 FRANKLIN AVE. SUITE 325 GARDEN CITY NY 11530 1225 FRANKLIN AVE. GARDEN CITY NY 11530 5162247717 473427919 2026-05-20 10-Q Y
341 1498148 Artificial Intelligence Technology Solutions Inc. Artificial Intelligence Technology Solutions Artificial Intelligence Technology Solutions Inc. AITX AITX OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 10800 GALAXIE AVENUE FERNDALE MI 48220 10800 GALAXIE AVENUE FERNDALE MI 48220 (877) 787-6268 272343603 ON THE MOVE SYSTEMS CORP. 2026-06-09 10-K Y
342 1113313 ARVANA INC Arvana Arvana Inc AVNI AVNI OTC NV NV Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 299 S. MAIN STREET 13TH FLOOR SALT LAKE CITY UT 84111 299 S. MAIN STREET SALT LAKE CITY UT 84111 (801) 232-7395 870618509 TURINCO INC 2026-04-23 8-K Y
343 1828748 ASIAFIN HOLDINGS CORP. Asiafin Holdings Asiafin Holdings Corp. ASFH ASFH OTC NV NV Y 7389 Services-Business Services, NEC operating / Emerging growth company smaller_reporting_<75M SUITE 30.02, 30TH FLOOR, MENARA KH(PROMET), JALAN SULTAN ISMAIL, KUALA LUMPUR N8 50250 SUITE 30.02, 30TH FLOOR, KUALA LUMPUR N8 50250 60321487170 371950147 2026-05-19 8-K Y
344 1095146 Athena Bitcoin Global Athena Bitcoin Global Athena Bitcoin Global ABIT ABIT OTC NV NV Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 800 NW 7TH AVENUE MIAMI FL 33136 800 NW 7TH AVENUE MIAMI FL 33136 312-690-4466 870493596 GAMEPLAN INC 2026-05-22 15-12G Y
345 1673504 Atlantis Glory Inc. Atlantis Glory Atlantis Glory Inc. AGLY AGLY OTC NV NV Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ROOM 2106, BEAUTIFUL GROUP TOWER 77 CONNAUGHT ROAD HONG KONG F4 00000 ROOM 2106, BEAUTIFUL GROUP TOWER HONG KONG F4 00000 86-18503010555 383995730 Shengshi Elevator International Holding Group Inc.|Galem Group Inc. 2026-04-30 10-Q Y
346 1338929 Authentic Holdings, Inc. Authentic Holdings Authentic Holdings, Inc. AHRO AHRO OTC NV NV Y 5130 Wholesale-Apparel, Piece Goods & Notions operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 55 MADISON AVE #400 MORRISTOWN NJ 07960 55 MADISON AVE #400 MORRISTOWN NJ 07960 732-695-4389 113746201 Global Fiber Technologies, Inc.|ECO TEK 360 INC|Global Fashion Technologies, Inc.|Premiere Opportunities Group, Inc.|Premiere Publishing Group, Inc.|Premier Publishing Group, Inc. 2026-04-15 15-12G Y
347 1740797 AVAI BIO, INC. Avai Bio Avai Bio, Inc. AVAI AVAI OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5348 VEGAS DRIVE LAS VEGAS NV 89108 5348 VEGAS DRIVE LAS VEGAS NV 89108 866-533-0065 384053064 AVANT TECHNOLOGIES INC.|TREND INNOVATIONS HOLDING INC.|FREECOOK 2026-05-08 8-K Y
348 1631463 Barrel Energy Inc. Barrel Energy Barrel Energy Inc. BRLL OTC NV NV Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3859 S VALLEY VIEW BLVD SUITE 2 #107 LAS VEGAS NV 3859 S VALLEY VIEW BLVD LAS VEGAS NV 888-397-9114 471963189 2026-05-14 10-Q Y
349 1448705 BASANITE, INC. Basanite Basanite, Inc. BASA BASA OTC NV NV Y 3990 Miscellaneous Manufacturing Industries operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 216 CROWN STREET STE 502 NEW HAVEN CT 06510 216 CROWN STREET NEW HAVEN CT 06510 888-501-1176 204959207 PayMeOn, Inc.|MMAX MEDIA, INC.|Nevada Processing Solutions 2026-06-05 8-K Y
350 1409197 Bespoke Extracts, Inc. Bespoke Extracts Bespoke Extracts, Inc. BSPK BSPK OTC NV NV Y 2834 Pharmaceutical Preparations operating / Emerging growth company smaller_reporting_<75M 12001 E. 33RD ST- UNIT O AURORA CO 80010 12001 E. 33RD ST- UNIT O AURORA CO 80010 720-949-1143 204743354 DiMi Telematics International, Inc.|First Quantum Ventures Inc|FIRST QUANTUM VENTURES INC 2026-05-18 NT 10-Q Y
351 1593184 BIOREGENX, INC. Bioregenx Bioregenx, Inc. BRGX BRGX OTC NV NV Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7407 ZIEGLER ROAD CHATTANOOGA TN 37421 7407 ZIEGLER ROAD CHATTANOOGA TN 37421 (866) 770-4067 462836541 FINDIT, INC.|ARTEMIS ENERGY HOLDINGS, INC. 2026-05-20 10-Q Y
352 1784440 BioScience Health Innovations, Inc. BioScience Health Innovations BioScience Health Innovations, Inc. BHIC BHIC OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 2722 S WEST TEMPLE SALT LAKE CITY UT 84115 2722 S WEST TEMPLE SALT LAKE CITY UT 84115 801-949-0791 000000000 Nowtransit Inc 2026-05-11 10-Q Y
353 1630113 BIOTRICITY INC. Biotricity Biotricity Inc. BTCY BTCY OTC NV NV Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 203 REDWOOD PARKWAY SUITE 600 REDWOOD CITY CA 94065 203 REDWOOD PARKWAY REDWOOD CITY CA 94065 (800) 590-4155 472548273 METASOLUTIONS, INC. 2026-05-29 PRE 14C Y
354 1445815 BIOXYTRAN, INC Bioxytran Bioxytran, Inc BIXT BIXT OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M C/O BIOXYTRAN, INC. 75 2ND AVE, SUITE 605 STE 605 NEEDHAM MA 02494 C/O BIOXYTRAN, INC. NEEDHAM MA 02494 617-494-1199 262797630 U.S. RARE EARTH MINERALS, INC.|U.S. RARE EARTH MINERALS, INC|U.S. Natural Nutrients & Minerals, Inc.|AMERICA'S DRIVING RANGES, INC. 2026-05-15 10-Q Y
355 1873213 Birdie Win Corp Birdie Win Birdie Win Corp BRWC BRWC OTC NV NV Y 8200 Services-Educational Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M D109, LEVEL 1, BLOCK D, KELANA SQUARE JALAN SS 7/26, PETALING JAYA SELANGOR N8 47301 D109, LEVEL 1, BLOCK D, KELANA SQUARE SELANGOR N8 47301 60327764841 384179726 2026-06-08 10-Q Y
356 1549145 BLUE BIOFUELS, INC. Blue Biofuels Blue Biofuels, Inc. BIOF BIOF OTC NV NV Y 2860 Industrial Organic Chemicals operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3710 BUCKEYE ST SUITE 120 PALM BEACH GARDENS FL 33401 3710 BUCKEYE ST PALM BEACH GARDENS FL 33401 (888)607-3555 454944960 ALLIANCE BIOENERGY PLUS, INC.|Alliance Media Group Holdings, Inc. 2026-06-09 8-K Y
357 1416697 Blue Line Protection Group, Inc. Blue Line Protection Group Blue Line Protection Group, Inc. BLPG BLPG OTC NV NV Y 5900 Retail-Miscellaneous Retail operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5765 LOGAN STREET DENVER CO 80216 5765 LOGAN STREET DENVER CO 80216 800-844-5576 205543728 Engraving Masters, Inc.|Engraving Master Inc 2025-08-08 15-12G Y
358 1496690 BlueOne Technologies, Inc. BlueOne Technologies BlueOne Technologies, Inc. BCRD BCRD OTC NV NV Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4695 MACARTHUR COURT, SUITE 1100 NEWPORT BEACH CA 92660 4695 MACARTHUR COURT, NEWPORT BEACH CA 92660 800-210-9755 260478989 BlueOne Card, Inc.|Manneking, Inc.|TBSS International, Inc.|Avenue South Ltd. 2026-05-13 8-K Y
359 1416090 BLUSKY AI INC. Blusky Ai Blusky Ai Inc. BSAI BSAI OTC NV NV Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5330 SO 900 E STE 280 MURRAY UT 84117 5330 SO 900 E MURRAY UT 84117 801-312-8113 352302128 INCEPTION MINING INC.|GOLD AMERICAN MINING CORP.|SILVER AMERICA, INC.|Golf Alliance CORP|GOLF ALLIANCE CORP 2026-05-22 8-K Y
360 1130781 BMP AI Technologies, Inc. BMP AI Technologies BMP AI Technologies, Inc. BMPA BMPA OTC NV NV Y 7812 Services-Motion Picture & Video Tape Production operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 10409 PACIFIC PALISADES AVE. LAS VEGAS 00000 10409 PACIFIC PALISADES AVE. LAS VEGAS 00000 727-314-3717 912090516 NEURALBASE AI LTD.|Viratech Corp.|Soleil Film, Inc.|Soleil Film & Television, Inc.|AMERI DREAM ENTERTAINMENT INC|MCSMOOTHIES INC 2026-05-20 10-Q Y
361 1122993 BROOKMOUNT EXPLORATIONS INC Brookmount Explorations Brookmount Explorations Inc BMXI BMXI OTC NV NV Y 1400 Mining & Quarrying of Nonmetallic Minerals (No Fuels) operating smaller_reporting_<75M 14TH FLOOR 400 BURRARD STREET V6C 3G2 VANCOUVER BC A1 V6C 3G2 14TH FLOOR 400 BURRARD STREET VANCOUVER BC A1 V6C 3G2 604.643.1745 980382063 2026-04-28 SCHEDULE 13G Y
362 1397795 Bryn Inc. Bryn Bryn Inc. BRRN BRRN OTC NV NV Y 8741 Services-Management Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2332 GALIANO STREET 2D FLOOR, #5138 CORAL GABLES FL 33143 2332 GALIANO STREET CORAL GABLES FL 33143 305-988-9807 204682058 Byrn, Inc.|Born, Inc.|QUTURE INTERNATIONAL, INC.|TECHS LOANSTAR, INC. 2026-05-19 10-Q Y
363 1407583 Bunker Hill Mining Corp. Bunker Hill Mining Bunker Hill Mining Corp. BHLL BHLL OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 82 RICHMOND STREET EAST TORONTO ONTARIO A6 M5C 1P1 82 RICHMOND STREET EAST ONTARIO A6 M5C 1P1 416-477-7771 320196442 Liberty Silver Corp|LIBERTY SILVER CORP|Lincoln Mining Corp 2026-05-13 DEF 14A Y
364 1882781 C2 Blockchain, Inc. C2 Blockchain C2 Blockchain, Inc. CBLO CBLO OTC NV NV Y 6199 Finance Services operating / Emerging growth company smaller_reporting_<75M 12818 SW 8TH ST., UNIT #2008 MIAMI FL 33184 12818 SW 8TH ST., UNIT #2008 MIAMI FL 33184 8884373432 872645378 C2 Blockchain,Inc. 2026-06-02 8-K Y
365 2027982 C2 Capital Group, Inc. C2 Capital Group C2 Capital Group, Inc. CCLV CCLV NV NV Y 7374 Services-Computer Processing & Data Preparation other smaller_reporting_<75M 5825 WINDSOR COURT BOCA RATON FL 33496 5825 WINDSOR COURT BOCA RATON FL 33496 561-445-3665 000000000 2026-04-29 FWP Y
366 1174891 CalEthos, Inc. CalEthos CalEthos, Inc. GEDC GEDC OTC NV NV Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M THREE SUGAR CREEK CENTER SUITE 100 SUGAR LAND TX 77478 THREE SUGAR CREEK CENTER SUGAR LAND TX 77478 713-929-3863 000000000 RealSource Residential, Inc|UPSTREAM BIOSCIENCES INC.|FORCE ENERGY CORP.|INTEGRATED BRAND SOLUTIONS INC 2026-05-14 10-Q Y
367 1680132 CANNABIS SUISSE CORP. Cannabis Suisse Cannabis Suisse Corp. CSUI CSUI OTC NV NV Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 10 NORTH NEWNAN STREET SUITE A JACKSONVILLE FL 32202 10 NORTH NEWNAN STREET JACKSONVILLE FL 32202 904-598-5820 383993849 Geant Corp. 2026-04-20 10-Q Y
368 1377149 CareView Communications Inc CareView Communications CareView Communications Inc CRVW CRVW OTC NV NV Y 3663 Radio & Tv Broadcasting & Communications Equipment operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 405 STATE HIGHWAY 121 SUITE B-240 LEWISVILLE TX 75067 405 STATE HIGHWAY 121 LEWISVILLE TX 75067 972-943-6050 954659068 2026-05-13 10-Q Y
369 1678105 Caro Holdings Inc. Caro Holdings Caro Holdings Inc. CAHO CAHO OTC NV NV Y 5961 Retail-Catalog & Mail-Order Houses operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7 CASTLE STREET SHEFFIELD X0 S3 8LT 7 CASTLE STREET SHEFFIELD X0 S3 8LT (786) 755-3210 000000000 2026-02-13 10-Q Y
370 1776073 CBD Life Sciences Inc. CBD Life Sciences CBD Life Sciences Inc. CBDL CBDL OTC NV NV Y 2833 Medicinal Chemicals & Botanical Products other smaller_reporting_<75M 10953 N. FRANK LLOYD WRIGHT BLVD. UNIT 108 SCOTTSDALE AZ 10953 N. FRANK LLOYD WRIGHT BLVD. SCOTTSDALE AZ 480-209-1720 205118532 2026-06-08 QUALIF Y
371 1569340 Cell Source, Inc. Cell Source Cell Source, Inc. CLCS CLCS OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 57 WEST 57TH STREET SUITE 400 NEW YORK NY 10019 57 WEST 57TH STREET NEW YORK NY 10019 646-612-7554 320379665 TICKET TO SEE, INC. 2026-05-14 10-Q Y
372 1134765 Charlie's Holdings, Inc. Charlie's Holdings Charlie's Holdings, Inc. CHUC CHUC OTC NV NV Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1007 BRIOSO DR. COSTA MESA CA 92627 1007 BRIOSO DR. COSTA MESA CA 92627 949-570-0691 841575085 True Drinks Holdings, Inc.|BAZI INTERNATIONAL, INC.|XELR8 HOLDINGS, INC.|VITACUBE SYSTEMS HOLDINGS INC|INSTANET INC 2026-06-05 8-K Y
373 1727255 Chilean Cobalt Corp. Chilean Cobalt Chilean Cobalt Corp. COBA COBA OTC NV NV Y 1000 Metal Mining operating / Emerging growth company smaller_reporting_<75M 1199 LANCASTER AVENUE SUITE 107 BERWYN PA 19312 1199 LANCASTER AVENUE BERWYN PA 19312 484-580-8697 823590294 2026-05-22 SCHEDULE 13G Y
374 1527613 CIMG Inc. CIMG CIMG Inc. CIMG CIMG OTC NV NV Y 5900 Retail-Miscellaneous Retail operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ROOM R2, FTY D, 16/F, KIN GA IND. BLDG. 9 SAN ON STREET, TUEN MUN HONG KONG ROOM R2, FTY D, 16/F, KIN GA IND. BLDG. HONG KONG (760) 295-2408 383849791 NuZee, Inc.|Havana Furnishings Inc. 2026-06-04 8-K Y
375 1911467 Circle Energy, Inc./NV Circle Energy Circle Energy, Inc. CRCE CRCE OTC NV NV Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 8211 E REGAL PLACE TULSA OK 74133 8211 E REGAL PLACE TULSA OK 74133 918-994-0693 874125972 2026-05-11 10-Q Y
376 813716 CIRTRAN CORP Cirtran Cirtran Corp CIRX CIRX OTC NV NV Y 2080 Beverages operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 6360 S PECOS ROAD SUITE 8 LAS VEGAS NV 89120 6360 S PECOS ROAD LAS VEGAS NV 89120 8019635112 680121636 VERMILLION VENTURES INC 2026-05-20 10-Q Y
377 1391426 Clean Vision Corp Clean Vision Clean Vision Corp CLNV CLNV OTC NV NV Y 2860 Industrial Organic Chemicals operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 2711 N. SEPULVEDA BLVD MANHATTAN BEACH CA 90266 2711 N. SEPULVEDA BLVD MANHATTAN BEACH CA 90266 424-835-1845 000000000 Byzen Digital, Inc.|CHINA VITUP HEALTH CARE HOLDINGS, INC. 2026-05-15 NT 10-Q Y
378 1343009 CNBX Pharmaceuticals Inc. CNBX Pharmaceuticals CNBX Pharmaceuticals Inc. CNBX CNBX OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M #3 BETHESDA METRO CENTER SUITE 700 BETHESDA MD 20814 #3 BETHESDA METRO CENTER BETHESDA MD 20814 877-424-2429 203373669 Cannabics Pharmaceuticals Inc.|American Mining Corp|Thrust Energy Corp. 2026-05-08 SCHEDULE 13G/A Y
379 2050338 Collab Z Inc. Collab Z Collab Z Inc. CLBZ CLBZ NV NV Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 29 ORINDA WAY, #536 ORINDA CA 94563 29 ORINDA WAY, #536 ORINDA CA 94563 925-577-9068 993072058 2026-05-26 S-1/A Y
380 1621888 Complete Financial Solutions Inc. Complete Financial Solutions Complete Financial Solutions Inc. CFSU CFSU OTC NV NV Y other smaller_reporting_<75M 101 CONVENTION CENTER DR SUITE 900 LAS VEGAS NV 89109 101 CONVENTION CENTER DR LAS VEGAS NV 89109 702-291-1922 208269281 2025-07-18 D/A Y
381 1452583 CONSERVATIVE BROADCAST MEDIA & PUBLISHING, INC. Conservative Broadcast Media & Publishing Conservative Broadcast Media & Publishing, Inc. CBMJ CBMJ OTC NV NV Y 4911 Electric Services operating smaller_reporting_<75M 5220 JIMMY LEE SMITH PARKWAY STE. 104, PMB 312 HIRAM GA 30141 5220 JIMMY LEE SMITH PARKWAY HIRAM GA 30141 8777045773 450457114 Canna Consumer Goods, Inc. .|Canna Brands, Inc. .|Crownbutte Wind Power, Inc. 2026-02-06 D Y
382 1706509 Cosmos Group Holdings Inc. Cosmos Group Holdings Cosmos Group Holdings Inc. COSG COSG OTC NV NV Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ROOMS 1309-11, 13TH FLOOR TAI YAU BUILDING, NO. 181 JOHNSTON ROAD WANCHAI K3 00000 ROOMS 1309-11, 13TH FLOOR WANCHAI K3 00000 852 3188 9363 223617931 2025-08-14 15-12G Y
383 1357671 Creatd, Inc. Creatd Creatd, Inc. CRTD CRTD OTC NV NV Y 7819 Services-Allied To Motion Picture Production operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 419 LAFAYETTE STREET, 6TH FLOOR NEW YORK NY 10003 419 LAFAYETTE STREET, 6TH FLOOR NEW YORK NY 10003 201-258-3770 870645394 Jerrick Media Holdings, Inc.|Great Plains Holdings, Inc.|LILM, INC. 2025-08-19 RW Y
384 315958 CREDITRISKMONITOR COM INC Creditriskmonitor Com Creditriskmonitor Com Inc CRMZ CRMZ OTC NV NV Y 7320 Services-Consumer Credit Reporting, Collection Agencies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9107 WEST RUSSELL ROAD SUITE 100 LAS VEGAS NV 10989 9107 WEST RUSSELL ROAD LAS VEGAS NV 10989 845-230-3000 362972588 NEW GENERATION FOODS INC 2026-05-12 10-Q Y
385 1103833 Crown Equity Holdings, Inc. Crown Equity Holdings Crown Equity Holdings, Inc. CRWE CRWE OTC NV NV Y 5734 Retail-Computer & Computer Software Stores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 11226 PENTLAND DOWNS ST. LAS VEGAS NV 89141 11226 PENTLAND DOWNS ST. LAS VEGAS NV 89141 702-683-8946 330677140 MICRO BIO-MEDICAL WASTE SYSTEMS, INC.|20/20 NETWORKS INC|20/20 WEB DESIGN INC 2026-05-11 10-Q Y
386 1688126 Crypto Co Crypto Crypto Co CRCW CRCW OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 23823 MALIBU ROAD SUITE 50477 MALIBU CA 90265 23823 MALIBU ROAD MALIBU CA 90265 (424) 228-9955 464212405 CROE, INC. 2026-05-15 NT 10-Q Y
387 1823635 CXJ GROUP CO., Ltd CXJ GROUP CO. CXJ GROUP CO., Ltd ECXJ ECXJ OTC NV NV Y 3714 Motor Vehicle Parts & Accessories operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ROOM 401 4THFLOOR, EAST BLOCK BUILDING 5 XINTIANDI BUSINESSCENTERNO7 ANQIAOGANGRD GONGSHU, HANGZHOU, ZHEJIANG F4 310017 ROOM 401 4THFLOOR, EAST BLOCK BUILDING 5 GONGSHU, HANGZHOU, ZHEJIANG F4 310017 8618668175727 852041913 2026-04-10 10-Q Y
388 768408 CYANOTECH CORP Cyanotech Cyanotech Corp CYAN CYAN OTC NV NV Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 73-4460 QUEEN KAAHUMANU HWY SUITE 102 KAILUA KONA HI 96740 73-4460 QUEEN KAAHUMANU HWY KAILUA-KONA HI 96740 8083261353 911206026 2026-02-13 15-12G Y
389 1068689 Data443 Risk Mitigation, Inc. Data443 Risk Mitigation Data443 Risk Mitigation, Inc. ATDS ATDS OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 4000 SANCAR WAY SUITE 400 RESEARCH TRIANGLE PARK NC 27709 4000 SANCAR WAY RESEARCH TRIANGLE PARK NC 27709 919-858-6542 860914051 LandStar, Inc.|LANDSTAR INC|LANDSTAR RUBBER INC 2026-05-14 10-Q Y
390 1281984 Decentral Life, Inc. Decentral Life Decentral Life, Inc. WDLF WDLF OTC NV NV Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3465 S GAYLORD CT. SUITE A509 ENGLEWOOD CO 80113 3465 S GAYLORD CT. ENGLEWOOD CO 80113 855-933-3277 460495298 Social Life Network, Inc.|SEW CAL LOGO INC 2025-08-25 D/A Y
391 1099369 DESTINY MEDIA TECHNOLOGIES INC Destiny Media Technologies Destiny Media Technologies Inc DSNY DSNY OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1110 - 885 W GEORGIA ST VANCOUVER A1 V6C 3E8 1110 - 885 W GEORGIA ST VANCOUVER A1 V6C 3E8 604-609-7736 841516745 2026-04-14 10-Q Y
392 1420368 DLT Resolution Inc. DLT Resolution DLT Resolution Inc. DLTI DLTI OTC NV NV Y 7200 Services-Personal Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 5940 S. RAINBOW BLVD, STE 400-32132 LAS VEGAS NV 89118 5940 S. RAINBOW BLVD, LAS VEGAS NV 89118 1 (702) 796-6363 208248213 Hemcare Health Services Inc.|NSU Resources Inc|Bio-Carbon Solutions International Inc.|Elemental Protective Coating Corp.|DBL SENIOR CARE, INC. 2026-02-06 15-15D Y
393 1360442 Dogecoin Cash, Inc. Dogecoin Cash Dogecoin Cash, Inc. DOGP DOGP OTC NV NV Y 7200 Services-Personal Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 355 W MESQUITE BLVD C70 MESQUITE NV 89027 355 W MESQUITE BLVD MESQUITE NV 89027 323-420-8683 201898270 Cannabis Sativa, Inc.|Ultra Sun Corp 2026-05-28 144 Y
394 1518336 Dream Homes & Development Corp. Dream Homes & Development Dream Homes & Development Corp. DREM DREM OTC NV NV Y 1531 Operative Builders operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 314 S. MAIN STREET FORKED RIVER NJ 08731 314 S. MAIN STREET FORKED RIVER NJ 08731 609-693-8881 202208821 Virtual Learning Company, Inc. 2026-05-26 15-12G Y
395 1413909 DSG Global Inc. DSG Global DSG Global Inc. DSGT DSGT OTC NV NV Y 7373 Services-Computer Integrated Systems Design operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M SUITE 207-15272 CROYDON DRIVE SURREY A1 V3Z 0Z5 SUITE 207-15272 CROYDON DRIVE SURREY A1 V3Z 0Z5 877-589-8806 261134956 BOREAL PRODUCTIONS INC. 2026-05-06 8-K Y
396 1652561 DSwiss Inc DSwiss DSwiss Inc DQWS DQWS OTC NV NV Y 2844 Perfumes, Cosmetics & Other Toilet Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M UNIT 18-11, 18-12 & 18-01, TOWER A, VERTICAL BUSINESS SUITE, BANGSAR SOUTH, KUALA LUMPUR N8 59200 UNIT 18-11, 18-12 & 18-01, TOWER A, KUALA LUMPUR N8 59200 (603)2770-4032 474215595 2026-05-15 10-Q Y
397 1854526 DYNAMIC AEROSPACE SYSTEMS Corp DYNAMIC AEROSPACE SYSTEMS DYNAMIC AEROSPACE SYSTEMS Corp BRQL BRQL OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating / Emerging growth company smaller_reporting_<75M 3753 PLAZA DR ANN ARBOR MI 48108 3753 PLAZA DR ANN ARBOR MI 48108 734-773-3776 862265420 BrooQLy Inc.|brooqLy, Inc.|MyTreat, Inc. 2026-05-20 424B3 Y
398 1995920 E-Smart Corp. E-Smart E-Smart Corp. ESMR ESMR OTC NV NV Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 7311 OXFORD AVE PHILADELPHIA PA 19111 7311 OXFORD AVE PHILADELPHIA PA 19111 16203079197 352810816 2026-04-14 10-Q Y
399 2100704 East West Ave Acquisition Corp. East West Ave Acquisition East West Ave Acquisition Corp. EWAV EWAV NV NV Y 6770 Blank Checks other Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 5725 S VALLEY VIEW BLVD STE 5 #378094 LAS VEGAS NV 89118 5725 S VALLEY VIEW BLVD STE 5 #378094 LAS VEGAS NV 89118 802-242-1238 412320127 2026-06-05 S-1/A Y
400 1490873 ECO SCIENCE SOLUTIONS, INC. Eco Science Solutions Eco Science Solutions, Inc. ESSI ESSI|ESSID OTC NV NV Y 5900 Retail-Miscellaneous Retail operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 300 S. EL CAMINO REAL, #206 SAN CLEMENTE CA 92672 300 S. EL CAMINO REAL, #206 SAN CLEMENTE CA 92672 833-464-3726 464199032 EATON SCIENTIFIC SYSTEMS, INC.|PRISTINE SOLUTIONS INC. 2026-05-01 NT 10-K Y
401 1652958 Edgemode, Inc. Edgemode Edgemode, Inc. EDGM EDGM OTC NV NV Y 8082 Services-Home Health Care Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 110 E. BROWARD BLVD. SUITE 1700 FT. LAUDERDALE FL 33301 110 E. BROWARD BLVD. SUITE 1700 FT. LAUDERDALE FL 33301 707-687-9093 474046237 FOURTH WAVE ENERGY, INC.|PIERRE CORP.|Wadena Corp. 2026-05-28 10-Q Y
402 1741489 Elvictor Group, Inc. Elvictor Group Elvictor Group, Inc. ELVG ELVG OTC NV NV Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M VASSILEOS CONSTANTINOU 79 VARI ATTIKI J3 16672 VASSILEOS CONSTANTINOU 79 ATTIKI J3 16672 (877) 374-4196 823296328 Thenablers, Inc. 2026-05-20 8-K Y
403 1300306 EMERGING HOLDINGS INC Emerging Holdings Emerging Holdings Inc EMRH EMRH OTC NV NV Y other smaller_reporting_<75M 10409 PACIFIC PALISADES AVE LAS VEGAS NV 89144 10409 PACIFIC PALISADES AVE LAS VEGAS NV 89144 6615195708 862418448 2026-01-22 C-TR Y
404 1410708 Emo Capital Corp. Emo Capital Emo Capital Corp. NUVID NUVID OTC NV NV Y 2870 Agricultural Chemicals operating Smaller reporting company smaller_reporting_<75M 10409 PACIFIC PALISADES AVE LAS VEGAS NV 89144 10409 PACIFIC PALISADES AVE LAS VEGAS NV 89144 702-628-7279 000000000 2025-08-21 1-K/A Y
405 1346022 Enertopia Corp. Enertopia Enertopia Corp. ENRT ENRT OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M #18, 1873 SPALL ROAD KELOWNA A1 V1Y 4R2 #18, 1873 SPALL ROAD KELOWNA A1 V1Y 4R2 250-870-2219 000000000 Golden Aria Corp. 2026-05-22 8-K Y
406 1171326 ENTREPRENEUR UNIVERSE BRIGHT GROUP Entrepreneur Universe Bright Entrepreneur Universe Bright Group EUBG EUBG OTC NV NV Y 8742 Services-Management Consulting Services operating / Emerging growth company smaller_reporting_<75M SUITE 907, SAIGAO CITY PLAZA BUILDING 2 NO. 170, WEIYANG ROAD XI'AN F4 0000 SUITE 907, SAIGAO CITY PLAZA BUILDING 2 XI'AN F4 0000 86-400-6087979 753025152 LONESTAR Group Holdings CO|U.S. ENERGY HOLDINGS INC.|PITBOSS ENTERTAINMENT INC.|KARMA MEDIA INC|ESTELLE REYNA INC|LE GOURMET CO INC 2026-05-15 8-K Y
407 1883835 ESG Inc. ESG ESG Inc. ESGH ESGH OTC NV NV Y 0100 Agricultural Production-Crops operating / Emerging growth company smaller_reporting_<75M 433 EAST HILLENDALE RD. CHADDS FORD PA 19317 433 EAST HILLENDALE RD. CHADDS FORD PA 19317 267-467-5871 871918342 PLASMA INNOVATIVE INC. 2026-05-27 8-K Y
408 1816554 EVENTIKO INC. Eventiko Eventiko Inc. EVTK EVTK OTC NV NV Y 7990 Services-Miscellaneous Amusement & Recreation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1445 WOODMONT LANE NW, #2639 ATLANTA GA 30318 1445 WOODMONT LANE NW, #2639 ATLANTA GA 30318 404-549-4542 981535709 EVENTIKO INC 2026-03-17 10-Q Y
409 1700844 EvoAir Holdings Inc. EvoAir Holdings EvoAir Holdings Inc. EVOH EVOH OTC NV NV Y 3585 Air-Cond & Warm Air Heatg Equip & Comm & Indl Refrig Equip operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 31-A2, JALAN 5/32A 6 1/2 MILES, OFF JALAN KEPONG KUALA LUMPUR N8 52000 31-A2, JALAN 5/32A KUALA LUMPUR N8 52000 603 6243 3379 981353613 UNEX HOLDINGS INC. 2026-04-10 10-Q Y
410 1871181 FAMILY OFFICE OF AMERICA, INC. Family Office of America Family Office of America, Inc. FOFA FOFA OTC NV NV Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 6898 S. UNIVERSITY BLVD., SUITE 100 CENTENNIAL CO 80122 6898 S. UNIVERSITY BLVD., CENTENNIAL CO 80122 303-874-7474 842488498 Qualis Innovations, Inc. 2026-05-15 10-Q Y
411 1811999 FARMHOUSE, INC. /NV Farmhouse Farmhouse, Inc. FMHS FMHS OTC NV NV Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1355 MARKET ST. STE 488 SAN FRANCISCO CA 94103 1355 MARKET ST. STE 488 SAN FRANCISCO CA 94103 8884206856 463321759 2026-05-20 10-Q Y
412 1370816 FBC Holding, Inc. FBC Holding FBC Holding, Inc. FBCD FBCD OTC NV NV Y 5600 Retail-Apparel & Accessory Stores operating smaller_reporting_<75M 10855 N. 116TH STREET, SUITE 115 SCOTTSDALE AZ 85259 10855 N. 116TH STREET, SUITE 115 SCOTTSDALE AZ 85259 480-410-6780 711026782 FBC Holding Inc.|Wave Uranium Holding|Iron Link Ltd. 2026-01-06 253G1 Y
413 1377167 Financial Gravity Companies, Inc. Financial Gravity Companies Financial Gravity Companies, Inc. FGCO FGCO OTC NV NV Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2501 RANCH ROAD 620 SOUTH SUITE 110 LAKEWAY TX 78734 2501 RANCH ROAD 620 SOUTH LAKEWAY TX 78734 800-588-3893 204057712 PACIFIC OIL Co|PRAIRIE WEST OIL & GAS, LTD.|KAT Racing, Inc. 2026-01-13 D Y
414 1319643 FinTrade Sherpa, Inc. FinTrade Sherpa FinTrade Sherpa, Inc. FTSP FTSP OTC NV NV Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 13529 SKINNER ROAD SUITE N CYPRESS TX 77429 13529 SKINNER ROAD CYPRESS TX 77429 (832) 371-6531 474347638 Lode-Star Mining Inc.|International Gold Corp. 2026-05-19 NT 10-Q Y
415 1525306 First America Resources Corp First America Resources First America Resources Corp FSTJ FSTJ OTC NV NV Y 5065 Wholesale-Electronic Parts & Equipment, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1000 E. ARMSTRONG ST. MORRIS IL 60450 1000 E. ARMSTRONG ST. MORRIS IL 60450 815-941-9888 272563052 GOLDEN OASIS NEW ENERGY GROUP, INC. 2026-05-15 10-Q Y
416 1492617 FLYWHEEL ADVANCED TECHNOLOGY, INC. Flywheel Advanced Technology Flywheel Advanced Technology, Inc. FWFW FWFW OTC NV NV Y 7380 Services-Miscellaneous Business Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 123 WEST NYE LANE, SUITE 455 CARSON CITY NV 89706 123 WEST NYE LANE, SUITE 455 CARSON CITY NV 89706 888-983-1623 272473958 PAN GLOBAL, CORP.|SAVVY BUSINESS SUPPORT INC|SAAVY BUSINESS SUPPORT INC 2026-05-14 10-Q Y
417 1687919 FORGE INNOVATION DEVELOPMENT CORP. Forge Innovation Development Forge Innovation Development Corp. FGNV FGNV OTC NV NV Y 6552 Land Subdividers & Developers (No Cemeteries) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 17700 CASTLETON STREET, SUITE 469 CITY OF INDUSTRY CA 91748 17700 CASTLETON STREET, SUITE 469 CITY OF INDUSTRY CA 91748 626-361-1393 814635390 YOU-GO ENTERPRISES, LLC 2026-04-14 15-15D Y
418 1626745 Fortune Valley Treasures, Inc. Fortune Valley Treasures Fortune Valley Treasures, Inc. FVTI FVTI OTC NV NV Y 5900 Retail-Miscellaneous Retail operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M B1601 ORIENTAL IMPRESSION BUILDING 2 LIANSHENG ROAD, HUMEN TOWN DONGGUAN CITY GUANGDONG PROVINCE F4 518000 B1601 ORIENTAL IMPRESSION BUILDING 2 GUANGDONG PROVINCE F4 518000 (86) (769) 8572-9133 320439333 CRYPTO-SERVICES, INC. 2025-06-13 15-12G Y
419 1624517 Frequency Holdings, Inc Frequency Holdings Frequency Holdings, Inc FRQN FRQN OTC NV NV Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 8910 WEST 192ND STREET, SUITE N MOKENA IL 60448 8910 WEST 192ND STREET, SUITE N MOKENA IL 60448 404-885-6045 471893698 Yuenglings Ice Cream Corp|Aureus, Inc.|Aureus Inc 2026-01-12 15-12G Y
420 1636051 FUSE GROUP HOLDING INC. Fuse Group Holding Fuse Group Holding Inc. FUST FUST OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 805 W. DUARTE RD. #102 ARCADIA CA 91007 805 W. DUARTE RD. #102 ARCADIA CA 91007 (626) 977-0000 471017473 FUSE ENTERPRISES INC. 2026-05-13 10-Q Y
421 1497230 Fyntechnical Innovations Inc Fyntechnical Innovations Fyntechnical Innovations Inc FYNN FYNN OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9170 GLADES ROAD, STE 150 BOCA RATON FL 33433 9170 GLADES ROAD, BOCA RATON FL 33433 3608205973 200108910 SMC Entertainment, Inc. 2026-03-31 NT 10-K Y
422 1471781 GBT Technologies Inc. GBT Technologies GBT Technologies Inc. GTCH GTCH OTC NV NV Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2500 BROADWAY SUITE F125 SANTA MONICA CA 90404 2500 BROADWAY SUITE F125 SANTA MONICA CA 90404 424-238-4589 270603137 Gopher Protocol Inc.|Forex International Trading Corp. 2026-05-15 10-Q Y
423 1973160 GEMZ Corp. NV GEMZ Corp. NV GEMZ Corp. NV GMZP GMZP OTC NV NV Y 1520 General Bldg Contractors - Residential Bldgs other smaller_reporting_<75M 2180 N. PARK AVE. SUITE 200 WINTER PARK FL 32789 2180 N. PARK AVE. WINTER PARK FL 32789 407-674-9444 000000000 GEMZ Corp 2025-12-09 1-Z Y
424 1792941 Genvor Inc Genvor Genvor Inc GNVR GNVR OTC NV NV Y 0100 Agricultural Production-Crops operating / Emerging growth company smaller_reporting_<75M 1550 W HORIZON RIDGE PKWY STE R #3040 HENDERSON NV 89012 1550 W HORIZON RIDGE PKWY HENDERSON NV 89012 715.903.6473 832054746 Allure Worldwide, Inc. 2026-05-26 3 Y
425 1169138 GIVBUX, INC. Givbux Givbux, Inc. GBUX GBUX OTC NV NV Y 7389 Services-Business Services, NEC operating / Emerging growth company smaller_reporting_<75M 2801 WEST COAST HWY. SUITE 200 NEWPORT BEACH CA 92663 2801 WEST COAST HWY. NEWPORT BEACH CA 92663 844-448-2899 841609495 SENTAIDA TIRE CO LTD|RUB A DUB SOAP INC 2026-06-05 8-K Y
426 1848672 Glidelogic Corp. Glidelogic Glidelogic Corp. GDLG GDLG OTC NV NV Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 8275 S. EASTERN AVE. SUITE 200-#406 LAS VEGAS NV 89123 8275 S. EASTERN AVE. SUITE 200-#406 LAS VEGAS NV 89123 (310) 397-2300 981575837 2026-04-27 10-K Y
427 1473490 Global AI, Inc. Global AI Global AI, Inc. GLAI GLAI OTC NV NV Y 5960 Retail-Nonstore Retailers operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 110 FRONT STREET SUITE 300 JUPITER FL 33477 110 FRONT STREET JUPITER FL 33477 561-240-0333 264170100 Wall Street Media Co, Inc.|BRIGHT MOUNTAIN HOLDINGS, INC.|MY CATALOGS ONLINE, INC. 2026-06-03 10-Q Y
428 1938338 GlobalTech Corp GlobalTech GlobalTech Corp GLTK GLTK OTC NV NV Y 4813 Telephone Communications (No Radiotelephone) operating / Emerging growth company smaller_reporting_<75M 3550 BARRON WAY, SUITE 13A RENO NV 89511 3550 BARRON WAY, SUITE 13A RENO NV 89511 775-624-4817 823926338 2026-06-03 8-K Y
429 1378866 Go Green Global Technologies Corp. Go Green Global Technologies Go Green Global Technologies Corp. GOGR GOGR OTC NV NV Y 3677 Electronic Coils, Transformers & Other Inductors operating smaller_reporting_<75M 5 PRODUCTION DRIVE BROOKFILED CT 06804 5 PRODUCTION DRIVE BROOKFILED CT 06804 800-605-2857 204412118 Go Green Technologies Corp|DIVERSIFIED SECURE VENTURES CORP.|SECURE RUNWAY SYSTEMS CORP.|PHOTOMATICA, INC. 2025-07-09 15-12G Y
430 894501 GOLD ROCK HOLDINGS, INC. Gold Rock Holdings Gold Rock Holdings, Inc. GRHI GRHI OTC NV NV Y 7373 Services-Computer Integrated Systems Design operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2020 GENERAL BOOTH BLVD, #230 VIRGINIA BEACH VA 23452 2020 GENERAL BOOTH BLVD, #230 VIRGINIA BEACH VA 23452 7573066090 870434297 COMPOSITE HOLDINGS INC|COMPOSITE INDUSTRIES OF AMERICA INC|WORLD HOMES INC|AFFORDABLE HOMES OF AMERICA INC|KOWTOW INC 2026-05-06 10-Q Y
431 1375348 Golden Star Resource Corp. Golden Star Resource Golden Star Resource Corp. GLNS GLNS OTC NV NV Y 1090 Miscellaneous Metal Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M SUITE #300 500 NORTH RAINBOW BLVD LAS VEGAS NV 89107 SUITE #300 500 NORTH RAINBOW BLVD LAS VEGAS NV 89107 (210) 862-3071 000000000 2026-05-14 10-Q Y
432 1800373 GOLDENWELL BIOTECH, INC. Goldenwell Biotech Goldenwell Biotech, Inc. GWLL GWLL OTC NV NV Y 2000 Food and Kindred Products operating / Emerging growth company smaller_reporting_<75M 7316 CAPILANO DR. SOLON OH 44139 7316 CAPILANO DR. SOLON OH 44139 440-666-7999 842896086 2026-05-27 8-K Y
433 1454742 GOOD GAMING, INC. Good Gaming Good Gaming, Inc. GMER GMER OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 415 MCFARLAN ROAD SUITE 108 KENNETT SQUARE PA 19348 415 MCFARLAN ROAD KENNETT SQUARE PA 19348 (888) 295-7279 263988293 HDS INTERNATIONAL CORP.|GMV Wireless, Inc. 2026-05-15 10-Q Y
434 1673475 GPO Plus, Inc. GPO Plus GPO Plus, Inc. GPOX GPOX OTC NV NV Y 8900 Services-Services, NEC operating / Emerging growth company smaller_reporting_<75M 3571 E. SUNSET ROAD SUITE 300 LAS VEGAS NV 89120 3571 E. SUNSET ROAD LAS VEGAS NV 89120 855-935-4769 371817132 GLOBAL HOUSE HOLDINGS LTD.|KOLDECK INC. 2026-05-01 8-K Y
435 1282571 GREENLITE VENTURES INC Greenlite Ventures Greenlite Ventures Inc GRNL GRNL OTC NV NV Y 1000 Metal Mining operating smaller_reporting_<75M 1407 FOOTHILL BLVD SUITE 305 LA VERNE CA 91750 1407 FOOTHILL BLVD LA VERNE CA 91750 909-901-9086 912170874 2025-09-17 D Y
436 1584480 Greentech Innovations, Inc. Greentech Innovations Greentech Innovations, Inc. GTIC GTIC OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 244 MADISON AVENUE NEW YORK CITY NY 10016-2817 244 MADISON AVENUE NEW YORK CITY NY 10016-2817 (802) 255-4212 000000000 Startech Labs, Inc.|UpperSolution.com 2026-04-14 10-Q Y
437 1765048 GUOCHUN INTERNATIONAL INC. Guochun International Guochun International Inc. GCGJ GCGJ OTC NV NV Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 66 WEST FLAGLER STREET SUITE 900, #3040 MIAMI FL 33130 66 WEST FLAGLER STREET MIAMI FL 33130 12512629446 320575017 Charmt, Inc. 2026-05-11 10-Q Y
438 1989788 Guru App Factory Corp Guru App Factory Guru App Factory Corp GAFC GAFC OTC NV NV Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 74 NORFOLK HOUSE RD LONDON SW16 1JH 74 NORFOLK HOUSE RD LONDON SW16 1JH 44-794-454-4871 981726952 2026-03-17 10-Q Y
439 1539680 HAMMER TECHNOLOGY HOLDINGS CORP. Hammer Technology Holdings Hammer Technology Holdings Corp. HMMR HMMR OTC NV NV Y 4899 Communications Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 6151 LAKE OSPREY DRIVE SARASOTA FL 34240 6151 LAKE OSPREY DRIVE SARASOTA FL 34240 844-413-2600 981032170 HAMMER FIBER OPTICS HOLDINGS CORP|Tanaris Power Holdings Inc.|Recursos Montana S.A. 2026-03-17 10-Q Y
440 1482554 Hartford Creative Group, Inc. Hartford Creative Group Hartford Creative Group, Inc. HFUS HFUS OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 8832 GLENDON WAY ROSEMEAD CA 91770 8832 GLENDON WAY ROSEMEAD CA 91770 626-656-6192 205422795 Hartford Great Health Corp.|Photoamigo, Inc. 2026-05-18 POS AM Y
441 1750777 Hawkeye Systems, Inc. Hawkeye Systems Hawkeye Systems, Inc. HWKE HWKE OTC NV NV Y 3861 Photographic Equipment & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7401 CARMEL EXECUTIVE PARK DRIVE SUITE 315 CHARLOTTE NC 28226 7401 CARMEL EXECUTIVE PARK DRIVE CHARLOTTE NC 28226 912-388-6720 830799093 2026-06-05 8-K Y
442 1680139 HealthLynked Corp HealthLynked HealthLynked Corp HLYK HLYK OTC NV NV Y 8011 Services-Offices & Clinics of Doctors of Medicine operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1265 CREEKSIDE PARKWAY SUITE 302 NAPLES FL 34108 1265 CREEKSIDE PARKWAY NAPLES FL 34108 800-928-7144 471634127 2026-05-29 S-1/A Y
443 1630176 HEALTHY EXTRACTS INC. Healthy Extracts Healthy Extracts Inc. HYEX HYEX OTC NV NV Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7375 COMMERCIAL WAY SUITE 125 HENDERSON NV 89011 7375 COMMERCIAL WAY HENDERSON NV 89011 702-505-0471 472594704 HEALTHLY EXTRACTS INC.|GREY CLOAK TECH INC. 2026-05-18 8-K Y
444 1813603 Hestia Insight Inc. Hestia Insight Hestia Insight Inc. HSTA HSTA OTC NV NV Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 732 S. 6TH STREET # 4762 LAS VEGAS NV 89101 732 S. 6TH STREET LAS VEGAS NV 89101 929-329-4756 850994055 2026-05-11 DEF 14C Y
445 1807616 Hi-Great Group Holding Co Hi-Great Group Holding Hi-Great Group Holding Co HIGR HIGR OTC NV NV Y 7011 Hotels & Motels operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 621 S. VIRGIL AVE #470 LOS ANGELES CA 90005 621 S. VIRGIL AVE #470 LOS ANGELES CA 90005 213-219-7746 462218131 2026-05-27 10-K Y
446 1413891 HIGH WIRE NETWORKS, INC. High Wire Networks High Wire Networks, Inc. HWNI HWNI OTC NV NV Y 4813 Telephone Communications (No Radiotelephone) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 30 N LINCOLN ST. BATAVIA IL 60510 30 N LINCOLN ST. BATAVIA IL 60510 952.974.4000 260592672 HWN, INC.|Spectrum Global Solutions, Inc.|Mantra Venture Group Ltd. 2026-06-03 8-K Y
447 1342916 HNO International, Inc. HNO International HNO International, Inc. HNOI HNOI OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 41558 EASTMAN DRIVE, SUITE B MURRIETA CA 92562 41558 EASTMAN DRIVE, SUITE B MURRIETA CA 92562 951-305-8872 202781289 CLENERGEN Corp|Clenergen Corp|American Bonanza Resources Corp. 2026-05-08 8-K Y
448 1367993 Holistic Asset Finance Group Co., Ltd. Holistic Asset Finance Group Co. Holistic Asset Finance Group Co., Ltd. HAFG HAFG OTC NV NV Y 7380 Services-Miscellaneous Business Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ROOM 624 , GEHUA TOWER A QINGLONG HUTONG BUILDING NO. 1 BEIJING, ROOM 624 , GEHUA TOWER A BEIJING, (86-10) 8418 6112 870602435 Legend Media, Inc.|NOBLE QUESTS INC 2026-05-11 10-Q Y
449 1324759 HONG YUAN HOLDING GROUP Hong Yuan Holding Hong Yuan Holding Group HGYN HGYN OTC NV NV Y 2821 Plastic Materials, Synth Resins & Nonvulcan Elastomers operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M NO. 3, 21ST FLOOR, BUILDING 1, NO. 176 JIQING 1ST ROAD CHENGDU HIGH-TECH ZONE NO. 3, 21ST FLOOR, BUILDING 1, NO. 176 CHENGDU HIGH-TECH ZONE 861 8999250338 000000000 Cereplast Inc 2026-05-15 NT 10-Q Y
450 1086303 Hongchang International Co., Ltd Hongchang International Co. Hongchang International Co., Ltd HCIL HCIL OTC NV NV Y 3845 Electromedical & Electrotherapeutic Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ROOM 2409, RONGSHANG BUILDING, FUREN AVE YANGPU VILLAGE, YINXI SUBDISTRICT FUQING CITY, FUZHOU CITY 350300 ROOM 2409, RONGSHANG BUILDING, FUREN AVE FUQING CITY, FUZHOU CITY 350300 86 180 5901 6050 870627910 Heyu Biological Technology Corp|PACIFIC WEBWORKS INC 2026-02-13 10-Q Y
451 797564 HST Global, Inc. HST Global HST Global, Inc. HSTC HSTC OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 509 OLD GREAT NECK ROAD SUITE 105 VIRGINIA BEACH VA 23454 509 OLD GREAT NECK ROAD VIRGINIA BEACH VA 23454 800-961-4750 731215433 NT HOLDING CORP.|ABSS CORP|UNICO INC 2025-11-10 SCHEDULE 13D Y
452 1994373 Huineng Technology Corp Huineng Technology Huineng Technology Corp HNIT HNIT OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 33-01, 33RD FLOOR, MENARA KECK SENG 203, JALAN BUKIT BINTANG KUALA LUMPUR N8 55100 33-01, 33RD FLOOR, MENARA KECK SENG KUALA LUMPUR N8 55100 60321165722 372108225 Aceztech Corp 2026-04-14 10-Q Y
453 1502966 Hypha Labs, Inc. Hypha Labs Hypha Labs, Inc. FUNI FUNI OTC NV NV Y 8734 Services-Testing Laboratories operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5940 S. RAINBOW BOULEVARD LAS VEGAS NV 89118 5940 S. RAINBOW BOULEVARD LAS VEGAS NV 89118 (702) 744-0640 273601979 Digipath, Inc.|DigiPath,Inc. 2026-05-15 10-Q Y
454 1263364 Idaho Copper Corp Idaho Copper Idaho Copper Corp COPR COPR OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 800 W. MAIN ST, STE 1460 BOISE ID 83702 800 W. MAIN ST, STE 1460 BOISE ID 83702 208-274-9220 980221494 Joway Health Industries Group Inc|G2 VENTURES INC 2026-06-04 S-1/A Y
455 1290658 IIOT-OXYS, Inc. IIOT-OXYS IIOT-OXYS, Inc. ITOX ITOX OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 705 CAMBRIDGE ST. CAMBRIDGE MA 02141 705 CAMBRIDGE ST. CAMBRIDGE MA 02141 401-307-3092 562415252 Gotham Capital Holdings, Inc.|Creative Beauty Supply of New Jersey CORP 2026-05-27 8-K Y
456 2025878 Independence Power Holdings, Inc. Independence Power Holdings Independence Power Holdings, Inc. ITXP ITXP OTC NV NV Y 8700 Services-Engineering, Accounting, Research, Management operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 14114 N. DALLAS PARKWAY SUITE 200 DALLAS TX 75254 14114 N. DALLAS PARKWAY DALLAS TX 75254 903-944-7121 352851106 TriUnity Business Services Ltd 2026-05-12 10-Q Y
457 1591913 Innovative Payment Solutions, Inc. Innovative Payment Solutions Innovative Payment Solutions, Inc. IPSI IPSI OTC NV NV Y 5961 Retail-Catalog & Mail-Order Houses operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 56B 5TH AVENUE, LOT 1 #AT CARMEL BY THE SEA CA 93921 56B 5TH AVENUE, LOT 1 #AT CARMEL BY THE SEA CA 93921 (866) 477-4729 000000000 QPAGOS|Asiya Pearls, Inc. 2026-05-15 10-Q Y
458 1939365 INSPIRE VETERINARY PARTNERS, INC. Inspire Veterinary Partners Inspire Veterinary Partners, Inc. IVPR IVPR OTC NV NV Y 0700 Agricultural Services operating / Emerging growth company smaller_reporting_<75M 780 LYNNHAVEN PKWY #400 VIRGINIA BEACH VA 23452 780 LYNNHAVEN PKWY #400 VIRGINIA BEACH VA 23452 (757) 288-3088 854359258 2026-06-04 25-NSE Y
459 1794276 Intelligent Hotel Group Ltd. Intelligent Hotel Group Intelligent Hotel Group Ltd. ZHJD ZHJD OTC NV NV Y 2870 Agricultural Chemicals operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M NO. 1408, NORTH DISTRICT, LIBAO BUILDING KEHUA NORTH ROAD NO. 62, WUHOU DISTRICT CHENGDU, SICHUAN PROVINCE NO. 1408, NORTH DISTRICT, LIBAO BUILDING CHENGDU, SICHUAN PROVINCE 8602883232517 611948707 YCQH Agricultural Technology Co. Ltd 2026-05-14 NT 10-Q Y
460 1100788 INTERNATIONAL STAR INC International Star International Star Inc ILST ILST OTC NV NV Y 6794 Patent Owners & Lessors operating smaller_reporting_<75M 8 THE GREEN SUITE A DOVER DE 19901 8 THE GREEN DOVER DE 19901 347-616-1399 860876846 2026-06-04 1-Z Y
461 862651 Investview, Inc. Investview Investview, Inc. INVU INVU|INVUP OTC NV NV Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 521 W. LANCASTER AVE FLOOR 2 HAVERFORD PA 19041 521 W. LANCASTER AVE HAVERFORD PA 19041 732-889-4300 870369205 Global Investor Services, Inc.|TheRetirementSolution.com, Inc.|Voxpath Holdings, Inc.|UINTAH MOUNTAIN COPPER COMPANY 2026-05-15 10-Q Y
462 1498372 iWallet Corp iWallet iWallet Corp IWAL IWAL OTC NV NV Y 3669 Communications Equipment, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 401 RYLAND ST. STE. 200A RENO NV 89502 401 RYLAND ST. RENO NV 89502 858-610-2958 271830013 Queensridge Mining Resources, Inc. 2026-05-15 10-Q Y
463 1133062 JANEL CORP Janel Janel Corp JANL JANL OTC NV NV Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 80 EIGHTH AVENUE NEW YORK NY 10011 80 EIGHTH AVENUE NEW YORK NY 10011 718-527-3800 861005291 JANEL WORLD TRADE LTD|WINE SYSTEMS DESIGN INC 2026-06-04 4 Y
464 1647822 Jingbo Technology, Inc. Jingbo Technology Jingbo Technology, Inc. SVMB SVMB OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M BUILDING B8, CHINA ZHIGU, YINHU STREET FUYANG DISTRICT HANGZHOU, ZHEJIANG BUILDING B8, CHINA ZHIGU, YINHU STREET HANGZHOU, ZHEJIANG 400-926-0345 473240707 SavMobi Technology Inc. 2026-05-29 NT 10-K Y
465 1907425 JOCOM HOLDINGS CORP. Jocom Holdings Jocom Holdings Corp. JOCM JOCM OTC NV NV Y 7380 Services-Miscellaneous Business Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M NO. 11-1, LEVEL 11, TOWER 3, AVENUE 3 BANGSAR SOUTH, NO. 8 JALAN KERINCHI KUALA LUMPUR N8 59200 NO. 11-1, LEVEL 11, TOWER 3, AVENUE 3 KUALA LUMPUR N8 59200 60322416637 384177722 2026-05-14 NT 10-Q Y
466 1517389 Jubilant Flame International, Ltd Jubilant Flame International Jubilant Flame International, Ltd JFIL JFIL OTC NV NV Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ROOM 508, T1N VI PARK 360 XIN LONG ROAD SHANGHAI 201101 ROOM 508, T1N VI PARK SHANGHAI 201101 6132523673 272775885 Jiu Feng Investment Hong Kong Ltd|LIBERTY VISION, INC. 2026-04-28 10-K Y
467 1729637 Karbon-X Corp. Karbon-X Karbon-X Corp. KARX KARX OTC NV NV Y 2844 Perfumes, Cosmetics & Other Toilet Preparations operating / Emerging growth company smaller_reporting_<75M 1720 54- 5 AVE SW CALGARY A0 T2P 0M2 1720 54- 5 AVE SW CALGARY A0 T2P 0M2 250-608-5435 822882342 COCOLUV INC. 2026-06-05 8-K Y
468 1935033 KEEMO Fashion Group Ltd KEEMO Fashion Group KEEMO Fashion Group Ltd KMFG KMFG OTC NV NV Y 5130 Wholesale-Apparel, Piece Goods & Notions operating / Emerging growth company smaller_reporting_<75M 69 WANKE BOYU, XILI LUXIN 1ST RD NANSHAN DISTRICT GUANGDONG F4 518052 69 WANKE BOYU, XILI LUXIN 1ST RD GUANGDONG F4 518052 8617612822030 320686375 2026-04-01 8-K Y
469 1696025 Kindcard, Inc. Kindcard Kindcard, Inc. KCRD KCRD OTC NV NV Y 5940 Retail-Miscellaneous Shopping Goods Stores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1001 YAMATO RD. SUITE #100 BOCA RATON FL 33431 1001 YAMATO RD. BOCA RATON FL 33431 888-888-0708 814520116 MWF GLOBAL INC. 2026-05-19 10-K Y
470 1110607 Koil Energy Solutions, Inc. Koil Energy Solutions Koil Energy Solutions, Inc. KLNG KLNG OTC NV NV Y 3533 Oil & Gas Field Machinery & Equipment operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1310 RANKIN ROAD HOUSTON TX 77073 1310 RANKIN ROAD HOUSTON TX 77073 (281) 517-5000 752263732 Deep Down, Inc.|MediQuip Holdings, INC|TRUE HEALTH INC 2026-05-22 8-K Y
471 1108248 KRONOS ADVANCED TECHNOLOGIES INC Kronos Advanced Technologies Kronos Advanced Technologies Inc KNOS KNOS OTC NV NV Y 3564 Industrial & Commercial Fans & Blowers & Air Purifing Equip operating smaller_reporting_<75M 2501 GARFIELD AVENUE PARKERSBURG WV 26101 505 24TH STREET PARKERSBURG WV 26101 800-723-3247 870440410 TSET INC 2025-12-15 SEC STAFF ACTION Y
472 1081834 Kuber Resources Corp Kuber Resources Kuber Resources Corp KUBR KUBR OTC NV NV Y 4832 Radio Broadcasting Stations operating / Emerging growth company smaller_reporting_<75M 1113 LIPPO CENTRE TOWER 2 89 QUEENSWAY ADMIRALTY K3 000-000 1113 LIPPO CENTRE TOWER 2 ADMIRALTY K3 000-000 852 3703 6155 870629754 UONLIVE CORP|CHINA WORLD TRADE CORP|TXON INTERNATIONAL DEVELOPMENT CORP 2026-03-31 NT 10-K Y
473 1477960 LataMed AI Corp. LataMed AI LataMed AI Corp. LMED LMED OTC NV NV Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M AV ROMULO GALLEGOS CON AVENIDA LAS PALMA EDIF TORRE GERENCIAL LOS ANDES PISO 4 OFICINA 4-D, URB BOLEIT 1071 AV ROMULO GALLEGOS CON AVENIDA LAS PALMA PISO 4 OFICINA 4-D, URB BOLEIT 1071 1-787-476-2350 263670551 Catalyst Crew Technologies Corp.|Blue Chip Technologies Corp.|Hermes Jets, Inc. 2026-05-20 10-Q Y
474 1715433 Leader Capital Holdings Corp. Leader Capital Holdings Leader Capital Holdings Corp. LCHD LCHD OTC NV NV Y 7371 Services-Computer Programming Services operating / Emerging growth company smaller_reporting_<75M RM. 711, 7F., NO. 89, SECTION 1, ZHONGQING ROAD, NORTH DISTRICT, TAICHUNG F5 404638 RM. 711, 7F., NO. 89, SECTION 1, TAICHUNG F5 404638 852 3487 6378 371853394 2025-09-24 SCHEDULE 13G/A Y
475 1643721 LEAFBUYER TECHNOLOGIES, INC. Leafbuyer Technologies Leafbuyer Technologies, Inc. LBUY LBUY|LBUYD NV NV Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 6888 S. CLINTON STREET, SUITE 300 GREENWOOD VILLAGE CO 80112 6888 S. CLINTON STREET, SUITE 300 GREENWOOD VILLAGE CO 80112 720-235-0099 383944821 AP EVENT INC. 2026-05-14 10-Q Y
476 1456189 Leatt Corp Leatt Leatt Corp LEAT LEAT OTC NV NV Y 3751 Motorcycles, Bicycles & Parts operating / Emerging growth company smaller_reporting_<75M 12 KIEPERSOL DRIVE, ATLAS GARDENS CONTERMANSKLOOF ROAD DURBANVILLE, WESTERN CAPE T3 7550 12 KIEPERSOL CRES, ATLAS GARDENS DURBANVILLE, WESTERN CAPE T3 7550 (27)21-556-5409 202819367 2026-05-13 8-K Y
477 1230524 Leopard Energy, Inc. Leopard Energy Leopard Energy, Inc. LEEN LEEN OTC NV NV Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M VIA TOMASO RODARI, 6 - 6900 LUGANO V8 6900 VIA TOMASO RODARI, 6 - 6900 LUGANO V8 6900 41 79 1595013 900314205 Cyber Apps World|CLEAN ENVIRO TECH CORP|SKY POWER SOLUTIONS CORP.|Superlattice Power, Inc.|ZINGO, INC|JAVAKINGCOFFEE INC|TITAN WEB SOLUTIONS INC 2026-03-02 10-Q Y
478 1391135 LFTD PARTNERS INC. Lftd Partners Lftd Partners Inc. LIFD LIFD OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 14155 PINE ISLAND DRIVE JACKSONVILLE FL 32224 14155 PINE ISLAND DRIVE JACKSONVILLE FL 32224 847-915-2446 870479286 Acquired Sales CORP|ACQUIRED SALES CORP 2026-05-15 10-Q Y
479 2057463 Liberty Capital Corp/NV Liberty Capital Liberty Capital Corp GLIBB GLIBA|GLIBB|GLIBK OTC NV NV Y 4841 Cable & Other Pay Television Services operating / Emerging growth company smaller_reporting_<75M 12300 LIBERTY BLVD ENGLEWOOD CO 80112 12300 LIBERTY BLVD ENGLEWOOD CO 80112 7208755700 000000000 GCI Liberty, Inc. 2026-06-04 4 Y
480 2078416 Liberty Live Holdings, Inc. Liberty Live Holdings Liberty Live Holdings, Inc. LLYVB LLYVA|LLYVB|LLYVK OTC NV NV Y 7900 Services-Amusement & Recreation Services operating / Emerging growth company smaller_reporting_<75M 12300 LIBERTY BLVD. ENGLEWOOD CO 80112 12300 LIBERTY BLVD. ENGLEWOOD CO 80112 888-789-8415 332910829 2026-05-13 8-K Y
481 1172178 LIBERTY STAR URANIUM & METALS CORP. Liberty Star Uranium & Metals Liberty Star Uranium & Metals Corp. LBSR LBSR OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2 EAST CONGRESS ST. STE 900 TUCSON AZ 85701 2 EAST CONGRESS ST. TUCSON AZ 85701 520-425-1433 270019071 LIBERTY STAR GOLD CORP|TITANIUM INTELLIGENCE INC 2026-06-01 8-K Y
482 1407704 LINGERIE FIGHTING CHAMPIONSHIPS, INC. Lingerie Fighting Championships Lingerie Fighting Championships, Inc. BOTY BOTY OTC NV NV Y 7900 Services-Amusement & Recreation Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 6955 NORTH DURANGO DRIVE SUITE 1115-129 LAS VEGAS NV 89149 6955 NORTH DURANGO DRIVE LAS VEGAS NV 89149 702-505-0743 208009362 CALA ENERGY CORP.|XODTEC LED, INC.|Xodtec Group USA, Inc.|Sparking Events, Inc. 2026-05-20 10-Q Y
483 2065821 Little West Holdings Inc. Little West Holdings Little West Holdings Inc. LILW LILW NV NV Y 2080 Beverages other smaller_reporting_<75M 426 E 58TH STREET LOS ANGELES CA 90011 426 E 58TH STREET LOS ANGELES CA 90011 (323) 412-0682 334089960 2026-04-14 S-1/A Y
484 1593549 Livento Group, Inc. Livento Group Livento Group, Inc. LIVG LIVG OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 17 STATE STREET NEW YORK NY 10004 17 STATE STREET NEW YORK NY 10004 980 432 8241 493999052 NuGene International, Inc.|Bling Marketing, Inc. 2026-05-15 10-Q Y
485 1566826 LogicMark, Inc. LogicMark LogicMark, Inc. LGMK LGMK OTC NV NV Y 3842 Orthopedic, Prosthetic & Surgical Appliances & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2801 DIODE LANE LOUISVILLE KY 40299 2801 DIODE LANE LOUISVILLE KY 40299 (502) 442-7911 460678374 Nxt-ID, Inc. 2026-05-15 8-K Y
486 1892316 Longduoduo Co Ltd Longduoduo Co Longduoduo Co Ltd LDDD LDDD OTC NV NV Y 8000 Services-Health Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M G3-5-8016, SHUI'AN TOWN, RUYI HEADQUARTE HOHHOT ECONOMIC DEVELOPMENT ZONE HOHHOT 010000 G3-5-8016, SHUI'AN TOWN, RUYI HEADQUARTE HOHHOT 010000 86 (0472) 510 4980 372018431 2026-05-12 10-Q Y
487 1726079 Lucent, Inc. Lucent Lucent, Inc. LUCN LUCN OTC NV NV Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5151 CALIFORNIA AVE. SUITE 100 IRVINE CA 92617 5151 CALIFORNIA AVE. IRVINE CA 92617 949-251-1470 834057513 Tipmefast, Inc. 2025-12-31 8-K Y
488 1960262 LUDWIG ENTERPRISES, INC. Ludwig Enterprises Ludwig Enterprises, Inc. LUDG LUDG OTC NV NV Y 8071 Services-Medical Laboratories operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 3160 NW 1 AVENUE POMPANO BEACH FL 33064 3160 NW 1 AVENUE POMPANO BEACH FL 33064 786-235-9026 611133438 2026-05-29 10-Q Y
489 831378 LVPAI GROUP Ltd LVPAI GROUP LVPAI GROUP Ltd LVPA LVPA OTC NV NV Y 6799 Investors, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 110 WALL STREET SUITE 15C NEW YORK NY 10005 50 WEST LIBERTY STREET, SUITE 880 RENO NV 89501 2127018527 760251547 FINOTEC GROUP INC|ONLINE INTERNATIONAL CORP /NV/|CONDOR WEST CORP 2026-05-18 10-K Y
490 1753373 M2i Global, Inc. M2i Global M2i Global, Inc. MTWO MTWO OTC NV NV Y 5050 Wholesale-Metals & Minerals (No Petroleum) operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 885 TAHOE BLVD. INCLINE VILLAGE NV 89451 885 TAHOE BLVD. INCLINE VILLAGE NV 89451 (775) 909-6000 000000000 INKY INC. 2026-05-15 10-Q Y
491 1977837 MADE IN USA INC. Made in Usa Made in Usa Inc. USDW USDW OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating / Emerging growth company smaller_reporting_<75M 1712 PIONEER AVENUE, SUITE 500 CHEYENNE WY 82001 1712 PIONEER AVENUE, CHEYENNE WY 82001 561-789-1139 371922983 ALIXO-YOLLOO Corp|ALIXO-YOLLO Corp|ALIXO-YOLLOO CORP. 2026-06-02 SCHEDULE 13G Y
492 1318268 Madison Technologies Inc. Madison Technologies Madison Technologies Inc. MDEX MDEX OTC NV NV Y 5900 Retail-Miscellaneous Retail operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2500 WESTCHESTER AVENUE SUITE 401 PURCHASE NY 10577 2500 WESTCHESTER AVENUE PURCHASE NY 10577 (212) 257-4193 000000000 MADISON EXPLORATIONS, INC.|Madison Explorations Inc.|MADISON EXPLORATIONS INC. 2026-05-18 10-Q Y
493 1515317 MAGELLAN COPPER & GOLD Corp MAGELLAN COPPER & GOLD MAGELLAN COPPER & GOLD Corp MAGE MAGE OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 602 CEDAR STREET SUITE 205 WALLACE ID 83873 602 CEDAR STREET WALLACE ID 83873 707-291-6198 273566922 MAGELLAN COPPER & GOLD INC.|MAGELLAN GOLD Corp 2026-05-15 10-Q Y
494 1439264 Marvion Inc. Marvion Marvion Inc. MVNC MVNC OTC NV NV Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M UNIT B, 15/F, TEDA BUILDING 87 WING LOK STREET SHEUNG WAN UNIT B, 15/F, TEDA BUILDING SHEUNG WAN 852 2111 4437 262723015 Bonanza Goldfields Corp.|Bonanza Goldfield Corp. 2026-05-14 10-Q Y
495 1404593 Medical Care Technologies Inc. Medical Care Technologies Medical Care Technologies Inc. MDCE MDCE OTC NV NV Y 7389 Services-Business Services, NEC operating smaller_reporting_<75M 1910 S STAPLEY DRIVE SUITE 221 MESA AZ 85204 1910 S STAPLEY DRIVE MESA AZ 85204 480-645-0750 000000000 AM OIL RESOURCES & TECHNOLOGY INC.|Aventerra Explorations, Inc. 2026-04-22 1-A Y
496 1827855 Medicale Corp. Medicale Medicale Corp. MCLE MCLE OTC NV NV Y 8000 Services-Health Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 9314 FOREST HILL BLVD #929 WELLINGTON FL 33411 9314 FOREST HILL BLVD WELLINGTON FL 33411 407-245-7339 981556944 2026-02-17 10-Q Y
497 1931055 Medinotec Inc. Medinotec Medinotec Inc. MDNC MDNC OTC NV NV Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M NORTHLANDS DECO PARK, 10 NEW MARKET ST. STAND 299 AVANT GARDE AVENUE JOHANNESBURG 2169 NORTHLANDS DECO PARK, 10 NEW MARKET ST. JOHANNESBURG 2169 27 87 330 2301 364990343 2026-05-28 10-K Y
498 1520118 MedWellAI, Inc. MedWellAI MedWellAI, Inc. MWAI MWAI OTC NV NV Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2380 DREW STREET SUITE 3 CLEARWATER FL 33765 2380 DREW STREET CLEARWATER FL 33765 813-358-4400 821725385 INTEGRATED VENTURES, INC.|EMS FIND, INC.|LIGHTCOLLAR, INC. 2026-05-05 10-Q Y
499 924095 Metavesco, Inc. Metavesco Metavesco, Inc. MVCO MVCO OTC NV NV Y 6199 Finance Services operating Non-accelerated filer smaller_reporting_<75M 300 EAST MAIN STREET NORFOLK VA 23510 410 PEACHTREE PKWY CUMMING GA 30041 678-341-5898 541694665 WATERSIDE CAPITAL CORP|EASTERN VIRGINIA SMALL BUSINESS INVESTMENT CORP 2025-07-25 253G1 Y
500 1309251 MICROALLIANCE GROUP INC. Microalliance Group Microalliance Group Inc. MALG MALG OTC NV NV Y 2080 Beverages operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 701 S. CARSON STREET, SUITE 200 CARSON CITY NV 89701 701 S. CARSON STREET, SUITE 200 CARSON CITY NV 89701 604-331-1459 861098668 FOUNTAIN HEALTHY AGING, INC.|IMMUREBOOST, INC.|eSavingsStore.com, Inc.|Celtic Cross Ltd. 2025-07-24 D Y
501 1854816 Minerva Gold Inc. Minerva Gold Minerva Gold Inc. MINR MINR OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 12/1 KUNAYEV STR, IA 17 NUR-SULTAN 1P 010000 12/1 KUNAYEV STR, IA 17 NUR-SULTAN 1P 010000 (725) 225-1800 981588963 2026-05-11 10-K Y
502 802257 Mitesco, Inc. Mitesco Mitesco, Inc. MITI MITI OTC NV NV Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 505 BEACHLAND BLVD., SUITE 1377 VERO BEACH FL 32963 505 BEACHLAND BLVD., SUITE 1377 VERO BEACH FL 32963 844-383-8689 000000000 True Nature Holding, Inc.|Trunity Holdings, Inc.|BRAIN TREE INTERNATIONAL INC 2026-06-08 8-K Y
503 1440799 MMEX Resources Corp MMEX Resources MMEX Resources Corp MMEX MMEX OTC NV NV Y 7819 Services-Allied To Motion Picture Production operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3600 DICKINSON FORT STOCKTON TX 79735 3600 DICKINSON FORT STOCKTON TX 79735 855-880-0400 261749145 MMEX Mining Corp|Management Energy, Inc.|MGMT ENERGY, INC.|Quantum Information, Inc. 2026-04-21 8-K Y
504 1447380 MOBIVITY HOLDINGS CORP. Mobivity Holdings Mobivity Holdings Corp. MFON MFON OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3133 WEST FRYE ROAD SUITE 215 CHANDLER AZ 85226 3133 WEST FRYE ROAD CHANDLER AZ 85226 877-282-7660 263439095 COMMERCETEL CORP|ARES VENTURES CORP. 2026-03-31 8-K Y
505 1611046 ModuLink Inc. ModuLink ModuLink Inc. MDLK MDLK OTC NV NV Y 7000 Hotels, Rooming Houses, Camps & Other Lodging Places operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M UNIT 2, LEVEL 6, WESTIN CENTRE 26 HUNG TO ROAD, KWUN TONG HONG KONG UNIT 2, LEVEL 6, WESTIN CENTRE HONG KONG 888-493-8028 465692180 International Endeavors Corp 2026-05-20 10-Q Y
506 1671132 Music Licensing Inc. Music Licensing Music Licensing Inc. SONG SONG OTC NV NV Y 7900 Services-Amusement & Recreation Services other smaller_reporting_<75M 3811 AIRPORT PULLING ROAD NORTH SUITE 203 NAPLES FL 34105 3811 AIRPORT PULLING ROAD NORTH NAPLES FL 34105 (833) 227-7683 465145215 Nuvus Gro Corp|HempTech Corp 2026-02-06 SCHEDULE 13D Y
507 1556801 My City Builders, Inc. My City Builders My City Builders, Inc. MYCB MYCB OTC NV NV Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 100 BISCAYNE BLVD., #1611 MIAMI FL 33132 100 BISCAYNE BLVD., #1611 MIAMI FL 33132 786-553-4006 273816969 iMine Corp|DIAMANTE MINERALS, INC.|OCONN INDUSTRIES CORP 2026-06-05 10-Q Y
508 1703625 NAPC Defense, Inc. NAPC Defense NAPC Defense, Inc. BLIS BLIS OTC NV NV Y 7310 Services-Advertising operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1501 LAKE AVE SE LARGO FL 33771 1501 LAKE AVE SE LARGO FL 33771 (754) 242-6272 000000000 Treasure & Shipwreck Recovery, Inc.|BELISS CORP. 2026-06-08 8-K Y
509 1605481 Nevada Canyon Gold Corp. Nevada Canyon Gold Nevada Canyon Gold Corp. NGLD NGLD OTC NV NV Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5655 RIGGINS COURT SUITE 15 RENO NV 89502 5655 RIGGINS COURT RENO NV 89502 888-909-5548 465152859 Tech Foundry Ventures, Inc. 2026-06-05 8-K Y
510 1132509 New Momentum Corp. New Momentum New Momentum Corp. NNAX NNAX OTC NV NV Y 8741 Services-Management Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 150 CECIL STREET, #08-01 SINGAPORE U0 069543 150 CECIL STREET, #08-01 SINGAPORE U0 069543 65 3105 1428 880435998 Eason Education Kingdom Holdings, Inc.|HAN LOGISTICS INC 2026-03-31 NT 10-K Y
511 1371128 NewHydrogen, Inc. NewHydrogen NewHydrogen, Inc. NEWH NEWH OTC NV NV Y 3081 Unsupported Plastics Film & Sheet operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 27936 VISTA CANYON BLVD Suite 202 Santa Clarita CA 91387 27936 VISTA CANYON BLVD Santa Clarita CA 91387 6612510001 000000000 BioSolar Inc 2026-05-15 10-Q Y
512 1289223 Newport Gold, Inc. Newport Gold Newport Gold, Inc. NWPG OTC NV NV Y 1040 Gold and Silver Ores operating smaller_reporting_<75M 1495 RIDGEVIEW DRIVE SUITE 220 RENO NV 89509 1495 RIDGEVIEW DRIVE RENO NV 89509 905-542-4990 000000000 2026-04-22 D Y
513 1593001 NightFood Holdings, Inc. NightFood Holdings NightFood Holdings, Inc. NGTF NGTF OTC NV NV Y 3590 Misc Industrial & Commercial Machinery & Equipment operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 500 WHITE PLAINS ROAD SUITE 520 TARRYTOWN NY 10591 500 WHITE PLAINS ROAD TARRYTOWN NY 10591 866-291-7778 463885019 2026-05-20 10-Q Y
514 772263 NITCHES INC Nitches Nitches Inc NICH OTC NV NV Y 2330 Women's, Misses': and Juniors Outerwear operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1333 N. BUFFALO DR. UNIT 210 LAS VEGAS NV 89128 1333 N. BUFFALO DR. LAS VEGAS NV 89128 858-625-2633 952848021 BEEBAS CREATIONS INC 2026-01-08 15-12G Y
515 1603793 Norris Industries, Inc. Norris Industries Norris Industries, Inc. NRIS NRIS OTC NV NV Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 102 PALO PINTO ST. SUITE B WEATHERFORD TX 76086 102 PALO PINTO ST. WEATHERFORD TX 76086 8558096900 465034746 INTERNATIONAL WESTERN PETROLEUM, INC. 2026-05-29 10-K Y
516 1415744 NORTHERN MINERALS & EXPLORATION LTD. Northern Minerals & Exploration Northern Minerals & Exploration Ltd. NMEX NMEX OTC NV NV Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1301 AVENUE M CISCO TX 76437 P.O. BOX 31 CISCO TX 76437 254-442-2627 000000000 Punchline Resources Ltd.|Punchline Entertainment, Inc. 2026-06-05 8-K Y
517 827099 Ocean Thermal Energy Corp Ocean Thermal Energy Ocean Thermal Energy Corp CPWR CPWR OTC NV NV Y 4931 Electric & Other Services Combined operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3675 MARKET STREET SUITE 200 PHILADELPHIA PA 19104 3675 MARKET STREET PHILADELPHIA PA 19104 (717) 299-1344 205081381 TETRIDYN SOLUTIONS INC|CREATIVE VENDING CORP 2026-05-12 10-Q Y
518 1626644 Odyssey Health, Inc. Odyssey Health Odyssey Health, Inc. ODYY ODYY OTC NV NV Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2300 WEST SAHARA AVENUE SUITE 800-#4012 LAS VEGAS NV 89102 2300 WEST SAHARA AVENUE LAS VEGAS NV 89102 702-780-6559 471022125 Odyssey Group International, Inc. 2026-05-26 8-K Y
519 1848334 OKMIN RESOURCES, INC. Okmin Resources Okmin Resources, Inc. OKMN OKMN OTC NV NV Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 16501 VENTURA BLVD. SUITE 400 ENCINO CA 91436 16501 VENTURA BLVD. ENCINO CA 91436 818-201-3727 854401166 2026-05-15 10-Q Y
520 1682265 Onar Holding Corp Onar Holding Onar Holding Corp ONAR ONAR OTC NV NV Y 1700 Construction - Special Trade Contractors operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 8605 SANTA MONICA BOULEVARD PMB 36522 LOS ANGELES CA 90069 8605 SANTA MONICA BOULEVARD LOS ANGELES CA 90069 213-437-3081 472200506 Reliant Holdings, Inc. 2026-06-01 DEF 14C Y
521 1622244 One World Products, Inc. One World Products One World Products, Inc. OWPC OWPC OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 6605 GRAND MONTECITO PKWY SUITE 100 LAS VEGAS NV 89149 6605 GRAND MONTECITO PKWY LAS VEGAS NV 89149 7026050605 611744826 One World Pharma, Inc.|PUNTO GROUP, CORP. 2026-03-31 NT 10-K Y
522 1388295 OneMeta Inc. OneMeta OneMeta Inc. ONEI ONEI OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1 HAMPSHIRE COURT NEWPORT BEACH, CA 92660 1 HAMPSHIRE COURT NEWPORT BEACH, CA 92660 949-642-7816 205150818 WebSafety, Inc.|Blindspot Alert, Inc.|Promotions on Wheels Holdings, Inc. 2026-05-26 SEC STAFF ACTION Y
523 1419793 ORIGINCLEAR, INC. Originclear Originclear, Inc. OCLN OCLN OTC NV NV Y 3559 Special Industry Machinery, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 600 CLEVELAND ST SUITE 307 CLEARWATER FL 33755 600 CLEVELAND ST CLEARWATER FL 33755 727-476-1330 260287664 ORIGINOIL INC 2026-05-29 10-Q Y
524 1854183 Orion Bliss Corp. Orion Bliss Orion Bliss Corp. ORIB ORIB OTC NV NV Y 2840 Soap, Detergents, Cleang Preparations, Perfumes, Cosmetics operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M KALONITE 9-57 ASHDOD 7724233 KALONITE 9-57 ASHDOD 7724233 307-298-0969 981591444 2026-02-17 10-Q Y
525 1994582 Oyocar Group Inc. Oyocar Group Oyocar Group Inc. OYCG OYCG OTC NV NV Y 5500 Retail-Auto Dealers & Gasoline Stations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M COLINAS MARINAS, MARBELLAS, VILLA 10 SOSUA G8 57000 COLINAS MARINAS, MARBELLAS, VILLA 10 SOSUA G8 57000 1-829-859-0389 981742455 2026-04-13 10-Q Y
526 1751707 OZ VISION INC. Oz Vision Oz Vision Inc. OZVN UNXP|OZVN OTC NV NV Y 4700 Transportation Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 4345 W. POST RD LAS VEGAS NV 89118 4345 W. POST RD LAS VEGAS NV 89118 949-350-0123 821965608 United Express Inc. 2026-05-15 10-Q Y
527 1679817 OZOP ENERGY SOLUTIONS, INC. Ozop Energy Solutions Ozop Energy Solutions, Inc. OZSC OZSC OTC NV NV Y 3690 Miscellaneous Electrical Machinery, Equipment & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 55 RONALD REAGAN BLVD. WARWICK NY 10990 55 RONALD REAGAN BLVD. WARWICK NY 10990 (845) 544-5112 352540672 OZOP SURGICAL CORP.|Newmarkt Corp. 2026-05-22 10-Q Y
528 1620749 Panamera Holdings Corp Panamera Holdings Panamera Holdings Corp PHCI PHCI OTC NV NV Y 8742 Services-Management Consulting Services operating / Emerging growth company smaller_reporting_<75M 2000 WEST LOOP SOUTH, SUITE 1820 HOUSTON TX 77056 2000 WEST LOOP SOUTH, SUITE 1820 HOUSTON TX 77056 713-878-7200 465707326 PANAMERA HEALTHCARE Corp 2026-05-12 8-K Y
529 1297937 PARKS AMERICA, INC Parks America Parks America, Inc PRKA PRKA OTC NV NV Y 7990 Services-Miscellaneous Amusement & Recreation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1300 OAK GROVE RD PINE MOUNTAIN GA 31822 1300 OAK GROVE RD PINE MOUNTAIN GA 31822 706-663-8744 910626756 GREAT AMERICAN FAMILY PARKS INC 2026-05-11 10-Q Y
530 1080448 PATRIOT GOLD CORP Patriot Gold Patriot Gold Corp PGOL PGOL OTC NV NV Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 401 RYLAND STREET SUITE 180 RENO NV 89502 401 RYLAND STREET RENO NV 89502 702-456-9565 860947048 NORTHERN OSTRICH CORP 2026-05-15 10-Q Y
531 1609258 PetroGas Co PetroGas PetroGas Co PTCO PTCO OTC NV NV Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 2800 POST OAK BOULEVARD SUITE 4100 HOUSTON TX 77056 2800 POST OAK BOULEVARD HOUSTON TX 77056 (806) 375-3338 981153516 America Resources Exploration Inc.|Alazzio Entertainment Corp 2026-02-05 10-Q Y
532 1512922 PetVivo Holdings, Inc. PetVivo Holdings PetVivo Holdings, Inc. PETV PETV|PETVW OTC NV NV Y 3841 Surgical & Medical Instruments & Apparatus operating / Emerging growth company smaller_reporting_<75M 5251 EDINA INDUSTRIAL BLVD EDINA MN 55439 5251 EDINA INDUSTRIAL BLVD EDINA MN 55439 (952) 217-4952 990363559 Technologies Scan Corp 2026-06-01 4 Y
533 1710495 PINEAPPLE EXPRESS CANNABIS Co PINEAPPLE EXPRESS CANNABIS PINEAPPLE EXPRESS CANNABIS Co PNXP PNXP OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 300 PEACHTREE STREET NE #1775 ATLANTA GA 30009 300 PEACHTREE STREET NE ATLANTA GA 30009 404-734-3277 364864568 MINARO CORP 2026-05-05 8-K Y
534 1813452 Planet 13 Holdings Inc. Planet 13 Holdings Planet 13 Holdings Inc. PLNH PLNH OTC NV NV Y 0100 Agricultural Production-Crops operating / Emerging growth company smaller_reporting_<75M 2548 WEST DESERT INN ROAD LAS VEGAS NV 89109 4675 W. TECO AVE. LAS VEGAS NV 89118 702-815-1313 832787199 2026-05-15 8-K Y
535 1265521 Polomar Health Services, Inc. Polomar Health Services Polomar Health Services, Inc. PMHS PMHS OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 32866 US HWY. 19 N PALM HARBOR FL 34684 32866 US HWY. 19 N PALM HARBOR FL 34684 800-490-7454 861006313 Trustfeed Corp.|HEALTHMED SERVICES LTD 2026-06-01 10-Q Y
536 1350156 PREAXIA HEALTH CARE PAYMENT SYSTEMS INC. Preaxia Health Care Payment Systems Preaxia Health Care Payment Systems Inc. PAXH OTC NV NV Y 5700 Retail-Home Furniture, Furnishings & Equipment Stores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M PO BOX 368 DUNEDIN FL 34697-0368 PO BOX 368 DUNEDIN FL 34697-0368 (403) 850-4120 204395271 SUN WORLD PARTNERS INC 2026-05-15 10-Q Y
537 1570937 Premier Air Charter Holdings Inc. Premier Air Charter Holdings Premier Air Charter Holdings Inc. PREM PREM OTC NV NV Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2006 PALOMAR AIRPORT ROAD SUITE 210 CARLSBAD CA 92011 2006 PALOMAR AIRPORT ROAD CARLSBAD CA 92011 858-239-0788 990385465 ALTAIR INTERNATIONAL CORP. 2026-05-26 3 Y
538 1128189 ProtoKinetix, Inc. ProtoKinetix ProtoKinetix, Inc. PKTX PKTX OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 109 W. MAIN ST. DALTON OH 44618 109 W. MAIN ST. DALTON OH 44618 330-445-4971 943355026 RJV NETWORK INC 2026-05-15 NT 10-Q Y
539 1141964 PUBLIC CO MANAGEMENT CORP Public Co Management Public Co Management Corp PCMC PCMC OTC NV NV Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9350 WILSHIRE BOULEVARD SUITE 203 BEVERLY HILLS CA 90212 9350 WILSHIRE BOULEVARD BEVERLY HILLS CA 90212 310-862-1957 880496188 MYOFFIZ, INC.|MYOFFIZ INC 2026-05-12 10-Q Y
540 1575858 Purebase Corp Purebase Purebase Corp PUBC PUBC OTC NV NV Y 2870 Agricultural Chemicals operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 8631 STATE HIGHWAY 124 P.O. BOX 757 IONE CA 95640 8631 STATE HIGHWAY 124 IONE CA 95640 (530) 676-7873 272060863 Port of Call Online Inc. 2026-06-01 8-K Y
541 856984 QHSLab, Inc. QHSLab QHSLab, Inc. USAQ USAQ OTC NV NV Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 901 NORTHPOINT PARKWAY SUITE 302 WEST PALM BEACH FL 33407 901 NORTHPOINT PARKWAY WEST PALM BEACH FL 33407 (929) 379-6503 112655906 USA EQUITIES CORP.|AMERICAN BIOGENETIC SCIENCES INC 2026-05-26 8-K Y
542 1103795 QS Energy, Inc. QS Energy QS Energy, Inc. QSEP QSEP OTC NV NV Y 3533 Oil & Gas Field Machinery & Equipment operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 23902 FM 2978 TOMBALL TX 77375 23902 FM 2978 TOMBALL TX 77375 775-300-7647 522088326 SAVE THE WORLD AIR INC 2026-05-15 10-Q Y
543 1393781 Quality Industrial Corp. Quality Industrial Quality Industrial Corp. QIND QIND OTC NV NV Y 3590 Misc Industrial & Commercial Machinery & Equipment operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 505 MONTGOMERY STREET FLOOR 11 SAN FRANCISCO CA 94111 505 MONTGOMERY STREET FLOOR 11 SAN FRANCISCO CA 94111 800-706-0806 352675388 WIKISOFT CORP.|POWER PLAY DEVELOPMENT CORP 2026-05-15 10-Q Y
544 1663038 Quantum Genesis AI Corp. Quantum Genesis AI Quantum Genesis AI Corp. QTZM QTZM|QGAI NV NV Y 2860 Industrial Organic Chemicals operating / Emerging growth company smaller_reporting_<75M 15656 BERNARDO CENTER DRIVE, #801 SAN DIEGO CA 92127 15656 BERNARDO CENTER DRIVE, #801 SAN DIEGO CA 92127 858-216-7676 364806481 Quantumzyme Corp.|Reliant Service Inc 2026-04-15 10-Q/A Y
545 1101433 QUOTEMEDIA INC Quotemedia Quotemedia Inc QMCI QMCI OTC NV NV Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 17100 E SHEA BLVD SUITE 230 FOUNTAIN HILLS AZ 85268 17100 E SHEA BLVD FOUNTAIN HILLS AZ 85268 4809057311 912008633 QUOTEMEDIA INC|QUOTEMEDIA COM INC 2026-05-14 10-Q Y
546 1872292 Rainmaker Worldwide Inc. Rainmaker Worldwide Rainmaker Worldwide Inc. RAKR RAKR OTC NV NV Y 2086 Bottled & Canned Soft Drinks & Carbonated Waters operating / Emerging growth company smaller_reporting_<75M 2510 EAST SUNSET ROAD SUITE 5 #925 LAS VEGAS NV 89120 2510 EAST SUNSET ROAD LAS VEGAS NV 89120 877-334-3820 824346844 2026-04-24 8-K Y
547 1438943 RANGE IMPACT, INC. Range Impact Range Impact, Inc. RNGE RNGE OTC NV NV Y 1600 Heavy Construction Other Than Bldg Const - Contractors operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 200 PARK AVENUE SUITE 400 CLEVELAND OH 44122 200 PARK AVENUE CLEVELAND OH 44122 530-231-7800 753268988 MALACHITE INNOVATIONS, INC.|Vitality Biopharma, Inc.|Stevia First Corp.|Legend Mining Inc. 2026-06-03 8-K Y
548 1415397 Raphael Pharmaceutical Inc. Raphael Pharmaceutical Raphael Pharmaceutical Inc. RAPH RAPH OTC NV NV Y 2833 Medicinal Chemicals & Botanical Products operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M SUITE 105 - 5348 VEGAS DR. LAS VEGAS NV 89108 SUITE 105 - 5348 VEGAS DR. LAS VEGAS NV 89108 702-442-1166 260204284 Easy Energy Inc 2026-05-14 10-Q Y
549 1910975 Rapid Line Inc. Rapid Line Rapid Line Inc. RPDL RPDL OTC NV NV Y 8200 Services-Educational Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1111 SOUTH ROOP STREET #1915 CARSON CITY NV 89702 1111 SOUTH ROOP STREET CARSON CITY NV 89702 415-841-3570 372039216 2026-06-01 10-Q Y
550 2126221 Recreatives Industries, Inc. Recreatives Industries Recreatives Industries, Inc. RECX OTC NV NV Y other smaller_reporting_<75M 1936 59TH TERRACE EAST BRADENTON FL 34203 1936 59TH TERRACE EAST BRADENTON FL 34203 (800) 255-2511 873525932 2026-05-22 1-A Y
551 1589150 Regen BioPharma Inc Regen BioPharma Regen BioPharma Inc RGBP RGBP|RGBPP OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4700 SPRING ST #304 LA MESA CA 91942 4700 SPRING ST #304 LA MESA CA 91942 619-722-5505 455192997 2026-05-14 10-Q Y
552 1357878 REGENEREX PHARMA, INC. Regenerex Pharma Regenerex Pharma, Inc. RGPX RGPX OTC NV NV Y 2834 Pharmaceutical Preparations operating / Emerging growth company smaller_reporting_<75M 5348 VEGAS DRIVE, SUITE 177 LAS VEGAS NV 89108 5348 VEGAS DRIVE, SUITE 177 LAS VEGAS NV 89108 305-927-5191 980479983 PEPTIDE TECHNOLOGIES, INC.|Eternelle Skincare Products Inc.|CREENERGY Corp|ONLINE ORIGINALS, INC 2026-05-06 8-K Y
553 1412126 RemSleep Holdings Inc. RemSleep Holdings RemSleep Holdings Inc. RMSL RMSL OTC NV NV Y 7200 Services-Personal Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 14175 ICOT BVLD. SUITE 300 CLEARWATER FL 33760 14175 ICOT BVLD. SUITE 300 CLEARWATER FL 33760 (727) 955-4465 383759675 OBICOM, INC.|Kat Gold Holdings Corp.|Bella Viaggio, Inc. 2026-06-04 8-K Y
554 1335288 ReoStar Energy CORP ReoStar Energy ReoStar Energy CORP REOS REOS OTC NV NV Y 1382 Oil & Gas Field Exploration Services operating smaller_reporting_<75M 87 N. RAYMOND AVE SUITE 200 PASADENA CA 91103 87 N. RAYMOND AVE PASADENA CA 91103 1-817-989-7367 208428738 GOLDRANGE RESOURCES, INC. 2026-04-29 1-K Y
555 897078 Resonate Blends, Inc. Resonate Blends Resonate Blends, Inc. KOAN KOAN OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 26565 AGOURA RD., SUITE 200, CALABASAS CA 91302 26565 AGOURA RD., CALABASAS CA 91302 571-888-0009 581588291 Textmunication Holdings, Inc.|FIRSTWAVE TECHNOLOGIES INC|BROCK INTERNATIONAL INC|BROCK CONTROL SYSTEMS INC 2025-07-22 15-12G/A Y
556 1785493 RHINO BITCOIN INC. Rhino Bitcoin Rhino Bitcoin Inc. RHNO RHNO OTC NV NV Y 1700 Construction - Special Trade Contractors operating / Emerging growth company smaller_reporting_<75M 1200 BRICKELL AVENUE #310 MIAMI FL 33131 1200 BRICKELL AVENUE #310 MIAMI FL 33131 888-854-3824 611907981 Phoenix Plus Corp. 2026-04-15 8-K/A Y
557 1424864 Rise Gold Corp. Rise Gold Rise Gold Corp. RYES RYES OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1250 - 625 HOWE STREET VANCOUVER V6C 2T6 1250 - 625 HOWE STREET VANCOUVER V6C 2T6 604-999-4136 300692325 Rise Resources Inc.|Patriot Minefinders Inc.|Atlantic Resources Inc. 2026-05-22 8-K Y
558 1970743 RMX INDUSTRIES, INC. Rmx Industries Rmx Industries, Inc. RMXI RMXI OTC NV NV Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 4514 COLE AVE STE. 600 DALLAS TX 75205 4514 COLE AVE DALLAS TX 75205 619-977-7203 882960484 Reticulate Micro, Inc. 2026-05-19 10-Q Y
559 2034288 Rocky Mountains Group Ltd Rocky Mountains Group Rocky Mountains Group Ltd RMGL OTC NV NV Y 8200 Services-Educational Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M E 242 BUCKLANDS BEACH ROAD BUCKLANDS BEACH AUCKLAND Q2 2012 E 242 BUCKLANDS BEACH ROAD AUCKLAND Q2 2012 61 4 05223877 932609396 2026-05-04 8-A12G Y
560 1893657 Rubber Leaf Inc Rubber Leaf Rubber Leaf Inc RLEA RLEA OTC NV NV Y 3714 Motor Vehicle Parts & Accessories operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M QIXING ROAD, WENG'AO INDUSTRIAL ZONE CHUNHU SUBDISTRICT, FENGHUA DISTRICT NINGBO, ZHEJIANG F4 315506 QIXING ROAD, WENG'AO INDUSTRIAL ZONE NINGBO, ZHEJIANG F4 315506 86-18217730800 320655276 2026-06-03 S-1/A Y
561 1128281 Saker Aviation Services, Inc. Saker Aviation Services Saker Aviation Services, Inc. SKAS SKAS OTC NV NV Y 4581 Airports, Flying Fields & Airport Terminal Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 885 2ND AVENUE NEW YORK NY 10017 885 2ND AVENUE NEW YORK NY 10017 212-909-9500 870617649 FirstFlight, Inc.|FBO AIR, INC.|SHADOWS BEND DEVELOPMENT INC 2026-05-15 10-Q Y
562 1277575 SAXON CAPITAL GROUP INC Saxon Capital Group Saxon Capital Group Inc SCGX SCGX OTC NV NV Y 1311 Crude Petroleum & Natural Gas operating smaller_reporting_<75M 7740 E EVANS RD SCOTTSDALE AZ 85260 7740 E GRAY RD SCOTTSDALE AZ 85260 480-385-3893 300220588 USA SUPERIOR ENERGY HOLDINGS, INC.|COMLINK COMMUNICATIONS CO 2026-04-23 D Y
563 2032609 Scientist Home Future Health Ltd Scientist Home Future Health Scientist Home Future Health Ltd SHFH SHFH OTC NV NV Y 2844 Perfumes, Cosmetics & Other Toilet Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 3/F, MOW HING INDUSTRIAL BUILDING 205 WAI YIP STREET KWUN TONG K3 00000 3/F, MOW HING INDUSTRIAL BUILDING KWUN TONG K3 00000 85257023076 000000000 2026-05-14 10-Q Y
564 1763660 SEATech Ventures Corp. SEATech Ventures SEATech Ventures Corp. SEAV SEAV OTC NV NV Y 7380 Services-Miscellaneous Business Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 11-05&11-06, TOWER A, AVE 3 VERTICAL BUSINESS SUITE, BANGSAR SOUTH, KUALA LUMPUR N8 59200 11-05&11-06, TOWER A, BANGSAR SOUTH, KUALA LUMPUR N8 59200 60322421288 611992326 2026-05-27 DEF 14C Y
565 1358633 SENTIENT BRANDS HOLDINGS INC. Sentient Brands Holdings Sentient Brands Holdings Inc. SNBH SNBH OTC NV NV Y 5734 Retail-Computer & Computer Software Stores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 590 MADISON AVE 21ST, FLOOR NEW YORK NY 10022 590 MADISON AVE NEW YORK NY 10022 646-202-2897 200956471 Intelligent Buying, Inc. 2026-05-22 3 Y
566 889353 Sentinel Holdings Ltd. Sentinel Holdings Sentinel Holdings Ltd. SNTL SNTL OTC NV NV Y 7200 Services-Personal Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1793 LAFAYETTE ST 2ND FL SANTA CLARA CA 95050 1793 LAFAYETTE ST 2ND FL SANTA CLARA CA 95050 801-706-9429 954363944 James Maritime Holdings Inc.|OUT TAKES INC 2026-06-05 10-K Y
567 794998 SETO HOLDINGS INC Seto Holdings Seto Holdings Inc SETO SETO OTC NV NV Y 3540 Metalworkg Machinery & Equipment operating smaller_reporting_<75M 554 NORTH STATE ROAD BRIARCLIFF MANOR NY 10510 554 NORTH STATE ROAD BRIARCLIFF MANOR NY 10510 9142731400 770082545 SEMICON TOOLS INC /NV/ 2025-12-19 QUALIF Y
568 819926 SHARING ECONOMY INTERNATIONAL INC. Sharing Economy International Sharing Economy International Inc. SEII SEII OTC NV NV Y 7373 Services-Computer Integrated Systems Design operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9205 COUNTRY CLUB DRIVE FARMINGTON HILLS MI 48221 9205 COUNTRY CLUB DRIVE FARMINGTON HILLS MI 48221 248-971-9325 900648920 Cleantech Solutions International, Inc.,|China Wind Systems, Inc|MALEX INC 2026-06-03 8-K Y
569 1031093 SILVER BULL RESOURCES, INC. Silver Bull Resources Silver Bull Resources, Inc. SVBL SVBL OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 999 WEST HASTINGS STREET, SUITE 1508 VANCOUVER V6C 2W2 999 WEST HASTINGS STREET, SUITE 1508 VANCOUVER V6C 2W2 604-687-5800 911766677 METALLINE MINING CO 2026-04-17 8-K Y
570 1508786 SILVERTON ENERGY, INC. Silverton Energy Silverton Energy, Inc. SLTN OTC NV NV Y 3021 Rubber & Plastics Footwear operating Smaller reporting company smaller_reporting_<75M 17304 PRESTON RD SUITE 1290 DALLAS TX 75252 17304 PRESTON RD DALLAS TX 75252 2148026777 923197364 META GOLD, INC.|TIRELESS STEPS, INC. 2025-08-28 D Y
571 1085277 SKINVISIBLE, INC. Skinvisible Skinvisible, Inc. SKVI SKVI OTC NV NV Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 6320 S SANDHILL ROAD UNIT 9 LAS VEGAS NV 89120 6320 S SANDHILL ROAD LAS VEGAS NV 89120 702-433-7154 880344219 SKINVISIBLE INC 2026-05-13 10-Q Y
572 1546853 Skkynet Cloud Systems, Inc. Skkynet Cloud Systems Skkynet Cloud Systems, Inc. SKKY SKKY OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2233 ARGENTIA ROAD SUITE 302 MISSISSAUGA A6 L5N 2X7 2233 ARGENTIA ROAD MISSISSAUGA A6 L5N 2X7 888-702-7851 453757848 Skyynet Cloud Systems, Inc. 2026-04-28 4 Y
573 1555017 Sky Century Investment, Inc. Sky Century Investment Sky Century Investment, Inc. SKYI SKYI OTC NV NV Y 8741 Services-Management Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 220 EMERALD VISTA WAY #233 LAS VEGAS NV 89144 220 EMERALD VISTA WAY #233 LAS VEGAS NV 89144 205-238-7735 455243254 BAND REP MANAGEMENT, INC.|Band Rep Management, Inc.|SKY CENTURY INVESTMENT INC. 2026-04-14 10-Q Y
574 1817511 SOCIETY PASS INCORPORATED. Society Pass Incorporated. Society Pass Incorporated. SOPAQ SOPAQ OTC NV NV Y 7389 Services-Business Services, NEC operating / Emerging growth company smaller_reporting_<75M 80 ROBINSON ROAD, #17-01B SINGAPORE 068898 80 ROBINSON ROAD, #17-01B SINGAPORE 068898 65 6518-9382 831019155 2026-06-08 8-K Y
575 1071840 SolarWindow Technologies, Inc. SolarWindow Technologies SolarWindow Technologies, Inc. WNDW WNDW OTC NV NV Y 2860 Industrial Organic Chemicals operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 9375 E. SHEA BLVD SUITE 107-B SCOTTSDALE AZ 85260 9375 E. SHEA BLVD SCOTTSDALE AZ 85260 800-213-0689 593509694 NEW ENERGY TECHNOLOGIES, INC.|OCTILLION CORP 2026-05-20 EFFECT Y
576 1427644 Solidus Communications, Inc. Solidus Communications Solidus Communications, Inc. SLDC SLDC OTC NV NV Y 4813 Telephone Communications (No Radiotelephone) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 260 WILLIAMSON BLVD STE 731544 ORMOND BEACH FL 32174 260 WILLIAMSON BLVD ORMOND BEACH FL 32174 7869424449 980546544 Telco Cuba, Inc.|TELCO CUBA, INC..|CaerVision Global, Inc.|American Mineral Group, Inc.|Sungro Minerals Inc. 2025-09-30 QUALIF Y
577 1874138 Sparx Holdings Group, Inc. Sparx Holdings Group Sparx Holdings Group, Inc. SHGI OTC NV NV Y 3585 Air-Cond & Warm Air Heatg Equip & Comm & Indl Refrig Equip operating / Emerging growth company smaller_reporting_<75M 1800D MINERAL SPRING AVENUE, #164 NORTH PROVIDENCE RI 02904 1180 NARRAGANSETT BOULEVARD CRANSTON RI 02905 401-830-9878 923402117 Prime Time Holdings, Inc. 2026-04-07 1-SA Y
578 1840102 SPECIFICITY, INC. Specificity Specificity, Inc. SPTY SPTY OTC NV NV Y 7311 Services-Advertising Agencies operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 408 WARE BLVD SUITE 508 TAMPA FL 33619 408 WARE BLVD TAMPA FL 33619 8133644744 854017786 2026-06-05 10-K/A Y
579 1131903 SPECTRAL CAPITAL Corp SPECTRAL CAPITAL SPECTRAL CAPITAL Corp FCCN FCCN OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4500 9TH AVENUE NE SEATTLE WA 98105 4500 9TH AVENUE NE SEATTLE WA 98105 206-385-6490 880472860 SPECTRA CAPITAL Corp|FUSA CAPITAL CORP|GALAXY CHAMPIONSHIP WRESTLING INC 2026-06-05 10-K/A Y
580 1553788 SPLASH BEVERAGE GROUP, INC. Splash Beverage Group Splash Beverage Group, Inc. SBEVW SBEV|SBEVW OTC NV NV Y 2080 Beverages operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1314 E LAS OLAS BLVD, SUITE 221 FORT LAUDERDALE FL 33301 1314 E LAS OLAS BLVD, SUITE 221 FORT LAUDERDALE FL 33301 954.745.5815 341720075 Canfield Medical Supply, Inc. 2026-06-04 8-K Y
581 1999261 StageWise Strategies Corp. StageWise Strategies StageWise Strategies Corp. STWI STWI OTC NV NV Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M FRIEDRICHSTR. 114A BERLIN 2M 10117 FRIEDRICHSTR. 114A BERLIN 2M 10117 14133076199 612108075 2026-05-20 10-Q/A Y
582 1178660 Standard Dental Labs Inc. Standard Dental Labs Standard Dental Labs Inc. TUTH TUTH OTC NV NV Y 3843 Dental Equipment & Supplies operating smaller_reporting_<75M 424 E CENTRAL BLVD SUITE 308 ORLANDO FL 32801 424 E CENTRAL BLVD ORLANDO FL 32801 321-465-9899 880411500 COSTAS INC 2026-04-24 1-U Y
583 1401835 Star Gold Corp. Star Gold Star Gold Corp. SRGZ SRGZ OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1875 N. LAKEWOOD DR. SUITE 200 COEUR D'ALENE ID 83814 1875 N. LAKEWOOD DR. COEUR D'ALENE ID 83814 208-664-5066 270348508 Elan Development Inc 2026-06-05 8-K Y
584 1539850 Starco Brands, Inc. Starco Brands Starco Brands, Inc. STCB STCB OTC NV NV Y 7311 Services-Advertising Agencies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 250 26TH STREET SUITE 200 SANTA MONICA CA 90402 250 26TH STREET SANTA MONICA CA 90402 818-760-1644 271781753 Insynergy Products, Inc 2026-05-20 10-Q Y
585 1803096 STARGUIDE GROUP, INC. Starguide Group Starguide Group, Inc. STRG STRG OTC NV NV Y 5190 Wholesale-Miscellaneous Nondurable Goods operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 300 E 2ND ST STE 1510 PMB 5010 RENO NV 89501 300 E 2ND ST RENO NV 89501 702-664-0097 611817627 2026-05-01 NT 10-K Y
586 1794942 Stark Focus Group, Inc. Stark Focus Group Stark Focus Group, Inc. SKFG SKFG OTC NV NV Y 5130 Wholesale-Apparel, Piece Goods & Notions operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M SUITE 3001, 505 6TH STREET SW CALGARY A0 T2P 1X5 SUITE 3001, 505 6TH STREET SW CALGARY A0 T2P 1X5 (403) 237-8330 320610316 2026-06-02 10-K Y
587 1795851 Stewards, Inc. Stewards Stewards, Inc. SWRD SWRD OTC NV NV Y 6153 Short-Term Business Credit Institutions other smaller_reporting_<75M 4300 N. UNIVERSITY DRIVE SUITE D-105 LAUDERHILL FL 33351 4300 N. UNIVERSITY DRIVE LAUDERHILL FL 33351 8333286477 880436017 Favo Capital, Inc.|Favo Realty, Inc 2026-06-01 S-1/A Y
588 1493712 Stimcell Energetics Inc. Stimcell Energetics Stimcell Energetics Inc. STME STME OTC NV NV Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 820 - 1130 PENDER STREET, WEST VANCOUVER A1 V6E 4A4 820 - 1130 PENDER STREET, WEST VANCOUVER A1 V6E 4A4 (844) 238-2692 383939625 Cell MedX Corp.|Sports Asylum, Inc.|Plandel Resources, Inc. 2026-04-10 10-Q Y
589 847942 STRATEGIC ACQUISITIONS INC /NV/ Strategic Acquisitions Strategic Acquisitions Inc STQN STQN OTC NV NV Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2464 DARTS COVE WAY (MOUNT PLEASANT) CHARLESTON SOUTH CAROLINA SC 29466-0101 2464 DARTS COVE WAY SOUTH CAROLINA SC 29466-0101 212-878-6532 133506506 2026-05-07 10-Q Y
590 1576197 Strategic Environmental & Energy Resources, Inc. Strategic Environmental & Energy Resources Strategic Environmental & Energy Resources, Inc. SENR SENR OTC NV NV Y 4955 Hazardous Waste Management operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 370 INTERLOCKEN BOULEVARD SUITE 680 BROOMFIELD CO 80021 370 INTERLOCKEN BOULEVARD BROOMFIELD CO 80021 (303)295-6498 020565834 2026-03-31 NT 10-K Y
591 1394108 SUIC Worldwide Holdings Ltd. SUIC Worldwide Holdings SUIC Worldwide Holdings Ltd. SUIC SUIC OTC NV NV Y 2860 Industrial Organic Chemicals operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 136-20 38TH AVE. UNIT 3G FLUSHING NY 11354 136-20 38TH AVE. FLUSHING NY 11354 929-391-2550 472148252 Sino United Worldwide Consolidated Ltd.|AJ GREENTECH HOLDINGS.|AMERICAN JIANYE GREENTECH HOLDINGS, LTD.|Gateway Certifications, Inc. 2026-05-14 10-Q Y
592 1619096 Summit Networks Inc. Summit Networks Summit Networks Inc. SNTW SNTW OTC NV NV Y 4953 Refuse Systems operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1221 BRICKELL AVENUE, SUITE 900 MIAMI FL 33131 1221 BRICKELL AVENUE, SUITE 900 MIAMI FL 33131 305-347-5158 352511257 2026-05-19 10-Q Y
593 1171838 Sundance Strategies, Inc. Sundance Strategies Sundance Strategies, Inc. SUND SUND OTC NV NV Y 6411 Insurance Agents, Brokers & Service operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 4626 NORTH 300 WEST, SUITE 365 PROVO UT 84604 4626 NORTH 300 WEST, SUITE 365 PROVO UT 84604 801-705-8968 880515333 JAVA EXPRESS INC 2026-02-17 10-Q Y
594 1481028 SUNHYDROGEN, INC. Sunhydrogen Sunhydrogen, Inc. HYSR HYSR OTC NV NV Y 3674 Semiconductors & Related Devices operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M BIOVENTURES CENTER 2500 CROSSPARK ROAD CORALVILLE IA 52241 BIOVENTURES CENTER CORALVILLE IA 52241 805-966-6566 000000000 Hypersolar, Inc. 2026-05-08 10-Q Y
595 1624985 SUPA Consolidated Inc. SUPA Consolidated SUPA Consolidated Inc. SFCX SFCX OTC NV NV Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 530 TECHNOLOGY DRIVE SUITE 100 IRVINE CA 92618 530 TECHNOLOGY DRIVE IRVINE CA 92618 844.787.2720 371758469 Tribal Rides International Corp.|XINDA INTERNATIONAL CORP.|TriMax Consulting, Inc. 2026-05-01 10-Q Y
596 1192323 Superstar Platforms Inc. Superstar Platforms Superstar Platforms Inc. SPST SPST OTC NV NV Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 114 JUAN PABLO DUARTE CALLE SANTO DOMINGO NY 00000 P. O. BOX 3143 LIVERPOOL NY 13089 315-701-1031 010741042 Dinewise, Inc.|DINEWISE, INC.|SIMPLAGENE USA INC 2026-05-15 10-Q Y
597 1437750 T-REX Acquisition Corp. T-REX Acquisition T-REX Acquisition Corp. TRXA TRXA OTC NV NV Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7301 NW 4TH STREET SUITE 102 PLANTATION FL 33317 7301 NW 4TH STREET PLANTATION FL 33317 954-742-3001 261754034 Trex Acquisition Corp.|Sync2 Networks Corp|Plethora Resources, Inc. 2026-05-26 10-Q Y
598 1090396 TABLE TRAC INC Table Trac Table Trac Inc TBTC TBTC OTC NV NV Y 7990 Services-Miscellaneous Amusement & Recreation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M BAKER TECHNOLOGY PLAZA SOUTH 6101 BAKER ROAD ? SUITE 206 MINNETONKA MN 55345 BAKER TECHNOLOGY PLAZA SOUTH MINNETONKA MN 55345 952-548-8877 880365568 2026-05-13 8-K Y
599 1753391 TANCHENG GROUP CO., LTD. Tancheng Group Co. Tancheng Group Co., Ltd. QSJC QSJC OTC NV NV Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7TH FLOOR, JINCHENG INTL., JIUJINCI RD. WANBAILIN DISTRICT TAIYUAN CITY 7TH FLOOR, JINCHENG INTL., JIUJINCI RD. TAIYUAN CITY 8613910972765 384086827 BIGEON CORP. 2026-05-15 10-Q Y
600 1481443 TechCom, Inc. TechCom TechCom, Inc. TCRI TCRI OTC NV NV Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2901, 29TH FLOOR, BOULEVARD PLAZA TOWER BURJ KHALIFA DISTRICT DOWNTOWN DUBAI C0 00000 2901, 29TH FLOOR, BOULEVARD PLAZA TOWER DOWNTOWN DUBAI C0 00000 852 29803711 061701678 RMD Entertainment Group 2026-05-06 10-Q Y
601 1384365 Telvantis, Inc. Telvantis Telvantis, Inc. RDAR RDAR OTC NV NV Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1680 MICHIGAN AVENUE SUITE 700 MIAMI BEACH FL 33139 1680 MICHIGAN AVENUE MIAMI BEACH FL 33139 954-456-3191 204622782 RAADR, INC.|PITOOEY!, INC.|WHITE DENTAL SUPPLY, INC. 2025-10-15 1-Z Y
602 711034 THUNDER MOUNTAIN GOLD INC Thunder Mountain Gold Thunder Mountain Gold Inc THMG THMG OTC NV NV Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 11770 W. PRESIDENT DR. STE F BOISE ID 83713 11770 W. PRESIDENT DR. STE F BOISE ID 83713 208-658-1037 911031075 2026-06-08 8-K Y
603 1463208 Transportation & Logistics Systems, Inc. Transportation & Logistics Systems Transportation & Logistics Systems, Inc. TLSS TLSS OTC NV NV Y 4700 Transportation Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5500 MILITARY TRAIL SUITE 22-357 JUPITER FL 33458 5500 MILITARY TRAIL JUPITER FL 33458 1.833.764.1443 263106763 PETROTERRA CORP.|LORAN CONNECTION CORP 2026-06-05 8-K Y
604 1758699 TRANSUITE.ORG INC. Transuite.org Transuite.org Inc. TRSO TRSO OTC NV NV Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 732 S 6TH ST # 4304 LAS VEGAS NV 89101 732 S 6TH ST # 4304 LAS VEGAS NV 89101 7028339602 301129581 2026-05-22 10-K Y
605 1349706 TurnOnGreen, Inc. TurnOnGreen TurnOnGreen, Inc. TOGI TOGI|TOGIW OTC NV NV Y 3690 Miscellaneous Electrical Machinery, Equipment & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1421 MCCARTHY BLVD. MILPITAS CA 95035 1421 MCCARTHY BLVD. MILPITAS CA 95035 (510) 657-2635 205648820 IMPERALIS HOLDING CORP.|COLOURED (US) INC. 2026-05-13 10-Q Y
606 1952670 TV Channels Network Inc. TV Channels Network TV Channels Network Inc. TVCN TVCN NV NV Y 4899 Communications Services, NEC operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 7582 LAS VEGAS BLVD SOUTH LAS VEGAS NV 89123 7582 LAS VEGAS BLVD SOUTH LAS VEGAS NV 89123 7027219915 883851932 2026-05-14 10-Q Y
607 1096938 United Health Products, Inc. United Health Products United Health Products, Inc. UEEC UEEC OTC NV NV Y 3842 Orthopedic, Prosthetic & Surgical Appliances & Supplies operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 526 COMMERCE CIRCLE STE. #120 MESQUITE NV 89027 526 COMMERCE CIRCLE MESQUITE NV 89027 475-755-1005 841517723 United EcoEnergy Corp.|MNS EAGLE EQUITY GROUP III INC 2026-05-22 424B3 Y
608 1677897 UPAY Upay Upay UPYY UPYY OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 3010 LBJ FWY SUITE 1200 DALLAS TX 75234 3010 LBJ FWY DALLAS TX 75234 9728886052 371793622 2026-06-02 10-K Y
609 1746119 Vanguard Green Investment Ltd Vanguard Green Investment Vanguard Green Investment Ltd VGES VGES OTC NV NV Y 7200 Services-Personal Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M RM. 5, 7F., NO. 296, SEC. 4, XINYI RD., DA AN DIST., TAIPEI CITY F5 106427 RM. 5, 7F., NO. 296, SEC. 4, XINYI RD., TAIPEI CITY F5 106427 886 0905153139 301089215 MU GLOBAL HOLDING Ltd 2026-03-16 10-Q Y
610 1506929 VERDE RESOURCES, INC. Verde Resources Verde Resources, Inc. VRDR VRDR OTC NV NV Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 8112 MARYLAND AVE SUITE 400 ST. LOUIS MO 63105 8112 MARYLAND AVE ST. LOUIS MO 63105 (314) 530-9071 272448672 2026-06-03 10-K/A Y
611 2033264 Vertical Data Inc. Vertical Data Vertical Data Inc. VDTA VDTA OTC NV NV Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1980 FESTIVAL PLAZA DRIVE SUITE 300 LAS VEGAS NV 89135 1980 FESTIVAL PLAZA DRIVE SUITE 300 LAS VEGAS NV 89135 7026132328 992841705 2026-06-05 POS AM Y
612 1084475 Video River Networks, Inc. Video River Networks Video River Networks, Inc. NIHK NIHK OTC NV NV Y 6500 Real Estate operating / Emerging growth company smaller_reporting_<75M 1333 N. BUFFALO DR. SUITE 210 LAS VEGAS NV 89128 1333 N. BUFFALO DR. LAS VEGAS NV 89128 5015842853 870627349 NIGHTHAWK SYSTEMS INC|PEREGRINE INC|LSI COMMUNICATIONS INC 2025-11-05 15-15D Y
613 1832161 VIP Play, Inc. VIP Play VIP Play, Inc. VIPZ VIPZ OTC NV NV Y 5900 Retail-Miscellaneous Retail operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 78 SW 7TH STREET SUITE 500 MIAMI FL 33130 78 SW 7TH STREET MIAMI FL 33130 866-783-9435 850738656 KeyStar Corp. 2026-05-15 10-Q Y
614 1470129 VisitIQ Corp. VisitIQ VisitIQ Corp. VIIQ VIIQ OTC NV NV Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 729 N. WASHINGTON AVENUE SUITE 600 MINNEAPOLIS MN 55401 729 N. WASHINGTON AVENUE MINNEAPOLIS MN 55401 651-295-7583 680678185 Capstone Technologies Group Inc.|China Bilingual Technology & Education Group Inc.|DESIGNER EXPORT, INC 2026-05-26 10-K/A Y
615 1699709 VitaNova Life Sciences Corp VitaNova Life Sciences VitaNova Life Sciences Corp VNOV VNOV OTC NV NV Y 5130 Wholesale-Apparel, Piece Goods & Notions operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 39 E. BROADWAY, STE 603 NEW YORK NY 10002 39 E. BROADWAY, STE 603 NEW YORK NY 10002 516-886-8888 352583762 YIJIA GROUP CORP.|YIJIA GROUP CORP|Soldino Group Corp 2026-03-18 8-K Y
616 1703073 VIVIC CORP. Vivic Vivic Corp. VIVC VIVC OTC NV NV Y 7990 Services-Miscellaneous Amusement & Recreation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 187 E. WARM SPRINGS ROAD., SUITE B450 LAS VEGAS NV 89119-4112 187 E. WARM SPRINGS ROAD., SUITE B450 LAS VEGAS NV 89119-4112 702-899-0818 981353606 2026-05-14 10-Q Y
617 1410738 Voip-pal.com Inc Voip-pal.com Voip-pal.com Inc VPLM VPLM OTC NV NV Y 3661 Telephone & Telegraph Apparatus operating / Emerging growth company smaller_reporting_<75M 7215 BOSQUE BLVD SUITE 102 WACO TX 76710 7215 BOSQUE BLVD WACO TX 76710 253-219-9512 980184110 2026-06-04 144 Y
618 1515139 WASTE ENERGY CORP. Waste Energy Waste Energy Corp. WAST WAST OTC NV NV Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3250 OAKLAND HILLS COURT FAIRFIELD CA 94534 3250 OAKLAND HILLS COURT FAIRFIELD CA 94534 424-570-9446 273098487 METAWORKS PLATFORMS, INC.|CurrencyWorks Inc.|ICOX INNOVATIONS INC.|AppCoin Innovations Inc.|RedStone Literary Agents, Inc. 2026-05-27 8-K/A Y
619 1393772 WEED, INC. Weed Weed, Inc. BUDZ BUDZ OTC NV NV Y 8731 Services-Commercial Physical & Biological Research operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4920 N. POST TRAIL TUCSON AZ 85750 4920 N. POST TRAIL TUCSON AZ 85750 520-818-8582 830452269 UNITED MINES INC 2026-05-15 10-Q Y
620 723533 Wenyuan Group Corp. Wenyuan Group Wenyuan Group Corp. WYGC WYGC OTC NV NV Y 8742 Services-Management Consulting Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M RM 219, NO. 25 CAIHE RD SHANGCHENG DIST. HANGZHOU RM 219, NO. 25 CAIHE RD HANGZHOU 626-872-9451 953506403 Longwen Group Corp.|Allied Ventures Holdings Corp.|Dephasium Corp.|ALLIED VENTURES HOLDING CORP.|Pay Mobile, Inc|EXPERTELLIGENCE INC 2026-05-20 10-Q Y
621 1616156 WEWARDS, INC. Wewards Wewards, Inc. WEWA WEWA OTC NV NV Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3305 SPRING MOUNTAIN ROAD SUITE 104 LAS VEGAS NV 89102 3305 SPRING MOUNTAIN ROAD LAS VEGAS NV 89102 702-944-5599 331230099 GLOBAL ENTERTAINMENT CLUBS, INC.|FUTURE WORLD GROUP, INC.|Betafox Corp. 2026-03-17 10-Q Y
622 1587603 WINNERS, INC. Winners Winners, Inc. WNRS WNRS|WNRSD NV NV Y 7900 Services-Amusement & Recreation Services other smaller_reporting_<75M 401 RYLAND STREET SUITE 200-A RENO NV 89502 401 RYLAND STREET RENO NV 89502 954-908-3366 260764832 Baroma, Inc. 2026-04-24 QUALIF Y
623 1503658 Winning Catering Group, Inc. Winning Catering Group Winning Catering Group, Inc. WNHK WNHK OTC NV NV Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4800 MONTGOMERY LANE SUITE 210 BETHESDA MD 20814 4800 MONTGOMERY LANE BETHESDA MD 20814 301-971-3940 271467607 LiquidValue Development Inc.|SeD Intelligent Home Inc.|HOMEOWNUSA 2026-04-22 10-Q Y
624 1558740 Winvest Group Ltd Winvest Group Winvest Group Ltd WNLV WNLV OTC NV NV Y 7812 Services-Motion Picture & Video Tape Production operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 50 WEST LIBERTY STREET SUITE 880 RENO NV 89501 50 WEST LIBERTY STREET RENO NV 89501 (775) 996-0288 272052033 ZYROX MINING INTERNATIONAL INC 2026-05-14 NT 10-Q Y
625 1560143 WYTEC INTERNATIONAL INC Wytec International Wytec International Inc WYTC WYTC OTC NV NV Y 4822 Telegraph & Other Message Communications operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 19206 HUEBNER ROAD, SUITE 202 SAN ANTONIO TX 78258 19206 HUEBNER ROAD, SUITE 202 SAN ANTONIO TX 78258 (210) 233-8980 460720717 2026-05-26 D Y
626 1651932 Xenous Holdings, Inc. Xenous Holdings Xenous Holdings, Inc. XITO XITO OTC NV NV Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M SUITE 20.03, PLAZA 138, JALAN AMPANG KUALA LUMPUR N8 50450 SUITE 20.03, PLAZA 138, JALAN AMPANG KUALA LUMPUR N8 50450 603 2181 0150 870363526 M101 CORP.|Concept Holding Corp. 2026-05-12 8-K Y
627 1557376 Zeo ScientifiX, Inc. Zeo ScientifiX Zeo ScientifiX, Inc. ZEOX ZEOX OTC NV NV Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3321 COLLEGE AVENUE SUITE 246 DAVIE FL 33314 3321 COLLEGE AVENUE DAVIE FL 33314 888-963-7881 474180540 Organicell Regenerative Medicine, Inc.|Biotech Products Services & Research, Inc.|BESPOKE TRICYCLES INC 2026-06-09 8-K Y
628 1465311 Zicix Corp Zicix Zicix Corp ZICX ZICX OTC NV NV Y 7310 Services-Advertising operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1901, THE WORLD TRADE CENTRE 280 GLOUCESTER ROAD, CAUSEWAY BAY HONG KONG 1901, THE WORLD TRADE CENTRE HONG KONG 852-91010998 742036525 BEDERRA Corp 2026-02-20 10-Q Y
629 1101026 Zivo Bioscience, Inc. Zivo Bioscience Zivo Bioscience, Inc. ZIVO ZIVO|ZIVOW OTC NV NV Y 2836 Biological Products, (No Diagnostic Substances) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 21 E. LONG LAKE ROAD SUITE 100 BLOOMFIELD HILLS MI 48304 21 E. LONG LAKE ROAD BLOOMFIELD HILLS MI 48304 (248) 452 9866 870699977 HEALTH ENHANCEMENT PRODUCTS INC|WESTERN GLORY HOLE INC 2026-04-24 4 Y
630 1279620 Zoned Properties, Inc. Zoned Properties Zoned Properties, Inc. ZDPY ZDPY OTC NV NV Y 6512 Opeators of Nonresidential Buildings operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 8360 E. RAINTREE DRIVE, SUITE #230 SCOTTSDALE AZ 85260 8360 E. RAINTREE DRIVE, SUITE #230 SCOTTSDALE AZ 85260 877-360-8839 465198242 Vanguard Minerals CORP|Vanguard Minerals Corp|Knewtrino, Inc.|MONGOLIAN EXPLORATIONS LTD 2026-05-15 8-K Y
631 1328409 WHITE RIVER BANCSHARES CO White River Bancshares White River Bancshares Co WRIV WRIV OTC AR AR Y other smaller_reporting_<75M 3878 N. CROSSOVER ROAD SUITE 20 FAYETTEVILLE AR 72703 3878 N. CROSSOVER ROAD FAYETTEVILLE AR 72703 479-684-3700 000000000 2026-05-15 SCHEDULE 13G/A Y
632 2135939 Norient Acquisition Norient Acquisition Norient Acquisition NORT AZ AZ Y other Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M ARC GROUP SECURITIES LLC 398 MILL AVE, SUITE 201B TEMPE AZ 85281 ARC GROUP SECURITIES LLC TEMPE AZ 85281 1 928 625 0928 000000000 2026-06-03 S-1 Y
633 1956237 Almco Plumbing Inc Almco Plumbing Almco Plumbing Inc ALMP ALMP OTC CA CA Y 1700 Construction - Special Trade Contractors other smaller_reporting_<75M 5663 BALBOA AVE UNIT 372 SAN DIEGO CA 92111 5663 BALBOA AVE SAN DIEGO CA 92111 8582529321 364915179 2026-04-30 1-K Y
634 1723059 Bio Essence Corp Bio Essence Bio Essence Corp BIOE BIOE OTC CA CA Y 2834 Pharmaceutical Preparations operating / Emerging growth company smaller_reporting_<75M 2955 MAIN STREET STE 300 IRVINE CA 92614 2955 MAIN STREET IRVINE CA 92614 888-816-1494 943349551 2026-05-19 8-K/A Y
635 803016 CALIFORNIA FIRST LEASING CORP California First Leasing California First Leasing Corp CFNB CFNB OTC CA CA Y 6021 National Commercial Banks operating Smaller reporting company smaller_reporting_<75M 5000 BIRCH STREET, SUITE 500 NEWPORT BEACH CA 92660 5000 BIRCH STREET, SUITE 500 NEWPORT BEACH CA 92660 949-255-0500 330964185 CALIFORNIA FIRST NATIONAL BANCORP|AMPLICON INC 2026-06-08 40-17G Y
636 1917599 Endeavor Bancorp Endeavor Bancorp Endeavor Bancorp EDVR EDVR OTC CA CA Y other smaller_reporting_<75M 750 B STREET, SUITE 3110 SAN DIEGO CA 92101 750 B STREET, SUITE 3110 SAN DIEGO CA 92101 619-887-3505 874376296 2026-02-17 D Y
637 79661 PORTSMOUTH SQUARE INC Portsmouth Square Portsmouth Square Inc PRSI PRSI OTC CA CA Y 6552 Land Subdividers & Developers (No Cemeteries) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 11620 WILSHIRE BOULEVARD SUITE 350 LOS ANGELES CA 90025 11620 WILSHIRE BOULEVARD LOS ANGELES CA 90025 (310) 889-2511 941674111 2026-05-26 8-K Y
638 92108 SOUTHERN CALIFORNIA GAS CO Southern California Gas Southern California Gas Co SOCGM SOCGM|SOCGP OTC CA CA Y 4922 Natural Gas Transmission operating smaller_reporting_<75M 555 WEST 5TH STREET LOS ANGELES CA 90013-1011 555 WEST 5TH STREET LOS ANGELES CA 90013-1011 2132441200 951240705 2026-05-15 8-K Y
639 942126 TAITRON COMPONENTS INC Taitron Components Taitron Components Inc TAIT TAIT OTC CA CA Y 5065 Wholesale-Electronic Parts & Equipment, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 28040 WEST HARRISON PARKWAY VALENCIA CA 91355 28040 WEST HARRISON PARKWAY VALENCIA CA 91355 (661) 257-6060 954249240 2026-02-12 SCHEDULE 13G/A Y
640 835662 AiXin Life International, Inc. AiXin Life International AiXin Life International, Inc. AIXN AIXN OTC CO CO Y 5912 Retail-Drug Stores and Proprietary Stores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M HONGXING INTL BUSINESS BUILDING 2, 14TH FLR, NO. 69, QINGYUN SOUVE AVE., JINJIANG DISTRICT,CHENGDU CITY F4 610021 HONGXING INTL BUSINESS BUILDING 2, JINJIANG DISTRICT,CHENGDU CITY F4 610021 212-739-7689 841085935 MERCARI COMMUNICATIONS GROUP LTD 2026-05-18 8-K Y
641 872716 ALPINE BANKS OF COLORADO Alpine Banks of Colorado Alpine Banks of Colorado ALPIB ALPIB OTC CO CO Y other smaller_reporting_<75M P.O. BOX 10,000 GLENWOOD SPRINGS CO 81601 P.O. BOX 10,000 GLENWOOD SPRINGS CO 81601 970-384-3257 840868818 2025-12-04 D Y
642 875729 BION ENVIRONMENTAL TECHNOLOGIES INC Bion Environmental Technologies Bion Environmental Technologies Inc BNET BNET OTC CO CO Y 2870 Agricultural Chemicals operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M PO BOX 323 OLD BETHPAGE NY 11804 PO BOX 323 OLD BETHPAGE NY 11804 406-839-0816 841176672 2026-05-15 10-Q Y
643 2029586 Blue Line Holdings, Inc. Blue Line Holdings Blue Line Holdings, Inc. BLNH BLNH OTC CO CO Y 2086 Bottled & Canned Soft Drinks & Carbonated Waters operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1361 CASTLEPOINT CIRCLE CASTLE PINES CO 80108 1361 CASTLEPOINT CIRCLE CASTLE PINES CO 80108 720-705-9222 993114735 2026-05-04 10-Q Y
644 1411057 Cannabis Bioscience International Holdings, Inc. Cannabis Bioscience International Holdings Cannabis Bioscience International Holdings, Inc. CBIH CBIH OTC CO CO Y 8731 Services-Commercial Physical & Biological Research operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 6201 BONHOMME ROAD SUITE 435S HOUSTON TX 77036 6201 BONHOMME ROAD HOUSTON TX 77036 214-733-0868 844901229 CHINA INFRASTRUCTURE CONSTRUCTION Corp|FIDELITY AVIATION CORP 2026-05-21 253G2 Y
645 1084551 Community Redevelopment Inc. Community Redevelopment Community Redevelopment Inc. CRDV CRDV OTC CO CO Y 6552 Land Subdividers & Developers (No Cemeteries) operating / Emerging growth company smaller_reporting_<75M 9 C MEDWAY ROAD #214 MILFORD MA 01757 9 C MEDWAY ROAD MILFORD MA 01757 774-573-9114 852629422 Crosswind Renewable Energy Corp|STEALTH MEDIALABS INC|KIDSTOYSPLUS COM INC 2026-05-29 1-A Y
646 790273 CONECTISYS CORP Conectisys Conectisys Corp CONC CONC OTC CO CO Y 3663 Radio & Tv Broadcasting & Communications Equipment operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 14308 S. GOSS RD. CHENEY WA 99004 14308 S. GOSS RD. CHENEY WA 99004 949 929-5455 841017107 2026-05-06 10-Q Y
647 1828377 Fortitude Gold Corp Fortitude Gold Fortitude Gold Corp FTCO FTCO OTC CO CO Y 1040 Gold and Silver Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2886 CARRIAGE MANOR POINT COLORADO SPRINGS CO 80906 2886 CARRIAGE MANOR POINT COLORADO SPRINGS CO 80906 3033207708 852602691 2026-06-05 8-K Y
648 84112 GEORGE RISK INDUSTRIES, INC. George Risk Industries George Risk Industries, Inc. RSKIA RSKIA OTC CO CO Y 3669 Communications Equipment, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 802 SOUTH ELM KIMBALL NE 69145 802 S ELM ST KIMBALL NE 69145 3082354645 840524756 RISK GEORGE INDUSTRIES INC 2026-05-11 SCHEDULE 13G Y
649 1497649 Graphene & Solar Technologies Ltd Graphene & Solar Technologies Graphene & Solar Technologies Ltd GSTX GSTX OTC CO CO Y 1000 Metal Mining operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 11201 NORTH TATUM BOULEVARD SUITE 300 PHOENIX AZ 85028 11201 NORTH TATUM BOULEVARD PHOENIX AZ 85028 602-388-8335 272888719 Solar Quartz Technologies Corp|Vanguard Energy Corp 2026-05-15 10-Q Y
650 918573 GROOVE BOTANICALS INC. Groove Botanicals Groove Botanicals Inc. GRVE GRVE OTC CO CO Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 310 FOURTH AVENUE SOUTH SUITE 7000 MINNEAPOLIS MN 55415 310 FOURTH AVENUE SOUTH MINNEAPOLIS MN 55415 (952) 746-9652 841168832 Avalon Oil & Gas, Inc.|XDOGS COM INC|SLED DOGS CO 2026-05-22 8-K Y
651 1945619 Kinetic Seas Inc. Kinetic Seas Kinetic Seas Inc. KSEZ KSEZ OTC CO CO Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1501 WOODFIELD ROAD SUITE 114E SCHAUMBURG IL 60173 1501 WOODFIELD ROAD SCHAUMBURG IL 60173 888-901-8806 471981170 Bellatora, Inc. 2026-06-08 144 Y
652 1493137 Lifeloc Technologies, Inc Lifeloc Technologies Lifeloc Technologies, Inc LCTC LCTC OTC CO CO Y 3826 Laboratory Analytical Instruments operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 12441 WEST 49TH AVE UNIT #4 WHEAT RIDGE CO 80033 12441 WEST 49TH AVE UNIT #4 WHEAT RIDGE CO 80033 303-431-9500 841053680 Lifeloc Technologies Inc 2026-06-05 8-K Y
653 1145604 NIKA PHARMACEUTICALS, INC Nika Pharmaceuticals Nika Pharmaceuticals, Inc NIKA NIKA OTC CO CO Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 2269 MERRIMACK VALLEY AVENUE HENDERSON NV 89044 2269 MERRIMACK VALLEY AVENUE HENDERSON NV 89044 7023263615 900292940 CENTENNIAL GROWTH EQUITIES INC 2026-05-12 10-Q Y
654 1990446 Trans American Aquaculture, Inc Trans American Aquaculture Trans American Aquaculture, Inc GRPS GRPS OTC CO CO Y 0200 Agricultural Prod-Livestock & Animal Specialties operating / Emerging growth company smaller_reporting_<75M 1022 SHADYSIDE LANE DALLAS TX 75223 1022 SHADYSIDE LANE DALLAS TX 75223 972-358-6037 020685828 2026-05-15 NT 10-Q Y
655 1477009 TREES Corp (Colorado) TREES Corp (Colorado) TREES Corp (Colorado) CANN CANN OTC CO CO Y 5912 Retail-Drug Stores and Proprietary Stores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 215 UNION BOULEVARD SUITE 415 LAKEWOOD CO 80228 215 UNION BOULEVARD LAKEWOOD CO 80228 303-759-1300 208096131 GENERAL CANNABIS CORP|Advanced Cannabis Solutions, Inc.|Promap Corp 2025-08-22 8-K Y
656 23426 CONNECTICUT LIGHT & POWER CO Connecticut Light & Power Connecticut Light & Power Co CNTHP CNTHP|CNLPL|CNTHO|CNTHN|CNLHP|CNLTP|CNLTL|CNPWM|CNLHO|CNPWP|CNLPM|CNLTN|CNLHN OTC CT CT Y 4911 Electric Services operating smaller_reporting_<75M 107 SELDEN STREET BERLIN CT 06037-1616 107 SELDEN STREET BERLIN CT 06037 (860)665-5000 060303850 2026-05-07 10-Q Y
657 1472033 Citibank,N.A./ADR Citibank,N.A./ADR Citibank,N.A./ADR JTGEY JTGEY|JTGLF OTC DC DC Y other smaller_reporting_<75M 388 GREENWICH STREET, 14TH FLOOR NEW YORK NY 10013 388 GREENWICH STREET, 14TH FLOOR NEW YORK NY 10013 212-816-6647 521568099 Citibank,N.A./ADR 2026-06-08 F-6EF Y
658 1386044 Awareness Group, Inc. Awareness Group Awareness Group, Inc. TAAG TAAG OTC FL FL Y 6163 Loan Brokers operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 4343 N SCOTTSDALE RD, #150 SCOTTSDALE AZ 85251 4343 N SCOTTSDALE RD, #150 SCOTTSDALE AZ 85251 818-357-3155 562560951 Freedom Holdings, Inc.|FREEDOM ENERGY HOLDINGS INC|FREEDOM FINANCIAL HOLDINGS INC 2026-05-11 NT 10-Q Y
659 1109262 BILI Social International, Inc. BILI Social International BILI Social International, Inc. AGGI AGGI OTC FL FL Y 5960 Retail-Nonstore Retailers operating / Emerging growth company smaller_reporting_<75M 625 BROAD STREET 2ND FLOOR, SUITE 240 NEWARK NJ 07102 625 BROAD STREET NEWARK NJ 07102 888-458-2454 223084979 Allied Energy, Inc.|TECHNOL FUEL CONDITIONERS INC|BRAZILIAN SERVICES COM INC 2026-06-04 8-K Y
660 1658678 BioStem Technologies, Inc. BioStem Technologies BioStem Technologies, Inc. BSEM BSEM OTC FL FL Y 2836 Biological Products, (No Diagnostic Substances) other smaller_reporting_<75M 2836 CENTER PORT CIRCLE POMPANO BEACH FL 33604 2836 CENTER PORT CIRCLE POMPANO BEACH FL 33604 954-380-8342 270400416 BIOSTEM TECHNOLOGIES 2026-06-03 D Y
661 1568385 Bright Mountain Media, Inc. Bright Mountain Media Bright Mountain Media, Inc. BMTM BMTM OTC FL FL Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 6400 CONGRESS AVE. SUITE 2050 BOCA RATON FL 33487 6400 CONGRESS AVE. BOCA RATON FL 33487 561-998-2440 272977890 Bright Mountain Acquisition Corp|Bright Mountain Holdings, Inc./FL 2026-05-19 4 Y
662 1166708 Brownie's Marine Group, Inc Brownie's Marine Group Brownie's Marine Group, Inc BWMG BWMG OTC FL FL Y 3949 Sporting & Athletic Goods, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3001 NW 25TH AVENUE, SUITE 1 POMPANO BEACH FL 33069 3001 NW 25TH AVENUE, POMPANO BEACH FL 33069 954-462-5570 300024898 UNITED COMPANIES CORP 2026-05-15 10-Q Y
663 1509957 Can B Corp Can B Can B Corp NASC NASC OTC FL FL Y 5122 Wholesale-Drugs, Proprietaries & Druggists' Sundries operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 960 SOUTH BROADWAY, SUITE 120 HICKSVILLE NY 11801 960 SOUTH BROADWAY, SUITE 120 HICKSVILLE NY 11801 516-205-4751 203624118 Canbiola, Inc.|Wrapmail, Inc. 2025-07-16 15-12G Y
664 814926 CAPSTONE COMPANIES, INC. Capstone Companies Capstone Companies, Inc. CAPC CAPC OTC FL FL Y 3640 Electric Lighting & Wiring Equipment operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M NUMBER 144-V, 10 FAIRWAY DRIVE SUITE 100 DEERFIELD BEACH FL 33441 NUMBER 144-V, 10 FAIRWAY DRIVE DEERFIELD BEACH FL 33441 (954) 252-3440 841047159 CHDT CORP|CHINA DIRECT TRADING CORP|CBQ INC|FREEDOM FUNDING INC 2026-05-20 8-K/A Y
665 811222 Cardiff Lexington Corp Cardiff Lexington Cardiff Lexington Corp CDIX CDIX OTC FL FL Y 8011 Services-Offices & Clinics of Doctors of Medicine operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3753 HOWARD HUGHES PARKWAY SUITE 200 LAS VEGAS NV 89169 3753 HOWARD HUGHES PARKWAY LAS VEGAS NV 89169 844-628-2100 841044583 CARDIFF INTERNATIONAL INC 2026-05-13 10-Q Y
666 1362516 Cleartronic, Inc. Cleartronic Cleartronic, Inc. CLRI CLRI OTC FL FL Y 4812 Radiotelephone Communications operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 28050 US HWY 19 N CLEARWATER FL 33761 28050 US HWY 19 N CLEARWATER FL 33761 813-289-7620 650958798 GlobalTel IP, Inc. 2026-05-12 10-Q Y
667 1619227 Cloudweb, Inc. Cloudweb Cloudweb, Inc. CLOW CLOW OTC FL FL Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 800 W EL CAMINO REAL SUITE 180 MOUNTAIN VIEW CA 94040 800 W EL CAMINO REAL MOUNTAIN VIEW CA 94040 (650) 963-7749 470978297 Data Backup Solutions, Inc.|Formigli Inc. 2026-05-15 NT 10-Q Y
668 1400271 Curative Biotechnology Inc Curative Biotechnology Curative Biotechnology Inc CUBT CUBTD OTC FL FL Y 2836 Biological Products, (No Diagnostic Substances) other smaller_reporting_<75M 1825 NW CORPORATE BLVD SUITE 110 BOCA RATON FL 33431 1825 NW CORPORATE BLVD BOCA RATON FL 33431 800-526-8006 721550658 Connectyx Technologies Corp 2025-12-22 RW Y
669 1127475 Digital Brand Media & Marketing Group, Inc. Digital Brand Media & Marketing Group Digital Brand Media & Marketing Group, Inc. DBMM DBMM OTC FL FL Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 600 THIRD AVENUE, 2ND FLOOR NEW YORK NY 10016 600 THIRD AVENUE, 2ND FLOOR NEW YORK NY 10016 646-722-2706 593666743 RTG VENTURES INC 2026-04-14 10-Q Y
670 784539 EACO CORP Eaco Eaco Corp EACO EACO OTC FL FL Y 5065 Wholesale-Electronic Parts & Equipment, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5065 E HUNTER AVE ANAHEIM CA 92807 5065 E HUNTER AVE ANAHEIM CA 92807 (714) 876-2490 592597349 FAMILY STEAK HOUSES OF FLORIDA INC 2026-04-13 10-Q Y
671 1538495 Earth Science Tech, Inc. Earth Science Tech Earth Science Tech, Inc. ETST ETST OTC FL FL Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 8950 SW 74TH CT SUITE 101 MIAMI FL 33156 8950 SW 74TH CT MIAMI FL 33156 (786) 375-7281 454267181 Ultimate Novelty Sports Inc. 2026-04-17 8-K Y
672 1363598 Entrex Carbon Market, Inc. Entrex Carbon Market Entrex Carbon Market, Inc. NTRX NTRX OTC FL FL Y 5712 Retail-Furniture Stores operating smaller_reporting_<75M 150 EAST PALMETTO PARK EIGHTH FLOOR BOCA RATON FL 33432 150 EAST PALMETTO PARK EIGHTH FLOOR BOCA RATON FL 33432 8774368739 842099590 UHF Logistics Group, Inc.|Regal Group, Inc.|Regal Life Concepts, Inc.|Regal Rock, Inc. 2026-02-20 QUALIF Y
673 1695473 Greater Cannabis Company, Inc. Greater Cannabis Company Greater Cannabis Company, Inc. GCAN GCAN OTC FL FL Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 15 WALKER AVE, SUITE 101 BALTIMORE MD 21208 15 WALKER AVE, BALTIMORE MD 21208 (443) 738-4051 300842570 2026-05-13 10-Q Y
674 915661 GREEN LEAF INNOVATIONS INC Green Leaf Innovations Green Leaf Innovations Inc GRLF GRLF OTC FL FL Y 2050 Bakery Products operating smaller_reporting_<75M 15800 PINES BLVD PEMBROKE PINES FL 33027 15800 PINES BLVD PEMBROKE PINES FL 33027 8003036268 872290605 RAPTOR INVESTMENTS INC|PARAMARK ENTERPRISES INC|T J CINNAMONS INC 2025-08-15 1-A-W Y
675 2066926 Guident Corp. Guident Guident Corp. GDNT GDNT FL FL Y 7372 Services-Prepackaged Software other smaller_reporting_<75M 4910 COMMUNICATION AVE SUITE 150 BOCA RATON FL 33431 4910 COMMUNICATION AVE BOCA RATON FL 33431 561-245-1306 845172003 2026-03-17 FWP Y
676 1953988 Helio Corp /FL/ Helio Helio Corp HLEO HLEO OTC FL FL Y 3760 Guided Missiles & Space Vehicles & Parts operating / Emerging growth company smaller_reporting_<75M 2448 SIXTH STREET BERKELEY CA 94710 2448 SIXTH STREET BERKELEY CA 94710 510-545-2666 920286004 WEB3 Corp|Stirling Bridge Group Inc 2026-06-04 4 Y
677 312257 INNOVATIVE FOOD HOLDINGS INC Innovative Food Holdings Innovative Food Holdings Inc IVFH IVFH OTC FL FL Y 5141 Wholesale-Groceries, General Line operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2528 S 27TH AVE BROADVIEW IL 60155 2528 S 27TH AVE BROADVIEW IL 60155 239-596-0204 201167761 ALPHA SOLARCO INC 2026-05-20 10-Q Y
678 1861448 IntriEnergy, Inc. IntriEnergy IntriEnergy, Inc. ITRE OTC FL FL Y other smaller_reporting_<75M 3510 KRAFT ROAD, SUITE 200 NAPLES FL 34105 4850 TAMIAMI TRAIL N SUITE 301 NAPLES FL 34103 (239) 303-6400 464617171 2026-04-27 D/A Y
679 2122791 Lawaken Group Inc. Lawaken Group Lawaken Group Inc. LAWK FL FL Y other smaller_reporting_<75M NO. 1201, BUILDING A4, CHINA VISION, 99 LONGCHUAN ROAD, BAOHE DISTRICT HEFEI 230041 NO. 1201, BUILDING A4, CHINA VISION, HEFEI 230041 086 0551 87276125 000000000 2026-05-19 S-1 Y
680 1594968 Loan Artificial Intelligence Corp. Loan Artificial Intelligence Loan Artificial Intelligence Corp. VEST VEST|LAAI FL FL Y 7900 Services-Amusement & Recreation Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1113 TOWER 2, LIPPO CENTRE, 89 QUEENSWAY ADMIRALTY 0000 1113 TOWER 2, LIPPO CENTRE, ADMIRALTY 0000 949-258-4404 454895104 Vestiage, Inc. 2026-05-20 10-Q Y
681 1374567 Luvu Brands, Inc. Luvu Brands Luvu Brands, Inc. LUVU LUVU OTC FL FL Y 2510 Household Furniture operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2745 BANKERS INDUSTRIAL DRIVE ATLANTA GA 30360 2745 BANKERS INDUSTRIAL DRIVE ATLANTA GA 30360 770-246-6426 593581576 Liberator, Inc.|WES Consulting, Inc. 2026-05-15 8-K Y
682 1872066 MIAMI BREEZE CAR CARE INC Miami Breeze Car Care Miami Breeze Car Care Inc MIBE OTC FL FL Y 7500 Services-Automotive Repair, Services & Parking operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 848 BRICKELL AVE PH 5 MIAMI FL 33131 848 BRICKELL AVE MIAMI FL 33131 (917) 232-0289 862579086 2026-01-23 15-12G Y
683 1492448 Nextel Medical Corp. Nextel Medical Nextel Medical Corp. MAJI MAJI OTC FL FL Y 4899 Communications Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7901 4TH STREET N #23494 ST. PETERSBURG FL 33702 7901 4TH STREET N #23494 ST. PETERSBURG FL 33702 509-605-6533 272616571 Exousia Pro, Inc.|GRN Holding Corp|Discovery Gold Corp|NORMAN CAY DEVELOPMENT, INC. 2026-05-26 253G2 Y
684 72205 NOBILITY HOMES INC Nobility Homes Nobility Homes Inc NOBH NOBH OTC FL FL Y 2451 Mobile Homes operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3741 S W 7TH ST OCALA FL 34474 3741 SW 7TH STREET OCALA FL 34474 3527325157 591166102 2026-03-17 10-Q Y
685 720762 NON INVASIVE MONITORING SYSTEMS INC /FL/ Non Invasive Monitoring Systems Non Invasive Monitoring Systems Inc NIMU NIMU OTC FL FL Y 3760 Guided Missiles & Space Vehicles & Parts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1840 W AVE MIAMI BEACH FL 33139 1840 WEST AVE MIAMI BEACH FL 33140 3055343694 592007840 2026-06-08 DEF 14C Y
686 912544 NovelStem International Corp. NovelStem International NovelStem International Corp. NSTM NSTM OTC FL FL Y 5990 Retail-Retail Stores, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2255 GLADES RD STE 237 W BOCA RATON FL 33431 2255 GLADES RD BOCA RATON FL 33431 5619988000 650385686 NovelStem International Corp|HOLLYWOOD MEDIA CORP|HOLLYWOOD COM INC|BIG ENTERTAINMENT INC 2026-05-15 10-Q Y
687 1000045 OLD MARKET CAPITAL Corp OLD MARKET CAPITAL OLD MARKET CAPITAL Corp OMCC OMCC OTC FL FL Y 6153 Short-Term Business Credit Institutions operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1601 DODGE ST. SUITE 3350 OMAHA NE 68102 1601 DODGE ST. OMAHA NE 68102 727-726-0763 593019317 NICHOLAS FINANCIAL INC 2026-01-21 SCHEDULE 13G/A Y
688 914139 PARKERVISION INC Parkervision Parkervision Inc PRKR PRKR OTC FL FL Y 3663 Radio & Tv Broadcasting & Communications Equipment operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4446 - 1A HENDRICKS AVENUE SUITE 354 JACKSONVILLE FL 32207 4446 - 1A HENDRICKS AVENUE JACKSONVILLE FL 32207 9047326100 592971472 2026-05-21 3 Y
689 1094032 QDM International Inc. QDM International QDM International Inc. QDMI QDMI OTC FL FL Y 6411 Insurance Agents, Brokers & Service operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ROOM 1030B 10F OCEAN CENTRE HARBOUR CITY 5 CANTON ROAD, TSIM SHA TSUI KOWLOON K3 000000 ROOM 1030B 10F OCEAN CENTRE HARBOUR CITY KOWLOON K3 000000 852 3188 9800 593564984 24/7 Kid Doc, Inc.|DALE JARRETT RACING ADVENTURE INC|DALE JARRET RACING ADVENTURE INC|JARRETT FAVRE DRIVING ADVENTURE INC 2026-06-02 S-8 Y
690 1807893 STANDARD PREMIUM FINANCE HOLDINGS, INC. Standard Premium Finance Holdings Standard Premium Finance Holdings, Inc. SPFX SPFX OTC FL FL Y 6159 Miscellaneous Business Credit Institution operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 13590 SW 134TH AVE #214 MIAMI FL 33186 13590 SW 134TH AVE MIAMI FL 33186 (305) 232-2752 812624094 2026-05-29 4 Y
691 1292490 Synbio International, Inc. Synbio International Synbio International, Inc. SYIN SYIN OTC FL FL Y 7374 Services-Computer Processing & Data Preparation other smaller_reporting_<75M 30 N GOULD ST STE 5835 SHERIDAN WY 89014 30 N GOULD ST SHERIDAN WY 89014 646-359-4854 043588066 Natural Harmony Foods Inc 2025-09-04 SEC STAFF ACTION Y
692 909112 TEMPLETON EMERGING MARKETS INCOME FUND Templeton Emerging Markets Income Fund Templeton Emerging Markets Income Fund TXEMF TEI|TXEMF OTC FL FL Y other smaller_reporting_<75M 300 S.E. 2ND STREET FORT LAUDERDALE FL 33301-1923 300 S.E. 2ND STREET FORT LAUDERDALE FL 33301-1923 9545277500 593192205 TEMPLETON EMERGING MARKETS INCOME FUND INC 2026-05-27 NPORT-P Y
693 1434601 Transglobal Management Group, Inc. Transglobal Management Group Transglobal Management Group, Inc. TMGI TMGI OTC FL FL Y 4832 Radio Broadcasting Stations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 7901 4TH ST. N. SUITE 4887 ST. PETERSBURGH FL 33702 7901 4TH ST. N. ST. PETERSBURGH FL 33702 (602) 989-4653 262091212 Marquie Group, Inc.|ZHONG SEN INTERNATIONAL TEA CO|ZHONG SEN INTERNATIONAL TEA Co|MUSIC OF YOUR LIFE INC 2026-05-28 8-K Y
694 1082733 VISIUM TECHNOLOGIES, INC. Visium Technologies Visium Technologies, Inc. VISM VISM OTC FL FL Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 401 E. LAS OLAS BOULEVARD, SUITE 1400 FORT LAUDERDALE FL 33301 401 E. LAS OLAS BOULEVARD, FORT LAUDERDALE FL 33301 (954) 712-7487 870449667 NuSTATE ENERGY HOLDINGS, INC.|Fittipaldi Logistics, Inc.|POWER2SHIP INC|JAGUAR INVESTMENTS INC 2026-05-20 10-Q Y
695 1138586 Xcelerate, Inc. Xcelerate Xcelerate, Inc. XCRT XCRT OTC FL FL Y 8000 Services-Health Services operating smaller_reporting_<75M 110 RENAISSANCE CIRCLE MAULDIN SC 29662 110 RENAISSANCE CIRCLE MAULDIN SC 29662 854-900-2020 650710392 UNION DENTAL HOLDINGS, INC.|NATIONAL BUSINESS HOLDINGS INC|SHAVA INC 2025-05-29 RW Y
696 925779 HIRU Corp HIRU HIRU Corp HIRU HIRU OTC GA GA Y 5812 Retail-Eating Places operating smaller_reporting_<75M 20 BAY STREET TORONTO A6 M5J 2N8 20 BAY STREET TORONTO A6 M5J 2N8 954-228-1053 581861457 PHOENIX RESTAURANT GROUP INC|DENAMERICA CORP|AMERICAN FAMILY RESTAURANTS INC 2025-08-06 SCHEDULE 13G/A Y
697 1076691 OCONEE FINANCIAL CORP Oconee Financial Oconee Financial Corp OSBK OSBK OTC GA GA Y 6022 State Commercial Banks operating smaller_reporting_<75M 35 NORTH MAIN STREET PO BOX 205 WATKINSVILLE GA 30677-0205 35 NORTH MAIN STREET WATKINSVILLE GA 30677-0205 7067696611 000000000 2025-08-28 D Y
698 2084026 QumulusAI, Inc. QumulusAI QumulusAI, Inc. QMLS QMLS GA GA Y 7374 Services-Computer Processing & Data Preparation other smaller_reporting_<75M 1130 POWERS FERRY PL MARIETTA GA 30067 C/O FOX ROTHSCHILD LLP MINNEAPOLIS MN 55402 877-420-9242 922681813 2026-05-14 S-1/A Y
699 1133798 TX Rail Products, Inc. TX Rail Products TX Rail Products, Inc. TXRP TXRP OTC GA GA Y 5084 Wholesale-Industrial Machinery & Equipment operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M P. O. BOX 1425 ASHLAND KY 41105 P. O. BOX 1425 ASHLAND KY 41105 606-928-1131 582558702 TX Holdings, Inc.|R WIRELESS INC|HOM CORP 2026-06-02 RW Y
700 1308027 Vystar Corp Vystar Vystar Corp VYST VYST OTC GA GA Y 3060 Fabricated Rubber Products, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 365 SHREWSBURY ST. WORCESTER MA 01604 365 SHREWSBURY ST. WORCESTER MA 01604 1 (508) 791-9114 202027731 2026-05-13 10-Q Y
701 1122020 PCS Edventures!, Inc. PCS Edventures! PCS Edventures!, Inc. PCSV PCSV|PCSVD ID ID Y 8200 Services-Educational Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 941 S. INDUSTRY WAY MERIDIAN ID 83642 941 S. INDUSTRY WAY MERIDIAN ID 83642 208-343-3110 820475383 PCS EDVENTURES COM INC 2026-05-06 4/A Y
702 18654 Ameren Illinois Co Ameren Illinois Ameren Illinois Co AILIH AILIH|AILLI|AILLM|AILLN|AILIM|AILLO|AILIN|AILLP|AILIO|AILIP OTC IL IL Y 4931 Electric & Other Services Combined operating smaller_reporting_<75M 10 RICHARD MARK WAY COLLINSVILLE IL 62234 10 RICHARD MARK WAY COLLINSVILLE IL 62234 618-343-8150 370211380 CENTRAL ILLINOIS PUBLIC SERVICE CO 2026-05-18 8-K Y
703 786298 FORESIGHT FINANCIAL GROUP INC Foresight Financial Group Foresight Financial Group Inc FGFH FGFH OTC IL IL Y 6022 State Commercial Banks other smaller_reporting_<75M 809 CANNELL-PURI CT SUITE 5, PO BOX 339 WINNEBAGO IL 61088 809 CANNELL-PURI CT WINNEBAGO IL 61088 8158477500 363371610 2026-02-17 SCHEDULE 13G Y
704 709005 NOBLE ROMANS INC Noble Romans Noble Romans Inc NROM NROM OTC IN IN Y 5812 Retail-Eating Places operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ONE VIRGINIA AVE STE 800 INDIANAPOLIS IN 46204 ONE VIRGINIA AVENUE INDIANAPOLIS IN 46204 3176343377 351281154 2026-06-08 10-K Y
705 1919847 Software Effective Solutions, Corp. Software Effective Solutions Software Effective Solutions, Corp. SFWJ SFWJ OTC LA LA Y 7371 Services-Computer Programming Services other smaller_reporting_<75M 6500 RIVER PLACE BLVD, BUILDING 7 SUITE 250 AUSTIN TX 78730 6500 RIVER PLACE BLVD, BUILDING 7 AUSTIN TX 78730 512-554-3736 872005243 2025-10-24 253G2 Y
706 1812286 Harrison Street Infrastructure Income Fund Harrison Street Infrastructure Income Fund Harrison Street Infrastructure Income Fund VCRDX VCRDX MA MA Y other smaller_reporting_<75M 5050 S. SYRACUSE ST., SUITE 1100 DENVER CO 80237 5050 S. SYRACUSE ST., SUITE 1100 DENVER CO 80237 (877) 200-1878 000000000 Versus Capital Infrastructure Income Fund|Versus Capital Real Asset Debt Fund 2026-06-04 N-CSR Y
707 13372 NSTAR ELECTRIC CO Nstar Electric Nstar Electric Co NSARO NSARO|NSARP OTC MA MA Y 4911 Electric Services operating smaller_reporting_<75M 800 BOYLSTON ST P1600 BOSTON MA 02199 800 BOYLSTON ST BOSTON MA 02199 6174242000 041278810 BOSTON EDISON CO 2026-05-13 8-K Y
708 1723701 PIMCO Flexible Municipal Income Fund PIMCO Flexible Municipal Income Fund PIMCO Flexible Municipal Income Fund PMFAX PMFAX MA MA Y other smaller_reporting_<75M 1633 BROADWAY NEW YORK NY 10019 1633 BROADWAY NEW YORK NY 10019 (844) 337-4626 000000000 2026-05-29 NPORT-P Y
709 790500 ABRDN ASIA-PACIFIC INCOME FUND, INC. Abrdn Asia-pacific Income Fund Abrdn Asia-pacific Income Fund, Inc. ABAKF FAX|ABAKF OTC MD MD Y other smaller_reporting_<75M 1900 MARKET STREET SUITE 200 PHILADELPHIA PA 19103 1900 MARKET STREET PHILADELPHIA PA 19103 215-405-5700 133334183 ABERDEEN ASIA-PACIFIC INCOME FUND INC|ABERDEEN ASIA PACIFIC INCOME FUND INC|FIRST AUSTRALIA PRIME INCOME FUND INC 2026-05-29 POS EX Y
710 1327978 Ares Real Estate Income Trust Inc. Ares Real Estate Income Trust Ares Real Estate Income Trust Inc. ZARE ZARE OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer smaller_reporting_<75M ONE TABOR CENTER 1200 SEVENTEENTH STREET, SUITE 2900 DENVER CO 80202 ONE TABOR CENTER DENVER CO 80202 (303)228-2200 300309068 Black Creek Diversified Property Fund Inc.|Dividend Capital Diversified Property Fund Inc.|Dividend Capital Total Realty Trust Inc. 2026-06-04 8-K Y
711 1275477 BIMINI CAPITAL MANAGEMENT, INC. Bimini Capital Management Bimini Capital Management, Inc. BMNM BMNM OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3305 FLAMINGO DRIVE VERO BEACH FL 32963 3305 FLAMINGO DRIVE VERO BEACH FL 32963 772 231 1400 721571637 Opteum Inc.|BIMINI MORTGAGE MANAGEMENT INC 2026-05-08 10-Q Y
712 1662972 Blackstone Real Estate Income Trust, Inc. Blackstone Real Estate Income Trust Blackstone Real Estate Income Trust, Inc. BSTT BSTT OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer smaller_reporting_<75M 345 PARK AVENUE NEW YORK NY 10154 345 PARK AVENUE NEW YORK NY 10154 212-583-5000 810696966 2026-06-04 8-K Y
713 1498547 CIM REAL ESTATE FINANCE TRUST, INC. Cim Real Estate Finance Trust Cim Real Estate Finance Trust, Inc. CMRF CMRF OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer smaller_reporting_<75M 2398 EAST CAMELBACK ROAD 4TH FLOOR PHOENIX AZ 85016 2398 EAST CAMELBACK ROAD PHOENIX AZ 85016 602-778-8700 273148022 COLE CREDIT PROPERTY TRUST IV, INC.|Cole Advisor Retail Income REIT, Inc. 2026-05-13 10-Q Y
714 2013792 EWSB Bancorp, Inc. /MD/ EWSB Bancorp EWSB Bancorp, Inc. EWSB EWSB OTC MD MD Y 6036 Savings Institutions, Not Federally Chartered operating / Emerging growth company smaller_reporting_<75M 109 WEST SECOND STREET KAUKAUNA WI 02492 109 WEST SECOND STREET KAUKAUNA WI 02492 (920) 766-4646 000000000 2026-06-05 8-K Y
715 1698022 Farmers & Merchants Bancshares, Inc. Farmers & Merchants Bancshares Farmers & Merchants Bancshares, Inc. FMFG FMFG OTC MD MD Y 6036 Savings Institutions, Not Federally Chartered operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4510 LOWER BECKLEYSVILLE ROAD SUITE H HAMPSTEAD MD 21074 4510 LOWER BECKLEYSVILLE ROAD HAMPSTEAD MD 21074 4103741510 813605835 2026-05-21 8-K Y
716 1068897 FOXBY CORP. Foxby Foxby Corp. FXBY FXBY OTC MD MD Y investment smaller_reporting_<75M 17 OLD DREWSVILLE ROAD WALOPLE NH 17 OLD DREWSVILLE ROAD WALOPLE NH 2127850900 391966806 FOXBY CORP|INTERNET GROWTH FUND INC|LCM INTERNET GROWTH FUND INC 2026-05-28 NPORT-P Y
717 890066 GLEN BURNIE BANCORP Glen Burnie Bancorp Glen Burnie Bancorp GLBZ GLBZ OTC MD MD Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 101 CRAIN HWY SE GLEN BURNIE MD 21061 101 CRAIN HWY SE GLEN BURNIE MD 21061 4107663300 521782444 2026-01-13 15-12G Y
718 1978811 Gouverneur Bancorp, Inc./MD/ Gouverneur Bancorp Gouverneur Bancorp, Inc. GOVB GOVB OTC MD MD Y 6036 Savings Institutions, Not Federally Chartered operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 42 CHURCH STREET GOUVERNEUR NY 13642 42 CHURCH STREET GOUVERNEUR NY 13642 315-287-2600 000000000 2026-05-19 4 Y
719 1585101 HINES GLOBAL INCOME TRUST, INC. Hines Global Income Trust Hines Global Income Trust, Inc. HGIT HGIT OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer smaller_reporting_<75M 845 TEXAS AVENUE SUITE 3300 HOUSTON TX 77002 845 TEXAS AVENUE HOUSTON TX 77002 888-220-6121 800947092 HINES GLOBAL REIT II, INC. 2026-05-18 424B3 Y
720 1528985 Inland Real Estate Income Trust, Inc. Inland Real Estate Income Trust Inland Real Estate Income Trust, Inc. INRE INRE OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer smaller_reporting_<75M 2901 BUTTERFIELD ROAD OAK BROOK IL 60523 2901 BUTTERFIELD ROAD OAK BROOK IL 60523 6302188000 453079597 Inland Monthly Income Trust, Inc.|Inland Core Assets Real Estate Trust, Inc. 2026-05-21 4 Y
721 1690012 InPoint Commercial Real Estate Income, Inc. InPoint Commercial Real Estate Income InPoint Commercial Real Estate Income, Inc. ICRL ICR-PA|ICRL|ICRP OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2901 BUTTERFIELD ROAD OAK BROOK IL 60523 2901 BUTTERFIELD ROAD OAK BROOK IL 60523 630-218-8000 320506267 2026-05-28 8-K Y
722 2067746 JOSS Realty REIT, Inc. JOSS Realty REIT JOSS Realty REIT, Inc. JOSS JOSS MD MD Y 6798 Real Estate Investment Trusts other smaller_reporting_<75M 650 FIFTH AVENUE, SUITE 2700 NEW YORK NY 10019 650 FIFTH AVENUE, SUITE 2700 NEW YORK NY 10019 2127108194 334793312 2026-04-14 S-11/A Y
723 1482430 KBS Real Estate Investment Trust III, Inc. KBS Real Estate Investment Trust III KBS Real Estate Investment Trust III, Inc. KBSR KBSR OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer smaller_reporting_<75M 800 NEWPORT CENTER DRIVE SUITE 700 NEWPORT BEACH CA 92660 800 NEWPORT CENTER DRIVE NEWPORT BEACH CA 92660 949-417-6500 271627696 2026-05-14 10-Q Y
724 1619312 Lightstone Value Plus REIT IV, Inc. Lightstone Value Plus REIT IV Lightstone Value Plus REIT IV, Inc. LTSV LTSV OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1985 CEDAR BRIDGE AVENUE SUITE 1 LAKEWOOD NJ 08701 1985 CEDAR BRIDGE AVENUE LAKEWOOD NJ 08701 732-367-0129 471796830 Lightstone Real Estate Income Trust Inc. 2026-05-13 10-Q Y
725 2024899 Monroe Federal Bancorp, Inc. Monroe Federal Bancorp Monroe Federal Bancorp, Inc. MFBI MFBI OTC MD MD Y 6035 Savings Institution, Federally Chartered operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 24 E. MAIN STREET TIPP CITY OH 45371 24 E. MAIN STREET TIPP CITY OH 45371 (937) 667-8461 000000000 2026-02-17 SCHEDULE 13G/A Y
726 1561032 National Healthcare Properties, Inc. National Healthcare Properties National Healthcare Properties, Inc. HLTC NHP|HLTC|NHPAP|NHPBP OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer smaller_reporting_<75M 540 MADISON AVE, 27TH FLOOR NEW YORK NY 10022 540 MADISON AVE, 27TH FLOOR NEW YORK NY 10022 332-258-8770 383888962 Healthcare Trust, Inc.|American Realty Capital Healthcare Trust II, Inc. 2026-06-01 SCHEDULE 13G Y
727 1854964 NewLake Capital Partners, Inc. NewLake Capital Partners NewLake Capital Partners, Inc. NLCP NLCP OTC MD MD Y 6798 Real Estate Investment Trusts operating / Emerging growth company smaller_reporting_<75M 50 LOCUST AVENUE NEW CANAAN CT 06840 50 LOCUST AVENUE NEW CANAAN CT 06840 203.594.1402 834400045 2026-06-08 8-K Y
728 888981 NOCOPI TECHNOLOGIES INC/MD/ Nocopi Technologies Nocopi Technologies Inc NNUP NNUP OTC MD MD Y 3944 Games, Toys & Children's Vehicles (No Dolls & Bicycles) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 480 SHOEMAKER ROAD SUITE 104 KING OF PRUSSIA PA 19406 480 SHOEMAKER ROAD KING OF PRUSSIA PA 19406 6108349600 870406496 2026-05-21 8-K Y
729 1456772 OFFICE PROPERTIES INCOME TRUST Office Properties Income Trust Office Properties Income Trust OPIRQ OPIRQ|OPITQ OTC MD MD Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M C/O THE RMR GROUP TWO NEWTON PL., 255 WASH. ST., STE. 300 NEWTON MA 02458 C/O THE RMR GROUP NEWTON MA 02458 (617) 219-1440 264273474 Government Properties Income Trust|GOVERNMENT PROPERTIES INCOME TRUST 2026-06-04 8-K Y
730 1824204 Park View OZ REIT Inc Park View OZ REIT Park View OZ REIT Inc PVOZ PVOZ OTC MD MD Y 6798 Real Estate Investment Trusts other smaller_reporting_<75M ONE BEACON STREET 32ND FLOOR BOSTON MA 02108 ONE BEACON STREET BOSTON MA 02108 617 917 8807 851631598 2026-05-26 1-U Y
731 1305767 Pioneer Floating Rate Fund, Inc. Pioneer Floating Rate Fund Pioneer Floating Rate Fund, Inc. PHD PHD MD MD Y other smaller_reporting_<75M 60 STATE STREET 5TH FLOOR BOSTON MA 02109 60 STATE STREET BOSTON MA 02109 617-742-7825 582683903 Pioneer Floating Rate Trust 2026-04-23 NPORT-P Y
732 845385 PRINCETON CAPITAL CORP Princeton Capital Princeton Capital Corp PIAC PIAC OTC MD MD Y operating Non-accelerated filer smaller_reporting_<75M 800 TURNPIKE STREET SUITE 300 NORTH ANDOVER MA 01845 800 TURNPIKE STREET NORTH ANDOVER MA 01845 978-794-3366 463516073 REGAL ONE CORP|REGAL ONE Corp 2026-05-26 40-17G Y
733 1692345 PROCACCIANTI HOTEL REIT, INC. Procaccianti Hotel Reit Procaccianti Hotel Reit, Inc. PRXA PRXA OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1140 RESERVOIR AVENUE CRANSTON RI 02920 1140 RESERVOIR AVENUE CRANSTON RI 02920 401-946-4600 813661609 2026-05-27 8-K Y
734 2087419 PSB Financial, Inc. PSB Financial PSB Financial, Inc. PNSB OTC MD MD Y 6036 Savings Institutions, Not Federally Chartered operating / Emerging growth company smaller_reporting_<75M 202 NORTH MAIN STREET DEER LODGE MT 59722 833 E MICHIGAN STREET MILWAUKEE WI 53202 406-846-2202 000000000 2026-05-21 8-K Y
735 2077715 RiverNorth Long Prime Unicorn Fund I, Inc. RiverNorth Long Prime Unicorn Fund I RiverNorth Long Prime Unicorn Fund I, Inc. UNIU UNIU MD MD Y other smaller_reporting_<75M 360 SOUTH ROSEMARY AVENUE SUITE 1420 WEST PALM BEACH FL 33401 360 SOUTH ROSEMARY AVENUE WEST PALM BEACH FL 33401 561-484-7185 000000000 RiverNorth Long Prime Unicorn Fund 2028, Inc.|RiverNorth Long Prime Unicorn Fund 2027, Inc. 2026-06-08 8-A12B/A Y
736 2077697 RiverNorth Short Prime Unicorn Fund I, Inc RiverNorth Short Prime Unicorn Fund I RiverNorth Short Prime Unicorn Fund I, Inc UNID UNID MD MD Y other smaller_reporting_<75M 360 SOUTH ROSEMARY AVENUE SUITE 1420 WEST PALM BEACH FL 33401 360 SOUTH ROSEMARY AVENUE WEST PALM BEACH FL 33401 561-484-7185 392956978 RiverNorth Short Prime Unicorn Fund 2028, Inc|RiverNorth Short Prime Unicorn Fund 2027, Inc. 2026-06-08 8-A12B/A Y
737 2036060 Security Midwest Bancorp, Inc. Security Midwest Bancorp Security Midwest Bancorp, Inc. SBMW SBMW OTC MD MD Y 6036 Savings Institutions, Not Federally Chartered operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 510 E. MONROE SPRINFIELD IL 62701 510 E. MONROE SPRINFIELD IL 62701 (217) 789-3500 000000000 2026-05-14 10-Q Y
738 2072421 Seneca Bancorp, Inc. Seneca Bancorp Seneca Bancorp, Inc. SNNF SNNF OTC MD MD Y 6021 National Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 35 OSWEGO STREET BALDWINSVILLE NY 13027 35 OSWEGO STREET BALDWINSVILLE NY 13027 (315) 638-0233 000000000 2026-06-04 8-K Y
739 1301236 Sotherly Hotels Inc. Sotherly Hotels Sotherly Hotels Inc. SOHON SOHOO|SOHON|SOHOB OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 306 SOUTH HENRY STREET SUITE 100 WILLIAMSBURG VA 23185 306 SOUTH HENRY STREET WILLIAMSBURG VA 23185 757-229-5648 000000000 MHI Hospitality CORP 2026-04-28 SCHEDULE 13G/A Y
740 1711929 Starwood Real Estate Income Trust, Inc. Starwood Real Estate Income Trust Starwood Real Estate Income Trust, Inc. SWDR SWDR OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer smaller_reporting_<75M 2340 COLLINS AVENUE MIAMI BEACH FL 33139 2340 COLLINS AVENUE MIAMI BEACH FL 33139 305-695-5500 822023409 2026-05-29 8-K Y
741 1852575 Strategic Storage Trust VI, Inc. Strategic Storage Trust VI Strategic Storage Trust VI, Inc. SGST SGST OTC MD MD Y 6798 Real Estate Investment Trusts operating / Emerging growth company smaller_reporting_<75M 10 TERRACE ROAD LADERA RANCH CA 92694 10 TERRACE ROAD LADERA RANCH CA 92694 9495424516 853494431 2026-05-28 8-K Y
742 1698538 Strategic Student & Senior Housing Trust, Inc. Strategic Student & Senior Housing Trust Strategic Student & Senior Housing Trust, Inc. STSR STSR OTC MD MD Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 10 TERRACE ROAD LADERA RANCH CA 92694 10 TERRACE ROAD LADERA RANCH CA 92694 949 429 6600 000000000 Strategic Student Senior & Storage Trust, Inc. 2026-05-26 8-K Y
743 2084261 URSB Bancorp, Inc. URSB Bancorp URSB Bancorp, Inc. URSB URSB OTC MD MD Y 6036 Savings Institutions, Not Federally Chartered operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 11-15 COOKE AVENUE CARTERET NJ 07008 11-15 COOKE AVENUE CARTERET NJ 07008 732-541-5445 000000000 2026-05-15 10-Q Y
744 1630745 DCFC Holdings, LLC DCFC Holdings DCFC Holdings, LLC DCFBS DCFBS OTC MI MI Y other smaller_reporting_<75M 3401 E. LAFAYETTE DETROIT MI 48216 3401 E. LAFAYETTE DETROIT MN 3136562480 472662769 2026-04-30 C-AR Y
745 1023458 AEI INCOME & GROWTH FUND XXII LTD PARTNERSHIP Aei Income & Growth Fund Xxii Ltd Partnership Aei Income & Growth Fund Xxii Ltd Partnership XAEIU XAEIU OTC MN MN Y 6500 Real Estate operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 30 EAST 7TH ST SUITE 1300 ST PAUL MN 55101 30 EAST 7TH ST SUITE 1300 ST PAUL MN 55101 6512277333 411848181 2026-05-13 10-Q Y
746 943034 AUTOSCOPE TECHNOLOGIES CORP Autoscope Technologies Autoscope Technologies Corp AATC AATC OTC MN MN Y 3829 Measuring & Controlling Devices, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1115 HENNEPIN AVE MINNEAPOLIS MN 55403 1115 HENNEPIN AVE MINNEAPOLIS MN 55403 6516037700 863685595 IMAGE SENSING SYSTEMS INC 2026-03-30 D/A Y
747 1838003 Encore Medical, Inc. Encore Medical Encore Medical, Inc. EMI EMI MN MN Y 3841 Surgical & Medical Instruments & Apparatus other smaller_reporting_<75M 2975 LONE OAK DRIVE EAGAN MN 55121 2975 LONE OAK DRIVE EAGAN MN 55121 651-797-0913 822906303 2026-04-09 FWP Y
748 1489874 Golden Growers Cooperative Golden Growers Cooperative Golden Growers Cooperative GGROU GGROU OTC MN MN Y 0700 Agricultural Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1002 MAIN AVENUE WEST SUITE 5 WEST FARGO ND 58078 1002 MAIN AVENUE WEST WEST FARGO ND 58078 701-281-0468 000000000 2026-05-08 10-Q Y
749 71557 Nuvera Communications, Inc. Nuvera Communications Nuvera Communications, Inc. NUVR NUVR OTC MN MN Y 4813 Telephone Communications (No Radiotelephone) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 27 NORTH MINNESOTA ST. NEW ULM MN 56073 P O BOX 697 NEW ULM MN 56073 5073544111 410440990 NEW ULM TELECOM INC 2026-05-29 4 Y
750 942895 REDWOOD FINANCIAL INC /MN/ Redwood Financial Redwood Financial Inc REDW REDW OTC MN MN Y 6035 Savings Institution, Federally Chartered other smaller_reporting_<75M 301 S WASHINGTON ST P O BOX 317 REDWOOD FALLS MN 56283 301 S WASHINGTON ST REDWOOD FALLS MN 56283 5076378730 411807233 2026-03-18 D Y
751 100826 UNION ELECTRIC CO Union Electric Union Electric Co UELMO UELMO|UEPCN|UEPEO|UEPEP|UEPCP|UEPEN|UEPCO|UEPEM OTC MO MO Y 4911 Electric Services operating smaller_reporting_<75M 1901 CHOUTEAU AVENUE MC 1310 ST LOUIS MO 63166 1901 CHOUTEAU AVENUE ST LOUIS MO 63166 314-621-3222 430559760 2026-05-18 8-K Y
752 770460 PEOPLES FINANCIAL CORP /MS/ Peoples Financial Peoples Financial Corp PFBX PFBX OTC MS MS Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 152 LAMEUSE STREET P O BOX 529 BILOXI MS 39530 P O BOX 529 BILOXI MS 39533-0529 2284355511 640709834 PEOPLES FINANCIAL CORP 2026-06-04 4 Y
753 1531193 First Carolina Financial Services, Inc. First Carolina Financial Services First Carolina Financial Services, Inc. FCBM FCBM NC NC Y 6022 State Commercial Banks other smaller_reporting_<75M 2626 GLENWOOD AVENUE SUITE 200 RALEIGH NC 27608 2626 GLENWOOD AVENUE RALEIGH NC 27608 252-937-2152 272136973 2026-06-08 FWP Y
754 898171 UWHARRIE CAPITAL CORP Uwharrie Capital Uwharrie Capital Corp UWHR UWHR OTC NC NC Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 132 NORTH FIRST STREET PO BOX 338 ALBEMARLE NC 28001 P O BOX 338 ALBEMARLE NC 28002-0338 7049836181 561814206 STANLY CAPITAL CORP 2026-05-26 3 Y
755 1053369 ELITE PHARMACEUTICALS INC /NV/ Elite Pharmaceuticals Elite Pharmaceuticals Inc ELTP ELTP OTC NJ NJ Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 165 LUDLOW AVENUE NORTHVALE NJ 07647 165 LUDLOW AVENUE NORTHVALE NJ 07647 2017502646 223542636 ELITE PHARMACEUTICALS INC /DE/ 2026-06-01 8-K Y
756 36840 FIRST REAL ESTATE INVESTMENT TRUST OF NEW JERSEY, INC. First Real Estate Investment Trust of New Jersey First Real Estate Investment Trust of New Jersey, Inc. FREVS FREVS OTC NJ NJ Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 505 MAIN STREET SUITE 400 HACKENSACK NJ 07601 505 MAIN STREET HACKENSACK NJ 07601 2014886400 221697095 FIRST REAL ESTATE INVESTMENT TRUST OF NEW JERSEY 2026-05-28 PRER14A Y
757 803097 SportsQuest, Inc. SportsQuest SportsQuest, Inc. SPQS SPQS OTC NJ NJ Y 7900 Services-Amusement & Recreation Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 500 AUSTRALIAN AVENUE, SUITE 600 WEST PALM BEACH FL 33401 500 AUSTRALIAN AVENUE, SUITE 600 WEST PALM BEACH FL 33401 954-837-6833 222742564 AIR BROOK AIRPORT EXPRESS INC 2026-05-15 10-Q Y
758 81023 PUBLIC SERVICE CO OF NEW MEXICO Public Service Co of New Mexico Public Service Co of New Mexico PNMXO PNMXO OTC NM NM Y 4931 Electric & Other Services Combined operating smaller_reporting_<75M 414 SILVER AVE. SW ALBUQUERQUE NM 87102-3289 414 SILVER AVE. SW ALBUQUERQUE NM 87102-3289 5058482700 850019030 2026-06-02 8-K Y
759 1642365 Alpine Auto Brokers Inc. Alpine Auto Brokers Alpine Auto Brokers Inc. ALTB ALTB OTC NY NY Y 5990 Retail-Retail Stores, NEC operating / Emerging growth company smaller_reporting_<75M 749 SOUTH STATE STREET SALT LAKE CITY UT 84111 ROOM 2605 SOUTH TOWER, CONCORDIA PLAZA KOWLOON K3 000000 (852) 2180 7022 383970138 Balincan International Inc.|Alpine Auto Brokers, Inc. 2025-08-05 8-K Y
760 1672571 Antiaging Quantum Living Inc. Antiaging Quantum Living Antiaging Quantum Living Inc. AAQL AAQL OTC NY NY Y 7331 Services-Direct Mail Advertising Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 135-22 NORTHERN BLVD 2ND FL FLUSHING NY 11354 135-22 NORTHERN BLVD FLUSHING NY 11354 9174705393 472643986 Achison Inc 2026-02-13 10-Q Y
761 1904616 Baker Global Asset Management Inc. Baker Global Asset Management Baker Global Asset Management Inc. BAKR BAKR OTC NY NY Y 6200 Security & Commodity Brokers, Dealers, Exchanges & Services other smaller_reporting_<75M 3 WEST GARDEN STREET, SUITE 407 PENSACOLA FL 32502 3 WEST GARDEN STREET, SUITE 407 PENSACOLA FL 32502 5169311090 000000000 2025-10-31 1-K Y
762 2094107 Ballston Spa Bancorp, Inc. Ballston Spa Bancorp Ballston Spa Bancorp, Inc. BSPA BSPA OTC NY NY Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 990 STATE ROUTE 67 BALLSTON SPA NY 990 STATE ROUTE 67 BALLSTON SPA NY (518) 363-8199 742245601 2026-05-14 10-Q Y
763 1939479 China Strategic Technology Group Limited/ADR China Strategic Technology Group Limited/ADR China Strategic Technology Group Limited/ADR USPCY USPCY OTC NY NY Y 3510 Engines & Turbines other smaller_reporting_<75M 120 BROADWAY 32ND FLOOR NEW YORK NY 10271 120 BROADWAY NEW YORK NY 10271 2122383128 000000000 USPACE Technology Group Limited/ADR|Hong Kong Aerospace Technology Group Limited/ADR 2025-12-02 424B3 Y
764 1837671 Copper Property CTL Pass Through Trust Copper Property CTL Pass Through Trust Copper Property CTL Pass Through Trust CPPTL CPPTL OTC NY NY Y 6500 Real Estate operating / Emerging growth company smaller_reporting_<75M 6501 LEGACY DRIVE PLANO TX 75024 6501 LEGACY DRIVE PLANO TX 75024 972-243-1100 000000000 2026-06-05 8-K Y
765 927719 DELHI BANK CORP Delhi Bank Delhi Bank Corp DWNX DWNX OTC NY NY Y 6021 National Commercial Banks other smaller_reporting_<75M 124 MAIN ST DELHI NY 13753 124 MAIN ST DELHI NY 13753 855-413-3544 141777653 2026-03-16 QUALIF Y
766 1261002 GENOIL INC Genoil Genoil Inc GNOLF GNOLF OTC NY NY Y 1389 Oil & Gas Field Services, NEC operating Non-accelerated filer smaller_reporting_<75M ONE ROCKEFELLER CENTER, 11TH FLOOR NEW YORK NY 10020 ONE ROCKEFELLER CENTER, 11TH FLOOR NEW YORK NY 10020 1-403-750 3450 000000000 2026-05-13 20-F Y
767 1585380 Greene Concepts, Inc Greene Concepts Greene Concepts, Inc INKW INKW OTC NY NY Y 2086 Bottled & Canned Soft Drinks & Carbonated Waters other smaller_reporting_<75M 1865 HERNDON AVENUE SUITE K358 CLOVIS CA 93611 1865 HERNDON AVENUE CLOVIS CA 93611 559-494-1000 743101465 2026-05-21 253G1 Y
768 50292 IEH Corp IEH IEH Corp IEHC IEHC OTC NY NY Y 3678 Electronic Connectors operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 140 58TH ST BLDG B UNIT 8E BROOKLYN NY 11220 140 58TH STREET BUILDING B SUITE 8E BROOKLYN NY 11220 7184924440 135549345 IEH CORPORATION 2026-06-08 8-K Y
769 2003750 Maitong Sunshine Cultural Development Co., Ltd Maitong Sunshine Cultural Development Co. Maitong Sunshine Cultural Development Co., Ltd MGSD MGSD OTC NY NY Y 4700 Transportation Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M ROOM 202, GATE 6, BUILDING 9, YAYUAN ANHUI BEILI, CHAOYANG DISTRICT BEIJING 100000 ROOM 202, GATE 6, BUILDING 9, YAYUAN BEIJING 100000 0086 010 64927946 934332287 2026-05-20 10-Q Y
770 66496 MILLS MUSIC TRUST Mills Music Trust Mills Music Trust MMTRS MMTRS OTC NY NY Y 6794 Patent Owners & Lessors operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1001 AVENUE OF THE AMERICAS 2ND FLOOR NEW YORK NY 10018 1001 AVENUE OF THE AMERICAS NEW YORK NY 10018 2128685781 136183792 2026-05-15 10-Q Y
771 1562805 Mitsui Kinzoku Co Ltd./ADR Mitsui Kinzoku Co Ltd./ADR Mitsui Kinzoku Co Ltd./ADR XZJCF XZJCF OTC NY NY Y other smaller_reporting_<75M 120 BROADWAY 32ND FLOOR NEW YORK NY 10271 120 BROADWAY NEW YORK NY 10271 212-238-3128 000000000 Mitsui Mining & Smelting Co., Ltd./ADR 2025-10-10 F-6 POS Y
772 1084267 Mobiquity Technologies, Inc. Mobiquity Technologies Mobiquity Technologies, Inc. MOBQ MOBQ|MOBQW OTC NY NY Y 7310 Services-Advertising operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 35 TORRINGTON LANE SHOREHAM NY 11786 35 TORRINGTON LANE SHOREHAM NY 11786 516-256-7766 113427886 ACE MARKETING & PROMOTIONS INC 2026-05-15 10-Q Y
773 747540 SURGE COMPONENTS INC Surge Components Surge Components Inc SPRS SPRS OTC NY NY Y 5065 Wholesale-Electronic Parts & Equipment, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 95 EAST JEFRYN BLVD DEER PARK NY 11729 SURGE COMPONENTS INC DEER PARK NY 11729 5165951818 112602030 2026-04-14 10-Q Y
774 1555815 Tisco Financial Group Public Co Limited/ADR Tisco Financial Group Public Co Limited/ADR Tisco Financial Group Public Co Limited/ADR TSCFY TSCFY OTC NY NY Y other smaller_reporting_<75M 120 BROADWAY 32ND FLOOR NEW YORK NY 10271 120 BROADWAY NEW YORK NY 10271 2122383267 000000000 2025-09-05 F-6EF Y
775 895464 Yubo International Biotech Ltd Yubo International Biotech Yubo International Biotech Ltd YBGJ YBGJ OTC NY NY Y 3845 Electromedical & Electrotherapeutic Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M ROOM 105, BUILDING 5, 31 XISHIKU AVENUE BEIJING F4 00000 ROOM 105, BUILDING 5, 31 XISHIKU AVENUE BEIJING F4 00000 86 (010) 6615-5141 113074326 MAGNA LAB INC 2026-05-15 10-Q Y
776 2066925 CAPSTONE 72, INC. Capstone 72 Capstone 72, Inc. CAPI CAPI OH OH Y 6500 Real Estate other smaller_reporting_<75M 1440 ROCKSIDE RD SUITE 118, ROCKSIDE PLAZA PARMA OH 44134 1440 ROCKSIDE RD SUITE 118, PARMA OH 44134 1 828 7246873 334807947 2026-05-27 S-11/A Y
777 1006830 CONSUMERS BANCORP INC /OH/ Consumers Bancorp Consumers Bancorp Inc CBKM CBKM OTC OH OH Y 6021 National Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 614 E LINCOLN WAY PO BOX 256 MINERVA OH 44657-2096 614 E LINCOLN WAY MINERVA OH 44657-2095 3308687701 341771400 2026-06-01 3 Y
778 880417 CSB Bancorp, Inc. CSB Bancorp CSB Bancorp, Inc. CSBB CSBB OTC OH OH Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 91 NORTH CLAY ST MILLERSBURG OH 44654 91 NORTH CLAY ST MILLERSBURG OH 44654 3306749015 341687530 CSB BANCORP INC /OH 2026-05-14 10-Q Y
779 1087456 UNITED BANCSHARES INC/OH United Bancshares United Bancshares Inc UBOH OTC OH OH Y 6021 National Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 105 PROGRESSIVE DRIVE COLUMBUS GROVE OH 45830 105 PROGRESSIVE DRIVE COLUMBUS GROVE OH 45830 419-659-2141 341516518 2026-05-13 D Y
780 1917993 Growth Stalk Holdings Corp Growth Stalk Holdings Growth Stalk Holdings Corp GSTK GSTK OTC OK OK Y 0100 Agricultural Production-Crops operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 11991 N HWY 99 SEMINOLE OK 74868 11991 N HWY 99 SEMINOLE OK 74868 4054560207 873145742 2026-05-28 D Y
781 1879293 Mag Mile Capital, Inc. Mag Mile Capital Mag Mile Capital, Inc. MMCP MMCP OTC OK OK Y 3567 Industrial Process Furnaces & Ovens operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1141 W. RANDOLPH STREET SUITE 200 CHICAGO IL 60607 3625 COVE POINT DRIVE SALT LAKE CITY UT 84109 801 209 0740 871614433 Myson, Inc. 2026-05-14 10-Q Y
782 1449794 Embassy Bancorp, Inc. Embassy Bancorp Embassy Bancorp, Inc. EMYB EMYB OTC PA PA Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 100 GATEWAY DRIVE SUITE 100 BETHLEHEM PA 18017 100 GATEWAY DRIVE BETHLEHEM PA 18017 610-882-8800 263339011 2026-06-08 4 Y
783 1437479 ENB Financial Corp ENB Financial ENB Financial Corp ENBP ENBP OTC PA PA Y 6021 National Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 31 E MAIN STREET PO BOX 457 EPHRATA PA 17522-0457 31 E MAIN STREET EPHRATA PA 17522-0457 717-733-4181 510661129 2026-05-15 10-Q Y
784 862668 ESCALON MEDICAL CORP Escalon Medical Escalon Medical Corp ESMC ESMC OTC PA PA Y 3845 Electromedical & Electrotherapeutic Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 435 DEVON PARK ROAD SUITE 824 WAYNE PA 19087 435 DEVON PARK ROAD WAYNE PA 19087 6106886830 330272839 2026-05-15 10-Q Y
785 737875 FIRST KEYSTONE CORP First Keystone First Keystone Corp FKYS FKYS OTC PA PA Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 111 W FRONT ST PO BOX 289 BERWICK PA 18603 111 WEST FRONT STREET BERWICK PA 18603 570-752-3671 X 1150 232249083 2026-05-28 8-K Y
786 1846702 Forge Group, Inc. Forge Group Forge Group, Inc. FIGP FIGP OTC PA PA Y 6331 Fire, Marine & Casualty Insurance other smaller_reporting_<75M 8401 CONNECTICUT AVENUE SUITE 300 CHEVY CHASE MD 20815 8401 CONNECTICUT AVENUE CHEVY CHASE MD 20815 202-547-8700 854184821 Amalgamated Specialty Group Holdings, Inc. 2026-05-15 1-U Y
787 714712 JUNIATA VALLEY FINANCIAL CORP Juniata Valley Financial Juniata Valley Financial Corp JUVF JUVF OTC PA PA Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M BRIDGE AND MAIN STREETS PO BOX 66 MIFFLINTOWN PA 17059-0066 BRIDGE AND MAIN STREETS MIFFLINTOWN PA 17059-0066 855-582-5101 232235254 2026-06-04 4 Y
788 731122 MUNCY COLUMBIA FINANCIAL Corp MUNCY COLUMBIA FINANCIAL MUNCY COLUMBIA FINANCIAL Corp CCFN CCFN OTC PA PA Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1199 LIGHTSTREET ROAD BLOOMSBURG PA 17815 1199 LIGHTSTREET ROAD BLOOMSBURG PA 17815 5707844400 232254643 CCFNB BANCORP INC 2026-05-27 4 Y
789 750558 QNB CORP. Qnb Qnb Corp. QNBC QNBC OTC PA PA Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 15 NORTH THIRD STREET QUAKERTOWN PA 18951-9005 P.O. BOX 9005 QUAKERTOWN PA 18951 2155385600 232318082 QNB CORP 2026-06-08 8-K/A Y
790 1391933 QUAINT OAK BANCORP, INC. Quaint Oak Bancorp Quaint Oak Bancorp, Inc. QNTO QNTO OTC PA PA Y 6036 Savings Institutions, Not Federally Chartered operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 501 KNOWLES AVENUE SOUTHAMPTON PA 18966 501 KNOWLES AVENUE SOUTHAMPTON PA 18966 215 364 4059 352293957 QUAINT OAK BANCORP INC 2026-05-27 4 Y
791 202947 CAPITAL PROPERTIES INC /RI/ Capital Properties Capital Properties Inc CPTP CPTP OTC RI RI Y 6519 Lessors of Real Property, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 5 STEEPLE STREET UNIT 303 PROVIDENCE RI 02903 5 STEEPLE STREET PROVIDENCE RI 02903 401-435-7171 050386287 2026-02-10 SCHEDULE 13G Y
792 1437213 Coastal Carolina Bancshares, Inc. Coastal Carolina Bancshares Coastal Carolina Bancshares, Inc. CCNB CCNB OTC SC SC Y 6021 National Commercial Banks operating smaller_reporting_<75M 1012 38TH AVENUE NORTH MYRTLE BEACH SC 29577 1012 38TH AVENUE NORTH MYRTLE BEACH SC 29577 (843) 839-1952 331206107 2026-02-13 SCHEDULE 13G/A Y
793 818677 SECURITY FEDERAL CORP Security Federal Security Federal Corp SFDL SFDL OTC SC SC Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 238 RICHLAND AVENUE NW AIKEN SC 29801 238 RICHLAND AVENUE NW AIKEN SC 29801 8036413000 570858504 SECURITY FEDERAL CORPORATION 2026-03-20 10-K Y
794 1568969 Techlott Inc. Techlott Techlott Inc. LOTT APYP OTC SD SD Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 16 NATAN ALTERMAN ST GAN YAVNE 447 BROADWAY NEW YORK NY 10013 8006743561 461496846 APPYEA, INC 2026-06-03 8-K Y
795 29332 DIXIE GROUP INC Dixie Group Dixie Group Inc DXYN DXYN OTC TN TN Y 2273 Carpets & Rugs operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M PO BOX 2007 DALTON GA 30722 PO BOX 2007 DALTON GA 30722 7068765814 620183370 DIXIE YARNS INC 2026-05-27 SCHEDULE 13G Y
796 96664 American Fusion, Inc. American Fusion American Fusion, Inc. AMFN AMFN OTC TX TX Y 4911 Electric Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 401 N CARROLL AVE., STE. 192 SOUTHLAKE TX 76092 401 N CARROLL AVE., STE. 192 SOUTHLAKE TX 76092 480-788-7420 221436279 Renewal Fuels, Inc.|TECH LABORATORIES INC 2026-05-20 10-Q Y
797 1572386 GREENWAY TECHNOLOGIES, INC. & SUBSIDIARIES Greenway Technologies, Inc. & Subsidiaries Greenway Technologies, Inc. & Subsidiaries GWTI GWTI OTC TX TX Y 2860 Industrial Organic Chemicals operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 1521 NORTH COOPER STREET SUITE 205 ARLINGTON TX 76011 1521 NORTH COOPER STREET ARLINGTON TX 76011 (561) 809-4644 900893594 GREENWAY TECHNOLOGIES INC|UMED HOLDINGS, INC. 2026-06-03 8-K Y
798 862022 HUGOTON ROYALTY TRUST Hugoton Royalty Trust Hugoton Royalty Trust HGTXU HGTXU OTC TX TX Y 6792 Oil Royalty Traders operating smaller_reporting_<75M C/O ARGENT TRUST COMPANY 3838 OAK LAWN AVE., SUITE 1720 DALLAS TX 75219-4518 C/O ARGENT TRUST COMPANY DALLAS TX 75219-4518 972-919-1360 586379215 2026-05-18 8-K Y
799 1096296 MINERALRITE Corp MINERALRITE MINERALRITE Corp RITE RITE OTC TX TX Y 1090 Miscellaneous Metal Ores operating / Emerging growth company smaller_reporting_<75M 325 N. ST. PAUL STREET SUITE 3100 DALLAS TX 75201 325 N. ST. PAUL STREET DALLAS TX 75201 469-881-8900 900315909 ROYAL QUANTUM GROUP INC|PLATINUM SUPERYACHTS INC|MENTOR ON CALL INC|PSM CORP 2026-05-27 8-K Y
800 844985 POSITRON CORP Positron Positron Corp POSC POSC OTC TX TX Y 3845 Electromedical & Electrotherapeutic Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 530 OAKMONT LANE WESTMOUNT IL 60559 530 OAKMONT LANE WESTMOUNT IL 60559 2814927100 760083622 2026-05-15 10-Q Y
801 1038277 RADNOSTIX INC Radnostix Radnostix Inc INIS INIS OTC TX TX Y 3823 Industrial Instruments For Measurement, Display, and Control operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4137 COMMERCE CIRCLE IDAHO FALLS ID 83401 4137 COMMERCE CIRCLE IDAHO FALLS ID 83401 2085245300 742763837 INTERNATIONAL ISOTOPES INC 2026-06-04 DEFA14A Y
802 34285 RELIABILITY INC Reliability Reliability Inc RLBY RLBY OTC TX TX Y 7363 Services-Help Supply Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 22505 GATEWAY CENTER DRIVE P.O. BOX 71 CLARKSBURG MD 20871 22505 GATEWAY CENTER DRIVE CLARKSBURG MD 20871 (203) 489-9500 750868913 2026-05-20 10-Q Y
803 1181412 SPACE EXPLORATION TECHNOLOGIES CORP Space Exploration Technologies Space Exploration Technologies Corp SPCX SPCX TX TX Y 7370 Services-Computer Programming, Data Processing, Etc. other smaller_reporting_<75M 1 ROCKET ROAD STARBASE TX 78521 1 ROCKET ROAD STARBASE TX 78521 3103636000 000000000 2026-06-09 FWP Y
804 867038 SPINDLETOP OIL & GAS CO Spindletop Oil & Gas Spindletop Oil & Gas Co SPND SPND OTC TX TX Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 12850 SPURLING RD. SUITE 200 DALLAS TX 75230-1279 12850 SPURLING RD. DALLAS TX 75230-1279 9726442581 752063001 2026-05-20 10-Q Y
805 1083490 SUNRISE REAL ESTATE GROUP INC Sunrise Real Estate Group Sunrise Real Estate Group Inc SRRE SRRE OTC TX TX Y 6513 Operators of Apartment Buildings operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M SUITE 1502 NO. 333 ZHAOJIABANG ROAD SHANGHAI SUITE 1502 SHANGHAI 8621-64220505 752713701 SUNRISE REAL ESTATE DEVELOPMENT GROUP INC|PARALLAX ENTERTAINMENT INC 2026-05-20 10-Q Y
806 1532383 VANJIA CORP Vanjia Vanjia Corp VNJA VNJA OTC TX TX Y 1531 Operative Builders operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4771 SWEETWATER BLVD #199 SUGAR LAND TX 77479 4771 SWEETWATER BLVD #199 SUGAR LAND TX 77479 713-898-6818 453051284 Vantone Realty Corp 2026-05-15 10-Q Y
807 1062506 ATLANTICA INC Atlantica Atlantica Inc ALDA ALDA OTC UT UT Y 6770 Blank Checks operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 11450 SE DIXIE HIGHWAY HOBE SOUND FL 33455 11450 SE DIXIE HIGHWAY HOBE SOUND FL 33455 772-545-9002 430976473 2026-05-04 10-Q Y
808 1543637 Nu-Med Plus, Inc. Nu-Med Plus Nu-Med Plus, Inc. NUMD NUMD OTC UT UT Y 3841 Surgical & Medical Instruments & Apparatus operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 640 BELLE TERRE RD. 2 E PORT JEFFERSON NY 11777 640 BELLE TERRE RD. 2 E PORT JEFFERSON NY 11777 631-403-4337 453672530 2026-05-14 10-Q Y
809 1610718 Outdoor Specialty Products, Inc. Outdoor Specialty Products Outdoor Specialty Products, Inc. ODRS ODRS OTC UT UT Y 3949 Sporting & Athletic Goods, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 3842 QUAIL HOLLOW DRIVE SALT LAKE CITY UT 84109 3842 QUAIL HOLLOW DRIVE SALT LAKE CITY UT 84109 801-560-5184 464854952 2026-05-05 10-Q Y
810 1138476 PACIFIC HEALTH CARE ORGANIZATION INC Pacific Health Care Organization Pacific Health Care Organization Inc PFHO PFHO OTC UT UT Y 8090 Services-Misc Health & Allied Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 19800 MACARTHUR BOULEVARD SUITES 306 & 307 IRVINE CA 92612 19800 MACARTHUR BOULEVARD IRVINE CA 92612 (949) 721-8272 870285238 2026-06-04 4 Y
811 841533 SADDLE RANCH MEDIA, INC. Saddle Ranch Media Saddle Ranch Media, Inc. SRMX SRMX OTC UT UT Y 3640 Electric Lighting & Wiring Equipment operating smaller_reporting_<75M 19200 VON KARMAN AVE. STE 400 IRVINE CA 92612 19200 VON KARMAN AVE. IRVINE CA 92612 949-212-1898 870461653 INTERLINE RESOURCES CORP 2026-02-04 1-A-W Y
812 727346 SELECTIS HEALTH, INC. Selectis Health Selectis Health, Inc. GBCS GBCS OTC UT UT Y 6798 Real Estate Investment Trusts operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 8480 E. ORCHARD ROAD SUITE 4900 GREENWOOD VILLAGE CO 80111 8480 E. ORCHARD ROAD GREENWOOD VILLAGE CO 80111 720-680-0808 870340206 GLOBAL HEALTHCARE REIT, INC.|GLOBAL CASINOS INC 2026-05-26 3 Y
813 804563 BENCHMARK BANKSHARES INC Benchmark Bankshares Benchmark Bankshares Inc BMBN BMBN OTC VA VA Y 6022 State Commercial Banks operating smaller_reporting_<75M 100 S BROAD ST KENBRIDGE VA 23944 100 S BROAD ST KENBRIDGE VA 23944 8046768444 541460991 2025-05-29 D Y
814 1763925 CoJax Oil & Gas Corp CoJax Oil & Gas CoJax Oil & Gas Corp CJAX CJAX OTC VA VA Y 1311 Crude Petroleum & Natural Gas operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 3130 19TH ST N ARLINGTON VA 22201 3130 19TH ST N ARLINGTON VA 22201 703-216-8606 461892622 2026-05-13 10-Q Y
815 1900720 EPWK Holdings Ltd. EPWK Holdings EPWK Holdings Ltd. EPWKF EPWKF OTC VA VA Y 7389 Services-Business Services, NEC other / Emerging growth company smaller_reporting_<75M NO. 359 CHENGYI ROAD DISTRICT A, BUILDING #2 XIAMEN 0000 NO. 359 CHENGYI ROAD XIAMEN 0000 86 400-1286688 000000000 2026-06-02 25-NSE Y
816 740806 F&M BANK CORP F&m Bank F&m Bank Corp FMBM FMBM OTC VA VA Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M P.O. BOX 1111 TIMBERVILLE VA 22853 P. O. BOX 1111 TIMBERVILLE VA 22853 540-896-8941 541280811 2026-05-27 8-K Y
817 1163389 NEW PEOPLES BANKSHARES INC New Peoples Bankshares New Peoples Bankshares Inc NWPP NWPP OTC VA VA Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 67 COMMERCE DRIVE HONAKER VA 24260 PO BOX 1810 HONAKER VA 24260 2768737000 311804543 2026-06-08 4 Y
818 1865429 Oak View Bankshares, Inc. Oak View Bankshares Oak View Bankshares, Inc. OAKV OAKV OTC VA VA Y 6021 National Commercial Banks other smaller_reporting_<75M 128 BROADVIEW AVENUE WARRENTON VA 20186 128 BROADVIEW AVENUE WARRENTON VA 20186 540-359-7151 870937245 2025-10-24 D Y
819 1657642 Skyline Bankshares, Inc. Skyline Bankshares Skyline Bankshares, Inc. SLBK SLBK OTC VA VA Y 6022 State Commercial Banks operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 101 JACKSONVILLE CIRCLE FLOYD VA 24091 101 JACKSONVILLE CIRCLE FLOYD VA 24091 540-745-4191 475486027 Parkway Acquisition Corp. 2026-05-21 8-K Y
820 1083522 JONES SODA CO. Jones Soda Jones Soda Co. JSDA JSDA OTC WA WA Y 2080 Beverages operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4786 1ST AVENUE SOUTH SUITE 103 SEATTLE WA 98134 4786 1ST AVENUE SOUTH SEATTLE WA 98134 206 624-3357 911696175 JONES SODA CO|URBAN JUICE & SODA CO LTD /WY/ 2026-05-22 10-K/A Y
821 107815 WISCONSIN ELECTRIC POWER CO Wisconsin Electric Power Wisconsin Electric Power Co WELPP WELPP|WELPM OTC WI WI Y 4911 Electric Services operating Non-accelerated filer smaller_reporting_<75M 231 W MICHIGAN ST PO BOX 2046 MILWAUKEE WI 53290-0001 231 W MICHIGAN ST MILWAUKEE WI 53201 414-221-2345 390476280 2026-06-04 8-K Y
822 2042320 Alpha One Inc. Alpha One Alpha One Inc. AOAO AOAO OTC WY WY Y 4899 Communications Services, NEC other smaller_reporting_<75M NO. 203, F2.62A, 2F, TIANZHAN BUILDING, NO. 4 TANRAN 5TH ROAD, SHENZHEN F4 518001 NO. 203, F2.62A, 2F, TIANZHAN BUILDING, SHENZHEN F4 518001 86 755 82794624 271310226 2026-05-27 RW Y
823 1771995 American Picture House Corp American Picture House American Picture House Corp APHP APHP OTC WY WY Y 7900 Services-Amusement & Recreation Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 555 MADISON AVENUE 5FL NEW YORK NY 10022 555 MADISON AVENUE 5FL NEW YORK NY 10022 9175658898 830754859 2026-05-14 10-Q Y
824 1133818 BIO-PATH HOLDINGS, INC. Bio-path Holdings Bio-path Holdings, Inc. BPTH BPTH OTC WY WY Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 4710 BELLAIRE BOULEVARD SUITE 210 BELLAIRE TX 77401 4710 BELLAIRE BOULEVARD BELLAIRE TX 77401 (832) 742-1357 870652870 BIO-PATH HOLDINGS INC|OGDEN GOLF CO CORP 2026-05-26 8-K Y
825 1444839 Bravo Multinational Inc. Bravo Multinational Bravo Multinational Inc. BRVO BRVO OTC WY WY Y 7990 Services-Miscellaneous Amusement & Recreation operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2020 GENERAL BOOTH BLVD UNIT 230 VIRGINIA BEACH VA 23454 2020 GENERAL BOOTH BLVD UNIT 230 VIRGINIA BEACH VA 23454 757-306-6090 854068651 GoldLand Holdings Corp.|GoldCorp Holdings Corp.|GoldCorp Holding Co. 2026-05-19 10-Q Y
826 1873722 Bubblr Inc. Bubblr Bubblr Inc. BBLR BBLR OTC WY WY Y 7370 Services-Computer Programming, Data Processing, Etc. operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 30 N. GOULD STREET SUITE R SHERIDAN WY 82801 30 N. GOULD STREET SHERIDAN WY 82801 647-646-2263 862355916 2026-05-15 10-Q Y
827 1106861 CS DIAGNOSTICS CORP. Cs Diagnostics Cs Diagnostics Corp. CSDX CSDX OTC WY WY Y 2842 Specialty Cleaning, Polishing and Sanitation Preparations operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M STRESEMANNALLEE 4B NEUSS 2M 41460 STRESEMANNALLEE 4B NEUSS 2M 41460 49 21311510871 201290331 FLASHZERO CORP.|CHILDRENS INTERNET INC|DWC INSTALLATIONS 2026-05-15 NT 10-Q Y
828 1741220 CW Petroleum Corp CW Petroleum CW Petroleum Corp CWPE CWPE OTC WY WY Y 5172 Wholesale-Petroleum & Petroleum Products (No Bulk Stations) other smaller_reporting_<75M 23501 CINCO RANCH BLVD SUITE H120-#325 KATY TX 77494 23501 CINCO RANCH BLVD KATY TX 77494 281-817-8099 202765559 2026-04-29 1-K Y
829 1935092 Cyber Enviro-Tech, Inc. Cyber Enviro-Tech Cyber Enviro-Tech, Inc. CETI CETI OTC WY WY Y 3690 Miscellaneous Electrical Machinery, Equipment & Supplies operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 6991 E. CAMELBACK ROAD, SUITE D-300 SCOTTSDALE AZ 85251 6991 E. CAMELBACK ROAD, SUITE D-300 SCOTTSDALE AZ 85251 307-200-2803 863601702 2026-05-20 10-K Y
830 725394 Dalrada Technology Group, Inc. Dalrada Technology Group Dalrada Technology Group, Inc. DHTI DHTI OTC WY WY Y 7363 Services-Help Supply Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 600 LA TERRAZA BOULEVARD ESCONDIDO CA 92025 600 LA TERRAZA BOULEVARD ESCONDIDO CA 92025 858-283-1253 383713274 DALRADA FINANCIAL CORP|IMAGING TECHNOLOGIES CORP/CA|PERSONAL COMPUTER PRODUCTS INC 2026-05-21 10-Q Y
831 1791929 DISCOUNT PRINT USA, INC. Discount Print Usa Discount Print Usa, Inc. DPUI DPUI OTC WY WY Y 2750 Commercial Printing other smaller_reporting_<75M 2801 S. VALLEY VIEW BLVD SUITE 7-1 LAS VEGAS NV 89102 2801 S. VALLEY VIEW BLVD LAS VEGAS NV 89102 7025273536 842125667 2026-05-26 253G1 Y
832 1356914 ECOPLUS INC Ecoplus Ecoplus Inc ECPL ECPL OTC WY WY Y 8090 Services-Misc Health & Allied Services, NEC other smaller_reporting_<75M 120 WASHINGTON ST. SALEM MA 01970 120 WASHINGTON ST. SALEM MA 01970 855-955-3275 000000000 2026-05-04 1-A/A Y
833 1043150 Eline Entertainment Group, Inc. Eline Entertainment Group Eline Entertainment Group, Inc. EEGI EEGI OTC WY WY Y 1520 General Bldg Contractors - Residential Bldgs operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 113, TOWER 2, LIPPO CENTRE 89 QUEENSWAY ADMIRALTY K3 00000 113, TOWER 2, LIPPO CENTRE ADMIRALTY K3 00000 852-3703-6155 880429856 ELINE ENTERTAINMENT GROUP INC|ELINE MUSIC COM INC|RAPID RETRIEVAL SYSTEMS INC 2026-05-20 10-Q Y
834 1939937 Exousia Bio, Inc. Exousia Bio Exousia Bio, Inc. LMMY LMMY OTC WY WY Y 8200 Services-Educational Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 7901 4TH STREET N #23494 ST. PETERSBURG FL 33702 7901 4TH STREET N #23494 ST. PETERSBURG FL 33702 940-367-6154 372039216 LAMY|L A M Y 2026-04-14 NT 10-Q Y
835 1807689 FAST CASUAL CONCEPTS, INC. Fast Casual Concepts Fast Casual Concepts, Inc. FCCI FCCI OTC WY WY Y 5810 Retail-Eating & Drinking Places operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 141 AMSTERDAM RD. GROVE CITY PA 16127 PO BOX 1832 DRAPER UT 84020 801-871-5225 834100110 2026-05-01 10-Q Y
836 1871890 Galaxy Enterprises Inc. /WY/ Galaxy Enterprises Galaxy Enterprises Inc. GLEI GLEI OTC WY WY Y 6531 Real Estate Agents & Managers (For Others) operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1701 CHARLES LAM COURT LAS VEGAS NV 89117 1701 CHARLES LAM COURT LAS VEGAS NV 89117 702-596-9628 861370102 2026-03-25 10-Q Y
837 55234 Global Asset Management Group, Inc. Global Asset Management Group Global Asset Management Group, Inc. GAMG GAMG OTC WY WY Y 7990 Services-Miscellaneous Amusement & Recreation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1505 MONROE STREET, SUITE 1505 ROCKVILLE MD 20852 1505 MONROE STREET, SUITE 1505 ROCKVILLE MD 20852 312-372-6900 132610105 KENILWORTH SYSTEMS CORP 2026-05-20 10-Q Y
838 1940243 Global-Smart.Tech Global-Smart.Tech Global-Smart.Tech GSMT GSMT OTC WY WY Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M KAVA B.B., TIVAT 85320 KAVA B.B., TIVAT 85320 12052165924 981664763 Global-Smart.Tech Inc. 2026-04-09 10-Q Y
839 1081188 GOLD ENTERPRISE GROUP INC Gold Enterprise Group Gold Enterprise Group Inc GEGP GEGP OTC WY WY Y 3842 Orthopedic, Prosthetic & Surgical Appliances & Supplies operating smaller_reporting_<75M 16034 US HWY 19 HUDSON FL 34667 PO BOX 690041 VERO BEACH FL 32969 561-210-7553 980206212 GOLD ENTERTAINMENT GROUP INC|ADVANCED MEDICAL TECHNOLOGIES INC/CANADA 2025-11-24 8-K Y
840 1084937 Green Rain Energy Holdings Inc. Green Rain Energy Holdings Green Rain Energy Holdings Inc. GREH GREH OTC WY WY Y 9995 Non-Operating Establishments operating / Emerging growth company smaller_reporting_<75M 109 EAST 17TH STREET SUITE 80 CHEYENNE WY 82001 109 EAST 17TH STREET CHEYENNE WY 82001 310-714-2950 880395372 NOW Corp I|NOW CORPORATION/NV|HEALTHCOMP EVALUATION SERVICES CORP 2026-03-13 8-K Y
841 1409253 Havana Roasters Coffee Companies, Inc. Havana Roasters Coffee Companies Havana Roasters Coffee Companies, Inc. NAFS NAFS|THRC WY WY Y 8742 Services-Management Consulting Services operating Smaller reporting company smaller_reporting_<75M 3445 HOLLYWOOD BLVD SUITE 415 HOLLYWOOD FL 33302 3445 HOLLYWOOD BLVD HOLLYWOOD FL 33302 786-510-8899 208926549 North America Frac Sand, Inc.|Xterra Building Systems, Inc.|Innovate Building Systems, Inc.|NEW FOUND SHRIMP INC 2026-04-27 1-A/A Y
842 1721056 HOOPS SCOUTING USA Hoops Scouting Usa Hoops Scouting Usa HSCT HSCT OTC WY WY Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 63 ROCIO CT PALM DESERT CA 92260 63 ROCIO CT PALM DESERT CA 92260 760-636-4353 000000000 2026-05-13 10-Q Y
843 1070789 HyOrc Corp HyOrc HyOrc Corp HYOR HYOR OTC WY WY Y 8711 Services-Engineering Services operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 12707 HIGH BLUFF DRIVE 2ND FL SAN DIEGO CA 92130 114 MAGNOLIA STREET BELLINGHAM WA 98225 6193504288 470855301 ASIA PROPERTIES INC 2026-05-14 8-K Y
844 1919191 Intelithrive, Inc. Intelithrive Intelithrive, Inc. ITHR ITHR OTC WY WY Y 3690 Miscellaneous Electrical Machinery, Equipment & Supplies other smaller_reporting_<75M 7306 SKYVIEW AVE NEW PORT RICHEY FL 34653 7306 SKYVIEW AVE NEW PORT RICHEY FL 34653 8018715225 872433982 PGD ECO SOLUTIONS 2026-04-21 1-K Y
845 1657214 International Land Alliance Inc. International Land Alliance International Land Alliance Inc. ILAL ILAL OTC WY WY Y 6552 Land Subdividers & Developers (No Cemeteries) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 350 10TH AVENUE SUITE 1000 SAN DIEGO CA 92101 350 10TH AVENUE SAN DIEGO CA 92101 (858) 692-2677 463752361 2026-06-02 8-K Y
846 1413119 Kraig Biocraft Laboratories, Inc. Kraig Biocraft Laboratories Kraig Biocraft Laboratories, Inc. KBLB KBLB OTC WY WY Y 2820 Plastic Material, Synth Resin/Rubber, Cellulos (No Glass) operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2723 SOUTH STATE STREET SUITE 150 ANN ARBOR MI 48104 2723 SOUTH STATE STREET ANN ARBOR MI 48104 (734) 619-8066 830459707 Kraig Biocraft Laboratories, Inc 2026-05-22 424B3 Y
847 1985554 Londax Corp. Londax Londax Corp. LDXC LDXC OTC WY WY Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M YIANGOU POTAMITI 27 LIMASSOL 3010 YIANGOU POTAMITI 27 LIMASSOL 3010 3727121419 352807931 2026-04-07 10-Q Y
848 1888740 LSEB Creative Corp. LSEB Creative LSEB Creative Corp. LSEB LSEB OTC WY WY Y 2320 Men's & Boys' Furnishgs, Work Clothg, & Allied Garments operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 30 N. GOULD STREET #4000 SHERIDAN WY 82801 30 N. GOULD STREET SHERIDAN WY 82801 (902) 305-4177 834415385 2026-03-02 8-K Y
849 1949864 Mag Magna Corp Mag Magna Mag Magna Corp MGNC MGNC OTC WY WY Y 1400 Mining & Quarrying of Nonmetallic Minerals (No Fuels) operating / Emerging growth company smaller_reporting_<75M 4005 WEST RENO AVENUE SUITE F LAS VEGAS NV 89118 4005 WEST RENO AVENUE LAS VEGAS NV 89118 8617823500944 981626237 Mag Magna Corp. 2026-06-05 8-K Y
850 1978111 Naploy Corp. Naploy Naploy Corp. NPLY OTC WY WY Y 8000 Services-Health Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 95 LIAS ESTATE KAFE DISTRICT ABUJA, FCT Q5 900108 95 LIAS ESTATE KAFE DISTRICT ABUJA, FCT Q5 900108 13072133163 000000000 2026-05-21 10-Q Y
851 1933359 Natics Corp. Natics Natics Corp. NTCS NTCS OTC WY WY Y 7374 Services-Computer Processing & Data Preparation operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M APP 6, YEHUDA GORODISKI 1 REHOVOT L3 7623101 APP 6, YEHUDA GORODISKI 1 REHOVOT L3 7623101 130-722-20096 981660105 2026-02-17 10-Q Y
852 1941360 Neolara Corp. Neolara Neolara Corp. NELR NELR OTC WY WY Y 1520 General Bldg Contractors - Residential Bldgs operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M C/O REGISTERED AGENTS INC. 30 N. GOULD ST. STE R SHERIDAN WY 82801 C/O REGISTERED AGENTS INC. SHERIDAN WY 82801 307-269-0177 981674969 2026-05-14 10-Q Y
853 1059689 North America Lithium & Gold Corp North America Lithium & Gold North America Lithium & Gold Corp NALG NALG OTC WY WY Y 9995 Non-Operating Establishments operating smaller_reporting_<75M 6615 GRAND AVENUE #428 GURNEE WY 6615 GRAND AVENUE GURNEE WY 8666005444 650794980 BrightRock Gold Corp|GO CALL INC 2025-12-09 D Y
854 1107280 OCULUS INC. Oculus Oculus Inc. OVTZ OVTZ OTC WY WY Y 7389 Services-Business Services, NEC operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 837 WEST HASTINGS STREET SUITE 507 VANCOUVER V6C 3N6 837 WEST HASTINGS STREET VANCOUVER V6C 3N6 6046851017 061576391 OCULUS VISIONTECH INC.|OCULUS VISION TECH INC.|USA VIDEO INTERACTIVE CORP 2026-05-12 10-Q Y
855 1733861 REST EZ Inc. REST EZ REST EZ Inc. RTEZ RTEZ OTC WY WY Y 2834 Pharmaceutical Preparations operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 1398 WEST MASON HOLLOW DRIVE RIVERTON UT 84065 1398 WEST MASON HOLLOW DRIVE RIVERTON UT 84065 801-300-2542 824268982 2026-02-10 10-Q Y
856 1703157 Securetech Innovations, Inc. Securetech Innovations Securetech Innovations, Inc. SCTH SCTH OTC WY WY Y 3714 Motor Vehicle Parts & Accessories operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M 2355 HIGHWAY 36 WEST, SUITE 400 ROSEVILLE MN 55113 2355 HIGHWAY 36 WEST, SUITE 400 ROSEVILLE MN 55113 612-317-8990 820972782 Securetech, Inc. 2026-05-21 4 Y
857 2029303 Tech Tonic Group Corp. Tech Tonic Group Tech Tonic Group Corp. THTG THTG OTC WY WY Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M REMSCHEIDER STR. 54 KREFELD 2M 47807 REMSCHEIDER STR. 54 KREFELD 2M 47807 307-855-1550 365075435 2026-05-06 10-Q Y
858 1919182 Universal Token Universal Token Universal Token UTKN UTKN OTC WY WY Y 6199 Finance Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M WORLD TRADE CENTER CALLE EL MIRADOR, 87 AVE NORTE SAN SALVADOR 5211 READING CIR ROSENBERG TX 77471 8018715225 872595314 Eco Bright Future, Inc. 2026-05-11 10-Q Y
859 1880431 Vocodia Holdings Corp Vocodia Holdings Vocodia Holdings Corp VHAI VHAI|VHABW|VHAIW OTC WY WY Y 7371 Services-Computer Programming Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 7781 NW BEACON SQUARE BLVD. UNIT 102-V64 BOCA RATON FL 33487 7781 NW BEACON SQUARE BLVD. BOCA RATON FL 33487 (561) 484-5234 863519415 2026-05-13 SCHEDULE 13G Y
860 1645155 Webstar Technology Group Inc. Webstar Technology Group Webstar Technology Group Inc. WBSR WBSR OTC WY WY Y 7372 Services-Prepackaged Software operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 4231 WALNUT BEND JACKSONVILLE FL 32257 4231 WALNUT BEND JACKSONVILLE FL 32257 8006086344 371780261 2026-05-22 SEC STAFF ACTION Y
861 1887912 Welsis Corp. Welsis Welsis Corp. WLSS WLSS OTC WY WY Y 8000 Services-Health Services operating Non-accelerated filer / Smaller reporting company / Emerging growth company smaller_reporting_<75M 701 E CATHEDRAL RD STE 45 PMB 405 PHILADELPHIA PA 19128 701 E CATHEDRAL RD PHILADELPHIA PA 19128 215-552-8991 000000000 2026-05-15 NT 10-Q Y
862 1438461 Yinfu Gold Corp. Yinfu Gold Yinfu Gold Corp. ELRE ELRE OTC WY WY Y 1090 Miscellaneous Metal Ores operating Non-accelerated filer / Smaller reporting company smaller_reporting_<75M DONGFANG SCIENCE AND TECHNOLOGY MANSION SUITE 2313, NANSHAN DISTRICT SHENZHEN F4 518000 DONGFANG SCIENCE AND TECHNOLOGY MANSION SHENZHEN F4 518000 86-755-8316-0998 208531222 Element92 Resources Corp. 2026-02-23 10-Q Y

1808
data/otc_leads_rejected.csv Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,43 @@
<div style="font-family:-apple-system,system-ui,sans-serif;max-width:600px;margin:0 auto">
<div style="background:#1a2744;padding:24px;text-align:center;border-radius:12px 12px 0 0">
<img src="https://performancewest.net/images/logo.png" alt="Performance West" style="height:40px">
</div>
<div style="background:#fff;border:1px solid #e2e8f0;padding:32px;border-radius:0 0 12px 12px">
<p style="font-size:15px;color:#374151;line-height:1.6">{{ .Subscriber.Attribs.company }},<br>DOT# {{ .Subscriber.Attribs.dot_number }}</p>
<h1 style="font-size:22px;color:#dc2626;margin:16px 0">{{ .Subscriber.Attribs.ifta_headline }}</h1>
<p style="font-size:15px;color:#374151;line-height:1.6">{{ .Subscriber.Attribs.ifta_urgency }}</p>
<p style="font-size:15px;color:#374151;line-height:1.6">Your IFTA fuel-tax return for <strong>{{ .Subscriber.Attribs.ifta_quarter }}</strong> is due <strong>{{ .Subscriber.Attribs.ifta_due_date }}</strong>. Miss it and you face:</p>
<ul style="font-size:15px;color:#374151;line-height:1.8">
<li><strong>Late penalties</strong> ($50 or 10% of net tax due, whichever is greater)</li>
<li><strong>Interest</strong> on unpaid tax in every member jurisdiction</li>
<li>Risk of your <strong>IFTA license being suspended</strong> - which can put you out of service</li>
</ul>
{{ if .Subscriber.Attribs.coupon_code }}
<div style="background:#fff7ed;border:2px solid #f97316;border-radius:10px;padding:20px;margin:20px 0;text-align:center">
<p style="font-size:13px;font-weight:700;color:#9a3412;letter-spacing:.04em;margin:0 0 6px">TODAY ONLY - {{ .Subscriber.Attribs.coupon_pct }}% OFF</p>
<p style="font-size:18px;font-weight:700;color:#9a3412;margin:0 0 4px">We file your IFTA quarterly return for <span style="text-decoration:line-through;color:#c2410c;font-weight:600">$109</span> <span style="color:#15803d">$65</span>.</p>
<p style="font-size:14px;color:#9a3412;margin:0 0 4px">Use code <strong style="font-size:16px;letter-spacing:.08em">{{ .Subscriber.Attribs.coupon_code }}</strong> at checkout.</p>
<p style="font-size:12px;color:#b91c1c;font-weight:700;margin:0">Expires {{ .Subscriber.Attribs.coupon_expires }}.</p>
</div>
{{ else }}
<div style="background:#f0fdf4;border:2px solid #86efac;border-radius:10px;padding:20px;margin:20px 0;text-align:center">
<p style="font-size:18px;font-weight:700;color:#166534;margin:0 0 4px">We file your IFTA quarterly return for $109.</p>
<p style="font-size:14px;color:#15803d;margin:0">Send us your miles and fuel by state - we calculate and file. No portals, no math.</p>
</div>
{{ end }}
<div style="background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin:20px 0">
<p style="font-size:14px;color:#374151;margin:0 0 6px"><strong>We do the math for you.</strong></p>
<p style="font-size:13px;color:#64748b;margin:0;line-height:1.6">Send us your total miles and gallons by jurisdiction for the quarter. We calculate the tax owed for every state you ran in, prepare the return, and file it. You just review and we handle the rest - so you can get back to driving.</p>
</div>
<div style="text-align:center;margin:24px 0">
<a href="{{ .Subscriber.Attribs.lp_link }}&utm_source=listmonk&utm_medium=email&utm_campaign=ifta-quarterly" style="display:inline-block;padding:14px 36px;background:#f97316;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:16px">10-4 - File My IFTA Return &rarr;</a>
</div>
<p style="font-size:14px;color:#64748b;line-height:1.6">Or call us directly at <a href="tel:8884110383" style="color:#f97316;font-weight:600">(888) 411-0383</a>.</p>
<div style="text-align:center;margin:18px 0 4px;padding-top:14px;border-top:1px solid #e5e7eb">
<p style="font-size:13px;color:#94a3b8;margin:0 0 6px">Already took care of this quarter?</p>
<a href="{{ .Subscriber.Attribs.ifta_filed_link }}" style="font-size:13px;color:#64748b;text-decoration:underline">I already filed it - stop reminding me</a>
</div>
<p style="font-size:14px;color:#64748b">Performance West Inc.<br>DOT Compliance Services</p>
</div>
<div style="text-align:center;padding:16px;font-size:11px;color:#94a3b8"><a href="https://performancewest.net" style="color:#94a3b8">performancewest.net</a> &middot; (888) 411-0383</div><div style="text-align:center;padding:0 16px 18px;font-size:11px;color:#94a3b8;line-height:1.7">Gotta hit a 10-100 and pull off this channel? <a href="{{ UnsubscribeURL }}" style="color:#94a3b8;text-decoration:underline">Unsubscribe here</a>.<br>Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001</div>
</div>

View file

@ -0,0 +1,43 @@
<div style="font-family:-apple-system,system-ui,sans-serif;max-width:600px;margin:0 auto">
<div style="background:#1a2744;padding:24px;text-align:center;border-radius:12px 12px 0 0">
<img src="https://performancewest.net/images/logo.png" alt="Performance West" style="height:40px">
</div>
<div style="background:#fff;border:1px solid #e2e8f0;padding:32px;border-radius:0 0 12px 12px">
<p style="font-size:15px;color:#374151;line-height:1.6">{{ .Subscriber.Attribs.company }},<br>DOT# {{ .Subscriber.Attribs.dot_number }}</p>
<h1 style="font-size:22px;color:#dc2626;margin:16px 0">{{ .Subscriber.Attribs.ucr_headline }}</h1>
<p style="font-size:15px;color:#374151;line-height:1.6">{{ .Subscriber.Attribs.ucr_urgency }}</p>
<p style="font-size:15px;color:#374151;line-height:1.6">Your <strong>{{ .Subscriber.Attribs.ucr_year }} Unified Carrier Registration</strong> is due by <strong>{{ .Subscriber.Attribs.ucr_due_date }}</strong>. If you run interstate, UCR is mandatory. Skip it and you face:</p>
<ul style="font-size:15px;color:#374151;line-height:1.8">
<li><strong>Fines from $100 to $5,000</strong> depending on the state</li>
<li>Being <strong>placed out of service</strong> at the roadside or a weigh station</li>
<li>Held loads and lost revenue while you sort it out</li>
</ul>
{{ if .Subscriber.Attribs.coupon_code }}
<div style="background:#fff7ed;border:2px solid #f97316;border-radius:10px;padding:20px;margin:20px 0;text-align:center">
<p style="font-size:13px;font-weight:700;color:#9a3412;letter-spacing:.04em;margin:0 0 6px">TODAY ONLY - {{ .Subscriber.Attribs.coupon_pct }}% OFF</p>
<p style="font-size:18px;font-weight:700;color:#9a3412;margin:0 0 4px">We file your UCR for <span style="text-decoration:line-through;color:#c2410c;font-weight:600">$39</span> <span style="color:#15803d">$23</span> + the state fee.</p>
<p style="font-size:14px;color:#9a3412;margin:0 0 4px">Use code <strong style="font-size:16px;letter-spacing:.08em">{{ .Subscriber.Attribs.coupon_code }}</strong> at checkout.</p>
<p style="font-size:12px;color:#b91c1c;font-weight:700;margin:0">Expires {{ .Subscriber.Attribs.coupon_expires }}.</p>
</div>
{{ else }}
<div style="background:#f0fdf4;border:2px solid #86efac;border-radius:10px;padding:20px;margin:20px 0;text-align:center">
<p style="font-size:18px;font-weight:700;color:#166534;margin:0 0 4px">We file your UCR for $39 + the state fee.</p>
<p style="font-size:14px;color:#15803d;margin:0">Two minutes of your time, we handle the rest. No portals, no guesswork on your fee tier.</p>
</div>
{{ end }}
<div style="background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin:20px 0">
<p style="font-size:14px;color:#374151;margin:0 0 6px"><strong>We figure out your exact fee tier.</strong></p>
<p style="font-size:13px;color:#64748b;margin:0;line-height:1.6">UCR fees are based on your fleet size, and getting the tier wrong causes rejections and delays. Tell us your power-unit count and we file it correctly the first time, so you stay legal and on the road.</p>
</div>
<div style="text-align:center;margin:24px 0">
<a href="{{ .Subscriber.Attribs.lp_link }}&utm_source=listmonk&utm_medium=email&utm_campaign=ucr-annual" style="display:inline-block;padding:14px 36px;background:#f97316;color:#fff;font-weight:700;border-radius:8px;text-decoration:none;font-size:16px">10-4 - File My UCR Now &rarr;</a>
</div>
<p style="font-size:14px;color:#64748b;line-height:1.6">Or call us directly at <a href="tel:8884110383" style="color:#f97316;font-weight:600">(888) 411-0383</a>.</p>
<div style="text-align:center;margin:18px 0 4px;padding-top:14px;border-top:1px solid #e5e7eb">
<p style="font-size:13px;color:#94a3b8;margin:0 0 6px">Already registered for this year?</p>
<a href="{{ .Subscriber.Attribs.filed_link }}" style="font-size:13px;color:#64748b;text-decoration:underline">I already did it - stop reminding me</a>
</div>
<p style="font-size:14px;color:#64748b">Performance West Inc.<br>DOT Compliance Services</p>
</div>
<div style="text-align:center;padding:16px;font-size:11px;color:#94a3b8"><a href="https://performancewest.net" style="color:#94a3b8">performancewest.net</a> &middot; (888) 411-0383</div><div style="text-align:center;padding:0 16px 18px;font-size:11px;color:#94a3b8;line-height:1.7">Gotta hit a 10-100 and pull off this channel? <a href="{{ UnsubscribeURL }}" style="color:#94a3b8;text-decoration:underline">Unsubscribe here</a>.<br>Performance West Inc. &middot; 525 Randall Ave Ste 100-1195, Cheyenne, WY 82001</div>
</div>

View file

@ -6,7 +6,14 @@
# ./deploy.sh erpnext (rebuild + migrate ERPNext, re-extract assets)
# ./deploy.sh api workers (rebuild a custom set)
set -euo pipefail
cd /opt/performancewest
# cd to this script's own directory so the deploy operates on the clone it lives
# in. Previously this was hardcoded `cd /opt/performancewest`, which meant
# running /opt/performancewest-dev/deploy.sh silently rebuilt PROD instead of
# dev (the dev script is an identical copy). Resolving the real path makes the
# same script correct in every clone; docker compose then derives the project
# name + auto-loads docker-compose.override.yml from this directory, so dev
# (project performancewest-dev, dev port remaps) and prod stay isolated.
cd "$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)"
SERVICES="${@:-site api workers proxy-relay listmonk-hc}"
@ -21,7 +28,28 @@ SERVICES="${@:-site api workers proxy-relay listmonk-hc}"
BUILD_SERVICES="$(echo "$SERVICES" | tr ' ' '\n' | grep -vE '^(proxy-relay|listmonk-hc)$' | tr '\n' ' ')"
echo "=== Pulling latest from git ==="
git pull origin main
# deploy steps below (sync_nav.py, gen-service-catalog.py) rewrite generated
# files under site/public + site/src in place, leaving the tree dirty. That dirty
# tree makes `git pull` abort ("local changes would be overwritten"), silently
# stranding new commits on an old checkout. Discard those generated changes first
# so the pull always fast-forwards. (Only generated paths are reset.)
git checkout -- site/public site/src 2>/dev/null || true
git fetch origin main
# Hard-reset the tracked tree to origin/main: the deploy box is a pure mirror of
# origin (all real changes land via git), so any other tracked-file drift is also
# generated/stale and must not be allowed to abort the pull. Untracked files
# (data/*, .secrets/) are preserved. This makes "stranded on an old commit"
# impossible — the previous `git pull` could silently abort, this cannot.
git reset --hard origin/main
# Assert we actually advanced to the just-fetched origin tip; fail LOUDLY (not
# masked by a `| tail` in the caller) if somehow we did not.
LOCAL_HEAD="$(git rev-parse HEAD)"
ORIGIN_HEAD="$(git rev-parse origin/main)"
if [ "$LOCAL_HEAD" != "$ORIGIN_HEAD" ]; then
echo "FATAL: working tree is at $LOCAL_HEAD but origin/main is $ORIGIN_HEAD — deploy aborting." >&2
exit 1
fi
echo "Deploying commit $LOCAL_HEAD"
# Single source of truth for the site header: rewrite every static page's
# <nav> block from site/src/partials/nav.html so the Services dropdown stays
@ -31,6 +59,39 @@ echo ""
echo "=== Syncing canonical site header (Services dropdown) ==="
python3 scripts/sync_nav.py
# Single source of truth for service pricing: the API catalog
# (api/src/service-catalog.ts) is the authority (it is what checkout charges).
# The site build context is ./site only and cannot read ../api, so we generate
# site/src/lib/service-catalog.generated.ts here on the host before the docker
# build. This guarantees displayed prices == charged prices. (Python because the
# prod box has python3 but not node; matches scripts/sync_nav.py.)
echo ""
echo "=== Generating site service catalog from API source ==="
python3 scripts/gen-service-catalog.py
python3 scripts/check-service-catalog-drift.py
# Render the Alertmanager config from its template. Alertmanager does NOT expand
# ${ENV} placeholders in its YAML, so the raw template (with ${TELEGRAM_BOT_TOKEN}
# / ${TELEGRAM_CHAT_ID}) crash-loops it ("cannot unmarshal !!str `${TELEG...`").
# We substitute the real values here from .env at deploy time. Only those two
# vars are expanded so Alertmanager's own {{ }} Go-template message is untouched.
# NB: we extract just these two keys (not `source .env`) because .env holds values
# with shell-hostile chars (e.g. SMTP_PASS) that break `. ./.env`.
echo ""
echo "=== Rendering monitoring/alertmanager.yml from template ==="
if [ -f monitoring/alertmanager.yml.template ]; then
get_env() { sed -n "s/^$1=//p" .env | head -n1; }
TELEGRAM_BOT_TOKEN="$(get_env TELEGRAM_BOT_TOKEN)"
TELEGRAM_CHAT_ID="$(get_env TELEGRAM_CHAT_ID)"
export TELEGRAM_BOT_TOKEN TELEGRAM_CHAT_ID
envsubst '${TELEGRAM_BOT_TOKEN} ${TELEGRAM_CHAT_ID}' \
< monitoring/alertmanager.yml.template > monitoring/alertmanager.yml
if grep -q '\${TELEGRAM' monitoring/alertmanager.yml \
|| [ -z "$TELEGRAM_BOT_TOKEN" ] || [ -z "$TELEGRAM_CHAT_ID" ]; then
echo "WARN: TELEGRAM_BOT_TOKEN/TELEGRAM_CHAT_ID missing in .env; Alertmanager will crash-loop." >&2
fi
fi
echo ""
echo "=== Building: $SERVICES ==="
# ERPNext bakes the custom Frappe apps into its image, so they must be staged

View file

@ -119,7 +119,20 @@ services:
- OPS_IMAP_PORT=${OPS_IMAP_PORT:-993}
- OPS_IMAP_USER=${OPS_IMAP_USER}
- OPS_IMAP_PASS=${OPS_IMAP_PASS}
# DMARC aggregate-report ingestion mailbox (scripts.dmarc_report_parser)
- DMARC_IMAP_HOST=${DMARC_IMAP_HOST:-mail.performancewest.net}
- DMARC_IMAP_PORT=${DMARC_IMAP_PORT:-993}
- DMARC_IMAP_USER=${DMARC_IMAP_USER:-dmarc@performancewest.net}
- DMARC_IMAP_PASS=${DMARC_IMAP_PASS}
- FROM_EMAIL=Performance West <noreply@performancewest.net>
# Cold-campaign operator exclusion (scripts.build_trucking_campaigns).
# After the Jun 2026 no-DKIM incident (campaign mail went out unsigned and
# was junked/blocked) DKIM is fixed, so we re-send to the whole now-signed
# audience but still hold Google's consumer inboxes back while their
# reputation recovers. Empty list ("") => exclude nobody; unset => default
# warmup exclusion (Google+Microsoft+consumer MX). Microsoft/Hotmail and the
# long tail are intentionally INCLUDED here.
- MAIN_EXCLUDE_OPERATORS=google
- CRYPTO_SWEEP_ADMIN_EMAIL=${ADMIN_EMAIL:-ops@performancewest.net}
- USAC_USERNAME=${USAC_USERNAME}
- USAC_PASSWORD=${USAC_PASSWORD}
@ -183,6 +196,14 @@ services:
# shows "Link invalid" and the portal Compliance section is empty.
- CUSTOMER_JWT_SECRET=${CUSTOMER_JWT_SECRET}
- DATABASE_URL=postgresql://pw:${DB_PASSWORD:-pw_dev_2026}@api-postgres:5432/performancewest
# Outgoing mail: the "Performance West Outgoing" Email Account password is
# reconciled from these on `bench migrate` (after_migrate hook), so the
# account can never be left with awaiting_password=1 / empty password.
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_FROM=${SMTP_FROM}
volumes:
- erpnext-frappe-public:/home/frappe/frappe-bench/apps/frappe/frappe/public
- erpnext-erpnext-public:/home/frappe/frappe-bench/apps/erpnext/erpnext/public
@ -219,6 +240,14 @@ services:
- REDIS_CACHE=redis://erpnext-redis:6379/0
- REDIS_QUEUE=redis://erpnext-redis:6379/1
- REDIS_SOCKETIO=redis://erpnext-redis:6379/2
# Daily scheduler self-heals the outgoing Email Account password from these
# (email_account_sync.sync_outgoing_password), covering drift from
# out-of-band restarts / DB restores.
- SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT}
- SMTP_USER=${SMTP_USER}
- SMTP_PASS=${SMTP_PASS}
- SMTP_FROM=${SMTP_FROM}
depends_on:
- erpnext-mariadb
- erpnext-redis
@ -284,6 +313,11 @@ services:
listmonk:
image: listmonk/listmonk:latest
# Stable hostname so the Message-ID Listmonk derives from the container OS
# hostname is perfwest.performancewest.net, NOT the random docker container
# id -> @localhost.localdomain (a spam-score signal; see deliverability
# runbook). Matches Listmonk's SMTP hello_hostname.
hostname: perfwest.performancewest.net
ports:
- "9100:9000"
environment:
@ -319,6 +353,9 @@ services:
# mynetworks 172.16/12). host.docker.internal is mapped for convenience.
listmonk-hc:
image: listmonk/listmonk:latest
# Stable hostname -> Message-ID @perfwest.performancewest.net, not the random
# container id -> @localhost.localdomain (spam-score signal). See listmonk above.
hostname: perfwest.performancewest.net
ports:
- "9101:9000"
extra_hosts:

BIN
docs/CMS-10114 Form.pdf Normal file

Binary file not shown.

BIN
docs/CMS-116 Form.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
docs/SC COC Form.pdf Normal file

Binary file not shown.

30
docs/TODO.md Normal file
View file

@ -0,0 +1,30 @@
# Performance West — TODO / Backlog
## Analytics / Umami
- [x] **Fix Umami Goals and Funnels "Something went wrong"** — RESOLVED 2026-06-13.
Root cause: the saved Goal and Funnel reports were created in an older umami
version and stored `parameters` in a pre-v3.1.0 shape. umami 3.1.0's
funnelReportSchema / goalReportSchema reject the old shape (HTTP 400 ->
client shows "Something went wrong").
- Funnel old: {urls:[...], window, dateRange:{startDate,endDate}}
v3.1.0 needs: {startDate, endDate, window, steps:[{type:'path',value,filters:[]}]}
- Goal old: {dateRange:{...}} (no type/value)
v3.1.0 needs: {startDate, endDate, type, value}
Fix: migrated the two saved reports in the umami DB to the v3.1.0 schema
(urls->steps, lifted dateRange to top-level dates, set goal type=url/value).
Verified: the funnel route now returns 401 (auth-gated, schema valid) instead
of 400; underlying data exists (3,195 -> 86 on the compliance funnel paths).
NOTE: running v3.1.0 = latest; the "Failed to find Server Action ... older/
newer deployment" log lines are unrelated stale-browser-cache noise.
## Analytics / Umami — Goals & Funnels coverage (2026-06-13)
- [x] **Added Goals + Funnels for DOT/Trucking, CRTC, and Healthcare/NPI** (previously
only FCC was tracked). Created in the umami DB with the v3.1.0 schema:
Funnels: DOT/Trucking (/tools/dot-compliance-check -> /order/dot-compliance),
CRTC/Canada (/services/telecom/canada-crtc -> /order/canada-crtc),
Healthcare/NPI (/tools/npi-compliance-check -> /order/npi-revalidation).
Goals: DOT (/order/dot-compliance), CRTC (/order/canada-crtc),
Healthcare (/order/oig-sam-screening).
Paths chosen from real 45-day traffic (CRTC 701 + 285 order, DOT 616 + 320 order).
All pass v3.1.0 schema validation. Tune the exact goal/funnel paths in the UI
as needed.

View file

@ -106,8 +106,8 @@ ERPNext custom Frappe apps (baked into `performancewest-erpnext:latest`):
│ │ Office 365 Word (COM automation) │ │
│ │ Python 3.13 + pywin32 + minio SDK │ │
│ │ docserver_worker.py (MinIO poller, 12s interval) │ │
│ │ Task Scheduler: PW-DocserverWorker (AtLogOn) │ │
│ │ Auto-logon configured (requires RDP after cold reboot) │ │
│ │ Task Scheduler: PW-DocserverWorker (AtStartup + 5-min) │ │
│ │ Self-healing: restart-on-fail + MinIO-retry (no RDP) │ │
│ │ Private network: 10.4.20.247 → MinIO via nginx │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
@ -284,6 +284,10 @@ Workers: upload DOCX to minio://performancewest/to-convert/{uuid}.docx
- **Heartbeat:** DocServer writes `docserver-heartbeat.json` to MinIO every 60 seconds
- **Fallback:** If heartbeat is stale (>5 min), workers auto-switch to LibreOffice headless
- **Self-healing:** the worker retries MinIO with backoff instead of exiting on an
outage; the `PW-DocserverWorker` task restarts on failure (99×/1 min) and has a
5-min repeating trigger, so a crash/missed boot self-recovers without RDP. See
`docserver/README.md`.
## Boot Sequence

View file

@ -165,7 +165,7 @@
<rect x="487" y="524" width="72" height="18" rx="3" fill="#fed7aa" stroke="#f97316"/>
<text x="523" y="537" text-anchor="middle" font-size="8" fill="#9a3412">Anytime MB</text>
<rect x="564" y="524" width="72" height="18" rx="3" fill="#e0f2fe" stroke="#7dd3fc"/>
<text x="600" y="537" text-anchor="middle" font-size="8" fill="#0c4a6e">SMTP2GO</text>
<text x="600" y="537" text-anchor="middle" font-size="8" fill="#0c4a6e">Local MTA</text>
<rect x="641" y="524" width="72" height="18" rx="3" fill="#f1f5f9" stroke="#cbd5e1"/>
<text x="677" y="537" text-anchor="middle" font-size="8" fill="#475569">TronGrid</text>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before After
Before After

View file

@ -0,0 +1,37 @@
# CommLaw Page Re-Check — 2026-06-13
Re-checked the archived CommLaw "deficiency-warning" attack page against the
current live version, and captured a newly-published related article.
## 1. Original attack article — UNCHANGED
"WARNING: Do Not Let Automated FCC 'Deficiency' Solicitations Create New
Compliance Risk" (deficiency-warning/) is still live and **byte-for-byte
identical** in article body/title to the May 20, 2026 archive (8,732 chars of
extracted article text match exactly). The only page differences are the
dynamic "recent posts" sidebar. CommLaw did NOT edit or soften the attack page.
## 2. NEW article published — names Performance West (captured here)
"Setting the Record Straight: Accuracy, Accountability, and Professional
Judgment in AI-Assisted Telecom Compliance" — by Managing Partner
Jonathan S. Marashlian.
URL: https://commlawgroup.com/2026/setting-the-record-straight-accuracy-accountability-and-professional-judgment-in-ai-assisted-telecom-compliance/
Saved: record-straight-may2026/page.html + article.md
Key points (favorable / relevant to PW):
- References a controversy in a 3rd-party publication, **Prescott-Martini's
weekly "Martini Brief"**, that named The CommLaw Group AND Performance West.
- The Martini Brief alleged CommLaw scraped the FCC RMD, harvested emails, and
mass-emailed the entire RMD list. CommLaw calls these allegations "false" and
says it only emailed its own Client Advisory list.
- CommLaw states **Prescott-Martini published a retraction/correction**
acknowledging it had not independently verified the allegations, and withdrew
the "legacy / technologically backward law firm" characterization. CommLaw
links to "Retraction and CommLaw Group Response."
- This piece is measured and does NOT directly attack/defame Performance West;
it reframes the dispute as "responsible AI adoption" + general "be cautious
with automated compliance tools" cautioning.
## To do / follow up
- Obtain the **Prescott-Martini retraction** (linked from the CommLaw article)
for the file — it is a third-party retraction in this same dispute.
- Keep monitoring; the original attack page remains live (evidence intact).

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,20 @@
# Billing & Payments Architecture
**Last updated:** 2026-04-05
**Last updated:** 2026-06-18
> ⚠️ **Reality check (2026-06):** Large parts of this doc describe a *planned*
> "ERPNext owns all billing via Adyen" architecture that is **NOT live**. What is
> actually wired today:
> - **Live payment rail = Stripe Checkout** (card + ACH), plus **PayPal** (direct
> Orders v2) and **crypto** (SHKeeper) — all in `api/src/routes/checkout.ts`.
> **Klarna** runs via Stripe.
> - **Adyen is NOT integrated** (account approval never completed). The
> `Adyen-*` gateway names below are aspirational labels, not active gateways.
> - **Recurring billing = Stripe Subscriptions** (see "Stripe-native
> Subscriptions"), the only recurring billing actually shipping, used by
> `oig-sam-screening` ($79/mo). ERPNext `createSubscription()` is unused.
> ERPNext is still the system of record for invoices/accounting, but it is **not**
> the payment gateway. Treat Adyen/ERPNext-gateway sections as future plan.
## Principle: ERPNext Owns All Billing
@ -138,14 +152,111 @@ Sales Invoice:
```
### Recurring Services (Subscriptions)
ERPNext Subscription DocType handles:
> **Status:** the only recurring billing actually wired today is **Stripe-native
> Subscriptions** (see next section), used by `oig-sam-screening` ($79/mo). The
> ERPNext-Subscription / Adyen model below is **planned, not yet live** — Adyen
> is not integrated and ERPNext `createSubscription()` is currently unused. The
> services listed here are aspirational pricing, not active subscriptions.
ERPNext Subscription DocType is intended to handle (NOT YET LIVE):
- Registered Agent: $99/year per state (Wyoming: $49/year)
- Annual Report Filing: $99/year per state
- Canada CRTC Annual Maintenance: $349/year
- US Formation Maintenance Bundle: $179/year (annual report + RA renewal)
- CA Formation Maintenance Bundle: $179/year (annual return + AMB/RA renewal)
Subscriptions auto-generate invoices. Payment collected via Adyen (saved payment method) or manual payment link.
When built, subscriptions would auto-generate invoices (payment via a saved
payment method or manual payment link).
### Stripe-native Subscriptions (healthcare monitoring)
Some compliance services are sold as **Stripe Subscriptions** (the billing engine
is Stripe, not ERPNext). A service opts in via the catalog
(`api/src/service-catalog.ts`):
```ts
"oig-sam-screening": {
name: "OIG/SAM Exclusion Screening (Monthly Monitoring)",
price_cents: 7900, // $79/month
billing_interval: "month", // -> checkout builds mode:"subscription"
allowed_methods: ["card", "ach"], // recurring needs off-session-capable rails
...
}
```
Flow:
1. `checkout.ts` sees `billing_interval` -> creates a `mode:"subscription"`
Checkout Session with recurring `price_data`. The gateway surcharge is
**absorbed** (a subscription can't carry a one-time surcharge line) so the
customer is billed a clean `$79/month`.
2. `allowed_methods` filters the picker in `PaymentStep.astro` (PayPal/Klarna/
crypto are one-time only and disappear) and is **re-validated server-side**
in `checkout.ts` (`METHOD_NOT_ALLOWED`).
3. `webhooks.ts` handles the subscription lifecycle:
- `checkout.session.completed` (mode=subscription) -> records
`compliance_orders.stripe_subscription_id`, then first fulfillment.
- `invoice.paid` with `billing_reason=subscription_cycle` -> re-dispatches the
service handler (`recurring_cycle:true`) to re-run the screening + deliver a
fresh dated certificate. (The first invoice is skipped here — already handled
by `checkout.session.completed`.)
- `invoice.payment_failed` -> admin alert + first-failure customer nudge.
- `customer.subscription.deleted` -> order marked `cancelled`, fulfillment stops.
**Stripe webhook events (ENABLED on the live prod endpoint** `we_1THBjyB46qMvF2jnYyN8IfkK`
= `https://api.performancewest.net/api/v1/webhooks/stripe`**):**
The 6 currently enabled events are `checkout.session.completed`,
`payment_intent.succeeded`, `payment_intent.payment_failed`, plus the three
subscription-lifecycle events added 2026-06-18:
- `invoice.paid`
- `invoice.payment_failed`
- `customer.subscription.deleted`
Without these three the monthly cycles would charge but never fulfill/alert.
(Note: the code also *handles* `charge.dispute.created` and `balance.available`
but those are NOT yet enabled on the endpoint — enable them if/when needed.)
To add events without clobbering existing ones, read `enabled_events`, union,
and PUT the union back via `POST /v1/webhook_endpoints/{id}` with repeated
`enabled_events[]=` params (re-running is idempotent).
> **API-version caveat (important):** this endpoint has **no pinned
> `api_version`**, so it follows the Stripe *account default* (currently
> `2024-12-18.acacia`), NOT the `2026-03-25.dahlia` the SDK is pinned to. In
> acacia the subscription link is the **top-level `invoice.subscription`**; in
> dahlia it moved to `invoice.parent.subscription_details.subscription`.
> `invoiceSubscriptionId()` in `webhooks.ts` reads **both** shapes so renewals
> map back to the order regardless. If you ever pin the endpoint to dahlia, the
> handler still works; do NOT remove the legacy fallback while the endpoint is
> unpinned.
The `provider-compliance-bundle` ($899/yr) includes **only the first** OIG/SAM
screening; customers are converted to the $79/mo monitoring subscription after
that first cycle (the standalone $948/yr of monitoring is no longer given away
inside the bundle).
**Validation status (2026-06-18):**
- ✅ *Checkout half — proven against LIVE Stripe.* A dry-run created a real
`mode:subscription` Checkout Session with the exact production params
(recurring `price_data`, `unit_amount=7900`, `recurring.interval=month`,
`card`+`us_bank_account`, metadata) — Stripe returned `amount_total=7900`,
`type=recurring`, then the session was immediately **expired** (creating a
session never charges anyone; only a completed hosted page does). Net effect
on prod: zero.
- ✅ *Webhook subscription-id extraction*`invoiceSubscriptionId()` unit tests
(31 in `api/tests/recurring-subscription.test.ts`) cover acacia (top-level)
AND dahlia (nested) invoice shapes, renewal-cycle gating, surcharge
suppression, recurring line-item build.
- ✅ *Worker renewal fulfillment*`scripts/workers/services/test_npi_recurring.py`
(13 assertions) runs the real handler and asserts the `[Monthly cycle]` /
re-screen behaviour; passes locally + in the deployed workers container.
- ⏳ *Full end-to-end with a Stripe test clock* — NOT yet run. Requires
`STRIPE_TEST_SECRET_KEY` / `STRIPE_TEST_WEBHOOK_SECRET` in the server `.env`
(currently unset; prod is `NODE_ENV=production`). Once those exist: place a
test-card subscription, advance a billing cycle via a test clock, and confirm
the live `invoice.paid` (subscription_cycle) re-dispatches the screening
worker and a fresh certificate is issued. This is the last gap before a real
recurring charge should be marketed.
### Formation Maintenance Bundles

View file

@ -0,0 +1,120 @@
# Campaign Deliverability — Diagnosis & List-Verification Plan
_Created 2026-06-17 after trucking conversions went to zero._
## TL;DR
Trucking conversions stopped on **June 9** not because campaigns stopped sending
(they send ~2,400/day with ~1,800 opens/3 days) but because a **filter bug was
blasting ~438k dead `mx_unreachable` domains**, producing a **~47% hard-bounce
rate (~1,100/day)** that blocklisted **half the 120k subscriber base** and
torched sender reputation, so real prospects never saw the offer.
- **Fixed** (`build_trucking_campaigns.py`): send filter now keys only off
`email_verify_result` (never the broken `email_verified` boolean), and defaults
to **recovery mode = `smtp_valid` only** until reputation recovers. Set
`CAMPAIGN_INCLUDE_CATCH_ALL=1` to re-add catch-all domains afterward.
- **Healthcare is fine** — separate instance (`listmonk-hc` / DB `listmonk_hc`),
cleaned list (`clean_hc_warmup_list.py` already drops `mx_unreachable`), bounce
rate ~2-3%. No change needed; it proves the fix is correct.
## Why the SMTP-probe verification under-counts deliverable addresses
`email_verifier.py` does syntax → MX → SMTP `RCPT TO`. Results:
| result | count | sendable? | why |
|---|---|---|---|
| `catch_all_domain` | 1,082,817 | risky | domain accepts ALL rcpts at SMTP time, then may bounce later |
| `mx_unreachable` | 438,163 | **NO** | MX exists but never answered the probe — **hard-bounces on real send** |
| `smtp_valid` | 11,774 | **YES** | an MX explicitly accepted this exact mailbox |
| `no_mx_records` / `invalid_syntax` / `smtp_rejected_550` | ~46k | no | dead |
The probe can only *confirm* a mailbox on non-catch-all domains that answer the
RCPT handshake — which is a small slice. Only **~3,042 `smtp_valid` are still
unsent**, so recovery mode will exhaust the clean pool in ~1 day. **We need a way
to grow the verified-deliverable list without burning PW's reputation.**
## The real fix: burner-domain bounce verification
SMTP-probe verification is unreliable (catch-alls mask validity; many MTAs refuse
probes but accept real mail). The only ground truth is **actually send a message
and see if it bounces.** But doing that from PW's domain is what got us here. So:
### Design
1. **Dedicated throwaway verification domain** (NOT performancewest.net and NOT
carrierone.com — both are reputation assets we must protect). Register a cheap
neutral `.com` via Porkbun (we already have the Porkbun integration). Give it
its own SPF/DKIM/DMARC and a dedicated sending IP/identity (separate postfix
instance or a transactional provider sub-account that isolates reputation).
2. **Send a low-key, CAN-SPAM-compliant, non-commercial verification email** to
the unverified pool (e.g. a plain "is this the right contact for <DOT#>?" or a
bland newsletter-style note with a working unsubscribe). It must be a real,
legitimate message — never deceptive — but its ONLY purpose is to elicit a
delivered-vs-bounced signal. Throttled and warmed like any send.
3. **Catch bounces from that domain's own MTA log** (reuse `bounce-watcher.sh`'s
`status=bounced` tail pattern) and **write the result back to
`fmcsa_carriers.email_verify_result`**:
- delivered (no bounce within N hours) → upgrade to a new `send_confirmed`
result that the PW campaign filter treats as sendable.
- hard-bounced → mark `hard_bounced`, permanently excluded from PW sends.
4. **PW campaigns then send only to `smtp_valid` + `send_confirmed`** — addresses
proven deliverable by a real send — keeping PW's bounce rate near zero.
### Why a separate domain/IP
Reputation is per sending-domain + per-IP. If the burner domain gets blocklisted
from the inevitable bounces during scrubbing, **PW and carrierone are untouched.**
The burner is disposable: if it burns, rotate to a new one. PW only ever sends to
the cleaned output.
### Compliance guardrails (must-haves)
- Real **CAN-SPAM** compliance: truthful from/subject, physical address, working
one-click unsubscribe, honor opt-outs immediately (sync opt-outs back to PW's
suppression list too).
- **Not deceptive**: the email is a genuine message (these are public FMCSA
business contacts for B2B outreach), not a fake/pretext. The bounce signal is a
byproduct, not a trick.
- Suppress anyone who ever bounced or opted out from ALL future sends (burner and
PW).
## Status / next steps
- [x] Fix the PW trucking send filter (drop `mx_unreachable`; recovery mode).
- [x] Confirm healthcare unaffected.
- [x] Add `send_confirmed` / `hard_bounced` result handling to the campaign
filter + a writeback path from bounce processing (`burner_list_verify.py`).
- [x] **Catch-all auto-rollout instead of the burner domain (2026-06-18).** After
the DKIM signing fix landed, a root-cause classification of the 75k
pre-fix bounces showed the damage was ~55% reputation/auth (which DKIM
fixes) and only ~29% genuinely-dead mailboxes. The catch-all pool accepts
at RCPT time by definition, so it does not user-unknown bounce at send
time -- it is far safer to bleed directly in warmed batches than to stand
up + warm a whole separate burner domain/IP/SPF/DKIM identity. So the
catch-all pool is now gated by an **automatic in-house rollout** in
`build_trucking_campaigns.py` (`catch_all_enabled()`):
- enables only when `warmup_day() >= CAMPAIGN_CATCH_ALL_MIN_DAY` (21)
AND the **recent** (2-day) live campaign bounce rate is below
`CAMPAIGN_CATCH_ALL_MAX_BOUNCE_PCT` (8%) on a trustworthy sample
(>= 300 sent);
- **auto-reverts** to the clean `smtp_valid`/`send_confirmed` pool on the
next run if bounces spike back above the ceiling;
- a deliberately SHORT window so a past disaster (the Jun-16 ~45% 7-day
rate) cannot block the rollout forever, and a fresh spike trips it fast;
- `CAMPAIGN_INCLUDE_CATCH_ALL=1/0` still hard-overrides the auto decision.
Applied uniformly to trucking + IFTA + UCR builders (`tc.usable_filter()`).
The bounce-watcher continues to auto-suppress any individual hard bounces
in real time, so PW's own bounce rate stays bounded during the rollout.
- [ ] ~~Stand up the burner verification domain + isolated MTA identity.~~
**Dropped** -- superseded by the catch-all auto-rollout above (the burner
was a panic-era design from before the DKIM fix + per-subscriber bounce
tracking made an in-house controlled rollout safe). The `mx_probe_blocked`
consumer-ISP pool (438k, highest dead-mailbox risk) is the only case where
a burner would still help; revisit only if that pool is ever needed.
- [x] ~~Build the verification-send + bounce-writeback worker.~~ Not needed for
catch-all (see above). `burner_list_verify.py` remains available if the
`mx_probe_blocked` pool is ever scrubbed via a burner.

View file

@ -0,0 +1,114 @@
# Carbonio auto-reply: "my Medicare revalidation is already complete" replies
Recurring pattern (Pangea Lab/Sue Kincer; Yakima Valley Farm Workers/Sheila
Robertson, both same day). Root cause is the CMS data-lag window: the public CMS
Medicare Revalidation Due Date List still shows a provider as due for several
weeks after they have actually been approved, so a recently completed
revalidation can still look overdue in the published data we target from. Our
outreach matched the official list; the list was just behind reality.
## How it's deployed (Carbonio / co.carrierone.com)
`info@performancewest.net` is a Carbonio **distribution list**, and EVERY PW
campaign (healthcare, trucking, telecom) uses `info@` as its reply-to. So the
auto-reply must (a) live on a mailbox that receives `info@` mail and (b) be
anchored to Medicare/revalidation context so it never fires on a trucking
(MCS-150/UCR) or telecom (FCC/RMD) reply.
Setup that is LIVE:
- Created mailbox `hc-replies@performancewest.net` and added it as a second
member of the `info@` distribution list (justin@ stays on it too).
- Installed the Sieve below on hc-replies@ via
`zmprov ma hc-replies@performancewest.net zimbraMailSieveScript "<script>"`
then `zmprov fc account hc-replies@performancewest.net`.
- Created folder "Reval Completed (auto-acked)" on hc-replies@.
Carbonio Sieve gotchas learned the hard way (this version = 25.3.1 Zextras):
- `vacation` is NOT supported as an incoming-filter action -> use `reply`.
- `imap4flags` / `addflag` are NOT supported -> use `flag "read"`.
- `body :text :contains` fails ("Subnode null") -> use `body :contains`.
- Tagging uses the `tag` action, not addflag.
## The working Sieve (as deployed)
require ["fileinto", "reply", "tag", "flag", "body"];
# 1) Genuine healthcare service request -> do nothing, a human handles the sale.
if allof (
anyof (
body :contains "revalidation",
body :contains "medicare",
body :contains "pecos",
body :contains "npi"
),
anyof (
body :contains "please file",
body :contains "sign me up",
body :contains "get started",
body :contains "how much",
body :contains "interested"
)
) {
stop;
}
# 2) Healthcare reval "already complete / objection" -> auto-acknowledge, tag,
# mark read, file into the auto-acked folder. The Medicare/reval ANCHOR (first
# anyof) is mandatory so trucking/telecom replies on the shared info@ list
# (MCS-150, UCR, FCC, RMD, etc.) never trigger this.
if allof (
anyof (
body :contains "revalidation",
header :contains "subject" "revalidation",
body :contains "medicare",
body :contains "pecos"
),
anyof (
body :contains "was completed",
body :contains "already revalidated",
body :contains "was approved",
body :contains "already completed",
body :contains "already done",
body :contains "this is bogus",
body :contains "is bogus",
body :contains "completed on"
)
) {
tag "reval-already-complete";
flag "read";
reply "Hi,
Thank you for letting us know, and congratulations on completing your revalidation. We have noted it and removed your practice from any further revalidation reminders.
For context: our notice was based on the CMS public Medicare Revalidation Due Date List, which CMS refreshes periodically. There is often a lag of several weeks between when a providers revalidation is approved and when CMS updates that public list, so a recently completed revalidation can still show as due in the published data. That appears to be exactly what happened here.
No action is needed on your part. If we can ever help with NPI/NPPES updates, enrollment, reactivation, or OIG/SAM exclusion screening, we are glad to assist.
Thank you again for the heads-up, and apologies for any confusion.
Best regards,
Performance West Compliance
(888) 411-0383 - info@performancewest.net
Performance West is an independent compliance firm, not affiliated with CMS or Medicare.";
fileinto "Reval Completed (auto-acked)";
stop;
}
## Tested
- Healthcare "Medicare revalidation was completed / this is bogus" -> auto-reply
sent, tagged, marked read, filed into Reval Completed (auto-acked). PASS.
- Trucking "MCS-150 already completed, this is bogus" -> NO reply, stays in
Inbox for a human. PASS.
- Telecom "RMD filing completed, this is bogus" -> NO reply, stays in Inbox.
PASS.
- Healthcare "please file it for me, how much" -> NO auto-reply (buyer guard),
stays in Inbox. PASS.
## Suppression (so the warmup never re-mails a completed provider)
Append the provider's email to data/hc_suppress.txt, then run:
python3 scripts/build_healthcare_campaigns_cron.py --prune-only
The cron skips suppressed emails at import, and --prune removes them from the
warmup lists. Done for:
- Pangea Laboratory LLC, NPI 1851915888 (reval approved 05/01/2026) -- skincer@medicalpracticepartner.com
- Yakima Valley Farm Workers Clinic, NPI 1710422407 (approved 04/29/2026) -- sheilar@yvfwc.org
Both also blocklisted in listmonk_hc and removed from lists 3 + 4.

View file

@ -0,0 +1,153 @@
# CLIA (and multi-vertical) Email Enrichment Plan
**Status:** planning / partially built
**Owner:** Performance West
**Last updated:** 2026-06-13
## Goal
Turn the CMS CLIA laboratory file (676k labs; ~161k expiring in the next 12
months, ~13.4k/month) into a **deliverable, emailable** audience for the CLIA
Certificate Renewal service, without harming the warming mail-sender pool, and
build a **reusable enrichment pipeline** that works for trucking and telecom too.
## Why this is needed
- CLIA POS file has **no NPI and no email** -- only facility name, mailing
address, phone, and the certificate expiration date (`TRMNTN_EXPRTN_DT`, the
recurring 2-year renewal trigger).
- Direct NPI->email join failed: matching CLIA -> emailable NPPES org by
name+zip yielded only **186 / 69,791 (0.3%)**. Email-first via NPPES is dead.
- DirectTrust / Direct Secure Messaging is a **closed clinical trust network**
(referrals/TOC/fax-replacement), not cold-mailable from a normal MTA -- verified,
not viable for marketing.
- Datacenter IPs get **bot-blocked by search engines** almost immediately
(15/15 rapid DDG queries blocked from the prod datacenter IP). Custom rDNS does
NOT fix this (detection is ASN/rate-based, not PTR-based).
## Channels by viability (CLIA audience)
| Channel | Viable? | Why |
|---|---|---|
| Cold email via NPPES NPI match | No | 0.3% match |
| DirectTrust / Direct Secure Messaging | No | closed clinical network, AUP-restricted |
| Self-scrape search from datacenter IPs | Fragile | search engines bot-block datacenter IPs |
| Self-scrape search via residential proxy | Yes | residential exit IPs avoid bot detection |
| **B2B append list ($99, monthly-updated)** | **Test first** | gives email + DOMAIN; cheap + reusable |
| Phone | Yes | clean phone for ~all 161k |
| Direct mail / postcard | Yes | clean name+address for ~all 161k (~3,100/wk for full coverage) |
## Chosen approach: $99 B2B append list -> domain -> scrape current email -> verify
The append list's most **durable** asset is the email **domain** (practices keep
their domain for years even as staff turn over). So:
1. Buy the **$99 B2B list** (nationalemails.com, claims monthly updates;
reusable across all verticals).
2. **Append/join** the list to the CLIA file.
3. **Confidence filter:** keep only rows where **address OR phone matches** the
CMS CLIA record (confirms right entity, discards same-name mismatches).
4. **Extract the email domain** from each matched record (durable even if the
specific mailbox is stale).
5. **Fetch that known domain's website** (home + /contact) and scrape the
**current** contact email. Fetching KNOWN domains is cheap + reliable and may
not even need the proxy (it is not search-engine scraping).
6. **Merge:** prefer the freshly-scraped current email, fall back to the list email.
7. **Verify** everything through the existing verifier (`verify_csv_emails.py` on
the non-sending **.72** IP: MX + SMTP RCPT + catch-all detection) BEFORE
anything touches a warming IP.
8. Output a **send-ready CSV** with `mx_provider` tags (for per-operator throttling).
### Pipeline diagram
```mermaid
flowchart TD
A["$99 B2B list (name, addr, phone, email)"] --> B["Append/join to CLIA file"]
C["CMS CLIA file (name, addr, phone, expiry)"] --> B
B --> D{"address OR phone matches?"}
D -->|no| X["discard (wrong entity)"]
D -->|yes| E["extract email DOMAIN"]
E --> F["fetch known domain site\n(home + /contact)\ngzip, HTML-only, early-abort"]
F --> G["scrape current contact email"]
G --> H["merge: prefer scraped, fallback list email"]
H --> I["verify via .72\n(MX + SMTP RCPT + catch-all)"]
I --> J["send-ready CSV + mx_provider tags"]
```
## Hard rules (non-negotiable)
- **NEVER load a purchased/scraped list directly into the warming pool.**
Everything goes through the verifier first. We are mid reputation-recovery
(Gmail/Outlook throttled us after the 4k/day spike) -- a bad list re-tanks it.
- **Mail-sender pool (.94-.98) stays untouched by any scraping.** Scraping
egresses via residential proxy or the non-sending .72 IP only.
- Address/phone match = right ENTITY confidence; verifier = DELIVERABLE
confidence. Need both before sending.
- CAN-SPAM: every commercial email carries the full postal address + unsubscribe
(already enforced across templates).
## Bandwidth optimization (if proxy is used, billed per GB)
- Request `Accept-Encoding: gzip, deflate, br` (measured ~76% off a real clinic
site: 68KB -> 16KB).
- HTML document only -- skip images/CSS/JS.
- Early-abort once a valid email is found (do not fetch /contact if home page had it).
- Cap max bytes per page.
- Net: ~161k run likely well under 5 GB -> ~$15-40 on a cheap residential proxy.
## Residential proxy options (if needed for the search/scrape fallback)
Cheapest well-known, pay-as-you-go preferred:
- **IPRoyal** (~$3.50-7/GB, credits do not expire) -- top pick for one-off + reusable
- **Webshare** (~$3-5/GB) -- cheapest sticker if running regularly
- **Decodo / ex-Smartproxy** (~$3.5-7/GB) -- smoothest dashboard
- Avoid Bright Data / Oxylabs for this (premium price, reliability not needed on
easy targets like direct site fetches).
## Decision gate before committing
Get a **sample export (50-100 rows)** from nationalemails.com and:
1. Confirm column format.
2. Check actual **coverage of small healthcare facilities** (the CLIA long tail --
solo-doc labs. If coverage is thin like the NPPES match was, the domain will
not be there to extract and this approach yields little).
3. Append the sample to CLIA, measure address/phone match rate.
4. Run matched emails through the verifier; measure verified-deliverable rate.
5. If verified-deliverable rate is decent at $99 reusable -> proceed full.
If poor -> fall back to postcard/phone channel for CLIA.
## Already built (this session)
- `scripts/harvest_clia_renewals.py` -- parse CMS CLIA file, filter to labs
expiring within a window (default 120d), emit name/addr/phone/expiry.
(676k scanned -> 69,791 expiring in [-30d, +120d]; on prod at
`data/npi_build/clia_renewals.csv`.)
- `scripts/match_clia_to_nppes.py` -- NPI bridge attempt (0.3% yield; kept for
reference, not the path forward).
- `clia-renewal` service in `api/src/service-catalog.ts` ($449, discountable) +
order page `site/src/pages/order/clia-renewal.astro` + intake-manifest entry.
- `data/hc_campaigns/hc_clia_renewal.html` -- warm turnover-safety-net email with
the striped official-record card (CLIA #, expiry, status), verify-on-CMS-QCOR,
founder guarantee card, full CAN-SPAM address.
## To build (once list sample is validated)
1. `scripts/append_match.py` -- join purchased list to a vertical file
(CLIA/trucking/telecom), keep address/phone-matched rows, flag confidence,
extract domain.
2. `scripts/scrape_domain_emails.py` -- fetch known domains (home + /contact),
gzip + HTML-only + early-abort, scrape current contact email; optional
`--proxy` for residential egress.
3. Wire output into `verify_csv_emails.py` -> send-ready CSV with `mx_provider`.
4. Add `clia_renewal` segment to `scripts/build_healthcare_campaigns.py` SEGMENTS
+ cron, MX-throttled, once a verified emailable list exists.
## Postcard alternative (if email yield stays poor)
- ~161k labs/yr, avg ~13.4k/month (spikes: Aug ~26k, Mar ~20k = CMS batch months).
- Mail ~90 days before expiry: **~3,100 postcards/week** for full coverage
(~620/day, 5-day). Smooth the Aug/Mar spikes over a 60-120d pre-expiry window.
- All-in ~$0.40-0.75/card -> ~$5.4k-10k/month full coverage. Break-even ~12-22
conversions/month at the $449 service fee (~0.1-0.15% response).
- Drive responders to a "check my CLIA" tool on the site to capture email at the
point of interest (converts the unreachable-by-email audience into warm leads).

View file

@ -270,7 +270,7 @@ store customer orders or tickets — ERPNext is the CRM source of truth.
3. Listmonk tracks email opens/clicks and manages subscriber lists
4. Bounce processing via POP3 from Carbonio (`co.carrierone.com`)
**Mass email:** SMTP2GO is used for Listmonk campaign sends (not Carbonio — Carbonio is for transactional email only).
**Mass email:** Listmonk campaign sends relay through the local Postfix MTA (172.18.0.1:25 from the Docker network), which DKIM-signs and delivers direct-to-recipient-MX. Carbonio (co.carrierone.com) is for transactional email only. (SMTP2GO was decommissioned — no external relay is used.)
**Campaigns:**

378
docs/deliverability.md Normal file
View file

@ -0,0 +1,378 @@
# Email Deliverability Runbook
**Owner action items are marked 🔴 MANUAL. Everything else is already done/automated.**
Last updated: 2026-06-19 (bulk subdomain + SPF trim + Microsoft/audience analysis).
---
## TL;DR of the 2026-06-18/19 deliverability incident
- **Symptom:** ~30% "open" rates but **0 human clicks, 0 sales** across both trucking
and healthcare streams.
- **Root cause:** NOT a blocklist, NOT the IPs. Proven by a controlled A/B test
(2026-06-19): from the **same mail server / same IPs**, a message From
`justin@carrierone.com` landed in the **Inbox** while From
`justin@performancewest.net` went to **Junk**. The variable is the **From
domain's reputation**. `carrierone.com` (reg. 2006, years of steady low-volume
mail, tight 2-IP SPF) is trusted; `performancewest.net` (only started bulk in
~May 2026, broken DKIM until 2026-06-17, 21-IP snowshoe SPF, May 30-31
over-volume blast) is cold/damaged.
- **Where the audience actually is (24h receiver mix):** **~85% Microsoft**
(M365/Outlook/Hotmail), ~14% Google, <1% Yahoo. Our list is B2B, so Microsoft
is the game, not Gmail. **Microsoft is NOT reputation-blocking us** (only ~1.6%
5.7.x/S3150 rejects; it accepts ~2,138 msgs/24h) — but acceptance != inbox, so
the engagement problem there is likely Junk-foldering, same domain-reputation
cause. Gmail rejects ~95% of its (smaller) slice on `550-5.7.1 ... very low
reputation of the sending domain`. The single biggest bounce bucket is actually
**list hygiene**: ~1,012/24h Microsoft `451 4.4.4 no mail-enabled subscriptions`
(dead tenant domains) + dead recipients.
- **Fixes applied (2026-06-18/19):**
1. Consolidated to ONE IP per stream (snowshoe was a band-aid for broken DKIM).
2. **Dedicated bulk subdomain** `send.performancewest.net` so bulk reputation is
isolated from the root domain (which stays clean for transactional mail).
3. Trimmed root SPF from 21 IPs to the real 3 (the bloated record was itself a
snowshoe signal).
4. Disabled the pointless `pw-ip-rehab` cron (we have no IP reputation problem).
---
## Bulk subdomain: send.performancewest.net (2026-06-19)
**Why:** isolate bulk/cold-campaign sending reputation from the root domain. The
root domain carries transactional/verification/receipt mail (via co.carrierone.com
relay + the .71 default egress) and must stay clean; cold campaigns are inherently
reputation-risky. Industry-standard (SendGrid/Mailchimp/etc.) split.
**Customer experience is unchanged:** From is the subdomain, but **Reply-To stays
`info@performancewest.net`**, so replies land in the real inbox and look normal.
| Piece | Value |
|-------|-------|
| Trucking From | `Performance West <noreply@send.performancewest.net>` |
| Healthcare From | `Performance West Compliance <compliance@send.performancewest.net>` |
| Reply-To (both) | `info@performancewest.net` |
| DKIM selector | `send` (`send._domainkey.send.performancewest.net`), 2048-bit |
| SPF | `v=spf1 ip4:207.174.124.94 ip4:207.174.124.107 -all` |
| DMARC | inherits root `p=reject` (explicit `_dmarc.send` also published) |
| MX / Return-Path | `co.carrierone.com` (bounces) |
| Egress IPs | .94 (trucking) / .107 (HC) — unchanged |
**Code:** `from_email` is set in `scripts/build_trucking_campaigns.py` (`FROM_EMAIL`,
env `CAMPAIGN_FROM`) and `scripts/build_healthcare_campaigns_cron.py` (`FROM_EMAIL`,
env `HC_CAMPAIGN_FROM`). Bounce-watchers (`scripts/bounce-watcher.sh`,
`scripts/hc-bounce-watcher.sh`) track the new subdomain sender (and keep the legacy
root sender so the pre-cutover queue drains).
**Infra:** OpenDKIM signs both domains — see `infra/ansible/roles/mail`
(`opendkim_signing_domains` list generates per-domain keys + KeyTable/SigningTable).
DNS published on the Hestia master (see DNS automation note below). Verified
end-to-end 2026-06-19: a test send signs `d=send.performancewest.net; s=send;` and
egresses out05/.94.
**Listmonk global `app.from_email`** was also updated in both DBs as a fallback for
any UI/test send that doesn't set From explicitly.
> ⚠️ The subdomain starts at NEUTRAL reputation (not negative, not warm). It still
> needs the same warm-up discipline: steady low volume to engaged recipients. It is
> NOT a magic reset — but it protects the root domain and starts cleaner than the
> damaged root.
---
## Sending architecture (after 2026-06-18/19 consolidation)
| Stream | IP | PTR / HELO | Path |
|--------|----|-----------|----|
| **Trucking** (listmonk) | **207.174.124.94** | mta05.performancewest.net | listmonk -> :25 -> `randmap:{out05:}` |
| **Healthcare** (listmonk-hc) | **207.174.124.107** | hcmta01.performancewest.net | listmonk-hc SMTP server 1 -> :2526 -> hcout1 |
| Transactional / verification | 207.174.124.71 + co.carrierone.com (.15) | perfwest | default `smtp_bind_address` (.71) + :587 relay (.15) |
| Removed 2026-06-23 (snowshoe cleanup) | .90-.93, .95-.106, .108-.109 | mta01-04/06-17, hcmta02-03 | transports + host IP bindings DELETED |
**Snowshoe IP cleanup (2026-06-23):** the 18 dormant sending IPs (.90-.93,
.95-.106, .108-.109) were fully removed from BOTH postfix (`master.cf`
transports `yahooslow`/`out02-04`/`out06-20`/`rehab02-04`/`2527`/`2528`/
`hcout2`/`hcout3`) AND the host (`/etc/network/interfaces` + live `ip addr del`).
Only the two warm sending IPs (.94 trucking, .107 HC) plus infra (.71/.72)
remain bound. A 20-IP footprint reads as snowshoe spam and was hurting domain
reputation; the SPF was already trimmed to .94/.107 on 2026-06-19, so this just
makes the host/postfix match the SPF intent. Verified live: `postfix check` OK,
both streams still `status=sent` post-change, SSH unaffected. Reference snapshots
committed at `infra/postfix/live-snapshots/master.cf` + `infra/network/interfaces`
(live backups `/root/master.cf.bak_snowshoe_*` + `/root/interfaces.bak_snowshoe_*`).
**Root SPF (trimmed 2026-06-19):** `v=spf1 a mx ip4:207.174.124.15
ip4:207.174.124.94 ip4:207.174.124.107 -all` — `a`=.71, `mx`=co.carrierone.com(.15),
plus the two bulk IPs. The old 21-IP record was a snowshoe signal; this matches
carrierone.com's tight style.
**To re-expand after reputation is established:** add transports back to `ALL=()`
in `infra/postfix/pw-mta-warmup.sh` and re-enable the HC SMTP servers (ports
2527/2528) in the `listmonk_hc` DB `settings.smtp`. Re-expand SLOWLY (one IP at a
time, days apart) and only after Postmaster Tools shows a green/medium reputation.
If you re-expand, also add the IPs back to BOTH the root SPF and the `send`
subdomain SPF.
---
## Resuming Gmail sends: the stale-Date / inbox-burial problem (READ BEFORE re-enabling Gmail)
**Status:** Gmail is currently EXCLUDED from all sends (`scripts/_email_exclusions.py`
`BLOCKED_EMAIL_DOMAINS` includes gmail/google). This section is the documented
procedure for when we resume Gmail, and the reasoning for the chosen design. It is
NOT yet implemented — implement it at the moment Gmail is re-enabled.
### The problem
We inject the whole daily batch into Postfix in a ~2.5h burst (today: 1,430 + 1,419
+ 1,077 messages in the 07:00-09:30 window, with a 932-in-one-minute spike at
08:30), then Postfix slow-drains the queue over ~24h because receivers throttle a
warming IP/domain (Microsoft `451 4.7.500 Server busy`).
**Listmonk stamps the `Date:` header at the moment it hands each message to Postfix
(injection time), NOT at delivery time.** Empirically verified 2026-06-23: a queued
message had `Date: 19:47:28` matching its Postfix arrival log line exactly, and was
still deferred ~4h47m later. So a message injected at 08:00 keeps an 08:00 `Date:`
even when the receiver finally accepts it at 14:00.
**Why this matters ONLY for Gmail:** inbox sort order depends on the client.
- **Outlook / Exchange / M365** (our current #1 audience, ~2,000 delivered/day) and
most webmail (Proton, etc.) sort by **received time** (`PR_MESSAGE_DELIVERY_TIME`)
= when THEIR server accepted it. A late-delivered message surfaces fresh at the
top on arrival; only the *displayed* date looks old. So for today's audience the
burial is cosmetic and NOT worth fixing.
- **Gmail sorts the inbox by the `Date:` header.** A message accepted at 14:00 but
Date-stamped 08:00 is filed **6h down** the inbox, below mail the user has already
read. That is real burial and real lost opens — and it only bites once we send
Gmail again (which is ~85% Microsoft / ~14% Google for our B2B list, so Gmail is
a meaningful slice).
### Why NOT to future-date / spoof the `Date:` header
The tempting "just stamp a future Date" fix is a net negative:
1. **Spam signal.** A `Date:` in the future is a classic filter heuristic —
Proofpoint, Mimecast, and Microsoft all penalize it. We'd trade a cosmetic
timestamp for WORSE inbox placement.
2. **It breaks our DKIM.** OpenDKIM signs the `Date` header (only `From` is
over-signed, but `Date` is in the signed set). Rewriting `Date` after signing
invalidates the signature -> DMARC `p=reject` -> hard bounce.
3. **It doesn't even help Outlook** (received-time sort) and is the wrong lever for
Gmail (see the real fix below).
### The fix: pace Listmonk INJECTION to match Gmail's accept rate (just-in-time Date)
Because `Date:` is stamped at injection, the solution is to **release each Gmail
message close to when Gmail will actually accept it**, so `Date:` ≈ received time ≈
now, and it lands at the top of the Gmail inbox. Keep the Postfix queue shallow for
the Gmail stream so no message sits for hours collecting a stale Date.
Implementation when re-enabling Gmail:
1. **Segment Gmail into its OWN Listmonk campaign on its OWN single IP** (snowshoe-
safe), separate from the Microsoft/Proofpoint stream, so its deliberately slow
pace does not bottleneck the fast stream. Each stream gets its own injection
cadence. (Add the new IP to host + Postfix transport + BOTH SPF records first,
per the re-expand note above.)
2. **Set the Gmail campaign's sliding-window injection rate at or below Gmail's
sustained cold-domain accept rate** (`app.message_sliding_window_rate` /
`_duration` on that Listmonk instance). Start low (~20-30/hr/IP for a cold
domain) and ramp as Postmaster Tools reputation climbs. This spreads injection
across the whole sending window instead of front-loading it, so the queue never
builds a backlog of stale-dated Gmail mail.
3. **Queue-age guard.** Monitor the inject->deliver gap for the Gmail stream
(`delay=` in the maillog). If it exceeds ~30 min, injection is outrunning
acceptance -> throttle the sliding-window rate down further. Verify after a day
that the Gmail stream's `delay=` stays small and the "6-24h late" bucket is ~0.
This is strictly better than date-spoofing: no spam signal, no DKIM break, and
because Gmail/Microsoft both reward steady paced volume, pacing injection also
RAISES the accept quota over time (the deliverability principle "concentrated low
volume beats bursts"). Win-win.
> Note: this same pacing slightly helps Outlook's *displayed* date too, but since
> Outlook sorts by received time it is not necessary there. Only spend the effort on
> the Gmail stream.
---
## DNS automation (Hestia is the master)
**DNS is fully automatable** — Hestia (`cp.carrierone.com`, 207.174.124.22) is the
DNS master; HE.net are slaves. Access: `ssh -p 22022 root@cp.carrierone.com` using
the **local workstation's** `~/.ssh/id_ed25519` (NOT the app server, NOT justin@
which is SFTP-only). The `justin` Hestia user owns the `performancewest.net` zone.
```
# add (note: Hestia appends the base domain to the RECORD name, so a record at
# send._domainkey.send.performancewest.net needs RECORD = "send._domainkey.send")
v-add-dns-record justin performancewest.net "<record>" <TYPE> "<value>" [prio]
# change / delete (find the numeric id with v-list-dns-records ... plain)
v-change-dns-record justin performancewest.net <id> "<record>" <TYPE> "<value>" "" yes <ttl>
v-delete-dns-record justin performancewest.net <id>
# list
v-list-dns-records justin performancewest.net plain
```
Each write triggers a ~30s zone rebuild + DNSSEC re-sign; slaves sync via NOTIFY /
SOA refresh, usually within a minute. Verify on `@8.8.8.8` AND the master
`@207.174.124.22` (the master is authoritative; public resolvers may lag).
---
## Monitoring tools (set these up to SEE reputation directly)
These all require a provider account login + (for Google) a DNS TXT record on
HE.net, so they can't be fully automated. Steps are pre-filled below.
### 🔴 MANUAL 1 — Google Postmaster Tools (Gmail is our biggest blocker)
Gmail's verbatim rejection names "the sending **domain**", so this is priority #1.
**DNS is fully automatable** — Hestia (cp.carrierone.com) is the DNS master,
HE.net are slaves. Add records as root: `ssh -p 22022 root@cp.carrierone.com`
then `v-add-dns-record justin performancewest.net "@" TXT '"'"'"<value>"'"'"'`
(zone owner is the `justin` Hestia user; ~30s zone rebuild + slaves sync via the
2h SOA refresh / NOTIFY, usually within a minute).
Status 2026-06-18: **TXT added + verified live** (record id 14464,
`google-site-verification=p8s3RaN5wi81350wToMpdPMho5Gcel4RGT1Q1SXj7vg`),
resolving on 8.8.8.8/1.1.1.1/9.9.9.9 and 4/5 HE.net slaves. Owner just needs to
click **Verify** in the Postmaster console once. Data populates 24-48h after
volume flows from the consolidated IP.
To set up from scratch next time: postmaster.google.com -> +Add domain ->
performancewest.net -> copy the `google-site-verification=...` token -> add via
the Hestia command above -> Verify.
### ✅ MANUAL 2 — Microsoft SNDS + JMRP (Outlook/Hotmail/Live) — **DONE 2026-06-19**
**85% of our audience is Microsoft-hosted** (M365/Outlook/Hotmail), so this is the
single most important monitoring tool. Microsoft already *accepts* our mail (~1.6%
reputation rejects), so this tells us inbox-vs-junk + complaint rates.
SNDS is **IP-based** (register the sending IPs), JMRP is the complaint feedback loop.
**Both SNDS access and JMRP are now registered for 207.174.124.94 + .107.**
> **2026 URL MIGRATION:** Microsoft moved SNDS off
> `sendersupport.olc.protection.outlook.com`. The old `/snds/` and `/pm/` links now
> 308-redirect to the new app at **`substrate.office.com/ip-domain-management-snds/`**.
> The *footer/help* links on that page ("contact sender support", "Privacy",
> "Microsoft Services Agreement") go to generic `microsoft.com` pages — that is
> normal, they are boilerplate, NOT the broken task. **You must click "Log in"
> (top-right) with a personal Microsoft account FIRST**; until you authenticate the
> "Request Access" / "Junk Mail Reporting Program" links just bounce to
> `login.microsoftonline.com`, which looks like a dead redirect but is the expected
> auth step. After login the real forms render.
1. **SNDS — Request Access:** open the SNDS app — either the legacy entry
<https://sendersupport.olc.protection.outlook.com/snds/> (it 308-redirects to the
new app) or directly
`https://substrate.office.com/ip-domain-management-snds/SNDS` — then **Log in** ->
left-nav **"Request Access"** (direct:
`https://substrate.office.com/ip-domain-management-snds/SNDS/AddNetwork`) ->
register IPs **207.174.124.94** and **207.174.124.107** (the two live stream IPs;
add .90 and .71 if you want full coverage). Verification goes to a role address
on the IP's domain (use `postmaster@` or `abuse@performancewest.net`, now live).
(NOTE: `snds.microsoft.com` does NOT resolve — do not use it.)
**✅ DONE 2026-06-19:** access requested/granted for .94 + .107. Data populates
over ~24-48h; then check the dashboard for the per-IP RED/YELLOW/GREEN status,
spam-trap hits, and complaint rate.
2. **JMRP:** same site, left-nav **"Junk Mail Reporting Program"** (direct:
`https://substrate.office.com/ip-domain-management-snds/SNDS/Jmrp`) -> register
the same IPs + complaint-destination mailbox **`fbl@performancewest.net`**.
Complaints then arrive as ARF emails.
**✅ DONE 2026-06-19:** both IPs registered as feeds — `pw1` = 207.174.124.94,
`pw2` = 207.174.124.107, complaint destination set to **`fbl@performancewest.net`**
(live, routes to ops@). ARF complaint reports now land there automatically.
**✅ PREREQ DONE (2026-06-19):** the role mailboxes Microsoft needs now exist and
deliver. Created as Carbonio distribution lists routing to `ops@performancewest.net`:
`postmaster@`, `abuse@`, `fbl@`, `dmarc@` — all verified ACCEPT at the MX +
delivered end-to-end. (They previously REJECTED with 5.1.1, which would have blocked
SNDS verification.) Use `postmaster@` or `abuse@` for SNDS verification and
`fbl@performancewest.net` as the JMRP complaint destination.
> Carbonio mail admin: `ssh -p 22022 justin@207.174.124.15` (the **co.carrierone.com**
> mail host; local workstation key, justin has NOPASSWD sudo). Run prov as zextras:
> `sudo -u zextras /opt/zextras/bin/carbonio prov <cmd>` (e.g. `gaa`, `gadl`,
> `cdl <addr>`, `adlm <dl> <member>`, `gdlm <dl>`).
### ✅ MANUAL 3 — Yahoo Complaint Feedback Loop — **keys added 2026-06-19**
Lowest priority (<1% of audience), but cheap. CFL is DKIM-d= based.
1. <https://senders.yahooinc.com/complaint-feedback-loop/> -> sign in -> register
the domains `performancewest.net` **and** `send.performancewest.net` (CFL keys
off the DKIM `d=` value; bulk mail now signs `d=send.performancewest.net`).
2. Set the complaint destination to `fbl@performancewest.net` (now live, see above).
**✅ ENROLLED 2026-06-19** — both domains show **Enrolled** in the Yahoo Sender Hub
CFL with reporting email `fbl@performancewest.net`:
- `performancewest.net` — Enrolled, reporting `fbl@performancewest.net`
- `send.performancewest.net` — Enrolled, reporting `fbl@performancewest.net`
(Reporting-email code was delivered to fbl@ → ops@ and verified; the Selector
column is intentionally blank = match any DKIM selector on the verified domain.)
**✅ DNS verification keys added + propagated 2026-06-19** (Hestia TXT, verified on
all HE.net slaves + 8.8.8.8/1.1.1.1/9.9.9.9):
- `performancewest.net` TXT `yahoo-verification-key=IMx+OO5aKUE1nu9JwP6eSBMfSYZu8VcXjpkvEVXS84w=`
- `send.performancewest.net` TXT `yahoo-verification-key=Ps5hGjVxXgeQcLcxr671YG0/RxzjjL0eqh6vfULubEo=`
(added alongside the existing `send` SPF record; both TXT coexist).
### ✅ DMARC aggregate reports — DONE 2026-06-19 (dedicated mailbox + parser)
Gmail/Yahoo/Microsoft + dozens of operators (Comcast, Cox, Bell, Mimecast, Cisco
ESA, GMX, mail.com, gosecure, ...) send daily per-IP auth+disposition XML to
`dmarc@performancewest.net` (DMARC record: `p=reject; rua=mailto:dmarc@; ruf=mailto:dmarc@; fo=1`).
**That mailbox was REJECTING (5.1.1) until 2026-06-19 — we silently lost every
report.** Now fully wired:
1. **Dedicated mailbox.** `dmarc@performancewest.net` is its own Carbonio account
(was a DL -> ops@, which buried ops@ under report XML). Isolated IMAP credential
in the server `.env` (`DMARC_IMAP_{HOST,PORT,USER,PASS}`), surfaced to the workers
container in `docker-compose.yml` (mirrors the `OPS_IMAP_*` pattern). The 29
historical reports that had landed in ops@ were moved over via IMAP.
2. **Parser worker.** `scripts/dmarc_report_parser.py` IMAP-fetches unseen messages,
decompresses the `.gz`/`.zip`/`.xml` attachment (namespace-agnostic — handles both
the classic and the `urn:ietf:params:xml:ns:dmarc-2.0` GMX/mail.com schema), parses
the aggregate XML, and upserts one `dmarc_report` row (keyed `(org_name, report_id)`,
so re-parsing is a no-op) + one `dmarc_record` row per source IP into the schema from
`api/migrations/102_dmarc_aggregate.sql`. `dmarc_pass = dkim_aligned=pass OR
spf_aligned=pass`. Marks each message `\Seen` so each run only handles new reports.
Flags: `--dry-run`, `--all` (backfill seen), `--alert` (7-day per-IP summary +
Telegram if one of OUR IPs drops below 95% pass, or an EXTERNAL IP sends >=20 failing
msgs as us = spoofing under `p=reject`).
3. **Cron.** `/etc/cron.d/pw-dmarc-parser` (tracked at `infra/cron/pw-dmarc-parser`)
runs `... workers python3 -m scripts.dmarc_report_parser --alert` daily at 06:20 UTC.
Query examples once populated:
```sql
-- who sends as us, and are they aligning? (the payoff of the DKIM/subdomain fixes)
SELECT source_ip, sum(msg_count) total,
sum(msg_count) FILTER (WHERE dmarc_pass) pass,
round(100.0*sum(msg_count) FILTER (WHERE dmarc_pass)/sum(msg_count)) pass_pct
FROM dmarc_record r JOIN dmarc_report rep ON rep.id=r.report_id
WHERE rep.date_begin >= now()-interval '7 days'
GROUP BY source_ip ORDER BY total DESC;
-- any UNKNOWN IP failing alignment = spoofing/forgotten relay (reputation poison)
```
---
## Ongoing hygiene (reduce reputation damage)
- **Dead-address scrub:** ~110 genuine `5.1.1 user unknown` bounces/day. listmonk
already blocklists hard bounces after 1 (`bounce.actions hard->blocklist`), so
these self-clean, but pre-scrubbing the dirtiest segments before send avoids the
reputation hit. See `data/` segment exports.
- **Consumer-domain exclusion (two layers).** The authoritative list lives in
`scripts/_email_exclusions.py` (`BLOCKED_EMAIL_DOMAINS`): gmail/google, the full
Yahoo/Verizon-Media family, Microsoft consumer, **Apple/iCloud (added 2026-06-19)**,
dead/legacy ISPs, and the legal do-not-contact list.
1. *NEW selections:* the per-vertical builders filter it out of audience SQL and
`listmonk_import.py` refuses to import a blocked address.
2. *Already-imported subs:* LIST-BASED campaigns (FCC Direct Contacts list 3,
CRTC/USF blasts) can still hit consumer subs imported BEFORE a domain joined
the list. `scripts/scrub_listmonk_consumer.py` reconciles the live subscriber
table against the exclusion list and blocklists any ENABLED match (idempotent;
`--dry-run` supported; both `listmonk` + `listmonk_hc`). Runs daily 06:30 UTC
via `/etc/cron.d/pw-listmonk-scrub` (tracked at `infra/cron/pw-listmonk-scrub`).
First run 2026-06-19 blocklisted **7,943** trucking + **21** HC stale consumer
subs (1,321 iCloud, 267 gmail, etc.) that were leaking via the running CRTC
campaign. Re-run the scrub whenever you add a domain to the exclusion list.
- **Don't re-expand IPs** until Postmaster Tools shows recovered reputation.
- **Volume discipline:** keep the global 200/hr sliding window until reputation is
green; concentrated low volume on one warm IP beats bursts.
- **Watch the rejection mix:** `5.7.1 reputation/spam/blocked` should fall over the
next 1-2 weeks as the single-IP reputation builds. Track via:
`ssh ... 'sudo grep status=bounced /var/log/mail.log | grep -c 5.7.1'`

View file

@ -0,0 +1,80 @@
# DEXIT outreach: cited SEC filings (proof for copy + a "verify it yourself" block)
Real reincorporation filings from OTC/microcap issuers, with verbatim excerpts and
links. Use these to back the email claims and on any proof page. All are public on
SEC EDGAR; the recipient can open them and verify in under a minute. Pulled
2026-06-09.
---
### 1. Oracle Health, Inc. - DE -> NV (the dollar-figure proof)
Definitive proxy explaining the reincorporation. The single best citation because
it puts a hard number on the Delaware franchise-tax pain for a microcap.
> "we anticipate that the Reincorporation will result in reduced corporate tax
> obligations, as Nevada currently imposes no corporate income or franchise tax,
> while Delaware imposes an annual franchise tax, ranging from $175 to a maximum
> of $200,000. **Despite that we are a pre-revenue startup, our Delaware franchise
> tax obligation for fiscal year 2021 reached $23,600.** Nevada only charges
> corporations incorporated in Nevada nominal annual corporate fees ... We
> anticipate that our obligation for this annual fee will be **approximately
> $1,000** ..."
> "Nevada is a nationally-recognized leader in adopting and implementing
> comprehensive and flexible corporation laws ... Nevada courts have developed
> considerable expertise in dealing with corporate legal issues and have produced
> a substantial body of case law construing Nevada corporation laws."
> "The Articles of Incorporation of Oracle NV limit the liability of its directors
> and officers to the maximum extent permitted by Nevada law. As a result, a
> director or officer will have no personal liability ... except for (a) acts or
> omissions which involve intentional misconduct, fraud or a knowing violation of
> law, or (b) the payment of distributions in violation of section 78.300 of the
> Nevada Revised Statutes."
Link: https://www.sec.gov/Archives/edgar/data/1777274/000121390022032759/ea161576-1u_oraclehealth.htm
(CIK 0001777274, accession 0001213900-22-032759)
---
### 2. FG Financial Group, Inc. (FGF) - DE -> NV (shareholder-approved, by merger)
8-K reporting the vote. Shows the standard mechanic: a plan of merger into a wholly
owned Nevada sub.
> "Approval of Reincorporation from Delaware to Nevada - Stockholders approved the
> Agreement and Plan of Merger, dated as of October 19, 2022, by and between the
> Company and FG Financial Group, Inc., a Nevada corporation and a wholly owned
> subsidiary of the Company ..."
Link: https://www.sec.gov/Archives/edgar/data/1591890/000149315222034739/form8-k.htm
(CIK 0001591890, accession 0001493152-22-034739)
---
### 3. LogicMark, Inc. (LGMK) - DE -> NV (proxy advisor endorsed it)
DEFA14A noting the proxy-advisory firm ISS recommended a "For" vote on the move -
useful third-party validation that this is mainstream, not fringe.
> "ISS endorsed the Company's proxy proposals ... approve the reincorporation from
> Delaware to Nevada and recommended a vote 'For' ..."
Link: https://www.sec.gov/Archives/edgar/data/1566826/000121390022047897/ea164428-defa14a_logicmark.htm
(CIK 0001566826, accession 0001213900-22-047897)
---
### How big is the trend (also citable)
EDGAR full-text search (efts.sec.gov), reincorporation/redomestication mentions by
destination state, pulled 2026-06-09:
- Nevada: 281 filings (all-time), 33 since 2024
- Texas: 99 filings (all-time), 27 since 2024
- Surge Components, Integrated Media Holdings, and ~220 more DE->NV filings exist
via the query `"reincorporation from Delaware to Nevada"`:
https://efts.sec.gov/LATEST/search-index?q=%22reincorporation+from+Delaware+to+Nevada%22
### Statutory / fee sources to cite (let a CFO fact-check in 60s)
- Delaware franchise tax + calculator: https://corp.delaware.gov/frtaxcalc/ (min $175, max $200,000; "authorized shares method" default)
- Nevada NRS 78.138 (director/officer liability): https://www.leg.state.nv.us/nrs/nrs-078.html
- Nevada NRS Chapter 92A (conversion/merger mechanic): https://www.leg.state.nv.us/nrs/nrs-092a.html
- Texas Business Organizations Code Ch. 10 (conversion/domestication): https://statutes.capitol.texas.gov/Docs/BO/htm/BO.10.htm
- Texas Business Court (operational 2024-09-01): https://www.txcourts.gov/businesscourt/

View file

@ -0,0 +1,262 @@
# Readiness: corporate orders + "move a company" (conversion / domestication)
Honest assessment as of 2026-06-09. Question: are we ready to take Nevada/Texas
incorporation orders end-to-end (name search, accept into ERPNext, etc.), and the
mechanics of moving a corp out of Delaware + annual report + EIN.
## Short answer
- **New NV/TX formation orders - order intake + ERPNext VERIFIED e2e; name search
now FIXED for TX, and honest for NV.** The e2e harness (`scripts/e2e-formation-order.mjs`)
confirms: live name search -> formation_orders insert -> ERPNext customer -> Sales
Order with the correct `BUSINESS-FORMATION` + `STATE-FILING-FEE` line items and
totals ($254 NV LLC, $479 TX corp) -> DB linkage, all PASS.
- **TX name search now works** via the Texas open-data API (no scraping). Returns
real availability (exact match => taken; no rows => available; error => unknown).
- **NV name search returns "unknown"** (available=None) by design: the NV portal is
behind Incapsula bot protection with no public API, so we flag NV names for a
manual admin check rather than fake a result. Never a false "taken".
- Still pending before a self-serve checkout: the actual NV/TX *filing* automation
(SOSDirect login flow / SilverFlume) is unverified, and NV name search is manual.
The DEXIT page points at a contact form, not this checkout.
- **"Move a company" (DE -> NV/TX conversion/domestication):** **NOT built.** There
is no order type, no SKU, and no fulfillment for a conversion. This is the core of
the DEXIT promise and is the biggest gap.
- **Annual report filing in the new state:** **NOT built** as automation. There is an
`annual-report-filing` slug, but it is wired to the trucking admin-assisted handler
(`MCS150UpdateHandler`), not a corporate state-filing flow.
- **EIN:** for a move you generally do NOT get a new EIN (see mechanics below); our
`ein_worker` only obtains a NEW EIN, which is the wrong operation for a conversion.
So: **do not turn on a "buy now" DEXIT checkout yet.** Keep the page as a lead-gen
"get my estimate" CTA (which it currently is) until the flow below is built + tested.
## E2E test results (2026-06-09) and the name-search bug
Ran `scripts/e2e-formation-order.mjs` inside the api container against live prod
(real DB + real ERPNext, no real Stripe charge, no real state filing).
**PASS - order intake + ERPNext Sales Order (both NV and TX):**
- live formation_orders insert,
- ERPNext customer find/create,
- Sales Order created with `BUSINESS-FORMATION` + `STATE-FILING-FEE` line items,
correct totals ($254 NV LLC = $179 + $75; $479 TX corp = $179 + $300),
- `formation_orders.erpnext_sales_order` linkage written,
- cleanup (cancel+delete SO, delete order row).
Bugs the harness caught and we fixed:
- The formation Sales Order referenced ERPNext Items `BUSINESS-FORMATION` and
`STATE-FILING-FEE` (and `FOREIGN-QUAL-SINGLE/MULTI`) that **did not exist** -> the
SO creation was silently failing on every formation order. Created the Items.
- `entity_type` check constraint requires lowercase (`llc`, `corporation`, ...).
- The API's `GET /states/:code/name-search` called `WORKER_URL/name-search`, but the
worker had **no such route** (404 -> silent fallback to stale `entity_cache`).
Added a synchronous `/name-search` worker route, and fixed `handle_name_search`
(both referenced a nonexistent `search_name_sync`).
**FAIL (open) - live name search silently returns "unavailable" for everything.**
After wiring the route, a deliberately unique nonsense name still returns
`available=false` with no similar names. Root cause: the **NV state-portal adapter
times out** (`Page.fill: Timeout ... waiting for locator("input[type=text], ...")`)
because the Nevada SOS / SilverFlume search page no longer matches the adapter's
input selector, and `search_name()` swallows the exception and **defaults to
`available=False`**. So:
- We would wrongly tell customers an available name is taken (or never validate it).
- This is a **portal-scraping maintenance task**: inspect the current NV (and verify
TX) name-search DOM, update `states/nv/adapter.py` (and `tx`) selectors/flow, and
make `search_name()` distinguish a real "taken" result from an adapter error
(return an explicit error/unknown state, never a false "taken"). NOTE the adapter
also MIS-PARSES on its happy path: via the route a unique name still returns
available=false (the search page content does not match the adapter's "no results"
phrases), so the fix must update both the input selector AND the results parsing.
We did harden the error path: search_name() now returns available=None on a thrown
adapter error. The harness re-run is the acceptance test.
**Conclusion:** the ERPNext/order plumbing is sound and verified; **do not enable a
self-serve formation checkout until name search is fixed** (a customer must be able
to trust the availability check), and the "move a company" flow is still unbuilt.
## What already exists (the good news)
The corporate/formation machinery is real and reusable:
- **Checkout + order intake:** `api/src/routes/checkout.ts` has `order_type: "formation"`,
builds a Stripe line item `Business Formation (<state> <LLC|CORP>)`, and the
`formation_orders` table carries `stripe_session_id`, `payment_status`,
`erpnext_sales_order`, etc. ERPNext SO creation is wired for formation orders.
- **Name search:** `GET /api/v1/states/:code/name-search` (24h cache in
`name_search_cache`) -> calls the worker -> per-state adapter. **TX** uses the
Comptroller Taxable Entity Search (free, no login); **NV** has an adapter too.
- **Filing automation:** `scripts/formation/` is a full subsystem -
`formation_worker.py` polls `formation_orders`, `states/tx/adapter.py` +
`states/nv/adapter.py` implement `search_name` / `file_llc` / `file_corporation`
via Playwright (TX = SOSDirect, requires login + ASP.NET viewstate handling),
plus `ein_worker.py`, `operating_agreement.py`, `document_delivery.py`,
registered-agent via Northwest RA, and ~55 state adapters scaffolded.
- **The `FormationOrder` model** carries entity name/alt, members, RA, addresses,
shares_authorized, par_value, expedited, payment card (Relay virtual debit), and
result fields (filing number, confirmation, documents).
## What's missing for NEW NV/TX formation (smaller gap)
1. **E2E verification.** The TX/NV adapters target live state portals (SOSDirect
needs an account login; both are ASP.NET/viewstate + possible CAPTCHA). We have
not confirmed a clean run recently. Need: a staged dry-run (name search ->
formation_orders insert -> worker pick-up -> ERPNext SO -> filing in a sandbox or
a real low-stakes filing) with screenshots, and CAPTCHA handling confirmed.
2. **ERPNext SO for formation** exists in code; verify it actually creates the SO
with the right items + state gov fee line (we hit a gap like this on the trucking
compliance_batch flow - SOs weren't being created). Add NV/TX formation Items if
missing (we created LLC-FORMATION / CORP-FORMATION recently).
3. **Pricing/SKU sanity:** TX/NV LLC = $300 gov fee, Corp = $300; expedite +$25/$50.
Our `corp-formation` / `llc-formation` catalog entries need gov_fee plumbed.
## What's missing for "MOVE a company" (the big gap)
This is a different operation from formation. Real-world mechanics:
### The legal mechanic (two paths)
A company changes its state of incorporation by either:
- **(A) Statutory conversion / domestication** (preferred, cleaner): the entity
re-domiciles. **Delaware** files a **Certificate of Conversion** to convert OUT
(DGCL 266) and the **destination state** files a conversion/domestication in:
- **Texas:** TBOC Ch. 10, Subch. C - "Certificate of Conversion" + new Certificate
of Formation. The TX entity is a continuation of the DE entity (same legal person).
- **Nevada:** NRS Ch. 92A.105+ "conversion"; file Articles of Conversion + new
Nevada charter (NRS 78).
- **Florida:** F.S. 607.11921+ conversion.
Both DE-out and new-state-in filings are required. The entity keeps its identity,
contracts, and history.
- **(B) Reincorporation merger** (older method, what FG Financial used): form a new
NV/TX subsidiary and merge the DE parent INTO it. Requires an Agreement and Plan
of Merger + stockholder vote. More moving parts; still common.
### Steps a real DEXIT order involves (none automated yet)
1. **Diagnose**: pull the entity's current DE status, authorized shares (to estimate
the franchise tax saving), good-standing, foreign qualifications.
2. **Board + stockholder approval**: a board resolution and (usually) a stockholder
vote/consent approving the conversion or merger. **This needs the client's counsel
- it is NOT something we file.** Our role is to prepare the plan-of-conversion /
plan-of-merger documents for their counsel to review and their board to adopt.
3. **Pay DE to leave**: DE requires the franchise tax to be **current** before it
will accept the Certificate of Conversion (you can't leave owing tax). So step 0
is often "file/pay the final DE franchise tax + annual report."
4. **File the conversion**: Certificate of Conversion OUT of DE (DGCL 266) +
Certificate of Conversion/Formation INTO the destination state. Both have fees.
5. **New registered agent** in the destination state (recurring; we use Northwest RA).
6. **First annual report / state list** in the new state (NV requires an Initial List
+ State Business License at formation/domestication; TX has the Public Information
Report / franchise tax with the ~$2.47M no-tax-due threshold).
7. **Update downstream**: foreign-qualification re-registration in states where the
company operates (the domestication may need to be reflected), update the transfer
agent / DTC, update EDGAR (state-of-incorporation on the next cover page), bank, etc.
### EIN reality
- A **conversion/domestication generally KEEPS the same EIN** - the IRS treats a mere
change of state of incorporation (same entity continuing) as not requiring a new
EIN in most cases. So our `ein_worker` (which obtains a NEW EIN) is the wrong tool
for a move; for a conversion we typically do nothing with the EIN, or at most file a
name/address change with the IRS.
- A **reincorporation MERGER into a new subsidiary** can be different: if the surviving
entity is genuinely new, the IRS may require a new EIN. This is a fact-specific,
counsel-driven determination - **we should not auto-decide it.**
- Net: EIN handling for a move is **advisory + occasionally a name/address update**,
not the automated SS-4 flow we have.
### Why we can't fully automate the move
Unlike a fresh formation, a conversion is **counsel-gated** (board/stockholder
approval, plan-of-conversion review) and **DE-clearance-gated** (must be current on
franchise tax). The honest product is **admin-assisted**: we prepare and file the
state paperwork and set up RA + first annual report; the client's lawyer handles the
corporate-approval documents. That matches how the DEXIT page is already written
("your counsel just reviews the board and stockholder consent").
## Complication: the company has foreign qualifications in other states
This is common and important. A Delaware corp that operates in California, New York,
Texas, etc. is "foreign qualified" (registered as a foreign entity / has a Certificate
of Authority) in each of those states. When it domesticates DE -> NV/TX, every one of
those foreign registrations is affected. Getting this wrong means the company is
suddenly doing business unregistered in states where it operates - default judgments,
loss of court access, penalties. So this is part of the core offer, not an afterthought.
### What actually has to happen to the foreign registrations
After a conversion/domestication, the entity is the *same legal person* but its
**home (domestic) state changed**. In each state where it was foreign-qualified:
- **The state where it is moving TO** (say it domesticates to Texas but was foreign
qualified in Texas): the foreign registration must be **withdrawn/cancelled** because
the company is now a *domestic* Texas entity - you cannot be both foreign and
domestic in the same state. (This is exactly why ~zero of our OTC sample were
TX-incorporated even when TX-based: they were DE corps foreign-qualified in TX.)
- **Every OTHER state it was qualified in** (CA, NY, FL, etc.): the foreign
qualification generally **stays in place but must be updated** to reflect the new
state of incorporation and (often) a new formation date / charter document. States
differ:
- Some accept an **amendment to the foreign registration** (file an amended
Application for Authority / Statement of Change reflecting the new domestic state).
- Some require you to **withdraw the old foreign registration and re-file a new one**
from the new home state.
- A handful treat the domestication as a non-event if the name + identity are
unchanged, requiring only an informational update at the next annual report.
- **Name conflicts** can surface: a name available to a DE corp as "foreign" in a state
might collide on re-domestication; we should run name availability in each qualified
state as part of the move.
### Good news: we already have the building block
We have a working **foreign-qualification** capability:
- SKUs `foreign-qualification-single` ($149 + state fee) and `foreign-qualification-multi`
(discounted per-state), `ForeignQualificationHandler` that **fans out per state**,
a `state_registrations`/foreign-qual schema (migration 066/073), and the same
formation state-adapter pool. So re-qualifying or amending in N states reuses
existing plumbing - we don't build it from scratch.
- What's missing is the **amend / withdraw** modes (the handler today is oriented to
*new* registration), and an intake step that asks "which states are you currently
foreign-qualified in?" so we can fan the move out across them.
### Product implication
The conversion offer should be **multi-part and priced per state touched**:
1. Core domestication (DE-out + new-state-in) - the base fee.
2. For each state the company is foreign-qualified in: an **amend / re-qualify /
withdraw** line item (reuse foreign-qualification per-state pricing).
3. Withdraw the now-redundant foreign registration in the destination state if one
existed.
4. Update the registered agent in each affected state where we maintain it.
This is also a **revenue multiplier**: a single DE corp qualified in 5 states is one
domestication + ~5 foreign-qual amendments + recurring RA/annual-report in each. But
it must be scoped at intake - we have to ASK for the list of states up front, estimate
per-state, and disclose that government fees vary and are billed at cost.
### Intake + data we must capture for a move
- current domestic state (DE), destination state (NV/TX/FL), entity type
- entity name + EIN (kept), current good-standing + franchise-tax status in DE
- **the full list of states where the company is foreign-qualified** (and its DBA/
assumed names in each) - this drives the per-state fan-out
- where it actually operates / has nexus (to advise whether to keep each qualification)
- whether counsel is handling the board/stockholder consent (always yes)
## Recommended build plan (generic corporate flow + a "move" capability)
Keep it generic, not DEXIT-specific:
1. **Catalog SKUs** (in `api/src/service-catalog.ts`):
- `entity-conversion` (move a company; admin-assisted; flat service fee + state
gov fees billed at cost; destination state chosen at intake).
- Confirm `corp-formation` / `llc-formation` carry per-state gov_fee.
- `annual-report-filing` for corporate (today it points at the trucking handler).
2. **Order type**: add `order_type: "entity_conversion"` to checkout + a
`from_state` / `to_state` / `entity_type` intake, persisted in `formation_orders`
(or a sibling table). Reuse the Stripe + ERPNext SO path.
3. **Fulfillment**: a `ConversionHandler` (admin-assisted) that:
(a) runs name availability in the destination state (existing name-search),
(b) generates the plan-of-conversion + new-state charter draft for client/counsel,
(c) queues the DE-out + destination-in filings for the formation_worker once the
signed board/stockholder consent + DE good-standing are confirmed,
(d) sets up RA + files the first annual report/state list.
4. **E2E test harness**: a scripted run that does name search -> creates a paid test
order -> verifies `formation_orders` row + ERPNext SO + worker pickup, with the
actual state filing stubbed/sandboxed so we don't make a real filing during tests.
5. **Verify NV/TX formation e2e FIRST** (smaller scope) before layering conversion on
top, since conversion reuses the same filing + ERPNext + worker plumbing.
## Bottom line
- The page is fine to ship as **lead-gen** (estimate request), which is what it does.
- We are **not** ready for a self-serve "buy a DE->NV/TX move" checkout. New NV/TX
formation is close but unverified e2e; the conversion ("move") flow and corporate
annual-report automation do not exist yet.
- Next concrete step (if you want to proceed): verify NEW NV/TX formation e2e, then
build the generic `entity-conversion` SKU + admin-assisted handler on the existing
formation plumbing.

View file

@ -194,20 +194,36 @@ DOCX to PDF conversion uses a two-tier approach:
### PRIMARY: Windows DocServer (Microsoft Word COM)
A Windows server runs a Flask-based DocServer at `:5050` that uses Microsoft Word via COM
automation for pixel-perfect DOCX → PDF conversion. This produces the highest-fidelity
output (exact font rendering, correct page breaks, proper table formatting).
A Windows server runs `docserver_worker.py` that uses Microsoft Word via COM
automation for pixel-perfect DOCX → PDF conversion. This produces the highest-
fidelity output (exact font rendering, correct page breaks, proper table
formatting).
The transport is **MinIO, not HTTP** — the Windows VM only makes **outbound**
connections to MinIO, so there are no open inbound ports / SSH tunnels and it
works behind any NAT:
```text
pdf_converter.py (Linux) MinIO (S3) docserver_worker.py (Windows)
PUT docx → to-convert/{id}.docx ─────────► │
│◄─ poll every 12s ───────┤
│ ├─ Word.SaveAs → PDF
GET pdf ← converted/{id}.pdf ◄──────────│◄─ PUT converted/{id}.pdf┘
DEL docx / DEL pdf (cleanup)
```
```python
# pdf_converter.py — primary path
response = requests.post(
f"http://{DOCSERVER_HOST}:5050/convert",
files={"file": open(docx_path, "rb")},
timeout=60,
)
pdf_bytes = response.content
# pdf_converter.py — primary path (simplified)
mc.put_object(bucket, f"to-convert/{job_id}.docx", docx_stream, length)
# ...poll until converted/{job_id}.pdf appears (DOCSERVER_TIMEOUT, default 120s)...
pdf_bytes = mc.get_object(bucket, f"converted/{job_id}.pdf").read()
```
The Windows worker is **self-healing**: it retries MinIO with backoff instead of
exiting on a transient outage, and its `PW-DocserverWorker` scheduled task
restarts on failure plus re-fires every 5 minutes if the process dies. See
`docserver/README.md` → "Reliability / self-healing".
### FALLBACK: LibreOffice Headless
If DocServer is unavailable (network error, timeout, Windows server down), the converter

View file

@ -163,16 +163,25 @@ Write `scripts/tests/e2e_crtc_pipeline.py`:
### DocServer Investigation
Word COM fails under SYSTEM account and "Run whether user is logged on or not" mode.
Requires interactive desktop session (RDP login). Auto-logon configured (registry keys set)
but blocked by hosting provider's Windows Server 2019 policy.
As of 2026-06, the worker runs fine under the SYSTEM account in session 0 on
this Windows Server 2019 box (Word COM initialises and converts normally), so the
old "requires an interactive RDP login" workaround is no longer needed for normal
operation. It is **self-healing**:
**Workaround:** RDP into the VM once after reboot → AtLogOn trigger fires → Word COM works.
LibreOffice fallback handles conversions automatically when DocServer is unavailable.
- It retries the MinIO connection with backoff instead of `sys.exit(1)`, so a
transient MinIO 502 / outage no longer kills it (that was the cause of a
multi-week outage in May 2026).
- The `PW-DocserverWorker` task restarts on failure (99×/1 min) and has a
5-minute repeating safety trigger (`MultipleInstances=IgnoreNew`), so a crash
or missed boot trigger self-recovers within ~5 min without a reboot/RDP.
LibreOffice fallback still handles conversions automatically if DocServer is ever
unavailable. See `docserver/README.md` → "Reliability / self-healing".
### Known Limitations
1. **DocServer** — requires RDP login after cold reboot (auto-logon blocked by hosting provider)
1. **DocServer** — self-healing (auto-restarts on MinIO outage/crash); RDP only
needed if Word COM itself breaks (DCOM misconfig → run `fix_dcom.bat`)
2. **eSign JWT** — test uses different secret than dev API; falls back to PG simulation
3. **Compliance Calendar** — DocType not imported to ERPNext; 417 error on query
4. **ERPNext screenshots** — Playwright can't log into ERPNext from Docker (login page structure)

View file

@ -115,3 +115,251 @@ echo $(( ($(date +%s) - $(sudo cat /etc/postfix/pw-warmup-start)) / 86400 ))
- `/etc/postfix/main.cf.bak.*`
- `/etc/postfix/transport.bak.*`
- `/usr/local/bin/pw-mta-warmup.bak.*`
## Incident: Jun 17 2026 — campaign mail sent UNSIGNED (no DKIM)
**Symptom:** "no new sales." Campaigns were sending (~3-4k/day) but delivery was
~23% (sent 1,802 vs deferred 5,143 + bounced 580), Gmail returned `550-5.7.1
likely unsolicited mail`, and there were **zero clicks since Jun 8** despite
~600 opens/day.
**Root cause:** OpenDKIM was signing **nothing** that came from Listmonk.
`/etc/opendkim.conf` was in single-key mode with **no `InternalHosts`**, so it
defaulted to signing only `127.0.0.1`. Cron/transactional mail is injected
locally (127.0.0.1) so it WAS signed — but campaign mail is injected over the
Docker bridge from the Listmonk containers (`172.18.0.5` trucking,
`172.18.0.25` healthcare). Those clients were not "internal," so OpenDKIM
*verified* (instead of *signed*) them: every cold email went out **unsigned**.
Since Feb 2024 Gmail/Yahoo require DKIM on bulk mail, so unsigned campaigns were
junked/blocked. Proof: `2,620` campaign messages that day, `0` "DKIM-Signature
field added" events, while the every-5-min cron mail was signed.
The correct table files already existed (`/etc/opendkim/{key.table,
signing.table,trusted.hosts}`, and `trusted.hosts` already listed
`172.16.0.0/12`) — they were simply **never wired into `opendkim.conf`**.
**Fix (now codified in Ansible `roles/mail`):** point `opendkim.conf` at the
tables and set the signing scope —
```
KeyTable refile:/etc/opendkim/key.table
SigningTable refile:/etc/opendkim/signing.table
InternalHosts /etc/opendkim/trusted.hosts # includes 172.16.0.0/12 (Docker)
ExternalIgnoreList /etc/opendkim/trusted.hosts
OversignHeaders From
```
then `systemctl restart opendkim`. This fixes BOTH streams at once: the
healthcare submission instances (ports 2526-2528) inherit the global
`smtpd_milters` and the `*@performancewest.net` signing table covers
`compliance@`. Verified by injecting a message from a Docker IP through both
port 25 and port 2526 and confirming "DKIM-Signature field added" for each.
**Verify DKIM is actually signing campaign mail:**
```bash
# Should be NON-ZERO and roughly track campaign volume:
sudo journalctl -u opendkim --since today | grep -c 'DKIM-Signature field added'
# Cross-check: campaign cleanup events today (should be similar order of magnitude)
sudo grep "^$(date '+%b %e')" /var/log/mail.log | grep -c postfix/cleanup
# Key still matches published DNS:
sudo opendkim-testkey -d performancewest.net -s mail -vvv # expect "key OK"
```
**Still TODO from this incident (list quality + content, not yet done):**
- Throttle/pause Gmail until reputation recovers (`550-5.7.1` was still firing).
The trucking ramp/cap (`pw-listmonk-rampcap`) currently holds at 200/h and the
builder excludes the big-MX operators (Google/Microsoft/...) until warmup
day 30; revisit once reputation recovers.
- Dead M365 tenant scrub: HC defers are mostly `451 4.4.4` against dead M365
tenants + `421` LuxSci throttle. Identify and suppress dead tenants.
### Re-send of the never-delivered (unsigned) audience — Jun 22 2026
The ~79k cold sends made during the broken window (Jun 1 - Jun 18 00:31 UTC) were
stamped `listmonk_sent_at` at send time, so the builder permanently excluded them
even though they were junked/blocked unsigned. With DKIM now fixed we re-send to
the now-deliverable subset, **excluding Gmail** (Google consumer reputation is
still recovering) but **including Microsoft/Hotmail** (the bulk of the list).
What was done (all reversible):
1. `MAIN_EXCLUDE_OPERATORS` env override added to the builder (commit `5a3063e`):
when set it REPLACES the default `WARMUP_EXCLUDE_OPERATORS`. Set to `google` in
the `workers` service env so cold sends go to everything except Google, driving
both the SQL exclude and the per-operator daily cap (google cap=0, others 120).
2. Backed up the reset target to `performancewest.resend_dkim_backup_20260622`
(6,461 rows = broken-window AND `email_verify_result IN (smtp_valid,
send_confirmed)` AND `mx_provider <> google`), then `UPDATE fmcsa_carriers SET
listmonk_sent_at = NULL` for exactly those rows so the builder re-queues them.
3. Ran the builder with `--send-hour 17 --send-minute 30` (the default per-tz hours
09-12 UTC were already past; **Listmonk rejects a past `send_at` with HTTP 400
"Scheduled date should be in the future"** — always override the hour for a
same-day manual re-run after the normal window). Result: 30 campaigns,
queued_recipients=3000 (warmup cap), ~2,999 re-stamped. Provider mix: Microsoft
1,272 / Comcast / Charter / Proofpoint / long-tail; **zero Google**.
The remaining ~3.5k of the 6,461 backup set drain on subsequent daily runs under
the same cap. To revert a row: `UPDATE fmcsa_carriers c SET listmonk_sent_at =
b.old_listmonk_sent_at FROM resend_dkim_backup_20260622 b WHERE c.dot_number =
b.dot_number;`. To resume normal warmup exclusion later, unset
`MAIN_EXCLUDE_OPERATORS` (reverts to Google+Microsoft+consumer-MX held to day 30).
### Incident: Jun 22 2026 — `@TrackLink` on per-subscriber CTAs = 404 + collapse
**Symptom.** The trucking "deficiency" CTA buttons (the primary order link and the
secondary DOT-check link) rendered as Listmonk tracking redirects
(`https://lists.performancewest.net/link/<uuid>/...`) that **404'd**. The redirect
target (registered in `links.url`) was `https://performancewest.net/order/boc3-filing&utm_source=...`
— note the `&` with **no `?`** — an invalid URL.
**Root cause.** Listmonk's `@TrackLink` marker registers **one static URL per
tracked link** and points every recipient's `/link/<uuid>` redirect at that single
row. This is fundamentally incompatible with a **per-subscriber** href such as
`{{ .Subscriber.Attribs.lp_link }}&utm_source=...`:
- The registered `links.url` was captured with the `{{ lp_link }}` token dropped,
yielding `/order/slug&utm_source=...` (first `&`, no `?`) → **404 for everyone**.
- Even if the URL had been valid, a static registration **collapses every carrier
onto the first subscriber's** `?dot=` (or `?npi=`/`?clia=`) value — wrong order
pre-fill for the entire blast.
By contrast, a **static** CTA (same URL for all recipients, e.g. the CRTC
`?code=...` order link) tracks correctly — keep `@TrackLink` there.
**Why removing tracking loses nothing.** Real human clicks are already attributed
via Umami's `campaign-click` event (bot-filtered by `pw-bot-filter.js`). Listmonk's
own click counters were already established as unreliable for this stream. So
Listmonk link tracking on per-subscriber CTAs is both redundant and destructive.
**Fix — live (already-sent + in-flight mail).** Rewrote the 10 broken registered
rows in place (replace the first `&` with `?`) so the baked `/link/<uuid>` redirects
resolve. Backup table `listmonk.pw_links_dkim_fix_bak_20260622` holds the old urls.
Verified the exact redirect that 404'd now returns 200 → lands on the (generic,
DOT-not-prefilled but fully functional) order page. To revert:
```sql
UPDATE links l SET url = b.url
FROM pw_links_dkim_fix_bak_20260622 b WHERE l.id = b.id; -- in the `listmonk` DB
```
**Fix — source (future builds, the real fix).** Stripped `@TrackLink` from every
**per-subscriber / per-provider** CTA so each row renders its own direct link (no
redirect, no collapse). Files changed:
- `scripts/create_deficiency_source_campaigns.py``_cta()` (lp_link order button)
and `_dot_check_cta()` (per-DOT tools link).
- `data/trucking_campaigns/{ucr_annual_reminder,ifta_quarterly_reminder}.html`
(per-carrier `lp_link`).
- `data/hc_campaigns/*.html` (10 templates, per-provider `?npi=`/`?clia=`).
`lp_link` already starts its query with `?dot=` (see `lp_link_with_coupon()`), so
`{{ lp_link }}&utm...` renders to a valid per-carrier URL once the redirect is gone.
**Healthcare note.** The HC Listmonk DB (`listmonk_hc`) had **0 registered links**
despite 13,425 sent — `@TrackLink` was not being stripped there at all, so the
literal `@TrackLink` shipped as harmless trailing text in `utm_campaign` and the
hrefs still 200'd (per-provider `?npi=` was present literally in the template, not
via lp_link). No live HC breakage; source templates cleaned anyway to remove the
collapse risk on the next send.
**Guardrail.** Never put `@TrackLink` on an href containing a `{{ .Subscriber... }}`
token. Per-subscriber links must render directly; rely on Umami `campaign-click`
for human-click attribution.
### Follow-up hardening — DONE (Jun 17-18 2026)
All discovered during the post-incident technical audit; each fix is codified.
1. **OpenDKIM not signing** — fixed + codified in Ansible `roles/mail`
(commit `4d59019`). Foundational fix above.
2. **`mail.log` unbounded (~1 GB, no logrotate)** — this host logs via Postfix's
built-in `postlogd` (no rsyslog), so a rename+create would strand the open
inode. Added a `copytruncate` logrotate rule (daily, 14-day, compressed) to
`roles/mail` (commit `2e4388a`). Applied live, 1 GB archive compressed.
3. **Plaintext (altbody) MIME part** — all campaigns were HTML-only (a spam-score
signal; Listmonk only emits multipart/alternative when altbody is set). New
`scripts/_email_plaintext.py` renders a text/plain part from the HTML body
(preserves Listmonk template tags, links -> "text (url)"); wired into the
trucking builder (and thus UCR + IFTA) and the healthcare builder. Tests:
`scripts/test_email_plaintext.py`. Commits `a32a3b0`, `4664601`.
4. **`@localhost.localdomain` Message-IDs** — Listmonk derived the Message-ID
from the random Docker container id. Pinned both listmonk + listmonk-hc
`hostname: perfwest.performancewest.net` in `docker-compose.yml` (matches the
SMTP `hello_hostname`). Commit `a32a3b0`.
5. **Dead/legacy/satellite ISP scrub** — added `DEAD_ISP_DOMAINS` (52 domains,
identified from our own Listmonk bounce table) to `BLOCKED_EMAIL_DOMAINS` in
`_email_exclusions.py`, so every builder that imports it stops cold-mailing
them. Deliberately keeps still-active large consumer ISPs (comcast/charter/
cox/centurylink) — their bounces were the no-DKIM problem, not dead mailboxes.
Commit `c183957`.
6. **`deploy@performancewest.net` self-bounce** — the deploy user's crontab held
3 jobs (payment_reminder, amb_location_scraper, renewal_worker) that are
EXACT duplicates of systemd timers in the `worker-crons` role AND redirected
to `/var/log` (which deploy cannot write), so they failed and cron mailed the
error to `deploy@` (no mailbox -> self-bounce). Removed the redundant deploy
crontab (backed up to `logs/deploy-crontab.bak.*`); the systemd timers carry
the work. No IaC change needed (Ansible never created that crontab).
7. **Entire campaign pipeline was not in IaC** — the campaign cron builders, IP
warmup/ramp helpers, and bounce watchers lived ONLY on the host. New Ansible
`mail-pipeline` role + `playbooks/deploy-mail-pipeline.yml` deploy them all
from the canonical repo copies (`infra/cron/`, `infra/postfix/`,
`infra/monitoring/`, `infra/systemd/`, `scripts/*bounce*`). Commit `4dc5690`.
8. **Telecom + transactional email was also HTML-only** — the campaign-builder
plaintext fix (#3) only covered Listmonk mass-mail. The telecom/filing/
customer-transactional path (499-Q reminders, RMD/FCC filing review links,
intake/completion/delivery/commission emails, order confirmations) builds its
own `MIMEMultipart` / nodemailer messages, and ~17 of them attached ONLY an
HTML part — a malformed single-part `multipart/alternative` and a spam signal.
Fixed at the source so all callers are covered:
- `scripts/workers/worker_email.py` `send_worker_email()` now auto-derives the
text/plain part from HTML via `_email_plaintext.html_to_text` when the
caller omits `text=`.
- 16 rolled-their-own Python senders (`scripts/workers/**`, `scripts/formation/
document_delivery.py`) attach an `html_to_text(...)` plaintext sibling
before the HTML part (`job_server` + `document_delivery` wrap text+html in an
`alternative` sub-part so PDF/DOCX still attach to the `mixed` root).
- `api/src/email.ts` gained a dependency-free `htmlToText()` and `sendEmail`
now defaults `text` to it (covers checkout/webhook HTML-only sends).
NB: telecom campaigns themselves are still **manually** created+sent in the
Listmonk UI (no send automation; `compliance_alert_list.py` /
`rmd_deficiency_campaign.py` only populate lists). The one telecom send to
date — campaign 407 "FCC Deficiency Report - FREEDOM249", Jun 08 — was
HTML-only AND sent inside the DKIM-broken window: 384 sent / 343 views / **0
clicks** (the same junked-mail signature as the trucking blasts). Any future
telecom UI campaign should set an altbody (Listmonk "Plain text" toggle) and
run through the same dead-ISP/suppression hygiene. Commit `b375385`.
## INCIDENT 2026-06-24: warmed sending IPs dropped off the interface after reboot
**Impact:** ~37h of degraded deliverability + a near-zero sales day (Jun 24 04:04 -> Jun 25 17:25). Root cause was infrastructure, not reputation.
**What happened.** An unattended kernel upgrade rebooted the host at Jun 24 04:04
(6.12.90 -> 6.12.94). The warmed sending IPs `.94` (trucking/out05) and `.107`
(HC/hcout1) are defined in `/etc/network/interfaces`, but **classic ifupdown
(0.8.44) only applies the FIRST `address` line per stanza** -- so only `.71`
(the primary) came back up. Postfix's `smtp_bind_address=.94/.107` then failed
with `warning: smtp_connect_addr: bind ...: Cannot assign requested address` and
**silently fell back to egressing from `.71`**. `.71` is (a) NOT in the SPF
record (`v=spf1 ... ip4:.94 ip4:.107 -all`) so every fallback message **failed
SPF**, and (b) listed on **RLR621** + **Trend Micro ERS-QIL**, so receivers
deferred them (`451 ... blacklisted - RLR621 - ip=<207.174.124.71>`). Net: the
IP warming was bypassed and mail either failed SPF or got reputation-deferred.
**Detection.** Tail of `/var/log/mail.log` showed `Cannot assign requested
address` (16,993 in one log) + deferrals citing `ip=<207.174.124.71>`.
`ip -4 addr show ens18` showed only `.71` bound (missing `.72/.94/.107`).
`last reboot` pinned the start to the 04:04 boot. Major RBLs (Spamhaus ZEN/DBL,
Barracuda, SpamCop, SORBS) were still **clean** for `.94/.107` and the domain --
RLR621/ERS-QIL are proprietary soft listings keyed off `.71`/HELO and age off.
**Fix (all applied 2026-06-25 ~17:25 CDT).**
1. Re-bound live: `ip addr add 207.174.124.{72,94,107}/23 dev ens18`, then `postqueue -f`.
2. Reboot-persistence in `/etc/network/interfaces`: added explicit
`up/down ip addr add/del ...` hooks for the 3 secondaries (classic ifupdown
ignores 2nd+ `address` lines; the hooks are honored). Backup at
`/etc/network/interfaces.bak-*`.
3. Belt-and-suspenders systemd oneshot `pw-mail-ips.service` (in repo at
`infra/mail/pw-mail-ips.service`) re-binds the IPs + flushes the queue on boot.
4. Watchdog cron `*/5` `pw-mail-ip-watchdog` (repo `infra/mail/`) re-binds any
missing sending IP and flushes if it had to act or sees `Cannot assign` lines.
**Lesson / TODO.** The host does unattended-upgrade reboots ~weekly (seen
05-25, 05-30, 06-24, all ~04:04). Any IP/transport change must be reboot-tested.
Consider migrating ifupdown -> netplan with all addresses, or pin
`unattended-upgrades` to skip auto-reboot. The `mail_reputation_monitor.py`
attributes egress to `.71` as "transactional default" -- after this incident, a
spike of `.71` egress in the bulk streams is itself an alarm.

View file

@ -137,7 +137,11 @@
- Same Listmonk infrastructure as FCC campaigns
- Warmup schedule (200/day → ramp up)
- Link to DOT compliance checker with `?dot={DOT#}&email={email}` pre-filled
- Use `@TrackLink` on all CTAs (learned from FCC campaign mistake)
- Use `@TrackLink` ONLY on **static** CTAs (same URL for all recipients). NEVER on
a per-subscriber href such as `{{ lp_link }}` / `?dot={DOT#}` — Listmonk registers
one static URL per tracked link and would 404 + collapse every carrier onto one
DOT (see runbook "Jun 22 2026 — @TrackLink on per-subscriber CTAs"). Per-subscriber
links render directly; human clicks are tracked via Umami `campaign-click`.
- Free compliance check as the CTA (not direct sell)
## Phase 5: Automation (Future)
@ -195,3 +199,15 @@ FMCSA QCMobile API ← /api/v1/dot/lookup (real-time per carrier)
- **Email outreach to 1.5M+ carriers** with specific deficiency data
- **Lower pricing** through automation (no manual data entry)
- **Bundled services** (telecom + trucking for carriers that do both)
## IRP filing — known follow-ups (2026-06)
- **POA signer name/title on auto-signed orders**: dot-compliance-remediation
orders auto-sign the state-trucking authorization without capturing the
signer's printed name/title, so the POA PDF attached to IRP submissions has a
blank printed-name/title (the date IS rendered). We are sending these as-is to
see if base states accept them; if a state rejects for an incomplete POA,
capture signer_name/signer_title in the remediation auth flow (or re-issue the
POA for signature) before submitting. Code: state_trucking_authorization.py
(template has name/title/date fields + a date anchor), esign_stamp.py (stamps
signature + date).

View file

@ -238,7 +238,7 @@ Flags for support conversations (escalation, priority, category).
- Converts via Word COM, drops PDF in `converted/` bucket
- Heartbeat file at `minio://performancewest/docserver-heartbeat.json` (60s interval)
- Atomic uploads via `.tmp_` prefix + `copy_object` rename
- Task Scheduler: `PW-DocserverWorker`auto-restart on failure
- Task Scheduler: `PW-DocserverWorker`self-healing: restarts on failure (99×/1 min) + AtStartup and a 5-min repeating trigger (relaunches within ~5 min if the process dies). The worker also retries MinIO on outage instead of exiting.
- **Fallback:** LibreOffice headless (`soffice --headless --convert-to pdf`) auto-activates when DocServer heartbeat stale (>5 min)
- **E2E tested:** 36KB DOCX → 82KB PDF in 12 seconds total round-trip

View file

@ -140,7 +140,7 @@
## PRIORITY 7 — Listmonk (Email Marketing) ~~COMPLETE~~
- [x] Deploy Listmonk at lists.performancewest.net (Docker, PostgreSQL-backed)
- [x] Configure SMTP2GO outbound email (separate from Carbonio transactional SMTP)
- [x] Configure Listmonk mass-mail via the local Postfix MTA (SMTP2GO decommissioned; separate from Carbonio transactional SMTP)
- [x] Import 10,191 FCC RMD contacts into Listmonk (3 subscriber lists)
- [x] Configure bounce processing via POP3 from Carbonio (bounces@performancewest.net)
- [x] Create 22 scheduled campaigns across 4 lists

View file

@ -0,0 +1,23 @@
SUBJECT: Re: Your Medicare revalidation — thank you for confirming
Hi {{first name}},
Thank you for letting us know, and congratulations on completing your
revalidation. We have noted it and removed your practice from any further
revalidation reminders.
For context: our notice was based on the CMS public Medicare Revalidation
Due Date List, which CMS refreshes periodically. There is often a lag of
several weeks between when a provider's revalidation is approved and when CMS
updates that public list, so a recently completed revalidation can still show
as due in the published data. That appears to be exactly what happened here.
No action is needed on your part. If we can ever help with NPI/NPPES updates,
enrollment, reactivation, or OIG/SAM exclusion screening, we are glad to assist.
Thank you again for the heads-up, and apologies for any confusion.
Best regards,
Performance West Compliance
(888) 411-0383 · info@performancewest.net
Performance West is an independent compliance firm, not affiliated with CMS or Medicare.

View file

@ -0,0 +1,126 @@
# Healthcare services — competitive pricing research
**Date:** 2026-06-20
**Purpose:** Benchmark our healthcare compliance prices against what other firms
charge, to inform email copy (price removal), landing-page pricing, and offer design.
## Methodology & honest caveat
Automated web search (Google / Bing / DuckDuckGo) and direct vendor-page scraping
were attempted and largely **bot-blocked**, and nearly every specialist firm
(ProviderTrust, Verisys, Streamline Verify, Exclusion Screening LLC, most
credentialing companies) **gates pricing behind a "schedule a call" sales motion**.
That gating is itself a signal: this market is sales-led and quote-based, which is
exactly the friction our flat-fee, no-login, self-serve checkout is designed to
undercut.
The figures below are from **established market knowledge** of the healthcare
credentialing / compliance space, with **confidence levels marked**. Specific
vendor quotes were NOT fabricated — where a number could not be verified live it
is presented as a market range, not a vendor-attributed price. Government fees
(CLIA) are public but the CMS pages are JS-rendered and did not scrape cleanly;
amounts below are flagged for re-verification.
> **Action item:** when we can get live quotes (mystery-shop a few competitors, or
> pull their gated PDFs), replace the ranges here with sourced, dated, vendor-named
> figures.
## Our current prices (source of truth: `api/src/service-catalog.ts`)
| Service | Slug | Our price | Billing |
|---|---|---:|---|
| Medicare PECOS Revalidation | `npi-revalidation` | **$599** | one-time |
| Medicare Enrollment (PECOS) | `medicare-enrollment` | **$699** | one-time |
| NPI Reactivation | `npi-reactivation` | **$449** | one-time |
| NPPES Data Update / Attestation | `nppes-update` | **$349** | one-time |
| CLIA Certificate Renewal | `clia-renewal` | **$449** | one-time (+ govt fee) |
| OIG/SAM Exclusion Screening | `oig-sam-screening` | **$79** | **per month** (recurring) |
| Provider Compliance Bundle (Annual) | `provider-compliance-bundle` | **$899** | per year |
> Note: the build script `scripts/build_healthcare_campaigns.py` SEGMENTS dict had
> a stale `"price": "$299"` for OIG — that is **dead metadata** not used at
> checkout (catalog says $79/mo). Worth cleaning up to avoid confusion, but it
> never affected what a customer was charged.
## Benchmarks by service
### 1. Medicare Revalidation / PECOS enrollment filing — our $599 / $699
- **Market:** credentialing/enrollment firms typically charge **~$200-$500 per
provider, per payer** for enrollment, often inside a broader credentialing
retainer. Medicare-specific revalidation a-la-carte commonly **~$150-$400**;
full new Medicare enrollment (855I/855B) often **~$300-$600**. Many bill hourly
($50-$150/hr) inside a retainer rather than flat.
- **Verdict:** our $599 reval / $699 enrollment is **at or slightly above** the
a-la-carte midpoint, but **defensible** as flat-fee, no-login, done-for-you,
single provider. Confidence: **medium-high** (the per-payer model is well
established).
### 2. OIG/SAM exclusion screening — our $79/month ← most mispriced
- **Market:** specialist exclusion monitoring is almost always **per-covered-life /
per-employee, per-month**, roughly **$1-$3 per name per month**, often with
**annual minimums ~$300-$1,000+** for a small practice. One-time single-name
searches run **~$5-$15**.
- **Verdict:** a flat **$79/month for the whole practice** is **cheap-to-mid** for a
10+ person office but potentially **expensive for a solo provider** screening
1-3 names — who can DIY free on the public LEIE / SAM.gov sites (which our own
email tells them to do). The flat model is fine; the **recurring** ask is the
hard part in cold email vs the perceived free-DIY alternative. Confidence:
**medium-high** on the per-life model.
### 3. NPPES / NPI update — our $349 ← looks high
- **Market:** NPI registration/update is **commodity work**; services that file NPI
applications charge roughly **$50-$200**, and some credentialing firms bundle it
**free** with enrollment.
- **Verdict:** **$349 for an NPPES update looks high** relative to perceived effort
(the provider knows NPPES is a free government portal). Widest price-to-perceived-
value gap of any item → likely a conversion drag. Confidence: **medium**.
### 4. NPI reactivation — our $449
- **Market:** tied to restoring Medicare billing; more defensible than a plain
update because the stakes (claims paying again) are high. Comparable to a reval
filing in effort. Confidence: **medium**.
### 5. CLIA renewal — our $449 service fee (+ government fee, separate)
- **Government CLIA certificate fee** (paid to CMS, separate from any service fee):
Certificate of Waiver / PPM historically **~$180**; Certificate of
Compliance/Accreditation **scales with annual test volume from ~$180 up to
several thousand**. *(Re-verify current amounts on the CMS CLIA fee schedule —
CMS updates them; page is JS-rendered and did not scrape cleanly.)*
- **Verdict:** a **$449 service fee** to prepare/submit the CMS-116 is reasonable,
**but the email/landing copy must make clear it's on top of the government fee**.
Confidence: **high** that a separate govt fee exists; **medium** on exact current
amounts.
## Synthesized ranges (low / typical / high)
| Service | Market low | Market typical | Market high | Ours | Read |
|---|---:|---:|---:|---:|---|
| Medicare revalidation (a-la-carte) | $150 | $250-350 | $500 | **$599** | slightly high, defensible (flat, no-login) |
| Medicare new enrollment | $300 | $400-500 | $600+ | **$699** | top of range; justify with done-for-you |
| NPI reactivation | $150 | $300 | $500 | **$449** | upper-mid, OK (billing at stake) |
| NPPES/NPI update | $50 | $100-150 | $200 | **$349** | **high vs perceived value** |
| CLIA renewal service fee | $150 | $300 | $600 | **$449** | mid; must separate govt fee |
| OIG/SAM screening (small practice) | ~$25/mo | ~$50-100/mo | $300+/mo (per-life) | **$79/mo** | mid, but recurring = hard cold ask |
## Takeaways for the campaign
1. **Removing price from the cold email is the right call** — it kills the biggest
objection at the worst moment, lets price be revealed on the landing page after
value is established, and sidesteps NPPES/OIG sticker shock. Catalog prices stay
the source of truth at checkout.
2. **Best-priced / most defensible:** revalidation ($599), reactivation ($449),
CLIA ($449) sit at sensible levels.
3. **Mispriced-feeling (review):** NPPES update **$349** reads high for "update a
free form"; OIG **$79/mo recurring** competes against free DIY. Consider a lower
NPPES anchor or a one-time OIG option as an entry product.
4. **Differentiator to lean on:** competitors are sales-led and quote-gated. Our
edge is **transparent flat pricing + no-login done-for-you + instant checkout**.
That should be the wedge, not undercutting on raw price.
## Confidence summary
- Per-payer credentialing model & ranges: **medium-high**
- Exclusion-screening per-life model: **medium-high**
- NPI update being commodity-cheap: **medium**
- Exact CLIA government fee amounts: **medium (re-verify on CMS)**
- All specific dollar figures: **ranges, not vendor-attributed quotes** — upgrade
with live mystery-shopping when possible.

View file

@ -0,0 +1,104 @@
# Healthcare cold-email compliance review (2026-06-20)
Reviewed all 10 templates in `data/hc_campaigns/` after removing prices, fixing
click tracking, and de-risking unsubstantiated status claims.
## Scope of the pass
1. **Removed all service prices** from the emails (price is now revealed on the
order page, after value is established). Catalog (`api/src/service-catalog.ts`)
remains the source of truth.
2. **Click tracking** — originally appended `@TrackLink` + UTM to every conversion
CTA. **SUPERSEDED (Jun 22 2026):** `@TrackLink` must NOT be used on per-provider
hrefs (`?npi=`/`?clia=`/`{{ lp_link }}`) — Listmonk registers one static URL per
tracked link, which 404s and collapses every provider onto one NPI. `@TrackLink`
removed from all HC templates; per-provider links render directly and human clicks
are tracked via Umami `campaign-click`. See runbook "Jun 22 2026 — @TrackLink on
per-subscriber CTAs."
3. **Reframed unsubstantiated per-record status assertions** to honest, hedged,
generally-true statements (defamation / FTC-deception risk).
4. This compliance review.
## Compliance posture — item by item
### CAN-SPAM (US) — PASS
- **Physical postal address** present in every footer (Performance West Inc., 525
Randall Ave Ste 100-1195, Cheyenne, WY 82001). ✓
- **Unsubscribe** present in every template + `List-Unsubscribe` /
`List-Unsubscribe-Post` one-click headers set by the build script. ✓
- **No deceptive subject lines** — subjects are hedged ("may be out of date",
"appears deactivated", "Are you screening for…"). ✓
- **Accurate From / Reply-To**`FROM_EMAIL` / `REPLY_TO` real, monitored. ✓
### Truth-in-advertising / FTC deception — FIXED
The biggest risk was **asserting a specific provider's record status as fact when
we don't actually measure it**. Addressed:
| Template | Was | Now |
|---|---|---|
| `nppes_outdated` | "record … appears **out of date**", header "Outdated registry information **detected**", row "**FLAGGED OUT OF DATE**", footnote "Staleness **flagged by our compliance monitoring**" | General true statement ("most practices drift out of date over time"), header "NPPES Data Check / keep your record current & attested", row "**PERIODIC REVIEW REQUIRED**", footnote cites the real CMS periodic-attestation requirement |
| `npi_reactivation` | header "Deactivated enrollment **detected**", body "**flagged** … as deactivated" | header "Provider Enrollment Check", body "**may be** deactivated … worth confirming on the official sources" |
**Why this matters:** the `nppes_outdated` audience selector (`institutional_verified`)
only checks **deliverability**, never staleness — and the harvested data has **no
NPPES last-updated field**, so a per-record "out of date / FLAGGED" claim was
literally unsubstantiated for every recipient. Now the copy is true for everyone
(CMS does require periodic NPPES attestation) and still invites them to self-verify.
### Substantiated claims that were KEPT (verified backed by data)
- `revalidation_overdue` "**is past due** / PAST DUE · N days overdue" — **OK**: the
`reval_overdue` selector requires `reval_status == "overdue"` AND a real overdue
day count derived from the **public CMS Revalidation Due Date List**. The email
also links the provider to that exact government list to self-verify. Legitimate.
- `revalidation_due_soon` "deadline is coming up" — backed by `reval_status ==
"upcoming"` from the same CMS list. ✓
- OIG "**civil monetary penalties up to $20,000 per claim**" — this is a real OIG
penalty figure (kept; it is a regulatory fact, not a price). ✓
### Government-affiliation / impersonation — PASS
- Every template carries the disclaimer **"Performance West is an independent
compliance firm, not affiliated with CMS / Medicare / OIG / SAM.gov."** ✓
- "Official record · CMS Medicare Revalidation Due Date List" refers to the **CMS
public dataset we cite** (and link to), not a claim that we are CMS. The
"Don't take our word for it — check the official CMS record" framing reinforces
that we are pointing them AT the government source, not posing as it. ✓
- No CMS/HHS logos, seals, or government-lookalike sender identity. ✓
### "No-login / done-for-you" claims — PASS (already vetted)
- Matches the verified capability map in `docs/healthcare-no-login-value-add.md`
and `docs/healthcare-filing-tiers-verified.md`. The one honesty caveat (the
provider must personally **sign** the 855; we cannot sign for them) is respected:
copy says "the only thing we may need is a one-minute e-signature," never claims
we sign on their behalf. ✓
### Guarantee / absolute-language scan — ACCEPTABLE
Scanner flagged `guarantee / never / 100% / will not`. Reviewed in context — all
benign and substantiable:
- "**100% satisfaction guarantee**" + "we'll make it right" — standard puffery /
service promise, paired with "fixed pricing, no billable hours." Acceptable.
- "You **never** share your password / you **will not** pay billable hours" —
factual descriptions of how the service works, not outcome guarantees. ✓
- No claims guaranteeing a CMS approval/outcome (which WOULD be a problem). ✓
### Trust/credibility badges — VERIFY (flag for owner)
Footers assert **"SOC 2 Type II hosting · HIPAA & PCI compliant · 256-bit TLS."**
These are factual compliance claims and must be **literally true**:
- ⚠️ **Action for Justin:** confirm we can substantiate SOC 2 Type II + HIPAA + PCI
(or soften to "encrypted, secure Stripe payments" if any is aspirational). False
compliance badges are an FTC and contractual risk. Not changed in this pass —
needs owner confirmation.
## HTML / deliverability QA — PASS
- All 10 templates render with **0 JS errors** headless, each has **exactly one
per-provider `/order/...` CTA** (direct link, `@TrackLink` removed Jun 22 2026 —
see item 2), and **no price leaks** (only the $20,000 OIG penalty stat remains,
intentionally).
- External self-verify links (oig.hhs.gov, sam.gov, npiregistry, data.cms.gov) left
**untracked** on purpose (they're trust links, not conversions).
## Outstanding (not blocking, recommended next)
1. **Confirm SOC 2 / HIPAA / PCI badge claims** are literally true (above).
2. **OIG $79/mo & NPPES $349 pricing** flagged as high/hard in
`docs/healthcare-competitive-pricing.md` — consider a one-time OIG entry option
and a lower NPPES anchor. (Pricing strategy, separate from compliance.)
3. **Add the free `/tools/npi-compliance-check`** as a soft secondary CTA / lead
magnet so non-buyers are captured and nurtured (funnel, separate effort).

View file

@ -293,3 +293,17 @@ Committed and validated on dev:
```
## Campaign tracking (opens/clicks) — fixed 2026-06-06
listmonk-hc was installed with the default `app.root_url=http://localhost:9000`,
so every tracking pixel + click-link in sent emails pointed at localhost ->
recipients couldn't reach them -> **views/clicks always showed 0**. Fixed:
- `app.root_url` -> `https://lists-hc.performancewest.net` (the public portal vhost)
- `privacy.individual_tracking` -> `true` (per-subscriber opens/clicks)
- `privacy.disable_tracking` -> `false`
- restarted listmonk-hc to load the new root_url.
Verified: hitting the tracking pixel publicly records a `campaign_views` row, and
the campaign preview renders pixel+links as `lists-hc.performancewest.net/...`
with zero `localhost` references. NOTE: emails sent BEFORE this fix (the first
~100 warmup) had localhost tracking baked in and won't track retroactively; all
future sends track correctly.

View file

@ -0,0 +1,158 @@
# Healthcare filing: Standard (no-login) vs Expedited (surrogate) — VERIFIED matrix
Internal capability map. Confirms how each healthcare service is fulfilled with
**no client login and no credential sharing**, and where the optional
**Expedited (CMS I&A Surrogate)** path applies.
> **Client-facing rule (do not break):** never expose mechanics to the client.
> No "paper", "CMS-855", "CMS-10114", "MAC", "Fargo", or form numbers in any
> client copy. The only client-visible choice is the positive surrogate question
> ("electronically granting us I&A Surrogate access lets us bulk-file faster /
> fewer steps on our end"). Declining is silent; we just "file it for you."
> Same price either way — Expedited is NOT a paid tier.
## Two service tiers (internal)
- **Standard (default):** we complete the official form, client signs ONE
certification (e-sign link), we submit + track. For CMS-855s the signed form is
mailed to the provider's MAC; for NPPES-only changes via the NPI Enumerator
paper path. Daily batched mailing (see §Daily batch).
- **Expedited (if client grants I&A Surrogate):** we file online in PECOS/NPPES
under our own login (surrogate), same-day tracking. Surrogacy is a delegation,
NOT a password handover.
## VERIFIED from the official CMS form PDFs in `docs/` (primary source)
### CMS-855I (05/23) — individual practitioner [CONFIRMED, quoted]
- Valid reasons include: **revalidation**, **reactivation** ("reactivate your
Medicare billing number to resume billing"), **changes to enrollment info**,
and enrolling with another MAC. → revalidation/reactivation/enrollment all
ride the 855I paper path.
- Paper submission: *"Send this completed application with **original signatures**
and all required documentation to your **designated MAC**. The MAC that services
your State is responsible for processing your enrollment application."*
→ **no login required; routed by STATE.**
- Signature caveat: *"As an individual practitioner, you are the only person who
can sign this application. The authority to sign the application on your behalf
**may not be delegated** to any other person."* → client must personally sign
(pen/e-sign), but that is NOT a login. A surrogate **cannot** sign the 855 for
them — surrogacy speeds the *online filing*, the cert signature is still theirs.
### CMS-855B (12/2025) — clinic/group/supplier [CONFIRMED, quoted]
- Same paper-to-MAC, original-signatures, routed-by-State rule.
- Org signer: a **delegated/authorized official** signs §15B/15D (not the
individual) — still a signature, no login.
- **Application FEE** required (paid via PECOS feePaymentWelcome) on initial
enrollment, new location, and revalidation BEFORE mailing. → org standard path
has a fee-payment step we must handle/route; individual 855I does not.
### CMS-855O (09/23) — ordering/referring only [CONFIRMED, quoted]
- Paper-to-MAC, original signatures, routed by state. "Sign and date section 8
using ink."
### NPPES data update / NPI reactivation (CMS-10114 paper path) [CONFIRMED]
- **VERIFIED firsthand** against the live CMS-10114 PDF (Rev. 02/25, OMB
0938-0931, exp. 03/2028) downloaded from
`cms.gov/Medicare/CMS-Forms/CMS-Forms/downloads/CMS10114.pdf`, and the CMS
"How to Apply" page which titles it the **"NPI Application/Update Form"**.
- The form's Section 1A "Reason for Submittal" has four checkboxes:
**#1 Initial Application, #2 Change of Information, #3 Deactivation,
#4 Reactivation** — all completed on the SAME paper form, each requiring a
signed + dated certification (Section 4A individual / 4B organization).
Verbatim: *"If changing information, check box #2... then sign and date the
certification... All changes must be reported to the NPI Enumerator within 30
days."* and *"If you are reactivating the NPI, check box #4... Sign and date
the certification."*
- So paper CMS-10114 is a valid no-login path for **changes AND reactivation**,
not just initial enumeration. UNCERTAIN flag resolved.
- **Mailing address (current, printed on the form page 5):**
```
CMS NPI Enumerator Services
Mail Stop DO-01-51
7500 Security Blvd.
Baltimore, MD 21244
```
The previously-documented **Fargo, ND PO Box 6059 address is RETIRED** — code
(`mac_routing.NPI_ENUMERATOR`) and docs updated to the Baltimore address.
Enumerator phone for questions: 1-800-465-3203.
- **No electronic no-login equivalent exists for CMS.** Unlike FMCSA (whose
`ask.fmcsa.dot.gov/app/ticket` accepts an MCS-150 update + attachments with no
account), CMS has no public web form to submit an NPPES change without a login.
Probed live: the NPI Registry API (`npiregistry.cms.hhs.gov/api`) is
**read-only lookup**; PECOS and NPPES I&A both require login. Therefore for
NPPES changes the two genuine tiers are: **Standard = paper CMS-10114 to
Baltimore (no login)**, **Expedited = surrogate files in NPPES online**.
- **Decision (updated):** offer Expedited (surrogate → NPPES online) as the fast
path and the CMS-10114 paper-to-Baltimore path as the Standard default. Build
`cms10114_pdf_filler.py` to produce the signable form (Reason checkbox driven
by service: change vs reactivation vs deactivation).
## CMS I&A Surrogate (Expedited path)
- Provider adds Performance West as a **Surrogate** in CMS I&A; we then file in
PECOS/NPPES under our own credentials. No password shared.
- Scope nuance to verify in copy: confirm a single surrogacy grant covers the
PECOS and NPPES functions we need (the checkout copy currently asks for both).
## Per-service tier table
| Service | Standard (no-login) | Expedited (surrogate) | Fee? |
|---|---|---|---|
| Medicare revalidation | 855I/B → MAC, client signs | file in PECOS | 855B yes |
| Medicare enrollment | 855I/B/O → MAC, client signs | file in PECOS | 855B yes |
| NPI reactivation | 855I → MAC (reactivation reason) | PECOS/NPPES | no |
| NPPES data update | CMS-10114 → NPI Enumerator (Baltimore), client signs | NPPES online | no |
| OIG/SAM screening | public DBs, **zero client action** | n/a (no portal) | no |
| Provider compliance bundle | spawns reval + screening + NPPES | mixed | per-piece |
## Daily batch (Standard-path mailing)
Each **postal working day morning** (skip weekends + USPS/federal holidays — use
`scripts/workers/business_days.py` calendar): gather all signed+pending paper
filings, **group by destination agency** (each MAC; NPI Enumerator Baltimore; each
state agency), merge each group into ONE print job + a cover sheet (PW sender,
destination, date, enclosed count, per-item order#/provider/NPI/form), one
**Priority Mail** envelope per agency. Mark each order mailed with batch date +
tracking. Phase 1: generate per-agency batched PDF + cover sheet + manifest for a
human to print & drop. Phase 2: wire a print-mail API (Lob/Click2Mail).
## MAC routing
855s route by the provider's **State** (855I/B/O all say "the MAC that services
your State"). Mailing addresses: CMS.gov/Medicare/Provider-Enrollment-and-
Certification. Need a **state → MAC → mailing-address** table to address envelopes
+ to group the daily batch. `practice_state` intake field drives this.
## Implementation status (built + validated)
- **mac_routing.py** — state→MAC (56 jurisdictions, 12 destinations) +
NPI_ENUMERATOR (NPI Enumerator Services, Baltimore MD — VERIFIED from CMS-10114
Rev. 02/25). MAC addresses still marked VERIFY before first live mail.
- **npi_provider.py** — two-tier `access` strings; NPPES update/reactivation no
longer "online-only"; surrogate answer surfaced in the admin todo. nppes-update
now generates the CMS-10114 for e-signature (Standard path) via
`_generate_10114_for_signing`.
- **cms10114_pdf_filler.py** — fills the official CMS-10114 (flat PDF, text
overlay): reason checkbox (change/reactivation/deactivation) + NPI + Section 2A
identity + Section 4A certification name, with a signature anchor on the cert
line. The signed form joins the daily batch to the NPI Enumerator (Baltimore).
`test_cms10114.py` 27/27 pass.
- **checkout.ts + service pages + intake** — client-facing copy stripped of
mechanics; surrogate is the only optional, positively-framed ask (faster,
never required, never share password, never mentions paper). Astro build green.
- **Daily batched mail** — migration 089 (`paper_filing_batches` +
`esign_records.paper_batch_id/filing_destination_key`); `batch_cover_sheet.py`
(per-agency cover + merged print job); `daily_paper_batch.py` worker
(group by destination, self-gated to postal working days); `pw-paper-batch`
systemd timer. `test_paper_batch.py` 15/15 pass.
- **State/adjacent matrix** — A/B/C/D no-login classification added to
`state-healthcare-compliance-opportunities.md`; CLIA (CMS-116) + state CSR are
the cleanest A-category additions that reuse the daily batch flow.
## TODO before first live mail (manual / verify)
1. Fill the real MAC provider-enrollment PO Box addresses in `mac_routing.py`
(marked VERIFY) from each MAC's current enrollment page.
2. ~~Confirm CMS-10114 paper-for-changes acceptance + obtain the form PDF~~
~~build `cms10114_pdf_filler.py`~~ **DONE** — verified against CMS-10114
Rev. 02/25 (address = NPI Enumerator Services, Baltimore MD); filler built +
wired into `npi_provider._generate_10114_for_signing`; `test_cms10114.py`
27/27 pass. Remaining nicety: org (Entity Type 2 / Section 4B) overlay path
(currently flagged for manual completion when NPI-2 detected).
3. Run migration 089 on the DB; confirm the worker picks up a signed test filing
and produces the per-agency cover + merged PDF in MinIO.
4. Phase 2: wire a print-mail API (Lob/Click2Mail) to auto-mail the merged PDF
and fill `tracking_number`.

View file

@ -0,0 +1,54 @@
# Healthcare value-add: "no logins required" — verified third-party submission paths
Researched against the CMS-855I PDF (05/23), the NPPES/NPI Enumerator process, and
the public OIG/SAM databases. This is the HONEST capability map for the cold-email
pitch: many providers struggle with PECOS/NPPES/I&A logins (forgotten passwords,
identity-proofing, multi-factor, "the system won't let me in"). For most of what we
sell, **the provider never needs to log in** — we prepare the paperwork, they sign a
single paper form (or e-sign), and we file it by mail or as the preparer.
## What we CAN do without the provider's online login
| Service | Paper/no-login path | Provider's only job | Verified source |
|---|---|---|---|
| **Medicare PECOS Revalidation** | CMS-855I/855B/855A **paper** application mailed to the provider's **MAC** (revalidation is a checkbox reason in Section 1A). | **Sign** the form (wet/original signature). We prepare 100% of it. | CMS-855I: "submit your application with **original signatures**… to your designated MAC… by mail." |
| **NPPES / NPI data update** (address, taxonomy, contact) | **CMS-10114** paper NPI Application/Update mailed to the **NPI Enumerator (CMS NPI Enumerator Services, 7500 Security Blvd, Baltimore, MD 21244)**; Enumerator staff key it into NPPES. | Sign the paper form. **No NPPES/I&A login at all.** | NPI Enumerator paper process (Baltimore, MD; 800-465-3203; CMS-10114 Rev. 02/25). |
| **NPI Reactivation / enrollment reactivation** | Same paper-855 path to the MAC (reactivation is a Section 1A reason). | Sign. | CMS-855 instructions. |
| **Medicare Enrollment (new)** | Paper CMS-855I/855B to the MAC with original signature. | Sign + provide info. | CMS-855I. |
| **OIG / SAM Exclusion Screening** | We screen against the **public** OIG LEIE + SAM.gov databases by name/NPI. | **Nothing — zero provider involvement.** No login, no signature. | OIG LEIE + SAM.gov are public federal databases. |
## The ONE honesty caveat (don't overclaim)
- CMS-855I Section 15: **"As an individual practitioner, you are the only person who can
sign this application. The authority to sign… may not be delegated."** So the
provider must personally **sign** the enrollment/revalidation form — but that's a
pen on paper we hand them, NOT a login. A third party CANNOT sign the 855 for them,
and CANNOT impersonate them in PECOS. Our value is removing the *computer/login*
burden, not the signature.
- For group/org filings (855B/855A), an **Authorized or Delegated Official** signs —
again on paper, no login needed.
- We never need their PECOS/NPPES password. We prepare, they sign, we mail/track.
## The pitch (why this matters to them)
Providers routinely get stuck on: forgotten I&A passwords, identity-proofing
failures, MFA to a phone they changed, "PECOS is down / won't load," and the sheer
time of navigating CMS portals. Our differentiator:
> **You don't need to log in to anything.** We fill out the official CMS forms for
> you, send you one to sign, and mail it to the right place — or file it for you as
> your preparer. No PECOS password. No NPPES login. No fighting the government
> website. (For exclusion screening you don't even sign — we just do it.)
## Mailing destinations (for credibility in copy)
- NPI/NPPES paper: **CMS NPI Enumerator Services, Mail Stop DO-01-51, 7500 Security Blvd, Baltimore, MD 21244**
- 855 enrollment/revalidation: the provider's **MAC** (varies by state/jurisdiction;
we determine and route it).
## MESSAGING RULE (important)
In the cold email we sell the **relief**, never the **mechanics**. Do NOT mention
paper forms, the MAC, the NPI Enumerator, CMS-855/CMS-10114, or "we mail it" — that's
our method and competitors shouldn't see it. The email only says what the provider
does NOT have to deal with:
"No logins. No portals. No headaches. You don't need a PECOS password, identity
verification, the government website, or to sit on hold with Medicare. We do the
work; all you do is say yes."
The signature requirement is handled at onboarding, not advertised in the cold email.

View file

@ -18,14 +18,15 @@
| Resource | Spec |
|----------|------|
| OS | Windows Server 2022 |
| IP / SSH | 108.181.102.34 (OpenSSH for Windows, **port 22422**) |
| OS | Windows Server 2019 (10.0.17763) |
| vCPU | 2 |
| RAM | 4 GB |
| Disk | 40 GB SSD |
| Software | Microsoft Office 2021 + Python 3.12 |
| Software | Microsoft Word (Office 16.0) + Python 3.13 |
| Service | docserver_worker.py (polls MinIO, converts via Word COM) |
Pixel-perfect DOCX→PDF conversion via Microsoft Word. Worker polls MinIO `to-convert/` bucket, converts via Word COM, uploads PDF to `converted/`. No HTTP server needed — MinIO is the transport. Requires RDP login after reboot (Word COM needs interactive session). LibreOffice headless is the automatic fallback.
Pixel-perfect DOCX→PDF conversion via Microsoft Word. Worker polls MinIO `to-convert/` bucket, converts via Word COM, uploads PDF to `converted/`. No HTTP server needed — MinIO is the transport (outbound-only; works behind any NAT). Runs under the SYSTEM account in session 0; **self-healing** — retries MinIO on outage instead of exiting, and the `PW-DocserverWorker` task restarts on failure + re-fires every 5 min if the process dies (no RDP needed for normal operation; RDP/`fix_dcom.bat` only if Word COM itself breaks). Heartbeat at `minio://performancewest/docserver-heartbeat.json` (60s). LibreOffice headless is the automatic fallback. Details: `docserver/README.md`.
## Email Servers

View file

@ -0,0 +1,182 @@
# Ink-signature pen-plotter pipeline
Produces a **genuine original ink signature** on a printed CMS form from a
signature the provider drew online, by redrawing their own stroke paths with a
pen mounted on a 3-axis motion system (a Creality CR-10 V2 here; any
Marlin/GRBL machine works).
## Why this exists
The Standard (no-login) CMS filing path mails a paper form that must carry an
**original ink signature** — the CMS-10114 states verbatim: *"All signatures
must be original and signed in ink. Applications with signatures deemed not
original will not be processed. Stamped, faxed or copied signatures will not be
accepted."* A printed/stamped digital signature image is a copy. A pen plotter
drawing real ink onto the one original sheet is **original, in ink, never
copied** — categorically different from the three banned methods (stamp / fax /
photocopy).
> **Interpretive risk (read this):** CMS guidance does not explicitly bless or
> ban robotic/autopen signatures for the 855/10114. A reviewer could argue a
> machine-applied mark isn't the provider's own hand. Treat the plotter as the
> *fast* path and keep a true wet-signature mail-out as the conservative default
> for filings where a rejection is costly, until real-world acceptance is
> confirmed on a few live filings.
## Data flow
```
signature pad (online) esign_records
capture strokes (0..1) ───────► signature_vector (JSONB) [migration 090]
+ raster PNG ───────► signature_data (digital stamp / audit)
signature_anchors (form's signing box)
ink_signature_plotter.py (hardware-independent, fully tested)
fit_strokes_to_box() strokes -> PDF points, fit anchor box, flip Y, rest on rule
pdf_points_to_bed_mm() PDF pt -> bed mm via PlotterConfig (jig offset, 1pt=0.3528mm)
emit_gcode() -> Marlin/GRBL G-code (Z pen lift, or M280 servo/BLTouch)
render_signature_on_pdf() -> stamp strokes onto the real PDF (visual proof)
render_preview_svg() -> toolpath preview
send_gcode_serial() -> stream to /dev/ttyUSB0 (gated, dry_run=True default)
ink_signature_cli.py end-to-end: load record -> gcode + preview [+ --plot]
```
## Coordinate frames
| Frame | Origin | Units |
|---|---|---|
| Capture box (signature pad) | top-left | fraction 0..1 |
| PDF / signature anchors | bottom-left | points (1in = 72pt) |
| Plotter bed (CR-10) | homed corner (front-left) | mm (1pt = 0.35278mm) |
A **paper jig** (corner stop on the bed) fixes the sheet so PDF (0,0) maps to
`(jig_x_mm, jig_y_mm)`. The signature anchor box (same one the digital stamper
uses) places the ink exactly on the cert line.
## CR-10 V2 retrofit (reversible)
1. **Pen holder:** print a spring-loaded CR-10 pen holder (clips to the X
carriage / hotend shroud). The spring keeps even contact pressure.
2. **Pen-up/down:**
- *Default (Z mode):* pen fixed; G-code lifts/drops Z (`pen_up_mm` /
`pen_down_mm`). The spring forgives over-press.
- *Optional (servo/BLTouch mode):* `--servo-pen` emits `M280 P0 S<angle>` to
deploy/stow instead of moving Z. Useful if you actuate the pen with a servo
or repurpose the BLTouch.
3. **Registration:** tape a corner jig to the bed so every sheet sits in the
same place. The BLTouch can probe a fixed point to set a repeatable pen-touch
Z reference.
4. **Pen:** a smooth gel/rollerball refill gives the most hand-written, wet-ink
look. Avoid dry fiber tips.
5. **Linux:** the CR-10 enumerates as a CH340 serial device (`/dev/ttyUSB0`,
115200 baud). No drivers needed — we stream G-code ourselves.
## Machine profiles
The pipeline is machine-agnostic via named profiles (`--profile`):
| Profile | Machine | Dialect | Pen lift | Bed/reach |
|---|---|---|---|---|
| `cr10` (default) | Creality CR-10 V2 (home station) | Marlin | Z move | 300×300 mm rectangular |
| `axidraw` | AxiDraw / iDraw A4 pen plotter | Marlin/GRBL | servo (M280) | 210×297 mm rectangular |
| `lineus` | Line-us folding pen-arm (pocket) | Line-us GCode | pen Z per move | small fan-shaped annulus |
`load_profile()` returns a `PlotterConfig`; CLI flags (`--jig-x/-y`,
`--pen-down/-up`, `--servo-pen`) override individual fields.
## Portable option: Line-us (pocket pen-arm)
When away from the home CR-10, the **Line-us** is a palm-size folding 2-link arm
that draws with a real pen. It speaks its own GCode subset over **WiFi (TCP
1337)** or **USB serial**, acks each command with `"ok"`, and encodes pen height
as the **Z value of each move** (low Z = pen down, high Z = pen up), not mm.
Because the arm's reachable area is a **small fan-shaped annulus** in front of
its shoulder pivot (not a rectangular bed), two things differ from the CR-10:
1. **Reach checking.** `check_reach()` validates every planned point against the
annulus (`reach_min_units..reach_max_units` from the shoulder). The CLI prints
the report and **refuses to `--plot` on Line-us if any point is out of reach**
(an unreachable point would distort the signature).
2. **Jig solving.** The signature must be slid into the sweet spot. `--solve-jig`
calls `compute_jig_offset_for_box(box, cfg, vector=...)`, which aims the centre
of the **actual fitted ink extent** (not the full cell, which can be far wider
than the signature) at the annulus mid-radius and reach-checks the result. It
then applies the computed `jig_x_mm/jig_y_mm` automatically.
A small registration jig (a corner stop + a marked cell on a card) holds the
paper so the solved offset is repeatable.
```bash
# Generate gcode + preview for Line-us, auto-solving the jig (safe, dry-run):
python scripts/workers/ink_signature_cli.py --order CO-XXXX --doc cms10114 \
--profile lineus --solve-jig
# Plot over WiFi (default host line-us.local:1337), sheet in the jig:
python scripts/workers/ink_signature_cli.py --order CO-XXXX --doc cms10114 \
--profile lineus --solve-jig --plot --lineus-host line-us.local
# Or plot over USB serial instead of WiFi:
python scripts/workers/ink_signature_cli.py --order CO-XXXX --doc cms10114 \
--profile lineus --solve-jig --plot --lineus-usb --port /dev/ttyACM0
```
`send_lineus()` defaults to `dry_run=True` (same gating as the CR-10 path); it
only moves the arm with `--plot`.
## Calibration
```bash
# 1. Draw just the signature-box outline on a blank sheet (dry-run first to
# inspect the gcode/preview, then --plot with a sheet in the jig):
python scripts/workers/ink_signature_cli.py --order CO-XXXX --doc cms10114 --test-box
python scripts/workers/ink_signature_cli.py --order CO-XXXX --doc cms10114 --test-box \
--plot --home --port /dev/ttyUSB0
# 2. Adjust --jig-x / --jig-y until the rectangle lands on the cert line, and
# --pen-down until the pen draws cleanly without digging in.
```
## Plotting a signature
```bash
# Generate gcode + SVG preview (safe anywhere, no hardware):
python scripts/workers/ink_signature_cli.py --order CO-XXXX --doc cms10114
# Plot it (sheet loaded in jig, calibrated):
python scripts/workers/ink_signature_cli.py --order CO-XXXX --doc cms10114 \
--plot --home --port /dev/ttyUSB0 \
--jig-x 22 --jig-y 24 --pen-down -0.2
```
`send_gcode_serial` defaults to `dry_run=True`; the CLI only plots with `--plot`.
## Verification (no hardware required)
`scripts/tests/test_ink_signature.py` (43 checks) proves the geometry:
- strokes fit inside the anchor box, aspect preserved, Y flipped, ink on the rule
- PDF-pt → bed-mm uses the jig offset + correct unit scale, stays on the bed
- G-code framing (pen up/down, feeds, park), servo mode, over-bed warning
- machine profiles (cr10 / axidraw / lineus) load with the right dialect/bed
- Line-us reach check rejects out-of-reach plots; `--solve-jig` brings the
signature into reach; the Line-us emitter homes, encodes pen Z, and warns
on out-of-reach; `send_lineus()` is dry-run safe over both TCP and USB
- `render_signature_on_pdf` stamps the strokes onto the **real CMS-10114 cert
page** inside the signature cell (label ≤ y, ink ≥ bottom rule)
Because the PDF preview and the G-code share the same `fit_strokes_to_box`
geometry, the preview is a faithful digital twin of what the pen will draw.
## Files
| File | Role |
|---|---|
| `api/migrations/090_esign_signature_vector.sql` | `signature_vector` JSONB column |
| `site/public/portal/esign/index.html` | captures stroke paths alongside the PNG |
| `api/src/routes/portal-esign-generic.ts` | stores the (size-bounded) vector |
| `scripts/workers/services/ink_signature_plotter.py` | geometry + G-code + preview + serial |
| `scripts/workers/ink_signature_cli.py` | end-to-end CLI (generate / calibrate / plot) |
| `scripts/tests/test_ink_signature.py` | hardware-free correctness tests |

View file

@ -0,0 +1,176 @@
# DRAFT — FOR ATTORNEY REVIEW BEFORE SENDING
**This is a draft response to a Pennsylvania Office of Attorney General consumer-complaint
mediation request. It contains legal positions that should be reviewed and approved by
licensed counsel before transmission. Footnotes/【bracketed notes】 flag items to verify or
decide. Do not send on letterhead until counsel signs off and the bracketed items are
resolved.**
---
Performance West Inc.
525 Randall Ave, Ste 100-1195
Cheyenne, WY 82001
info@performancewest.net | (888) 411-0383
May 【__】, 2026
VIA EMAIL (bmauser@attorneygeneral.gov) AND U.S. MAIL
Brett W. Mauser, Agent
Commonwealth of Pennsylvania
Office of Attorney General — Bureau of Consumer Protection
15th Floor, Strawberry Square
Harrisburg, PA 17120
**Re: David Sgro — Complaint No. BCP-26-05-025816**
Dear Mr. Mauser:
Thank you for your letter of May 7, 2026 and for the opportunity to respond to the
complaint filed by Mr. David Sgro. Performance West Inc. ("Performance West") takes
consumer concerns seriously and welcomes the chance to clarify the facts and bring this
matter to an amicable conclusion. We respond to each of Mr. Sgro's concerns below.
## Summary of our position
Performance West sends business-to-business informational and marketing emails to
telecommunications providers using **publicly available contact information that those
providers themselves filed with the Federal Communications Commission.** Such email is
lawful under the federal CAN-SPAM Act, which governs commercial email and permits
business-to-business outreach on an opt-out basis. As soon as Mr. Sgro asked not to be
contacted, his address was removed from our mailing program, and he has since been placed
on our permanent do-not-contact (suppression) list. We regret any frustration Mr. Sgro
experienced and have taken steps to ensure he receives no further messages.
## The facts
**1. The source of the email address was a public government filing, not "scraping" of
private data.**
Mr. Sgro's company, Dataspindle LLC, is a registered voice service provider and is listed in
the FCC's **Robocall Mitigation Database (RMD)** — a public database the FCC requires voice
providers to file in and maintains for public inspection. Mr. Sgro's RMD record (RMD0007035,
FRN 0026522417) lists his business contact email, dave@dataspindle.com, as the public point
of contact. Performance West obtained that address from the public FCC RMD filing. We did not
obtain it from any private or confidential source. Collecting and using a business contact
address that a company has voluntarily published in a public government database is not
unlawful.
**2. The conduct at issue is commercial email, which is governed by the federal CAN-SPAM
Act — not the statute Mr. Sgro cites.**
Mr. Sgro's complaint asserts a violation of the "Unsolicited Telecommunication Advertisement
Act." 【COUNSEL TO CONFIRM: Pennsylvania's Unsolicited Telecommunication Advertisement Act,
73 P.S. § 2250.1 et seq., addresses unsolicited *facsimile* and *telephone* advertisements;
it is a fax/telemarketing statute and does not regulate commercial *email*. Confirm cite and
scope before relying on this.】 Performance West sent Mr. Sgro **email**, not a fax or a
telephone solicitation. The statute Mr. Sgro relies upon does not apply to the conduct he
describes.
Commercial email in the United States is governed by the federal CAN-SPAM Act of 2003
(15 U.S.C. §§ 77017713). CAN-SPAM:
- applies to commercial email sent to **business** recipients (there is no exemption either
way for B2B);
- is an **opt-out** regime — it does **not** require a recipient's prior consent before a
commercial email may be sent, and lawful unsolicited commercial email is permitted;
- **preempts** state laws that would expressly regulate the use of commercial email, except
to the extent a state law prohibits falsity or deception (15 U.S.C. § 7707(b)).
Performance West's messages contained accurate, non-deceptive header and subject-line
information, identified the sender, included Performance West's valid physical postal address,
and included a functioning unsubscribe mechanism — the requirements CAN-SPAM imposes.
**3. Mr. Sgro's opt-out request was received and honored; he is now permanently suppressed.**
Our records show Mr. Sgro unsubscribed on April 13, 2026, and he reports having blocked our
sending domain. CAN-SPAM directs senders to honor an opt-out request within ten (10) business
days; we removed him from the relevant mailing upon his request.
【COUNSEL/JUSTIN TO CONFIRM AND COMPLETE: Our list-management records indicate that, due to an
inadvertent re-import of a public-data list, Mr. Sgro's business address was re-added to a
mailing segment on April 26, 2026, which may have resulted in one or more additional messages
after his April 13 opt-out. If that occurred, we should (a) say so plainly, (b) explain it was
an inadvertent processing error rather than a refusal to honor the opt-out, and (c) confirm it
is corrected. Verify exactly what, if anything, was sent after April 13 before finalizing this
paragraph — do not assert "no further emails were sent" unless that is verified true.】
To prevent any recurrence, Mr. Sgro's address (dave@dataspindle.com) and the dataspindle.com
domain have been added to Performance West's **permanent global suppression (do-not-contact)
list**. He will receive no further commercial email from Performance West.
**4. Performance West did not threaten or refuse to stop.**
Mr. Sgro states that he was told Performance West "believes he has done nothing wrong and has
no intention of stopping." 【JUSTIN TO CONFIRM the substance of any phone/email exchange with
Mr. Sgro so we can address this accurately. Our position is that we honor opt-outs; if a
discussion conveyed a different impression, we should clarify that any commercial mailing to
him has stopped and will not resume.】 To be clear for the record: Performance West has stopped
emailing Mr. Sgro and will not resume.
**5. No transaction or financial harm.**
As Mr. Sgro's complaint states, he purchased no product or service from Performance West
("Products or Services Purchased: NONE") and paid nothing. There is no transaction, refund, or
monetary issue in dispute. The only relief Mr. Sgro seeks is to stop receiving email — which
has already been accomplished.
## Note regarding Mr. Sgro's replies / our responses
【JUSTIN/COUNSEL: Mr. Sgro's complaint references continued "emails." To the extent any of the
communications he received were **direct replies to messages Mr. Sgro himself sent to us**
(for example, a reply answering or acknowledging his own email), those are transactional or
relationship communications responding to his inbound contact, not commercial solicitations,
and are not unsolicited marketing. If applicable, include a short factual description here of
which messages were Performance West's marketing emails versus replies to Mr. Sgro's own
correspondence. Only include this if accurate and verifiable.】
## Resolution
Performance West has taken the following steps:
1. Removed Mr. Sgro's address from all marketing mailings;
2. Added dave@dataspindle.com and the dataspindle.com domain to our permanent do-not-contact
suppression list, so no further commercial email will be sent;
3. Reviewed our list-import process to prevent a previously-suppressed address from being
re-added.
We believe these measures fully address Mr. Sgro's stated concern — that he no longer wishes
to be contacted — and we consider the matter resolved on our end. We are glad to confirm any
of the above to your office in writing.
Please contact me directly with any questions.
Respectfully,
Justin Hannah
Performance West Inc.
info@performancewest.net
(888) 411-0383
---
## INTERNAL NOTES — NOT PART OF THE LETTER (delete before sending)
**Deadline:** AG letter dated May 7, 2026; response requested within 21 days → on/before
**May 28, 2026**. 【Confirm current date relative to deadline — if past, send immediately and
note that the complaint copy was just received/processed.】
**Strengths of our position:**
- His cited statute (Unsolicited Telecommunication Advertisement Act) is a fax/telemarketing
law, not an email law — counsel should confirm and lead with this.
- CAN-SPAM is opt-out, permits B2B cold email, and preempts most state email-content laws.
- The address came from his own public FCC RMD filing.
- No purchase, no money, no transactional harm — this is a mediation, not an enforcement
action; AG just wants it resolved. The cleanest resolution is "he's permanently suppressed."
**The one real exposure — must be handled honestly:**
- listmonk records show his lists 3 & 6 were re-created/"confirmed" on **April 26, 2026** (after
his April 13 opt-out), and campaigns went to those lists on **May 11, May 27, and June 11,
2026.** listmonk does not retain a per-recipient send log and does not date the global
blocklist, so we cannot currently prove whether he was globally suppressed (which would have
excluded him) or only list-unsubscribed (which a re-import would have overridden) during
those MayJune sends.
- BEFORE finalizing, verify: (a) was he globally **blocklisted** on/around April 13, or only
unsubscribed from one list? (b) did any message actually go to him after April 13? If yes,
the letter must acknowledge the inadvertent re-import rather than claim a clean record.
- If SendGrid was the sending platform in the MarchApril window, pull SendGrid Email Activity
for dave@dataspindle.com for the authoritative per-message timestamps.
**Do NOT, in the signed letter:**
- Claim "no emails were sent after he opted out" unless verified true.
- Assert legal conclusions about the PA statute without counsel's confirmation of the cite/scope.
**Recommend:** licensed PA counsel review and finalize. This draft is a starting point only.

View file

@ -0,0 +1,20 @@
# PA AG Complaint BCP-26-05-025816 (David Sgro / dataspindle.com) — Status
- **Complaint filed:** 2026-04-13 by David Sgro (Quakertown, PA) with PA OAG
Bureau of Consumer Protection, agent Brett W. Mauser.
- **AG mediation letter:** dated 2026-05-07, 21-day response window.
- **Response sent:** emailed to the AG on 2026-06-11 (per Justin).
## Suppression status (must remain true)
- dave@dataspindle.com is `blocklisted` in the main listmonk (global, excluded
from all campaigns). Not present in the HC listmonk.
- dataspindle.com + dave@dataspindle.com added to the legal do-not-contact list
in `scripts/_email_exclusions.py` (DO_NOT_CONTACT_DOMAINS / _EMAILS).
- `listmonk_import.upsert_subscriber` now refuses to (re-)import or re-confirm
any suppressed/do-not-contact address — closes the duplicate-import gap that
re-added him to FCC lists on 2026-04-26.
## Root-cause of the re-contact
A duplicate import in `listmonk_import.py` re-added an existing (previously
unsubscribed) subscriber to lists with status="confirmed", overriding the
opt-out. Fixed by the do-not-contact gate above.

View file

@ -0,0 +1,214 @@
# Patent-risk analysis: remote signature capture + mechanical wet-ink reproduction
Status: internal patent-RISK research. **Not legal advice and not a freedom-to-
operate (FTO) opinion.** A real FTO requires a patent attorney to search live
claims and read them against our implementation. This memo identifies where risk
is low (mature/expired prior art) vs. where a targeted FTO search is warranted.
Companion docs: `docs/legal/remote-mechanical-wet-signature-precedent.md`,
`docs/plans/remote-wet-signature-products.md`.
What we do (the accused "system," broken into components):
1. Capture a hand-drawn signature in a browser as **vector strokes** (x, y, t).
2. Store it + an audit trail (`esign_records`), send a JWT no-login signing link.
3. Generate/fill a PDF form; stamp a digital signature image (existing path).
4. **Reproduce the captured strokes in real ink on paper with a pen plotter /
Line-us arm** (the novel-feeling part).
5. Mail/file the document; track fulfillment.
## TL;DR
- **Components 1-3 and 5** are ubiquitous, decades-old techniques (signature
capture, e-sign workflow, PDF fill, mailing automation). **Patent risk: low**,
but the *e-signature workflow* space is litigious (DocuSign, RPost, etc.), so a
targeted FTO on any **specific workflow feature** is prudent before scaling.
- **Component 4** (drawing a signature in ink with a machine) sits on **very old,
expired prior art**: signature-duplicating machines (Hawkins polygraph, 1803),
autopens (1930s-1942), pen plotters (1950s-1980s), CNC/G-code motion (1950s+).
The *idea* of a machine writing a signature is firmly in the public domain.
**Patent risk on the core concept: low.**
- The realistic risk is **not** the broad concept but **narrow, recent claims**
on a *specific combination/method* (e.g. "capture an e-signature online, then
transmit it to a robotic pen to apply wet ink for a regulated filing"). A
firsthand title sweep of 1.58M recent grants (2021-2025) found **no such
patent**; the e-sign players (DocuSign/Adobe/Silanis) hold only *electronic*
workflow patents. This reduces, but does not eliminate, the need for an
attorney FTO (which must also cover pre-2021 and pending claims).
## 1. Signature capture (vector strokes in a browser)
- **Prior art is overwhelming and old.** Electronic signature pads (Topaz,
Wacom), tablet/stylus capture, and HTML5 `<canvas>` signature capture have been
standard for 15-25+ years. Capturing (x, y, t) stroke data is basic digitizer
technique predating the web.
- **Risk: low** for the act of capturing strokes. Any patent broad enough to
cover "capture a signature on a touchscreen" would almost certainly be invalid
over prior art. Avoid copying a *specific patented capture algorithm* (e.g. a
particular biometric/pressure-analysis method) - we use plain stroke capture.
## 2. E-signature workflow + audit trail + no-login link (JWT)
- **This is the litigious zone of the three software components.** Companies with
e-signature/e-delivery patent portfolios have actively asserted them:
- **RPost** (Registered Email / e-signature patents) has a history of
licensing/litigation around proof-of-delivery and e-signature.
- **DocuSign** holds many patents on signing *workflows*, "envelopes," routing,
and tamper-evidence.
- **But:** post-*Alice v. CLS Bank* (573 U.S. 208 (2014)), many abstract
"do-it-on-a-computer" software/business-method patents are vulnerable to
invalidation under 35 U.S.C. § 101. Generic e-sign workflow claims have been
narrowed/invalidated.
- **Risk: low-moderate.** Our workflow (JWT link, store signature + IP/UA/time,
resume a pipeline) is generic and well-trodden. The risk is asserting a
*specific patented feature* (e.g. a particular tamper-evidence/seal method, a
specific routing/orchestration claim). **Do a targeted FTO before building any
distinctive workflow feature** (sequential multi-party routing, a proprietary
audit-seal, etc.).
## 3. PDF generation / form fill / digital stamp
- **Ubiquitous, mature.** Filling AcroForm fields and overlaying an image onto a
PDF is standard library functionality (pypdf, reportlab, PDFBox, etc.) used by
millions of applications. **Risk: low.**
## 4. Mechanical wet-ink reproduction (pen plotter / robotic arm)
This is the component that *feels* novel but is built on the oldest prior art:
- **Signature-duplicating machines: 1803.** John Isaac Hawkins patented the
"polygraph" pantograph signature copier (used extensively by Jefferson).
- **Autopen: 1930s-1942.** The "Robot Pen" (1930s) and De Shazo's commercially
successful autopen (1942, Navy order) mass-reproduced signatures in ink. By
mid-century there were 500+ autopens in Washington.
- **Pen plotters: 1950s-1980s.** X-Y pen plotters (Calcomp 1959; HP 7470A 1980s)
draw arbitrary vector paths in ink - exactly our motion problem.
- **CNC / G-code motion control: 1950s+.** Numerically-controlled multi-axis
motion (which a CR-10/3D printer is) is decades old.
- (Sources: Wikipedia "Autopen," retrieved firsthand; well-documented hardware
history.)
- **Conclusion:** "a machine that applies a person's signature in ink by
following a stored path" is **firmly in the public domain.** No one can hold a
valid patent on the *concept*. **Risk on the core mechanism: low.**
Residual risk is only on **narrow modern improvements**, e.g.:
- A *specific* signature-reproduction algorithm (pressure/velocity modeling to
mimic natural handwriting) that someone recently patented. We use plain
fit-to-box stroke replay; avoid copying a specific patented "natural-motion"
method without checking.
- A *specific combined method claim* tying online e-signature capture to a
robotic ink applicator for filings. We found no such patent, but this is the
one area an attorney FTO should specifically probe (handwriting-robot startups,
e.g. companies in the "robot-written mail" space, may hold method patents on
*their* pipelines - those would be narrow to their implementations).
## 5. Mailing / fulfillment automation
- **Mature and generic.** Batch mailing, address routing, print-and-mail
workflows are old and widely practiced. **Risk: low.** (Note RPost-style
proof-of-delivery patents exist; we are not claiming a proprietary e-delivery
receipt mechanism.)
## Recent-grant prior-art sweep (2021-2025, firsthand query)
To probe the one real risk zone (a recent method patent tying online signature
capture to robotic ink application, and e-sign workflow patents our flow might
read on), we ran a firsthand title search against a full USPTO grant dataset
(PatentsView-derived, **1,575,344 patents granted 2021-06 to 2025-09**). This is
a **title-level** sweep of recent grants, **not** a claims-level FTO, and it does
not cover pre-2021 art - but it directly tests "did anyone recently patent our
specific combination?" The answer is essentially no:
- **Signature + (ink|pen|stylus|wet) + (robot|machine|apparatus|device): 0
relevant hits.** All matches were unrelated (wireless-comms "signatures,"
printer ink-color flushing). **No "machine applies a signature in ink" patent
appears in 5 years of grants.**
- **autopen: 0 hits. signature+plotter: 0. signature+reproduce: 0.**
- **"writing/drawing robot": only ornamental DESIGN patents** (D1090657,
D1058630 - cover a device's *appearance*, not a signing method) plus an
unrelated Yaskawa robot-withdrawal utility patent. Nothing signature-specific.
- **"handwriting + machine": only handwriting *extraction* (reading) via ML**
(12175799), i.e. the opposite of writing.
- **E-signature workflow space is owned by the expected players, all purely
electronic (no ink/paper):**
- **DocuSign, Inc.** - many recent grants on document models, recipient
routing/notification, OCR, contract generation (e.g. 12411896 "Document
graph"; RE50043 associating third-party content with online signing).
- **Adobe Inc.** - electronic-signature *capture UI* (11132105, 11159328,
11750670 "signature collection within an online conference").
- **Silanis Technology, Inc.** - 11093652 "Web-based method and system for
applying a legally enforceable signature on an electronic document" (the
single closest hit by name) - but it is **purely electronic**; it does not
apply ink to paper, so it does not read on our mechanical reproduction.
- **Tamper/seal:** 11743053 "Electronic signature system and tamper-resistant
device" - electronic; relevant only if we built a proprietary tamper-seal
(we do not).
**Interpretation:** the recent-patent landscape is consistent with the prior-art
analysis above. The litigious e-sign players hold **electronic-workflow** patents
(read them before building any distinctive workflow feature), but **no one holds
a recent patent on reproducing a captured signature in ink with a machine for a
filing** - our specific, novel-feeling combination. This *reduces* (does not
eliminate) the residual risk flagged in section 4.
**Caveats:** (1) title-only, recent-grant (2021-2025) - misses pre-2021 patents
(many e-sign core patents predate 2021) and any in-force patent whose title does
not contain these words; (2) does not read claims; (3) does not cover pending
applications. **Still not an FTO** - a patent attorney must read live claims
(including pre-2021 and pending) against our implementation before launch.
Method: queried the patent grant parquet directly via DuckDB (title LIKE
filters). Dataset coverage and the specific hits above were retrieved firsthand
2026-06-07.
## What would actually create exposure (avoid these without FTO)
1. Copying a **named competitor's specific feature** (a particular tamper-seal,
a specific multi-party routing UX, a specific "robot handwriting realism"
algorithm).
2. Implementing a **distinctive method** and marketing it as such (the more
specific/novel our claim of novelty, the more likely it overlaps a method
patent - and the more attractive we are as a target).
3. Building the **RON / e-notary** layer without checking notary-tech patents.
## Recommendations
1. **Now (low cost):** keep the implementation **generic and built on
public-domain techniques** (plain stroke capture, standard PDF libs, standard
G-code/CNC motion, autopen-class reproduction). This is our best defense - we
are practicing decades-old art.
2. **Before scaling / raising / public launch:** commission a **freedom-to-operate
search** from a patent attorney focused on two questions:
(a) any live method patent tying **online e-signature capture → robotic ink
application** for documents/filings; (b) any e-signature **workflow** patent
our specific features might read on.
3. **Defensive posture:** document our **prior-art basis** (this memo + the
hardware history) so that if anyone asserts a broad patent, we can argue
invalidity/non-infringement. Consider a **defensive publication** of our
pipeline (a public description) to create prior art preventing others from
patenting the same combination later.
4. **Do not patent-troll-bait:** avoid over-claiming novelty in marketing; frame
the service as "we file your documents with an original ink signature," not as
a patented invention.
## Honest limits of this memo
- We ran a **title-level sweep of recent grants (2021-2025)** (see section above)
but did **not** run a full **claims-level** search across all years; reading
live claims against our code requires a patent attorney. The recent-grant sweep
supports the low-risk *concept* assessment but is **not an FTO clearance.**
- Patent risk is jurisdiction- and claim-specific and changes as patents issue;
re-check before any major launch.
## Sources
- Prior-art hardware history (autopen 1803/1930s/1942, plotters, CNC):
Wikipedia "Autopen" (retrieved firsthand 2026-06-07), corroborated by
general hardware history.
- *Alice Corp. v. CLS Bank Int'l*, 573 U.S. 208 (2014) - § 101 abstract-idea
invalidity framework (well-known; confirm citation before reliance).
- Litigious-player context (RPost, DocuSign patent portfolios): general industry
knowledge plus the firsthand recent-grant sweep above (DocuSign/Adobe/Silanis
hits) - confirm specifics with counsel before relying.
- Recent-grant prior-art sweep: USPTO patent grant dataset (PatentsView-derived,
2021-2025, 1.58M patents), queried firsthand via DuckDB 2026-06-07. Specific
patent numbers cited above are real hits from that dataset.

View file

@ -0,0 +1,335 @@
# Legal research: remote mechanical wet-signature - authenticity & acceptance
Status: internal legal-RISK research memo. **Not legal advice.** Engage counsel
before relying on the machine-applied wet-ink path for any filing where rejection
or challenge is costly. Companion product doc:
`docs/plans/remote-wet-signature-products.md`.
Use case under analysis: a person draws their **own** signature online; we
reproduce **their own captured strokes in real ink on paper** with a pen plotter
(CR-10 / Line-us), then file/mail the document. Question: is that a valid,
authentic, "original" signature, and where is it accepted vs. prohibited?
Last verified: 2026-06-07. Primary sources were retrieved firsthand; see each
section. Where no direct precedent exists, this memo says so explicitly.
---
## TL;DR risk assessment
- **General contract / common-law signing:** Very low risk. A signature need not
be in the signer's own hand; it is valid if made *by the signer or by another
at the signer's direction, with intent to authenticate.* A machine the signer
directs is squarely within this rule. (Firmly established.)
- **Electronic-signature contexts (ESIGN/UETA):** Low risk, but note these laws
validate *electronic* signatures; our plotter output is a *physical ink* mark,
so ESIGN/UETA are supportive-by-analogy on the intent principle but are not the
governing authority for a paper original.
- **Federal autopen precedent:** Favorable but politically contested. DOJ/OLC
(2005) blessed presidential autopen signing; presidents have used it; no court
has invalidated an autopen signature. But 2024-2026 saw active political/legal
challenges (Biden pardons), so the topic is live. (Established opinion;
unsettled at the margins.)
- **"Original / wet ink, no stamps/copies" filing rules (e.g. Medicare
CMS-855):** **HIGHEST RISK and NO DIRECT PRECEDENT.** Whether a plotter-applied
ink mark is an "original ink" signature or a prohibited "stamp/copy/facsimile"
is **untested**. A reviewer could plausibly argue either way. Treat as the fast
path with a true client-wet-sign fallback until acceptance is confirmed.
---
## 1. Federal autopen precedent (DOJ/OLC, 2005)
**Firmly established (the opinion exists and concluded favorably):**
- *Whether the President May Sign a Bill by Directing That His Signature Be
Affixed to It*, Op. O.L.C. (July 7, 2005) (the "Nielson memo"), conventionally
cited **29 Op. O.L.C. 97**. Retrieved firsthand from justice.gov; the published
summary reads verbatim:
> "The President need not personally perform the physical act of affixing his
> signature to a bill he approves and decides to sign in order for the bill to
> become law. Rather, the President may sign a bill within the meaning of
> Article I, Section 7 by directing a subordinate to affix the President's
> signature to such a bill, for example by autopen."
Source: https://www.justice.gov/olc/opinion/whether-president-may-sign-bill-directing-his-signature-be-affixed-it
- The opinion's reasoning rests on the long-settled **common-law signature
doctrine**: signing "in person" does not require the signer's own hand; it is
enough that the signature is affixed by the signer or by another acting at the
signer's direction and on the signer's behalf, with intent to adopt it. (This
is the same agency principle discussed in §2.)
**Practical record (verified background):**
- President Obama was the first to **sign legislation** by autopen - the 2011
PATRIOT Act provisions extension (signed by directed autopen while he was in
France), and the Jan 3, 2013 fiscal-cliff/tax bill (autopen while in Hawaii).
- President Biden directed autopen use for a May 2024 FAA funding extension while
traveling.
- Source: Wikipedia "Autopen" (secondary; corroborates widely-reported events),
https://en.wikipedia.org/wiki/Autopen
**Interpretive / unsettled:**
- The constitutionality of presidential autopen signing **has never been tested
in court** - it rests on the OLC opinion (executive-branch legal advice, not
binding precedent).
- 2024-2026: a live political/legal dispute over whether **Biden-era pardons**
signed by autopen are valid. The Fourth Circuit in *Rosemond v. Hudgins* (4th
Cir. 2024) held pardons need not even be in writing - cutting *against* any
argument that a defective signature voids a pardon. Per reporting, DOJ
investigated the autopen-pardon allegations and was "ultimately unable to move
forward with making a case." (Wikipedia "Autopen," citing AP/WaPo.) Net: no
authority has *invalidated* an autopen signature; the challenge is political.
**Takeaway:** Federal practice and the controlling executive-branch opinion treat
a machine-affixed signature, made at the signer's direction, as a *valid* signing
of the document. The contested cases involve *someone else* directing the
machine; our use case (the signer's own captured strokes, with the signer's
authorization) is the *stronger* posture.
---
## 2. Common-law: a signature need not be in the signer's own hand
**Firmly established (black-letter law):**
- The universal rule: a "signature" is any mark or symbol **executed or adopted
with present intent to authenticate** a writing. It may be made by hand, by
print, by stamp, by mark (an "X"), or **by another person at the signer's
direction** (the agency/amanuensis principle). Hand-of-the-signer is not
required.
- Codified analogues confirming the principle:
- **UCC § 1-201(b)(37):** "'Signed' includes using any symbol executed or
adopted with present intention to adopt or accept a writing." (Retrieved
firsthand: https://www.law.cornell.edu/ucc/1/1-201)
- **Statute of Frauds / Restatement** practice: a signature "by the party to be
charged or by his agent" satisfies the writing requirement - i.e., an
authorized agent (or a device the principal directs) may sign.
- The amanuensis doctrine: when one person signs another's name **in that
person's presence and at their direction**, the law treats it as the
principal's own signature, not as a third party's act. This is the doctrinal
home for "I authorized this machine to write my name."
**Interpretive / uncertain:**
- The precise case citations vary by jurisdiction; the *principle* is universal
but a filing reviewer applying a *specific* "original ink" rule (see §4) is not
deciding a common-law signature question - they are applying an administrative
anti-fraud rule, which can be stricter than the common law allows.
**Takeaway:** As a matter of contract/property/general law, reproducing one's own
signature by a directed machine is a valid signature. The risk does not live
here; it lives in administrative "original/wet/no-copies" rules (§4).
---
## 3. ESIGN Act & UETA (electronic signatures)
**Firmly established (statutory text):**
- **ESIGN, 15 U.S.C. § 7001(a):** a signature/contract/record "may not be denied
legal effect, validity, or enforceability solely because it is in electronic
form." (Retrieved firsthand: https://www.law.cornell.edu/uscode/text/15/7001)
- **ESIGN, 15 U.S.C. § 7006(5):** "electronic signature" = "an electronic sound,
symbol, or process, attached to or logically associated with a contract or
other record and **executed or adopted by a person with the intent to sign**
the record." (https://www.law.cornell.edu/uscode/text/15/7006)
- **UETA** (adopted in ~49 states) is parallel: an electronic signature satisfies
any law requiring a signature, if the parties agreed to transact electronically.
**The critical limit / why this is only partial support:**
- ESIGN/UETA validate **electronic** signatures. Our plotter produces a
**physical ink** mark on paper - that is **not** an electronic signature, so
ESIGN/UETA are **not the governing authority** for the paper original.
- They are nonetheless useful for the *intent* principle: the captured online
draw is itself a valid electronic signature (intent to sign), which supports
the authorization to reproduce it in ink.
- ESIGN also has **carve-outs** - it does *not* override requirements for certain
documents (e.g., wills, certain notices), and federal agencies may set format
rules. So an agency demanding a wet original is not displaced by ESIGN.
**Takeaway:** The online capture is a clean electronic signature under ESIGN. But
ESIGN does not answer whether the *ink reproduction* satisfies a *paper-original*
rule - that is governed by the specific agency rule in §4.
---
## 4. "Original / signed in ink / no stamps or copies" rules - the real risk
This is the high-risk, **no-direct-precedent** zone.
**Firmly established (the rules exist and are strict):**
- **Medicare CMS-855 / CMS-10114 enrollment forms** require **original
signatures** and direct that the application be mailed "with original
signatures." Retrieved firsthand from the CMS-855B PDF
(https://www.cms.gov/medicare/cms-forms/cms-forms/downloads/cms855b.pdf):
- "Send this completed application **with original signatures** and all required
documentation to your designated MAC."
- "**signatures must be original.**"
- The CMS-10114 / 855 family historically states (widely published in the form
instructions) that signatures must be original and in ink, and that **stamped,
faxed, or copied signatures will not be accepted** and applications with
signatures deemed not original will not be processed. (We rely on the form
text; quote the exact current edition before client-facing use.)
**No direct precedent (the key gap):**
- There is **no CMS ruling, sub-regulatory guidance, or case** we could locate
that decides whether a **pen-plotter / autopen ink mark** counts as an
"original ink" signature or as a prohibited "stamp/copy/facsimile." The rule
was written to bar photocopies, fax images, and rubber stamps; a plotter
drawing wet ink onto the *one original sheet* is **factually different from all
three** (it is original, in ink, not copied) - but a reviewer has discretion.
**Why a reviewer could go either way:**
- *For acceptance:* the mark is genuinely wet ink, applied once to the original
sheet, reproducing the signer's own authorized signature - none of the three
banned methods (stamp/fax/copy) literally applies.
- *Against acceptance:* the autopen mark is forensically distinguishable from a
hand signature (even pressure / uniform indentation - see §6), and a strict
reviewer may treat any *machine-replicated* signature as a "stamp/copy" in
spirit, or as "not the provider's own hand."
**Takeaway:** For "original ink" administrative filings, the machine-wet-ink path
is **unadjudicated**. Do not represent it as guaranteed-accepted. Keep a true
client-wet-sign fallback; consider confirming on a small number of live filings
before scaling; and never describe the mechanism to the client/agency in a way
that invites a "stamp/copy" characterization.
---
## 5. Where autopen/mechanical signatures are explicitly accepted or barred
**Accepted / tolerated (verified or well-established):**
- **Federal legislation signing** by the President (OLC 2005; actual practice).
- **General commercial documents** under UCC/common law (any symbol adopted with
intent).
- **Routine correspondence, checks (historically), certificates** - the original
and largest autopen market was government/Treasury check-signing and
congressional mail (background, Wikipedia "Autopen").
**Restricted / requires special treatment (flag for per-context research):**
- **Notarized & recorded instruments** (deeds, etc.): generally require the
signer's act before the notary; a *pre-applied* machine signature is risky
unless executed in the notary's presence (see §7). VERIFY per state.
- **Wills / testamentary instruments:** strict execution formalities; many require
the testator's signature (or a proxy signing *in the testator's presence and at
their direction*, witnessed). Machine pre-application is high-risk. VERIFY.
- **Documents with explicit "original ink / no copies" rules** (CMS-855, some
court filings, some immigration/ATF forms): unadjudicated - §4.
- **IRS / SEC / agency e-filing:** these increasingly *prefer electronic*
filing/signature; where they accept paper, the "original signature" question
recurs. VERIFY per program.
**No reliable blanket source** says "autopen is categorically banned" or
"categorically fine" across all filings. It is **context-specific**.
---
## 6. Forgery / fraud line: own-signature-with-authorization vs. third-party
**Firmly established principle:**
- The dividing line is **authorization + intent**. Reproducing *your own*
signature, that *you* drew and authorized, with intent to sign *this* document,
is a valid signature (your own act). Applying *someone else's* signature
without authority is forgery; applying it *with* authority and in their
presence/at their direction is valid (amanuensis/agency).
**What establishes valid authorization (build these into the product):**
- Captured intent at signing time: the signer drew the signature, checked the
attestation/perjury box, and **expressly authorized reproduction in ink** on
the specific document.
- A clear, document-specific authorization record (per-document, not a blanket
"sign anything" mandate), timestamped, IP/UA logged. (We already store much of
this in `esign_records`; add an explicit "authorize ink reproduction" consent.)
**Forensic note (relevant to detectability and to the §4 risk):**
- Autopen/plotter marks have **even pressure and uniform indentation**, which is
how examiners distinguish them from natural handwriting (pressure varies in a
human hand). (Wikipedia "Autopen," citing the mechanism.) This is why a strict
"original" reviewer *might* identify and question a machine mark - and why
variable-pressure / natural-motion reproduction (using the captured stroke
timing) reduces, but does not eliminate, the risk.
**Takeaway:** Our use case sits on the **valid** side of the forgery line
(own signature, own authorization, document-specific intent). The residual risk
is administrative acceptance (§4), not forgery.
---
## 7. Notarization & witnessing of a machine-applied signature
**Established constraints (general; verify per state):**
- A notary attests that the signer **appeared and signed (or acknowledged the
signature) before the notary.** A signature **pre-applied by a machine off-site**
is hard to notarize as "signed in my presence" - though "acknowledgment" (the
signer appears and confirms an already-made signature is theirs) may be
available in some states.
- **Witnessing** (wills, some POAs) similarly contemplates the signer's act in
the witnesses' presence, or a directed proxy signing in the signer's presence.
- **RON (Remote Online Notarization)**, now legal in most states, is designed for
*electronic* signatures executed live on camera - a better fit for the
electronic capture than for an off-site ink reproduction.
**Takeaway:** Do **not** assume a machine-applied ink signature can be notarized
or witnessed like a live signature. For notarized/witnessed instruments, use live
signing (in person or RON), not the plotter. The plotter path is best for
**non-notarized** filings.
---
## Recommendations for the product
1. **Lead with electronic-signature-accepted services.** Where ESIGN/UETA
electronic signatures are accepted, no ink reproduction is needed and risk is
low. (E.g., most corporate consents, many filings.)
2. **For "original ink" filings (CMS-855 etc.):** keep the machine-wet-ink path as
the *fast* option, but (a) maintain a **true client-wet-sign fallback**, (b)
capture an **explicit per-document authorization to reproduce in ink**, (c)
do not expose the mechanism to client or agency, and (d) confirm acceptance on
a few live filings before scaling. Get a written legal opinion before relying
on it at volume.
3. **Never use the plotter for notarized/witnessed instruments** (wills, deeds,
many POAs). Route those to live/RON signing.
4. **Document the authorization chain** in `esign_records` (drawn strokes,
attestation, ink-reproduction consent, timestamp, IP/UA) so the
own-signature-with-authorization posture is provable.
5. **Prefer natural-motion reproduction** (use captured stroke timing/pressure
where possible) over uniform autopen strokes to reduce forensic
distinguishability - while understanding this does not change the legal rule.
## Sources retrieved firsthand (2026-06-07)
- DOJ/OLC opinion landing page (summary + holding):
justice.gov/olc/opinion/whether-president-may-sign-bill-directing-his-signature-be-affixed-it
- CMS-855B application PDF ("signatures must be original"):
cms.gov/medicare/cms-forms/cms-forms/downloads/cms855b.pdf
- 15 U.S.C. § 7001 and § 7006 (ESIGN), Cornell LII
- UCC § 1-201 ("Signed"), Cornell LII
- Wikipedia "Autopen" (secondary, for background + the 2011/2013/2024-2026 events
and the forensic even-pressure note) - corroborate against primary news before
client-facing use.
## Caveats on this memo
- This is research, **not legal advice**, and not a substitute for counsel.
- The OLC opinion is executive-branch advice, not binding precedent.
- The exact CMS-10114 "stamped/faxed/copied... will not be accepted" wording
should be re-quoted from the **current** form edition before any client-facing
or filing-facing use.
- Case citations stated as "black-letter"/principle should be pinned to specific
controlling cases in the relevant jurisdiction by counsel before reliance.

View file

@ -0,0 +1,74 @@
# Selling name availability: sell a Name RESERVATION, not a "check"
Decision (2026-06-09): the product to sell is a **state Name Reservation**, not a
bare "name check." Here's why, with the real state mechanics.
## The key distinction: a search is a snapshot, a reservation is a binding hold
- A **name search** (what our TX open-data API and a SOSDirect/SilverFlume search
do) is a non-binding *snapshot*. It tells you the name looks free *right now*. It
does not stop someone else from taking it tomorrow, and it is not the SOS's official
word. Charging for a snapshot is weak value and invites "I paid and then lost the
name" complaints.
- A **name reservation** is the authoritative, binding action: the Secretary of State
*holds the name for you* for a fixed window. This is a real deliverable with a real
filing receipt - exactly the kind of thing we should sell.
## What each state actually offers (public fee schedules)
### Texas
- **SOSDirect online name search: $1.00 per search** (statutory fee, requires a
SOSDirect login). Non-binding snapshot.
- **Preliminary determination by phone/email: free** (call 512-463-5555 or email
Corporations) - also non-binding, and slow/manual.
- **Name Reservation (Form 501): $40 state fee, holds the name 120 days, renewable.**
This is the binding hold and the thing worth selling.
### Nevada
- **SilverFlume name availability: free** (but the portal is behind Incapsula bot
protection, so we cannot automate it - and a free snapshot is low value anyway).
- **Name Reservation: $25 state fee, holds the name 90 days.** The binding hold.
## Product recommendation
1. **Free instant pre-check (lead magnet, not a SKU):** keep the TX open-data API
check on the order form as a *free* "looks available / looks taken" instant signal.
It costs us nothing, reduces friction, and qualifies the lead. Label it clearly as
a preliminary check, not a guarantee. (NV pre-check returns "we'll verify manually"
since NV is bot-blocked.)
2. **Sell the Name Reservation as the paid SKU.** Flat service fee + the state fee at
cost. This is the authoritative hold the customer actually wants, and it's a clean,
deliverable-backed product:
- `name-reservation-tx`: service fee + **$40** TX state fee (Form 501, 120 days).
- `name-reservation-nv`: service fee + **$25** NV state fee (90 days).
- or a generic `name-reservation` with the state chosen at intake and the gov fee
resolved per state (cleaner, matches how foreign-qualification fans out).
3. **Bundle it into the formation / DEXIT flow:** offer "reserve the name now" as an
add-on/step before the full formation or conversion, so the customer locks the name
while the rest of the paperwork is prepared. Natural upsell, removes the "what if I
lose the name while you file?" objection.
## Pricing note (house rule: use the higher price on any mismatch)
Suggested service fee in the $49-$99 range on top of the state fee, billed as a flat
fee with the government fee passed through at cost and labeled as such (consistent
with our other corporate SKUs and the no-hidden-fees trust posture).
## Fulfillment reality (be honest about automation)
- **TX reservation (Form 501)** is filed via SOSDirect (login-gated) or by mail/fax.
SOSDirect filing automation is **not yet verified** (same as TX formation), so the
reservation would start **admin-assisted** until that flow is proven by the e2e
harness. The $1 SOSDirect search and the $40 reservation both require the SOSDirect
account we use for filing.
- **NV reservation** is filed on SilverFlume, which is Incapsula-blocked for
automation, so NV reservation is **admin-assisted** (a person files it). Still a
perfectly good paid product - the customer pays for the outcome (a held name), not
for our automation.
- Both: capture the name + entity type at intake, file the reservation, deliver the
state confirmation/receipt through the portal. The free pre-check gates obviously
bad names before the customer pays.
## Next steps to ship this
1. Add `name-reservation` SKU(s) to `api/src/service-catalog.ts` with per-state gov
fee (TX $40 / NV $25) and create the matching ERPNext Items.
2. Add an admin-assisted `NameReservationHandler` (or reuse the MCS150-style
admin-assisted pattern) that records the order and surfaces an admin to-do to file
the reservation, then attaches the SOS receipt.
3. Keep the free instant TX pre-check on the form; relabel as preliminary.
4. Offer the reservation as a step in the formation + DEXIT intake.

View file

@ -0,0 +1,281 @@
# Plan — International Compliance-Services Expansion (UK / AU / IE / NZ)
_Drafted 2026-06-19. **Planning only — nothing implemented yet.** Builds on the
US FMCSA/DOT cold-email + filing model. Sister doc to
`docs/campaign-deliverability-plan.md`, `docs/foreign-incorporation-guide.md`,
and `docs/billing.md`._
## Goal
Replicate the US "regulatory-burden compliance services" model (sell filing /
renewal / monitoring services to small operators, acquired via legal unsolicited
B2B email) in other English-speaking markets that allow cold B2B email. Target
markets, ranked: **UK ⭐, Australia ⭐, Ireland, New Zealand.** (Canada & South
Africa excluded — opt-in-only marketing law; see deliverability doc / prior memo.)
This doc answers the **two blocking questions** before any market entry:
1. **Must we be incorporated / locally registered to legally sell this service
type in-region?** (and to send the marketing)
2. **Merchant processing**: how do we take ecommerce payments from in-region
customers, and how do we remit any **fees to the authorities** on their behalf?
Everything else (template localization, list sourcing, burner sending) is
deferred to follow-up docs once these two gates are cleared.
---
## Question 1 — Do we need a local entity?
Two separate legal tests. Don't conflate them.
- **(a) To OPERATE the business** (sell a filing/agent service to locals).
- **(b) To send the MARKETING** (cold B2B email into that country).
For (b) none of these countries require a local entity — the anti-spam laws
(UK PECR, AU Spam Act, IE ePrivacy, NZ UEMA) bind on **conduct** (sender ID +
unsubscribe + B2B-consent basis), not on where the sender is incorporated. A
foreign sender can lawfully email; it just must comply with the rules. So the
entity question is really about (a): operating, contracting, and getting paid.
| Market | Local entity legally required to operate? | Reality / why |
|---|---|---|
| **UK** | **No** (can trade as overseas entity), but **strongly advised** | A foreign company can sell services into the UK. BUT: (i) UK merchant acquirers/Stripe UK want a UK or EEA entity for GBP settlement + lower fees; (ii) **VAT registration** likely required (see Q2); (iii) credibility — UK SMEs distrust a US filing agent for their O-licence. A **UK Ltd** is cheap (~£12/yr Companies House) and removes all three frictions. **No UK-resident director required.** |
| **Australia** | **No** to sell remotely; **registration triggered** if "carrying on business in Australia" | Foreign co can sell in. Once you're "carrying on business in AU" you must register as a **foreign company with ASIC (ARBN)** OR form a local **Pty Ltd**. Pty Ltd is cleaner BUT **requires at least one director who ordinarily resides in Australia** (Corporations Act s201A) — this is the real blocker; needs a resident director / nominee service. GST registration required once turnover ≥ A$75k (see Q2). |
| **Ireland** | **No**, but EU-presence helps | Foreign (incl. UK post-Brexit, US) co can sell in. An **Irish Ltd requires at least one EEA-resident director** OR a **s137 non-resident bond** (~€25k insurance bond, ~€2k/yr). VAT registration required (Q2). If we already have a UK Ltd, can often sell into IE from UK without a separate IE entity. |
| **New Zealand** | **No**, low bar to localize | Foreign co can sell in. NZ company formation is fast/cheap BUT **requires one director living in NZ (or in Australia AND a director of an AU company)** — Companies Act 1993 s10. GST registration once turnover ≥ NZ$60k. Smallest market; defer. |
### Sharper question: does the *service itself* (acting as filing agent) require a license?
This is the one to verify per-vertical before launch — being someone's agent for
a government filing can be a regulated activity.
| Market | Filing-agent licensing for transport compliance? | Notes / open item |
|---|---|---|
| **UK** | **No license to be a paid agent**, but the **Transport Manager** role on an O-licence is statutory (must hold a CPC and be a real person of repute). We can sell **prep / monitoring / renewal admin**, and optionally broker **external Transport Manager CPC holders**, but we **cannot ourselves "be" the Transport Manager** without a qualified person. **VERIFY: don't market as providing the TM unless we contract real CPC holders.** |
| **AU** | **No agent license** for NHVR/CoR advisory or NHVAS prep. NHVAS auditors must be approved, but we'd sell prep, not audit. Low risk. |
| **IE** | Same as UK (EU-harmonized: Transport Manager CPC required on the operator licence). |
| **NZ** | Transport Service Licence has a "fit and proper person" + certificate requirements; advisory/prep is unregulated. |
**Recommendation (Q1):**
1. **UK first.** Form a **UK entity** (no resident director/member needed, cheap,
unlocks Stripe UK + GBP + VAT + credibility). Sell prep/monitoring/renewal;
partner with external CPC Transport Managers rather than claiming to be one.
**Entity choice — LLP (chosen) vs Ltd:** Going with a **UK LLP** for
**tax pass-through** (no corporation tax at entity level; profits taxed in
members' hands). Trade-offs to plan around:
- **LLP needs ≥2 members** (a Ltd can be a single person). Need a second
member/designated member.
- Pass-through is **not** zero UK tax: non-UK-resident members with **UK-source
trading profit** owe **UK self-assessment**; the LLP files a **partnership
return (SA800)**. So two layers of personal filing, not entity tax.
- **US tax:** a UK LLP defaults to a **partnership** for US purposes (or
check-the-box) → flows to US members' returns; watch for extra US filing.
- **VAT obligation is identical to a Ltd** (see Q2). No saving there.
- **No UK-resident member required** for an LLP — good.
2. **AU second.** Start by **selling remotely as the existing entity** (legal) to
validate demand; only stand up a **Pty Ltd (needs resident-director nominee)**
or **ASIC ARBN** once revenue justifies it / once "carrying on business" is
triggered.
3. **IE / NZ** deferred — both need a resident-director or bond workaround and are
smaller; revisit after UK proves the playbook.
---
## Question 2 — Merchant processing & remitting fees to authorities
Two money flows, kept strictly separate (same separation we already enforce in
`docs/billing.md`: **our service fee** vs **government filing fee**):
- **Flow A — collect from customer** (ecommerce checkout, multi-currency).
- **Flow B — pay the authority** the actual government fee on the customer's behalf.
### Flow A — Collecting payment (merchant processing)
Today's stack (`api/src/routes/checkout.ts`): **Stripe Checkout (card + ACH),
PayPal Orders v2, SHKeeper crypto**; Stripe Subscriptions for recurring;
Adyen aspirational/not live. We extend this, we don't replace it.
| Market | Best acquiring approach | Currency / settlement | Notes |
|---|---|---|---|
| **UK** | **Stripe UK** under the new **UK Ltd** | Settle **GBP** to a UK/EEA business account (Wise, Airwallex, Revolut Business, or a UK high-street acct) | Lowest fees, local card success rates, supports **BACS Direct Debit** (the UK ACH analog — good for recurring monitoring subs) and local methods. PayPal UK as fallback. |
| **AU** | **Stripe AU** (needs AU entity) **or** sell via existing Stripe charging in **AUD as a foreign business** initially | AUD; settle via Airwallex/Wise AUD until Pty Ltd exists | Stripe supports AUD on a non-AU account but settlement/fees are worse; **PayID/BECS Direct Debit** need a local Stripe. Start cross-border, localize when entity lands. |
| **IE** | Stripe (UK or IE entity), **EUR**, SEPA Direct Debit | EUR | If UK Ltd exists, can run IE sales through it in EUR. |
| **NZ** | Stripe NZ (needs NZ entity) or cross-border NZD | NZD | Defer. |
**Multi-currency mechanics (low-lift path):**
- Stripe can present/settle multiple currencies on one account; quickest start is
**charge in local currency on the existing/US or new UK account**, accept FX
until per-market entities exist.
- Use **Wise Business / Airwallex** to hold GBP/AUD/EUR/NZD and avoid double FX.
- Keep **ERPNext as system of record** (multi-currency invoices already supported)
exactly as in `docs/billing.md`; add per-market price lists + tax templates.
**Surcharge note:** our card surcharge model (`docs/billing.md`) is **illegal/capped
in several of these markets** — **UK & EU cap/ban surcharges on consumer cards
(PSD2 surcharging ban); AU allows surcharge only up to actual cost of acceptance
(RBA rules).** ⚠️ **Do NOT copy the US 3% card surcharge into UK/EU/AU.** Bake
processor cost into price or absorb it there.
### Flow A.1 — Sales tax / VAT / GST on OUR service fee
This is mandatory homework, not optional. Selling services to local businesses
generally creates a tax-collection obligation.
| Market | Tax | Registration trigger | Mechanic |
|---|---|---|---|
| **UK** | **VAT 20%** | If UK-established: register at **£90k** turnover. **If we sell from a non-UK entity into UK, threshold can be £0** (non-established taxable person) → register from first sale. A UK Ltd is simpler. B2B may use **reverse charge** (customer self-accounts) which can reduce our collection burden — **VERIFY per service**. | Register for VAT, charge 20% (or reverse-charge B2B), file quarterly (MTD). |
| **AU** | **GST 10%** | Register at **A$75k** turnover (lower/zero for some non-resident supplies) | Charge 10%, remit to ATO (BAS). B2B reverse-charge may apply for non-resident suppliers. |
| **IE** | **VAT 23%** | Non-established → effectively from first B2B sale; reverse charge common for B2B | File via Revenue. |
| **NZ** | **GST 15%** | A$/NZ$60k | Defer. |
**Open item:** for **B2B** sales the **reverse charge** mechanism may mean the
*customer* accounts for VAT/GST, dramatically simplifying our obligation — but it
depends on whether the supply is "digital service" vs "professional service" and
our establishment status. **Get a one-off cross-border VAT opinion before launch.**
### Flow B — Paying the government authority on the customer's behalf
This is the operationally hard part. In the US we front/relay the filing fee. The
analog per market:
| Market | Authority + typical fee | How fees are paid | Our remittance mechanism |
|---|---|---|---|
| **UK** | **Traffic Commissioner / DVSA** — O-licence app ~£257 + ~£401 grant + ~£401/5yr; **DVSA** for MOT/tacho; **Companies House** for any co. admin | Mostly **GOV.UK online card/Direct Debit**, agent can pay on behalf | Pay via a **UK business debit card** (from the UK Ltd's bank) at GOV.UK; pass-through the exact fee to customer with no surcharge. Need a funded GBP account (Wise/Revolut/UK bank). |
| **AU** | **NHVR** (registration/accreditation), state road agencies, **ASIC** | NHVR Portal card payment; state portals | Pay via **AU business card**; needs AUD float. Until Pty Ltd, may need customer to pay authority directly while we do prep-only (avoids handling AU gov payments cross-border). |
| **IE** | **RSA** / Dept of Transport, CRO (companies) | gov.ie / RSA online card | EUR business card. |
| **NZ** | **NZTA** (TSL, RUC) | NZTA online | Defer. |
**Key design decisions for Flow B:**
1. **Pass-through, never markup, the government fee** — same rule as US billing
(surcharges apply to service fees only, not filing fees — `docs/billing.md`).
Display gov fee as a separate, at-cost line item.
**Card to pay the authorities — funding rail (decided):** GOV.UK / DVSA /
Companies House all take **Visa/Mastercard**, so we need a GBP-funded card.
Options:
- **Stripe Issuing (UK/EU): yes, virtual cards exist.** Stripe Issuing offers
**virtual + physical Visa** in the **UK and EU** (not US-only), funded from
the Stripe balance, with per-card limits. Good for **programmatic per-filing
virtual cards** later. Caveat: needs **Issuing approval/eligibility**, Visa
network only, pitched for platform/expense use — an application, not
instant-on.
- **Wise Business / Revolut Business (preferred for launch):** one product gives
**real UK account details (sort code + acct no.)** that receive
**Faster Payments / BACS / CHAPS**, PLUS **virtual + physical debit cards**,
PLUS multi-currency GBP/EUR/AUD holding. Fund GBP via **Faster Payments**
(instant, free, ~£1M cap) and pay authorities with the attached virtual card.
No prepaid card and no Stripe Issuing approval needed.
- **Transfer-rail note:** you fund an **account that has a card attached**, not a
card directly. Use **Faster Payments** for top-ups (instant/free). **CHAPS**
(£25-35) only for high-value one-offs; **BACS** (3-day batch) for Direct
Debit/payroll, not ad-hoc. Use **Stripe Issuing** only if/when we want
per-filing programmatic cards.
2. **Two models for who pays the authority:**
- **(i) We pay (agent model):** we hold a funded local-currency business card,
pay GOV.UK/NHVR directly, recoup via the customer's checkout. Best UX, needs
local banking + float + reconciliation. **UK = yes (UK Ltd + Wise/Revolut).**
- **(ii) Customer pays the authority directly (prep-only model):** we charge
only our service fee; customer enters their own card at the gov portal. **No
gov-money handling, no float, no entity needed for Flow B.** Best for AU/NZ
market-validation phase and avoids money-transmission questions.
3. **Avoid looking like a money transmitter.** Fronting third-party gov fees at
scale can edge toward regulated payment activity. Keep it as **agency
disbursement of a clearly-itemized pass-through cost**, not a stored-value /
FX product. **VERIFY threshold with counsel if volume grows.**
**Recommendation (Q2):**
- **UK:** UK Ltd → **Stripe UK (GBP, no card surcharge) + Wise/Revolut GBP
account** for both collecting (Flow A) and paying GOV.UK (Flow B, agent model).
Register for VAT. ERPNext stays system of record.
- **AU/IE/NZ:** launch **prep-only / customer-pays-authority** (Flow B model ii) on
cross-border Stripe in local currency to validate demand **before** committing to
a local entity + resident director + local acquiring.
---
## Cost / friction summary (entity + payments to launch)
| Market | Entity to operate | Hard blocker | Payments-in | Pay-authority | Verdict |
|---|---|---|---|---|---|
| **UK** ⭐ | UK Ltd (no resident dir, ~£12/yr) | VAT registration | Stripe UK / GBP, no surcharge | Agent model via GBP card | **Go first** |
| **AU** ⭐ | None to start; Pty Ltd later | Pty Ltd needs **AU-resident director** | Cross-border AUD → Stripe AU later | Prep-only first | **Go second, prep-only** |
| **IE** | UK Ltd can serve; IE Ltd needs **EEA director / €25k bond** | Director/bond | Stripe EUR | Prep-only / agent | Defer |
| **NZ** | NZ co needs **NZ/AU-resident director** | Director | Cross-border NZD | Prep-only | Defer |
---
## Open questions (need answers before build)
1. **Cross-border VAT/GST opinion** — does B2B **reverse charge** cover our service
so we don't have to collect? (UK + AU + IE). Single biggest unknown for Q2.
2. **UK LLP formation** — confirm no-resident-member is fine, **line up the
required 2nd member/designated member**, pick a registered-office/agent
provider (mirror `docs/foreign-incorporation-guide.md`). Confirm LLP
pass-through vs the extra UK SA800 + members' self-assessment + US
partnership-filing burden is acceptable vs a single-member Ltd. Banking:
**Wise vs Revolut Business vs Airwallex** for the GBP account + virtual card
(Flow B); decide whether to also apply for **Stripe Issuing** later.
3. **AU resident-director nominee** — cost/availability of a nominee director
service if/when we localize; or stick to ARBN (foreign-company) route.
4. **Money-transmission line** — confirm fronting GOV.UK fees as itemized
pass-through disbursement does not trigger payment-institution licensing at our
volumes.
5. **Transport Manager (UK/IE)** — confirm we can sell prep/monitoring without
holding the statutory TM CPC ourselves, and line up external CPC holders to
broker if we want to offer the full O-licence package.
6. **Surcharge legality** — strip the US card surcharge from all UK/EU/AU pricing;
reprice to absorb processor cost. (Confirmed needed, just needs implementation.)
7. **Vertical fit** — this doc assumes the **transport/trucking** analog (closest
to FMCSA). See the **Vertical portability matrix** below for how the rest of the
US stack ports; **healthcare does NOT port (NHS, no billing-enrollment model).**
---
## Vertical portability matrix (US stack → UK / European-English markets)
European English-speaking ≈ **UK + Ireland (+ Malta, negligible)**. Each vertical is
judged on the same two gates as the US playbook: **(1) is there a recurring
regulatory clock to sell against, and (2) can we actually get emails** (every UK
public register lists the regulated entity but **not** its email, so all of these
collapse to the same spine: **free public register × Companies House join ×
scrape-published-emails / paid append** — build it once, run all verticals on it).
| US vertical (ours) | UK/EU analog | Recurring clock? | Email/data path | Verdict |
|---|---|---|---|---|
| **Formation + annual report + registered agent** | **Companies House**: formation, **confirmation statement (annual)**, registered office, **ECCT identity verification** (2025) | ✅ annual | Companies House **free bulk register** (no email) → enrich | ⭐ Best 1:1 transfer; ~5M cos; **but saturated** (1stFormations/Tide) |
| **TCPA / data-privacy** | **ICO data protection fee** — every UK business processing personal data pays £40£2,900/yr; **PECR** is the marketing law itself | ✅ **mandatory annual**, widely missed | **ICO public register** (name+status, no email) → can flag the *unregistered* → enrich | ⭐ **Sleeper / lead UK product.** Mandatory, recurring, under-served, we already operate under this law |
| **Trucking / FMCSA** | **O-licence** (Traffic Commissioner/DVSA) | ✅ 5-yr + ongoing | O-licence register (no email) × Companies House × scrape | ⭐ Main plan; ~85k UK + ~4k IE operators |
| **EPA RCRA hazardous waste** | **Environment Agency** waste carrier/broker registration (renew **3-yr**) + hazardous waste producer | ✅ 3-yr | EA public carrier/broker register (limited contact) → enrich | ✅ Decent niche, clear clock, public register |
| **Employment / contractor classification** | **IR35 / off-payroll working**, worker status | ⚠️ event-driven, no registry | no registry; reach via contractor/accountant channels | ⚠️ Real pain but **not list/cold-email driven** → inbound/content |
| **Telecom (CRTC / FCC 499 / USAC)** | **Ofcom** comms-provider notification + annual admin charge; **CCTS→ADR (CISAS/Ombudsman)** | ✅ annual admin charge | Ofcom lists exist, **no rich email register** like FCC RMD | ⚠️ Small universe, weak data, niche |
| **FMC ocean (NVOCC/forwarders)** | **BIFA membership, AEO, CDS customs** | ⚠️ mostly one-time/voluntary | BIFA member list, no clean email feed | ⚠️ Niche, weak clock |
| **Healthcare (Medicare/PECOS/Medicaid/CLIA/DEA)** | **NHS single-payer kills the billing-enrollment model.** Only **GMC revalidation (5yr)/NMC (3yr)** + **CQC provider registration** map | ⚠️ revalidation is **personal attestation** | GMC/NMC registers (no email); CQC has provider contact | ❌ **Worst transfer — skip.** No Medicare-enrollment analog; don't spend burner infra here |
### Takeaways
1. **Two verticals beat trucking for the UK launch:**
- **Companies House corporate services** — most direct transfer of our entire
formation/RA/annual-report engine, but the most crowded market.
- **ICO data protection fee** ⭐ — the sleeper: mandatory + recurring + widely
ignored, the public register lets us target the **non-compliant**, per-deal
value is small but volume is enormous, and we already understand PECR.
2. **Healthcare does NOT port** — entire US healthcare stack assumes fee-for-service
billing the NHS doesn't have. Exclude from UK/IE.
3. **One enrichment spine serves all** — Companies House-anchored verticals
(corporate, ICO, trucking, waste) are all **Tier-2 "one hop to email"** (per
`docs/vertical-lead-source-analysis.md`); telecom/FMC/healthcare are Tier-3/4.
4. **Lead UK products:** **ICO data-protection-fee + Companies House corporate
services**, alongside the **O-licence** trucking stream.
## Next docs (after Q1/Q2 cleared)
- `plan.uk-olicence-stream.md` — UK Traffic Commissioner O-licence product,
template localization, Companies House entity-type segmentation (Ltd/LLP/PLC =
legal cold B2B; sole traders/partnerships = need soft opt-in).
- `plan.au-nhvr-stream.md` — NHVR / Chain of Responsibility, inferred-consent list
sourcing from published business addresses.
- `plan.uk-ico-fee-stream.md` — ICO data-protection-fee renewal product; target the
unregistered/lapsed from the ICO public register; PECR-compliant outreach.
- `plan.uk-companies-house-stream.md` — confirmation statement + registered office +
ECCT identity verification; the enrichment spine (Companies House bulk × SIC).

View file

@ -0,0 +1,168 @@
# Plan: close the MX-exclusion gaps in the trucking warmup
**Status:** ALL THREE FIXES SHIPPED 2026-06-20 (Fix 1+3 `9eeed47`, Fix 2 `bc93d93`).
**Owner context:** warmup day 17; big operators (Google/Microsoft/Proofpoint/
Mimecast/Barracuda/Cisco/Broadcom) are EXCLUDED until day 30, then re-introduced
via `mx_daily_caps()`. This plan fixes three holes that let throttling/consumer
MX operators through during that window.
## What shipped (2026-06-20, commit `9eeed47`)
- **Fix 1 (DONE):** `CONSUMER_MX_OPERATORS` (mx:yahoodns.net, mx:icloud.com,
comcast/charter/centurylink/windstream/tds/earthlink) folded into
`WARMUP_EXCLUDE_OPERATORS`, used by both the `fetch_carriers()` exclusion SQL
and `mx_daily_caps()` (same day-30 ramp). Verified live: warmup-eligible pool
= 353,909 carriers after the fix (not starved), and `mx_daily_caps()` returns
cap 0 for mx:yahoodns.net during warmup.
- **Fix 3 (DONE):** `infra/cron/pw-mx-tag` installed to `/etc/cron.d/` (05:45 UTC
daily, `--only-unsent --limit-domains 20000`). Verified: a 200-domain test run
tagged 216 domains; idempotent/bounded.
- **Fix 2 (DONE):** `select_sendable_carriers()` now bounds the untagged (NULL
mx_provider) bucket with a single shared `untagged_cap` (env
`MAIN_UNTAGGED_MX_CAP`, default `max(quota, 200)` = no-starve / no behavior
change today). Only ~3,035 distinct verified-sendable untagged domains remain,
so pw-mx-tag drains them in its first run; tighten the cap to a fraction of
quota afterward to prefer the tagged long tail. Commit `bc93d93`.
---
## Background: how the two MX layers work today
Sender reputation is judged by the **receiving operator (MX)**, not the recipient
domain string. There are two independent gates in `scripts/build_trucking_campaigns.py`:
1. **`fetch_carriers()` big-MX EXCLUSION** (SQL `big_mx_exclude`): during warmup
(`main_warmup_day() <= MAIN_BIG_MX_EXCLUDE_UNTIL_DAY`, currently day 30) it
drops carriers whose `mx_provider IN BIG_MX_OPERATORS`. `mx_provider IS NULL`
is deliberately KEPT (so the pool isn't starved before tagging completes).
2. **`select_sendable_carriers()` per-MX THROTTLE** (`mx_daily_caps` +
`per_op` cap): bounds how many of a run's quota go to each KNOWN operator so
we never concentrate on one. NULL is NOT capped (would collapse onto one
bucket and starve the pool).
`mx_provider` is populated by `scripts/mx_tag_carriers.py`, which resolves each
domain's MX and returns either a **clean label** (`google`, `microsoft`,
`proofpoint`, `mimecast`, `cisco`, `barracuda`, `broadcom`, `godaddy`, `zoho`,
`rackspace`) or, for everything else, an **`mx:<root-domain>` prefix** (e.g.
`mx:yahoodns.net`, `mx:icloud.com`, `mx:comcast.net`).
---
## The three gaps (with live numbers, 2026-06-20)
### Gap 1 — consumer/throttling MX behind the `mx:` prefix are NOT excluded
`BIG_MX_OPERATORS` only lists the clean labels. The big consumer mailbox
operators get tagged with the `mx:` prefix and so slip BOTH gates during warmup:
| mx_provider | sendable carriers | why it's a problem |
| --- | --- | --- |
| `mx:yahoodns.net` | **283,113** | Yahoo Small Business / AOL custom domains — same aggressive consumer filtering + complaint-driven blocking as consumer Yahoo. By far the biggest hole. |
| `mx:icloud.com` | **24,985** | Apple iCloud+ Custom Domain — Apple consumer filtering; iCloud was the biggest consumer leak we already scrubbed from Listmonk. |
| `mx:comcast.net` | 12,251 | Comcast consumer infra; historically bouncy. |
| `mx:charter.net` | 5,860 | Spectrum/Charter consumer. |
| `mx:centurylink.net` / `mx:windstream.net` / `mx:tds.net` / `mx:earthlink-vadesecure.net` | ~8,100 | Legacy/satellite ISP consumer mail; many already in `DEAD_ISP_DOMAINS` as literal domains but NOT caught when a custom domain points its MX there. |
`mx:yahoodns.net` alone is **283k** carriers that look "long-tail/safe" to the
warmup but actually filter like a big operator. This is the headline fix.
> NOTE: the literal-domain layer (`BLOCKED_EMAIL_DOMAINS` incl. the Yahoo family,
> Apple, dead ISPs) already blocks `someone@yahoo.com` / `@icloud.com`. The hole
> is a **custom domain whose MX points at Yahoo/iCloud** — invisible to the
> string layer, only visible via MX tagging. That's exactly what this closes.
### Gap 2 — 315,892 untagged (NULL) carriers are sent to unvetted
`mx_provider IS NULL` is kept by both gates by design (anti-starvation). With
**315,892** sendable NULLs vs 1,187,054 tagged, a meaningful slice of every run
goes to domains we've never MX-resolved — some of which are Google/MS/Yahoo we'd
otherwise exclude. This is acceptable as a bootstrap but should shrink over time.
### Gap 3 — `mx_tag_carriers.py` is not on a cron
There is no `infra/cron/pw-mx-tag` (confirmed: no cron references it). So the NULL
backlog only shrinks when someone runs it by hand. New carriers imported by the
FMCSA census downloader land as NULL and stay NULL. Without continuous tagging,
Gaps 1 and 2 slowly re-open.
---
## Proposed fixes
### Fix 1 — exclude consumer/throttling `mx:` operators during warmup (HIGH)
Add an explicit set of `mx:`-prefixed operators that should be treated like the
big operators during warmup, and fold them into BOTH the exclusion and the
throttle. Keep it data-driven and documented.
```python
# scripts/build_trucking_campaigns.py
# Consumer / aggressively-filtering mailbox operators that mx_tag_carriers.py
# labels with the "mx:" prefix (no clean label). They throttle/complaint-block
# like the big operators, so hold them out during warmup too. (yahoodns =
# Yahoo Small Business + AOL custom domains; icloud = Apple custom domains.)
CONSUMER_MX_OPERATORS = (
"mx:yahoodns.net", "mx:icloud.com", "mx:comcast.net", "mx:charter.net",
"mx:centurylink.net", "mx:windstream.net", "mx:tds.net",
"mx:earthlink-vadesecure.net",
)
# Everything held out of the warmup pool entirely (until MAIN_BIG_MX_EXCLUDE_UNTIL_DAY).
WARMUP_EXCLUDE_OPERATORS = BIG_MX_OPERATORS + CONSUMER_MX_OPERATORS
```
- In `fetch_carriers()`: build `big_mx_exclude` from `WARMUP_EXCLUDE_OPERATORS`
(not just `BIG_MX_OPERATORS`).
- In `mx_daily_caps()`: give `CONSUMER_MX_OPERATORS` the same `big` ramp as the
clean big operators after day 30 (so they re-introduce gradually, not all at
once on day 31).
- Keep it behind the existing `MAIN_SKIP_BIG_MX` switch so it's reversible.
**Effect:** removes ~330k consumer-MX carriers from the warmup-window pool; the
long tail of genuinely small/self-hosted systems carries the volume, which is the
whole point of the warmup strategy.
### Fix 2 — bound the NULL bucket with a small cap (MEDIUM)
Don't exclude NULL (still anti-starvation), but give it a real per-run cap in
`select_sendable_carriers()` instead of "uncapped". E.g. treat unknown/NULL like
`__default__` but at a fraction (say 40/run) so an untagged Google/Yahoo domain
can't flood a run. Pairs with Fix 3 (continuous tagging) to shrink the bucket.
### Fix 3 — put `mx_tag_carriers.py` on a daily cron (MEDIUM)
Add `infra/cron/pw-mx-tag` (model on `pw-listmonk-scrub`) running e.g. 05:45 UTC
(before the 08:00 trucking builder), tagging the next N thousand NULL domains/day:
```
45 5 * * * deploy cd /opt/performancewest && docker compose exec -T workers \
python3 -m scripts.mx_tag_carriers --limit-domains 20000 \
>> /var/log/pw-mx-tag.log 2>&1
```
Install to `/etc/cron.d/` (deploy.sh doesn't run ansible). This continuously
shrinks the 315k NULL backlog and keeps newly-imported carriers tagged, so Fixes
1 & 2 stay effective.
---
## Validation plan (verify before/after, no sends triggered)
1. **Dry-run the selector** before/after Fix 1 and diff the per-MX composition of
a simulated run (the builder has `list_segments()` / quota selection paths that
can be exercised read-only). Assert 0 carriers from `CONSUMER_MX_OPERATORS`
are selected while `main_warmup_day() <= 30`.
2. **SQL sanity:** `SELECT mx_provider, count(*) ... WHERE listmonk_sent_at IS NULL
GROUP BY 1` — confirm the excluded operators drop out of the candidate pool.
3. **Cron (Fix 3):** run `mx_tag_carriers --limit-domains 1000` once by hand,
confirm the NULL count falls and no errors; then install the cron and confirm
the next-day count fell again (idempotent, bounded).
4. **Regression:** confirm the long-tail pool is still large enough to hit daily
quota at warmup caps (so we don't starve the send). If the long tail is too
small after excluding 330k consumer-MX, that's a signal to either lower the
daily quota or accept a smaller controlled slice of one consumer operator.
---
## Open questions / decisions for owner
- **Re-introduction after day 30:** treat `CONSUMER_MX_OPERATORS` identically to
the big operators (same ramp), or keep Yahoo/iCloud custom domains excluded
*longer* (they convert worse and complain more)? Recommendation: same ramp, but
watch the reputation monitor's per-operator reject% and pull back if Yahoo
spikes.
- **NULL cap size (Fix 2):** 40/run is a guess; tune against how fast Fix 3 drains
the backlog.
- **Should `mx:` consumer exclusion be permanent (not just warmup)?** For a
B2B compliance product, a carrier reachable only at a Yahoo/iCloud custom
domain is a low-value, high-complaint segment regardless of warmup. Worth
considering a permanent down-weight, not just a warmup hold.

View file

@ -1,252 +1,164 @@
# Plan
## Status: COMPLETE (all phases implemented + validated 2026-06-02)
Offer healthcare regulatory filings as a **two-tier model** (internal mechanics;
the "paper" alternative is NEVER surfaced to the client):
| Phase | What | Status |
|-------|------|--------|
| 1 | Hazmat/PHMSA handler + product (`hazmat-phmsa`, $149) | ✅ |
| 1.5 | Order-form bundle/mutual-exclusion enforcement (server-side) | ✅ |
| 2 | State-trucking intake form (slug-gated) + REQUIRED_FIELDS + admin-todo fields | ✅ |
| 2.5 | BOC-3 authority-aware (active/pending/revoked/none) + upsell-approve follow-ups | ✅ |
| 2.6 | Pipeline activation gating (`require_active` edges, FMCSA poll, waiting_on_activation) | ✅ |
| 3 | State emissions (non-CA) product `state-emissions` ($199) | ✅ |
| 4 | Order landing pages for all state/hazmat/emissions slugs (48 pages build) | ✅ |
| Adv | Prerequisite-aware DOT lookup + state recommendations | ✅ |
| 5 | Campaign builder deficiency segments + LP routing + --list-segments | ✅ |
| Val | Consistency checker (24/24) + campaign segment test (synthetic) | ✅ |
- **Standard service (default):** we handle the filing end-to-end. Client signs
ONE certification and we submit + track to confirmation. (Internally this is the
paper path — 855 to the MAC, CMS-10114 to the NPI Enumerator (Baltimore MD) — but we
never say "paper" to the client; it's just "we file it for you.")
- **Expedited (faster, framed positively at intake):** we ask if they can
**electronically grant us CMS I&A Surrogate access**. We position this as
*reducing the number of steps on our end so we can bulk-file faster* — never as
"the alternative is paper." If yes, we file online same-day. If no, we silently
fall back to Standard. Same price either way; surrogacy is a delegation, not
password sharing.
**Remaining ops (not code):** create the 6 Listmonk source-campaign templates and
set their `CAMPAIGN_*_ID` envs (`CAMPAIGN_FOR_HIRE_ID`, `CAMPAIGN_IRP_IFTA_ID`,
`CAMPAIGN_INTRASTATE_ID`, `CAMPAIGN_WEIGHT_TAX_ID`, `CAMPAIGN_EMISSIONS_ID`,
`CAMPAIGN_HAZMAT_ID`). Until set, those segments are reported by
`--list-segments` but skipped by the scheduled run. Optional follow-up: a
client-side incompatibility UX hint in the order form (server already enforces).
This pass verifies the no-login paper path per service, reconciles the doc/code
contradiction, and makes "standard = paper / expedited = surrogate" consistent
everywhere it's surfaced.
## Goal
Make every trucker deficiency type we flag actually *fulfillable*: each flagged
deficiency must have (1) a service handler that can complete the work, (2) a
checkout/order path, and (3) an intake form that collects **all** information
that handler needs before the job runs. Only after fulfillment is complete and
verified do we extend the campaign builder to email those deficiency segments.
Every healthcare service (federal sold + state/adjacent to add) has a verified
**Standard (paper, no-login)** path and, where a CMS/portal exists, an
**Expedited (surrogate/delegated)** upsell. No surface should ever present
surrogate as *required* when a paper path exists; paper is always the default.
## Scope / affected areas
- `api/src/routes/checkout.ts` (~L2155-2207) — already has the two-tier copy, BUT
treats NPPES update/reactivation as **"online-only, surrogate required"** with
NO standard fallback (`NPPES_ONLY_SLUGS`, `hasNppesOnly`). The directive says:
give those a Standard paper path too (CMS-10114 to NPI Enumerator (Baltimore MD)) and make surrogate the
*expedited* option, not the only option.
- `scripts/workers/services/npi_provider.py``access` strings call NPPES
update/reactivation "NPPES via CMS I&A surrogate access (online-only)". Must
become "Standard: CMS-10114 paper to NPI Enumerator (Baltimore MD), client signs;
Expedited: NPPES via I&A surrogate." Also `_STANDARD_FILING_SLUGS` currently
excludes `nppes-update` (it has no 855) — needs a CMS-10114 paper path instead.
- `scripts/document_gen/templates/cms855_pdf_filler.py` — working 855 paper path
(fills 855I/B/O/A + cert-page signature anchor). **Gap:** no CMS-10114 filler
for the NPPES standard path → likely a small new `cms10114_pdf_filler.py`.
- `docs/healthcare-no-login-value-add.md` — already documents the CMS-10114 paper
path; promote it to the canonical "Standard vs Expedited" matrix.
- `site/src/pages/services/healthcare/{npi-revalidation,medicare-enrollment}.astro`
— already describe expedited/surrogate; npi-reactivation/nppes-update order
pages need the same two-tier framing.
- `site/src/components/intake/steps/NpiIntakeStep.astro` + intake manifest — add
the surrogate-access question framed positively: "Can you electronically grant
us CMS I&A Surrogate access? It lets us bulk-file faster and cuts steps on our
end." Optional; declining is fine and never mentions paper. The captured answer
routes fulfillment internally (surrogate vs our Standard path).
- `docs/state-healthcare-compliance-opportunities.md` + `new-sector-compliance-
targets.md` — extend the two-tier classification to state/adjacent services.
Deficiency flags in play (live counts):
for_hire (19,811), interstate_irp_ifta (19,761), intrastate_authority (14,081),
state_emissions (12,424), state_weight_tax (6,289), state_permit (3,418),
mcs150_overdue (4,539), hazmat (514), zero_fleet (134).
Files / systems:
- `scripts/workers/services/__init__.py` — handler registry
- `scripts/workers/services/state_trucking.py` — IRP/IFTA/weight-tax/permit/intrastate handler (admin-todo only today)
- `scripts/workers/services/mcs150_update.py` — MCS-150 + reactivation (real FMCSA filing)
- `scripts/workers/services/boc3_filing.py` — BOC-3 (Playwright)
- **NEW** `scripts/workers/services/hazmat_phmsa.py` — only fully-missing fulfillment path
- `site/src/lib/intake_manifest.ts` — per-service intake steps + pricing/meta
- `site/src/components/intake/steps/DOTIntakeStep.astro` — unified DOT intake (no state-trucking sections today)
- **NEW** `site/src/components/intake/steps/StateTruckingIntakeStep.astro` — state filing fields
- `api/src/routes/compliance-orders.ts``COMPLIANCE_SERVICES` (products) + `REQUIRED_FIELDS` (validation; **none defined for any DOT/state-trucking slug today**)
- `api/src/routes/checkout.ts` — slug allowlist
- `api/src/routes/dot-lookup.ts` — recommended-services mapping
- **NEW** `site/src/pages/order/*.astro` — landing pages for state-trucking + hazmat (none exist)
- `scripts/build_trucking_campaigns.py` — campaign builder (extend last)
## Key findings (grounding)
1. **Fulfillment handlers already exist** for ~98% of flags. The single fully
missing path is **hazmat / PHMSA registration** (no handler, product, page).
2. **State-trucking intake collects nothing.** All 13 state slugs map to
`["review"]` in `intake_manifest.ts` with a comment "info collected at
checkout" — but checkout collects no per-filing fields. So IRP has no
vehicle/weight/jurisdiction data, IFTA has no fleet/base-state, NY HUT has no
vehicle list, intrastate-authority has no insurance/authority-type, etc. The
handler's admin todo is therefore incomplete and an admin must chase the
customer for data.
3. **`REQUIRED_FIELDS` has zero entries** for any DOT or state-trucking slug, so
the API performs no intake validation for these orders.
4. **No dedicated order landing pages** for IRP/IFTA/state-tax/permit/intrastate
or hazmat. Checkout works by slug, but campaign emails have no clean LP to
drive conversions.
5. **State emissions** flags (NY/CO/MD/NJ/MA/etc., 12,424) only map to a product
for CA (CARB via `ca-mcp-carb`). Non-CA emissions have no product — decide
whether to build or fold into existing state DOT/permit service.
Out of scope this pass: building the actual surrogate Playwright automation
(expedited fulfillment can stay human-in-PECOS for now), email-stream machinery,
pricing changes.
## Approach (concrete ordered steps)
### Phase 1 — Close the hazmat fulfillment gap (only fully-missing path)
1. Add `HazmatPHMSAHandler` in `scripts/workers/services/hazmat_phmsa.py`
(admin-assisted, mirrors `state_trucking.py`: creates admin_todo with PHMSA
registration steps, sends status email). Slug `hazmat-phmsa`.
2. Register `"hazmat-phmsa": HazmatPHMSAHandler` in `services/__init__.py`.
3. Add product to `COMPLIANCE_SERVICES`, meta to `intake_manifest.ts`, slug to
checkout allowlist.
### Phase 1.5 — Order-form incompatibility enforcement (bundles vs components, dupes)
Today the batch endpoint (`compliance-orders.ts` POST `/batch`) only dedupes and
hard-codes one case (drop standalone `fcc-499a` when `fcc-499a-499q` present).
There is no general rule preventing a customer from selecting a **bundle plus its
own components** (e.g. `dot-full-compliance` + `mcs150-update` + `boc3-filing`, or
`state-trucking-bundle` + `irp-registration`), or other incompatible combos. This
double-charges and creates duplicate filings.
Build a single source of truth for service relationships and enforce it:
- Add `BUNDLE_COMPONENTS` map (bundle slug -> component slugs) covering
`dot-full-compliance`, `state-trucking-bundle`, `new-carrier-bundle`,
`fcc-full-compliance`, plus the DB `service_bundles` rows.
- Add `INCOMPATIBLE_PAIRS` / mutually-exclusive groups (e.g. `usdot-reactivation`
vs `carrier-closeout`; `fcc-499a` vs `fcc-499a-499q`; emergency-temp-authority
vs mc-authority where applicable).
- Server-side (authoritative) in `/batch`: when a bundle is present, **drop any of
its components** from the cart (keep the bundle), reject hard-incompatible pairs
with a clear error, and keep dedup. Generalize the existing 499a special-case
into this map.
- Client-side (order form / cart UI): disable/grey out a component when its parent
bundle is selected (and vice-versa: selecting all components suggests the bundle),
and prevent selecting mutually-exclusive options, with an inline explanation.
Mirror the server map so UX matches enforcement.
### Phase 2 — Make state-trucking intake actually collect required data
4. Build `StateTruckingIntakeStep.astro` (one shared step, sections shown by
slug, mirroring `DOTIntakeStep.astro`'s section-gating pattern):
- Carrier identity: legal name, DOT#, MC#, base state, contact (prefill from DOT lookup).
- IRP/IFTA: power units w/ VIN+plate+gross-weight rows, operating jurisdictions, fuel type.
- Weight-distance (OR/NY/KY/NM/CT): vehicle list + gross weights + (OR) declared combined weight.
- CA MCP+CARB: fleet engine model-years for CARB Clean Truck Check, CA# if any.
- Intrastate authority: authority type, insurance carrier + policy#, cargo, BOC-3 on file?
- State DOT / OSOW: as needed.
5. Update `intake_manifest.ts`: replace `["review"]` with
`["state-trucking", "review"]` for the 13 slugs; wire the step into the Wizard.
6. Add `REQUIRED_FIELDS` entries in `compliance-orders.ts` for each state-trucking
slug + the DOT slugs (mcs150, ucr, boc3, dot-registration, mc-authority, etc.)
so intake is validated server-side. Mirror handler "Intake data needed" docstrings.
7. Update `state_trucking.py` handler to read + surface the new intake fields in
the admin todo (so admins get vehicle lists, jurisdictions, insurance, etc.).
### Phase 2.5 — Make BOC-3 authority-aware (preexisting authority handling)
The BOC-3 attaches to a carrier's operating authority (MC/FF/MX docket). Today
`boc3_filing.py` only reads `commonAuthorityStatus`/`contractAuthorityStatus`/
`brokerAuthorityStatus` to print a status string and otherwise always files a
fresh BOC-3. That can be wrong/wasteful depending on the preexisting authority.
Add branching off the live FMCSA authority state:
- **Active authority:** file/refresh BOC-3 only. (current behavior)
- **Pending authority:** file BOC-3 + flag that active insurance must be on file
for the authority to activate; create follow-up todo.
- **Revoked/inactive authority:** file BOC-3 **and** flag/upsell reinstatement
(OP-1 reinstatement + $80 gov fee, route via `usdot-reactivation`/`mc-authority`
reinstatement branch). BOC-3 alone does not reinstate.
- **No authority (USDOT only):** BOC-3 has nothing to attach to — flag that MC
authority (`mc-authority`) is likely needed first; do not silently file.
Implementation: have `process()/handle()` read full authority status (reuse
`_check_boc3_status`, expanded to return structured fields), select the branch,
adjust the admin-todo + customer email, and emit a `recommended_followups` list
the order timeline / upsell can surface. No automatic charge for the follow-up —
surface it for the customer/admin to approve.
### Phase 2.6 — Prerequisite/activation gating (wait for FMCSA "active", not just "submitted")
There are real FMCSA dependency chains where a downstream filing must wait for an
upstream item to be **active at the agency**, not merely submitted by us. The
existing `pipeline_orchestrator.py` models ordering via `wait_for`, but a step is
treated as satisfied when `pipeline_step_status == "completed"` (= our handler
finished), which is NOT the same as FMCSA showing it active.
True prerequisites to enforce:
- **MC Authority (OP-1)** requires an **active USDOT**.
- **Authority activation** requires **BOC-3 on file + insurance (BMC-91) on file**,
then a **mandatory ~21-day vetting/protest period** before it goes active.
BOC-3 + insurance CAN be filed while authority is pending (parallel OK).
- **IRP / IFTA / intrastate-authority / UCR** that depend on *active* authority
(or active USDOT) must wait for that activation, not just for the prior order to
be submitted.
Implementation:
- Add an "activation gate" to the orchestrator: for dependency edges flagged
`require_active: true`, poll FMCSA (mobile QC API for USDOT status; L&I for
authority/BOC-3/insurance) and only mark the dependency satisfied when the
agency reports active. Until then, hold the downstream step in a
`waiting_on_activation` state with a next-poll timestamp.
- Encode the 21-day authority vetting window as an expected-activation estimate so
the timeline/customer comms set correct expectations.
- Expand `PIPELINES` edges with `require_active` flags (USDOT→MC, USDOT→IRP/IFTA/
UCR/intrastate, authority-active→IRP-for-hire/intrastate).
- Standalone (non-bundle) orders: when a single service is ordered whose
prerequisite isn't active yet, surface a clear "blocked until X is active"
status + recommended prerequisite order rather than filing prematurely.
### Phase 3 — Decide + handle state emissions (non-CA)
8. Either: (a) add a generic `state-emissions` service handler+product covering
NY/CO/MD/NJ/MA clean-truck/ACT programs, or (b) map those flags to
`state-dot-registration` / advisory-only. (Open question — see below.)
### Phase 4 — Order landing pages
9. Create `site/src/pages/order/*.astro` for: irp-ifta (combined), state weight
taxes (one templated page per state or a single state-aware page),
ca-mcp-carb, intrastate-authority, hazmat-phmsa. Reuse existing order-page
layout (e.g. `boc3-filing.astro`, `ucr-registration.astro` as templates).
### Phase 5 — Extend campaign builder (only after 1-4 verified)
10. Add new campaign segments to `build_trucking_campaigns.py` keyed off
`deficiency_flags`: for-hire/BOC-3+UCR, IRP/IFTA, intrastate-authority,
state weight-tax (per-state), CA MCP/CARB, hazmat. Each links to its LP.
11. Create the corresponding Listmonk source campaigns (templates) and wire IDs.
1. **Confirm the CMS-10114 paper path** for NPPES data updates AND NPI
reactivation (not just initial enumeration): paper CMS-10114 mailed to NPI
Enumerator (Baltimore MD), client signature only, no I&A login.
Cite the official source. This is what makes NPPES services "Standard, no
login" instead of surrogate-required. (We currently have no CMS-10114 PDF.)
2. **Lock the two-tier matrix for the 6 federal services.** For each slug record:
Standard path (form, mail destination, client's only action = sign / nothing),
Expedited path (surrogate scope: PECOS and/or NPPES; what client grants),
and whether expedited is even applicable (screening = public, no portal, so
no expedited tier). Confirm the 855 wet-signature-cannot-be-delegated caveat
applies to Standard; surrogate covers Expedited.
3. **Reconcile checkout.ts.** Plan the edit so:
- NPPES update/reactivation no longer present surrogate as *required* — remove
the "online-only / required for those" language.
- The surrogate ask is framed as the **faster, fewer-steps** option, never
against a "paper" alternative. Audit/strip the existing copy that leaks
mechanics to the client (e.g. "we'll send your CMS-855 to sign", "submit it
to your MAC") — replace with neutral "we file it and track it for you."
- Declining surrogate silently routes to our Standard path; no client-facing
mention of paper/MAC/Fargo/form numbers.
4. **Reconcile npi_provider.py.** Update `access` strings + `_STANDARD_FILING_SLUGS`
so nppes-update/reactivation generate the CMS-10114 (or 855 reactivation)
paper + e-sign, and the admin todo reflects Standard-default / Expedited-if-
surrogate-granted. Mirror the existing 855 generate→upload→esign flow.
5. **MAC + Fargo routing rule.** Document which Standard filings go where
(855 → provider's MAC by state/jurisdiction; CMS-10114 → NPI Enumerator (Baltimore MD)). Confirm
`practice_state` intake field drives MAC envelope addressing.
7. **Daily batched-mail fulfillment (Standard path).** Design the operational
flow for paper filings that are signed + pending submission:
- On each **postal working day morning** (skip weekends + federal/USPS
holidays), gather ALL signed-and-pending paper filings, **group by
destination agency/address** (each MAC, the NPI Enumerator (Baltimore MD), each
state Medicaid/CLIA agency).
- For each destination, **merge all that day's documents into one print job**
plus a **cover sheet** (Performance West sender, destination agency, date,
enclosed-count, per-item list of order# / provider / NPI / form). One
**Priority Mail envelope per agency** → saves postage + handling.
- Mark each included order as "mailed" with the batch date + tracking #.
- Build this as a worker (a `daily_paper_batch` job + a cover-sheet generator
in document_gen), mirroring existing worker/cron patterns
(`infra/cron/*`, `business_days.py` for the working-day calendar). Decide:
fully-automated print-to-PDF batch that a human prints + drops, vs.
print-API (Lob/Click2Mail) auto-mail. **Recommend phase 1 = generate the
per-agency batched PDF + cover sheet + manifest for a human to print & mail;
phase 2 = wire a print-mail API.**
8. **Extend two-tier to state/adjacent services.** For each (State Medicaid
enroll/reval, CAQH re-attest, payer credentialing, DEA renewal, state CSR,
PDMP, CLIA, license renewal+CME) classify:
- **Standard (no-login):** paper/mail-in form + one client signature?
(e.g. CLIA = CMS-116 paper to state; Medicaid varies — some paper.) These
feed the same daily batched-mail flow, grouped by their state agency.
- **Expedited (delegated):** the lightest legitimate delegation that avoids a
client *login* — e.g. CAQH "authorized administrator/org" grant, Medicaid
"delegated official" on the app, payer EDI/CAQH attestation rights, an LOA.
Distinguish "client signs one authorization once" (acceptable, still
no-login) from "client must log in / share credentials" (never).
- Flag services that are genuinely portal-only with NO paper standard so
marketing never claims "no logins" for them.
9. **Sequence the rollout** by (Standard-feasibility first) × revenue, and write
the two doc updates + the small code edits (checkout.ts, npi_provider.py,
optional cms10114_pdf_filler.py, and the daily batch worker + cover sheet).
All gated on approval.
## Validation (how each part is verified)
- **Handlers:** unit-invoke each handler with a synthetic `order_data` dict in a
throwaway script; assert an `admin_todos` row is created with the expected
fields and (dev mode) no live filing fires. Confirm `SERVICE_HANDLERS` resolves
every new slug.
- **Intake completeness (the core ask):** write a check that, for every slug,
cross-references `REQUIRED_FIELDS[slug]` against the fields the intake step
emits and against the keys the handler reads — fail if a handler-needed field
is never collected. This is the verifiable "we collect all needed info" metric.
- **Checkout/products:** assert every flagged slug exists in `COMPLIANCE_SERVICES`,
`SERVICE_META`, checkout allowlist, and `SERVICE_HANDLERS` (one consistency test).
- **Order pages:** build site (`astro build` / existing build script) and confirm
each new `/order/<slug>` route renders; smoke-load locally.
- **Campaign builder:** run `build_trucking_campaigns.py --dry-run` and assert
each new segment selects a nonzero, deduped audience pointing at a valid LP.
- **End-to-end:** place a test order per new slug through checkout in dev, verify
intake validation blocks missing fields, and the handler produces a complete
admin todo.
- **Source-grounded:** every Standard (paper) and Expedited (delegation) claim
cites the official instruction (CMS-855 instr, CMS-10114 instr, CMS-116 for
CLIA, state Medicaid enrollment page, CAQH/payer docs). No unsourced claim.
- **Consistency sweep:** after edits, `grep` for "online-only" / "required" /
"surrogate" / "no login" across checkout.ts, npi_provider.py, and the service
pages — confirm none present surrogate as *required* where a paper path exists,
and Standard is the default on every surface.
- **Standard path mechanism check:** `cms855_pdf_filler.fill_cms855("855i",...)`
still yields filled PDF + cert anchor (read-only smoke render). If CMS-10114
filler is built, same smoke render proves a signable Baltimore-bound PDF.
- **Expedited path check:** confirm the surrogate-grant CTA + `ia_surrogacy`
success action + admin todo together let a human file in PECOS/NPPES same-day;
surrogate scope wording matches what CMS I&A actually grants (PECOS vs NPPES).
- **Matrix completeness:** every service (federal + state) has Standard + (where
applicable) Expedited rows with a definite client-action column and source;
no "unknown" and no service that's portal-only-but-marketed-as-no-login.
## Open questions / decisions
**RESOLVED (per user 2026-06-02):**
1. **BOC-3 follow-ups + prerequisite blockers → upsell-approve, advise pre-order
where possible.** Two layers:
- *Pre-order advisory (preferred):* extend the existing DOT Compliance Check
tool (`site/public/tools/dot-compliance-check/`) + `dot-lookup` recommended
services to be **prerequisite-aware**. When a recommended service needs an
active prerequisite (e.g. IRP needs active authority), show the dependency,
pre-select the prerequisite, order the cart correctly, and state the ~21-day
authority activation expectation — all before payment.
- *Post-order upsell-approve:* when a handler discovers a blocker mid-fulfillment
(e.g. BOC-3 ordered but authority revoked → needs reinstatement), write a
`recommended_followups` entry on the order and render a one-click, pre-filled
"Add this service" card on the order timeline/portal. Customer confirms + pays
via the existing checkout. **No auto-charge.**
- *Standalone checkout guard:* if a service is bought directly and its prereq
isn't active at FMCSA, warn + offer to add the prereq rather than filing
something unfulfillable.
2. **State emissions (non-CA): build a real product.** Add a `state-emissions`
service (handler + product + intake + page) covering NY/CO/MD/NJ/MA clean-truck
/ Advanced Clean Trucks programs (CA stays on `ca-mcp-carb`).
3. **Pre-order advisory: yes.** Covered by 1 above — reuse the compliance-check
tool as the advisory surface.
**STILL OPEN:**
4. Pricing for `hazmat-phmsa` and `state-emissions`.
**DEFAULT:** `hazmat-phmsa` = $149 (admin-assisted PHMSA registration; gov fee
$25 placardable-hazmat reg billed at cost). `state-emissions` = $199
(NY/CO/MD/NJ/MA clean-truck / ACT advisory + registration assist).
5. Vehicle-list intake fidelity.
**DEFAULT:** lightweight up front — collect fleet count + base/operating states
+ fuel type + gross-weight bracket at intake; collect full per-vehicle
VIN/plate/weight rows via a post-order follow-up form only when the specific
filing requires it (IRP, weight-distance taxes). Keeps conversion high.
6. Standalone-order prereq guard.
**DEFAULT:** warn + offer to add the prerequisite (pre-selected), allow override
("file anyway"). Never a hard block.
7. Long-term home for the reviewable plan (`docs/plans/` used here; no
`side_panel` tool in this harness).
1. **NPPES update/reactivation Standard path:** ✅ RESOLVED — CMS-10114 paper IS
accepted for *changes AND reactivation* (verified against CMS-10114 Rev. 02/25,
Section 1A boxes #2 Change / #4 Reactivation). Mailing address is the NPI
Enumerator in **Baltimore MD** (the old Fargo PO Box 6059 is retired). Both
nppes-update and npi-reactivation are Standard-default + surrogate-expedited.
2. **Build `cms10114_pdf_filler.py` this pass?** Needed for a real NPPES Standard
path. Recommend: yes if step 1 confirms paper, mirroring the 855 filler;
otherwise defer.
3. **State Medicaid scope:** classify the mechanism generically + verify top ~5
states by our lead density now; template the rest. (50-state research is a
separate effort.)
4. **CAQH / payer credentialing tier:** almost certainly Expedited = "client
signs one authorization, no login" (category C). Confirm we market that as
"no logins for you" with precise wording.
5. **Expedited pricing/positioning:** RESOLVED — expedited is **not** a paid
tier and we never expose "paper" as the alternative. It's an intake question
framed positively ("electronically granting surrogate access lets us bulk-file
faster / fewer steps on our end"). If yes → online; if no → silent Standard
fallback. Same price. No price delta, no separate product, no mention of paper.
6. **Client-facing messaging rule:** never surface mechanics to the client —
no "paper", "CMS-855", "CMS-10114", "MAC", or "Fargo" in any client copy
(cold email, order page, checkout, intake). The only client-visible choice is
the positive surrogate question; everything else is "we file it for you." This
applies to the checkout copy audit in step 3.

Some files were not shown because too many files have changed in this diff Show more