Skip to main content

Cross-token swap and AMM

The cross-token swap is the most important fee surface for the business. Every streamer-token earned is potentially routed through here twice (once to hold something neutral, once to cash out), and every fee taken is BitView revenue.

What we're solving

A viewer earns 50 PEWPIE in the morning, 200 LIRIK in the afternoon, 15 SHROUD over the weekend. They have three reasonable wishes:

  1. "Cash out everything to USDC." — they don't want exposure to any single streamer.
  2. "Convert it all to BTV and stake to reduce fees on my own pool." — prosumer behavior, especially for streamers themselves.
  3. "Convert my LIRIK winnings into more PEWPIE because I like PEWPIE more." — cross-streamer rebalancing.

All three of these involve at least one swap. The platform that frictionlessly handles them owns the value flow.

Recommended: BitView does not build a custom AMM. We build a swap router on top of Jupiter aggregator + Meteora DLMM pools.

Why not roll our own AMM

Custom AMMs require:

  • Audit budget ($200K+ over multiple firms)
  • Security incident response capability
  • Continuous LP incentive program to bootstrap depth
  • ~12 months of engineering before you can launch confidently

Solana already has battle-tested liquidity infrastructure. Reinventing it is value-destructive. We instead specialize in:

  • The streamer-token launch flow — one-click pool creation on Meteora DLMM with sane bin steps and initial price.
  • The swap router UX — viewer sees one button "Cash out 50 PEWPIE", router decides STREAM → BTV → USDC vs STREAM → SOL → USDC depending on depth, slippage, fees.
  • The fee skimming layer — BitView takes a small % on top of the underlying DEX fees, settled atomically in the same transaction.

Routing logic

For any swap of IN_TOKEN → OUT_TOKEN requested through BitView, the router executes:

1. Query Jupiter quote API for the best route IN → OUT directly.
2. Query Jupiter quote for IN → BTV → OUT specifically (forces BTV leg).
3. Pick the route with the best (output_amount - bitview_fee) for the user.
4. Submit the chosen route, atomically prepended with a
transferChecked of bitview_fee from input balance to BitView treasury ATA.

The user sees a single signature flow. Slippage and price impact are computed against the chosen route. Failure to fill within slippage tolerance reverts the whole tx.

Fee schedule

All numbers below are proposed defaults. The fee tiers are designed to be cheaper than alternatives so cashing out via BitView is the default rational choice.

ComponentRateRecipient
Jupiter / Meteora pool LP fee~0.04 – 0.30%Underlying LP holders
BitView protocol fee0.10%Treasury
Streamer creator royalty (Identity tier only)0.10%Streamer wallet
Total cost to viewer for cashing out STREAM → USDC~0.30 – 0.50%
Total cost to viewer for BTV → USDC~0.14 – 0.40%(no creator royalty leg)

Fee discounts

ConditionEffect
Hold ≥ 10K BTVBitView protocol fee 0.10% → 0.07%
Hold ≥ 100K BTVBitView protocol fee 0.10% → 0.04%
First 100 swaps as a new viewerBitView protocol fee 0% (onboarding)
Pro/Plus streamer subscriptionBitView protocol fee on streamer's swaps 0%

Sample revenue per active streamer

Conservative assumption — a streamer with 1,000 daily active viewers, average earned value $0.50/viewer/day, 70% cash-out rate within a month:

Daily earn = 1,000 viewers × $0.50 = $500
Monthly earn = $500 × 30 = $15,000
Cashed out = $15,000 × 70% = $10,500
Per-swap avg cost = $10,500 × 0.30% = $31.50
BitView fee leg = $10,500 × 0.10% = $10.50

So $10.50 per active streamer per month in raw swap fees. At 1,000 active streamers that's $126K/year — modest but additive. The unit economics scale with two levers we control:

  1. Average viewer earned value — controlled by tier mix (Identity tier has higher per-viewer accrual because of speculative upside on streamer-token).
  2. Cash-out rate — controlled by UX. If we make cashing out frictionless AND give a small reason to hold (BTV fee discount, exclusive perks), we get high cash-out rate AND a sticky BTV float that compounds.

A top-50 streamer at 50,000 daily active viewers and $1.50 average daily earned value generates roughly $1.6K/month in swap fees alone, before sub revenue.

Liquidity bootstrap problem

The thing that killed Rally and Roll was illiquid creator tokens. Our defenses:

  1. Auto-seeded pool at token creation — BitView treasury seeds 50K BTV into a STREAM/BTV Meteora DLMM pool when the streamer creates their token. This is funded from the 15% liquidity-bootstrap allocation in the BTV emission schedule.
  2. Concentrated liquidity — Meteora DLMM lets us seed liquidity in a narrow band around the launch price. We can run with much less capital than a constant-product AMM.
  3. Match-funding incentive — streamers get a 1.5x bonus in their reserve allocation if they match-fund the initial liquidity.
  4. Auto-rebalancing job — a background worker monitors STREAM/BTV pools owned by treasury and shifts liquidity bin ranges as the price moves so the depth follows. This is operationally heavier than a constant-product pool but worth it given how much it improves UX.
  5. Cooldown for streamer reserve dumps — the 10% streamer reserve has a 2-year linear unlock so the streamer can't dump on day-one liquidity.

What this means for the API

The swap router lives at:

POST /swap-api/quote
POST /swap-api/swap

Returns:

  • route — encoded Jupiter route + BitView fee instruction
  • out_amount — net of all fees
  • price_impact_bps — informational
  • txn — base64-serialized unsigned transaction for the wallet to sign

This is documented in the API reference once swap routing ships in Phase 2.

Implementation plan

PhaseScope
P2.1BTV token deployed, BTV/USDC pool seeded, BTV/SOL pool seeded.
P2.2Swap router integrated against Jupiter aggregator. Cash-out UX in viewer dashboard.
P2.3Streamer-token launchpad flow (Meteora DLMM seeding automated).
P2.4Creator royalty hooks via custom Token-2022 transfer hook for streamer tokens.
P3+Auto-rebalancing job for treasury-owned pools.