# SoulWall Public Source

SoulWall publishes the demo implementation as inspectable source files.

## Browser Client

- [`widget/soulwall-widget.js`](./widget/soulwall-widget.js) - embeddable client for partner projects.

## Site Files

- [`source/site/index.html.txt`](./source/site/index.html.txt) - public protocol page.
- [`source/site/site.css.txt`](./source/site/site.css.txt) - public site stylesheet.
- [`source/site/app.js.txt`](./source/site/app.js.txt) - browser-side demo logic.
- [`source/site/soulwall-widget.js.txt`](./source/site/soulwall-widget.js.txt) - widget mirror.

## Cloudflare Pages Functions

These are mirrored as `.txt` files so they can be opened directly in a browser:

- [`source/functions/giveth-verify.js.txt`](./source/functions/giveth-verify.js.txt) - Polygon/Giveth proof verification endpoint.
- [`source/functions/telemetry.js.txt`](./source/functions/telemetry.js.txt) - donation ping receiver.
- [`source/functions/ledger.js.txt`](./source/functions/ledger.js.txt) - public aggregate ledger endpoint.
- [`source/functions/charities.js.txt`](./source/functions/charities.js.txt) - configured charity project feed.
- [`source/functions/_giveth.js.txt`](./source/functions/_giveth.js.txt) - Giveth and Polygon verification helpers.
- [`source/functions/_session.js.txt`](./source/functions/_session.js.txt) - SoulWall browser session helpers.
- [`source/functions/_supabase.js.txt`](./source/functions/_supabase.js.txt) - Supabase REST helpers.
- [`source/functions/intent.js.txt`](./source/functions/intent.js.txt) - donation intent route.
- [`source/functions/session.js.txt`](./source/functions/session.js.txt) - session status route.

## Database

- [`source/docs/soulwall-ledger-migration.sql.txt`](./source/docs/soulwall-ledger-migration.sql.txt) - Supabase ledger table migration.

## Runtime Secrets

Secrets are intentionally not published. Use `.dev.vars.example` as the shape of the required environment and keep real Supabase, Cloudflare, Stripe, and provider keys outside source control.
