LAST UPDATED: SEP 26, 2026 — DATA SOURCE: BASE CHAIN (L2)
SNAPSHOT VERIFIED · 1,979-row API extract · fingerprint 04c08bed96c6 · awaiting same-origin monitor status
This dashboard applies the principles of Radical Transparency to our own campaign. Every transaction is recorded on the public blockchain ledger and independently verifiable on Basescan. TX hashes throughout this page are clickable — verify any claim yourself.
$703,494
All income sources · 1191 txn
$541,403
All expenditures · 788 txn
$162,091
23.0% reserve ratio
~$30K
Average by calendar month
◈ Income Composition
◈ Expenditure Composition
◈ Monthly Income vs. Spend
$703,494
All income sources · 1191 txn
$541,403
All expenditures · 788 txn
$162,091
23.0% reserve ratio
◈ Cash Waterfall — Income builds balance · Expenditures step it down · Final bar = current balance
—
Over date range
—
Over date range
—
Final balance
—
—
◈ Cumulative Raised vs. Spent
Total raised
Total spent
Cash on hand
—
Current trailing week
—
—
—
—
—
of rolling windows
◈ Cash Flow Velocity — 7-day rolling net (income − spend)
◈ Weekly Cash Flow — Income ↑ · Expenditure ↓ · Hover for details
Live blockchain ledger · Base L2 · 177 unique hashes
10 findings
⚠ Issue 1 — 2036 dates with incomplete corrections DATA ENTRY ERROR
Two original entries dated 3/3/2036 and 3/4/2036 (John Smith $500, Carolyn Rogerson $80) were recognized as year-typos. Correction attempts were made: both original records have reversal entries, and re-posted records with 2026 dates now exist. However, the correction is incomplete:
🔧 Remediation:
1. Verify whether the duplicate John Smith reversal is intentional or an error — if duplicate, post one corrective re-entry of +$500
2. Post the missing expense-side correction for John Smith's re-dated entry
3. Confirm Carolyn Rogerson's correction chain is complete (it appears to be)
Transactions are posted in batches — one hash per bank import cycle rather than one hash per donation. A single hash covers as many as 54 ledger rows totaling $18,854. This is not a data integrity problem, but reduces per-transaction auditability.
Top 10 hash groups by transaction count
🔧 Remediation:
Consider adopting a manifest-hash or Merkle root scheme for future batch imports — publish a per-batch manifest listing each individual record with its own checksum, anchored to the batch TX hash. This preserves batch efficiency while restoring per-item verifiability.
✓ Investigated — Chrissy Stone repeat donor NOT AN ISSUE
Two contributions from Chrissy Stone on Apr 17, 2026 — $19.99 and $49.99 — are different amounts consistent with two separate WinRed recurring subscription tiers active simultaneously. No duplication.
🔧 Remediation: None required. Recurring multi-tier donations are a normal WinRed pattern.
✓ Investigated — Category naming differences NOT AN ISSUE
The ledger uses granular bank-import subcategories (e.g., "Swing Wire Media" vs. "Swingwire Media") that a derived dataset might normalize. These are the same vendor at different spelling granularity. No financial correction needed.
🔧 Remediation: None required for existing records. For future imports, consider standardizing vendor names at the point of entry to prevent downstream normalization issues.
⚠ Issue 5 — Donor name variant: Marc / Marck Iacono DATA ENTRY ERROR
Three donations on Apr 13, 2026 appear under two spellings of the same name: Marc Iacono ($250 + $500) and Marck Iacono ($500), totaling $1,250. The Marck spelling is almost certainly a typo. This inflates the unique donor count by one and may affect FPPC reporting accuracy if the donor's legal name is used for threshold tracking.
🔧 Remediation: Correct "Marck" to "Marc" in the ledger by posting a reversal of the misspelled entry and re-posting with the correct name. Combined giving for this donor is $1,250.
⚠ Issue 6 — Donor name typo: "Anaonymous" DATA ENTRY ERROR
One Apr 15, 2026 donation of $20.00 is entered as "Anaonymous" — a misspelling of "Anonymous." This creates a phantom unique donor entry in the ledger distinct from the three correctly-spelled Anonymous donations on the same date.
🔧 Remediation: Correct "Anaonymous" to "Anonymous" in the ledger by posting a reversal and re-posting with correct spelling. All four Apr 15 anonymous donations are ≤$100 and within CA FPPC anonymous contribution thresholds.
The current automated scan flags 99 ledger rows across 48 potential duplicate-signature groups. Four groups are new in this snapshot: repeated rows for Southwest Airlines $5.60 (9/15), Southwest $5.60 (9/14), Aloft El Segundo LAX $186.24 (9/11), and Southwest Airlines $11.20 (9/8). Some matches may be legitimate separate transactions or source-label variants, so each should be checked against the bank import before a reversal is posted.
Two $2,500 payments to Late Apex Marketing are categorized as Administrative Expense. Based on the vendor name, these are almost certainly marketing expenditures and should be reclassified as Marketing Expense for accurate FPPC reporting. Reclassification would move $5,000 from administrative to marketing expense without changing total spending.
🔧 Remediation: For each record, post a reversal + corrected re-entry:
☐ Reverse Late Apex $2,500 (4/6/2026) as Administrative, re-post as Marketing — TX 0xcd66f432…
☐ Reverse Late Apex $2,500 (3/6/2026) as Administrative, re-post as Marketing — TX 0x926ad080…
This preserves the immutable audit trail while correcting the classification.
⚠ Issue 9 — source-name variants in the latest upload NORMALIZATION REVIEW
The latest batch contains source-label variants that split the same apparent donor or vendor across separate labels. New examples include Southwest AIrlines / Southwest aIrlines, VistaPrint / Vistaprint, Adrien GUerrette, Daniel CHarleston, and Tom SImpson. These variants do not change total dollars, but they reduce the accuracy of donor/vendor grouping and search.
🔧 Remediation: Add a controlled source-name dictionary at import time and normalize known variants in the presentation layer. Use reversal and corrected re-post entries only where the immutable ledger or required campaign filings must also be corrected.
✓ Investigated — API aggregate and row-level totals reconcile RECONCILED
The API's published aggregate totals exactly match independent sums of all 1,979 returned rows: $703,493.76 incoming, $541,402.90 outgoing, and $162,090.86 net. This resolves the aggregate discrepancy present in the previous snapshot.
MEASURE
API AGGREGATE
ROW SUM
DELTA
Incoming
$703,493.76
$703,493.76
$0.00
Outgoing
$541,402.90
$541,402.90
$0.00
Net
$162,090.86
$162,090.86
$0.00
✓ Ongoing control: Continue comparing row count, aggregate totals, business-date range, unique hashes, and the dataset fingerprint on every monitor run.