Skip to main content

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

ComponentTechRole
bitview-botRust 1.75+, actix-web 4, MongoDB, twitch-ircBackend service — Twitch presence tracking, accrual loop, REST API, OAuth verification, merkle-tree assembly
distributorAnchor 0.30, Solana program + axum proof API + Rust CLI + merkle-tree builderOn-chain claim program (audited fork of Jito/Jupiter merkle distributor) + off-chain tooling
bitview-appNext.js 14, React 18, TypeScript, Tailwind, Solana wallet-adapter, Anchor + MetaplexFrontend — 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:

ComponentBuiltIn progressNot started
bitview-botTwitch IRC, accrual loop, REST + Swagger, OAuth + wallet linking, MongoDB persistence, Prometheus metrics, merkle-tree assemblySnapshot/finalize automation, distributor-API proxy hardeningBTV-stake gate, sybil-detection layers 5–8
distributorv2 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-appStreamer creator wizard, viewer dashboard, wallet-adapter integration, Anchor-based claim transaction builder, Twitch OAuth handoffIdentity-tier launchpad UI, swap router UI, sponsorship marketplace UINFT 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:

ViewAudienceWhere
Public (this site)Open-source contributors, investors, prospective streamers, anyone with a linkWhat you're reading now
InternalBitView engineering teamA 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.md
  • distributor-detail.md
  • bitview-app-detail.md

Cross-references