From fa29cc881e34f7be9c4ae7590e8b77b28ea5a77a Mon Sep 17 00:00:00 2001 From: jayteemoney Date: Wed, 23 Sep 2026 15:33:36 +0100 Subject: [PATCH] fix(frontend): make landing and token copy match what the protocol does - Remove STX from streamable-token lists: native STX is not SIP-010 and the contract only transfers SIP-010 tokens. FAQ now says so. - 'By the second' -> 'by the block': funds accrue per Stacks block. - Grants card claimed unearned funds 'stay in your wallet'; they are held by the contract and returned on cancel. - Token picker: sBTC name 'Stacks BTC' -> 'sBTC' and ALEX -> 'ALEX Token' to match on-chain get-name; sBTC described as a 1:1 Bitcoin-backed asset. --- frontend/src/components/landing/faq.tsx | 2 +- frontend/src/components/landing/features.tsx | 4 ++-- frontend/src/components/landing/hero.tsx | 6 +++--- frontend/src/components/landing/live-stream-card.tsx | 6 +++--- frontend/src/components/landing/who-its-for.tsx | 6 +++--- frontend/src/lib/constants.ts | 6 +++--- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/frontend/src/components/landing/faq.tsx b/frontend/src/components/landing/faq.tsx index 22882da..7360ee3 100644 --- a/frontend/src/components/landing/faq.tsx +++ b/frontend/src/components/landing/faq.tsx @@ -16,7 +16,7 @@ const faqs = [ }, { q: "Which tokens can I stream?", - a: "sBTC, STX, USDA, ALEX, xBTC, or any SIP-010 token. If it follows the SIP-010 standard on Stacks, you can stream it by the second.", + a: "sBTC, USDA, ALEX, xBTC, or any SIP-010 token. If it follows the SIP-010 standard on Stacks, you can stream it block by block. Native STX isn't a SIP-010 token, so it can't be streamed directly.", }, { q: "Is my money safe while it's streaming?", diff --git a/frontend/src/components/landing/features.tsx b/frontend/src/components/landing/features.tsx index 817bb18..958136a 100644 --- a/frontend/src/components/landing/features.tsx +++ b/frontend/src/components/landing/features.tsx @@ -48,8 +48,8 @@ const features = [ icon: Coins, title: "Stream any asset", points: [ - "sBTC, STX, USDA, ALEX, or any SIP-010 token", - "Stream real Bitcoin, by the second", + "sBTC, USDA, ALEX, xBTC, or any SIP-010 token", + "Stream Bitcoin-backed sBTC, block by block", ], }, { diff --git a/frontend/src/components/landing/hero.tsx b/frontend/src/components/landing/hero.tsx index b7ce82a..83d60f9 100644 --- a/frontend/src/components/landing/hero.tsx +++ b/frontend/src/components/landing/hero.tsx @@ -43,7 +43,7 @@ export function Hero() { transition={{ duration: 0.5, delay: 0.1 }} className="text-2xl sm:text-4xl md:text-5xl lg:text-7xl font-bold tracking-tight leading-[1.1]" > - Pay by the second. + Pay by the block.
Settled on Bitcoin. @@ -57,8 +57,8 @@ export function Hero() { > StackStream turns payroll, grants, and subscriptions into a live stream of money. Recipients earn every block and claim whenever they want, and - senders keep every token that isn't earned yet. Stream sBTC, STX, or - any token on Stacks. Settlement inherits Bitcoin finality. + senders keep every token that isn't earned yet. Stream sBTC or any + SIP-010 token on Stacks. Settlement inherits Bitcoin finality. {/* CTAs */} diff --git a/frontend/src/components/landing/live-stream-card.tsx b/frontend/src/components/landing/live-stream-card.tsx index e874638..bd1f28d 100644 --- a/frontend/src/components/landing/live-stream-card.tsx +++ b/frontend/src/components/landing/live-stream-card.tsx @@ -9,7 +9,7 @@ const DURATION_SECONDS = 30 * 24 * 60 * 60; // 30 days const RATE_PER_SECOND = DEPOSIT / DURATION_SECONDS; // ~0.0000000386 sBTC/sec const BASE_EARNED = 0.05734829; // ~57% streamed -const TOKENS = ["sBTC", "STX", "USDA", "ALEX"]; +const TOKENS = ["sBTC", "USDA", "ALEX", "xBTC"]; export function LiveStreamCard() { // Start from the same value on server and first client paint to avoid a @@ -81,13 +81,13 @@ export function LiveStreamCard() { {/* Friendly caption */}

- This is real money landing every second. No invoice, no waiting for + This is real money landing every block. No invoice, no waiting for payday, and they can cash out the moment they want.

{/* Any token */}
- Stream any token: + Stream any SIP-010 token: {TOKENS.map((t) => (