Technical section
Implementation summaries for each of the three components that make up BitView. This section is the engineering view of the product — what each component does, how it's built, and where the seams between components live.
If you're skimming, the Architecture page is
the one-screen visual. The per-component docs below are the public
overview. The internal team also maintains deeper detail docs on
each component (implementation plans, sprint-level roadmap,
attack-surface analysis) under _internal/technical/, which are
included only in the internal build.
The three components
| Component | Tech | Role |
|---|---|---|
| bitview-bot | Rust 1.75+, actix-web 4, MongoDB, twitch-irc | Backend service — Twitch presence tracking, accrual loop, REST API, OAuth verification, merkle-tree assembly |
| distributor | Anchor 0.30, Solana program + axum proof API + Rust CLI + merkle-tree builder | On-chain claim program (audited fork of Jito/Jupiter merkle distributor) + off-chain tooling |
| bitview-app | Next.js 14, React 18, TypeScript, Tailwind, Solana wallet-adapter, Anchor + Metaplex | Frontend — streamer wizard, viewer dashboard, claim UX, swap router UI |
Each component runs as an independent process and they communicate strictly over typed boundaries: REST + Swagger between the frontend and the backend, on-chain instructions between the frontend and the distributor program, and REST between the frontend (for proofs) and the distributor's axum API.
What ties them together
bitview-app (browser)
│
│ REST (Swagger-typed)
▼
bitview-bot (Rust service, MongoDB)
│
│ proxies / forwards proofs from
▼
distributor/api (axum, in-memory merkle tree)
▲
│ tree files on disk
│ produced by
distributor/cli │ from MongoDB accruals
│
▼ writes
merkle-distributor (audited on-chain program)
▲
│ new_claim / init_distributor / clawback
│
bitview-app (wallet adapter signs the tx)
The viewer's wallet, not BitView, signs every on-chain claim. The backend never holds keys to anyone's funds. The merkle distributor program is the only thing that can move tokens out of a vault, and only a wallet that owns a leaf in the published merkle tree can pull its allocation.
Reading order
- bitview-bot — start here if you want to understand how accrual works, what the REST surface looks like, and how the backend turns chat presence into a merkle root.
- distributor — read this for the on-chain program layout, the bitmap-claim design choice (~$9 vs ~$16K rent at 100K claimants), the proof API, and the CLI.
- bitview-app — read this for the streamer wizard flow, viewer dashboard, claim UX, and the Solana integration details (Anchor client, Metaplex CPI, wallet adapter).
What's done, what's planned
Each per-component page has its own Status section that calls out exactly what's implemented today and what's still on the roadmap. The summary version:
| Component | Built | In progress | Not started |
|---|---|---|---|
| bitview-bot | Twitch IRC, accrual loop, REST + Swagger, OAuth + wallet linking, MongoDB persistence, Prometheus metrics, merkle-tree assembly | Snapshot/finalize automation, distributor-API proxy hardening | BTV-stake gate, sybil-detection layers 5–8 |
| distributor | v2 bitmap-claim program (init_distributor, claim, clawback, admin transfer, set_clawback_receiver, set_enable_slot), axum proof API, Rust CLI, merkle-tree builder, audits (Neodyme + OtterSec) | NFT claim CPI Layer 2 (mpl-core mint, Bubblegum mint_to_collection_v1) | On-chain creator-royalty enforcement for STREAM/BTV pool |
| bitview-app | Streamer creator wizard, viewer dashboard, wallet-adapter integration, Anchor-based claim transaction builder, Twitch OAuth handoff | Identity-tier launchpad UI, swap router UI, sponsorship marketplace UI | NFT drop wizard, Plus-tier features, sponsorship-marketplace seller UI |
See Roadmap for the phased view.
Public vs internal documentation
BitView publishes two views of these docs:
| View | Audience | Where |
|---|---|---|
| Public (this site) | Open-source contributors, investors, prospective streamers, anyone with a link | What you're reading now |
| Internal | BitView engineering team | A parallel build of the same Docusaurus source with docs/_internal/** included — hosted on an access-controlled deployment |
The internal build adds per-component "implementation detail" pages
(under _internal/technical/) that include sprint-level work plans,
attack-surface analysis, audit-remediation log, and operational
runbooks. Public docs reference these by name but don't link to them
(the links would be dead in the public build). If you're internal
and reading this on the public site, the matching internal doc names
are:
bitview-bot-detail.mddistributor-detail.mdbitview-app-detail.md
Cross-references
- Architecture — one-screen visual
- On-chain program — distributor program reference (instructions, PDAs, IDL)
- API reference — REST surface served by bitview-bot
- Operations — running locally, env vars, deployment
- Security — disclosure policy, bug bounty, audit reports