harb/tmp/usertest-results/LAUNCH-STRATEGY-REPORT.md
2026-02-18 00:19:05 +01:00

16 KiB

Kraiken Protocol — User Test Report

Date: February 14, 2026 Environment: Local Anvil fork, full stack (contracts + Ponder + web-app) Method: 5 AI personas running Playwright E2E tests against the live UI Market context: Bear market (BTC ~50% off ATH), risk-off sentiment


1. Executive Summary

Five personas representing distinct crypto user archetypes tested the Kraiken protocol's full journey: land → connect wallet → acquire KRK → stake.

Results:

Persona Role Staked? Sentiment
Marcus "Flash" Chen Degen / MEV hunter 100 KRK @ 5% Intrigued, wants audit
Sarah Park Yield farmer 50 KRK @ 15% Interested, needs APY comparison
Alex Rivera Crypto newcomer 25 KRK @ 15% Overwhelmed but completed
Tyler "Bags" Morrison Retail degen Balance didn't load Frustrated, left
Dr. Priya Malhotra Institutional Timed out on landing Won't proceed without docs

3/5 staked. Tyler and Priya never reached the stake action — Tyler due to a frontend balance-loading bug, Priya because the app offers nothing for institutional due diligence (no docs, no audit, no team page).

Verdict: NOT launch-ready, but the mechanism itself validated strongly. Every persona who engaged with the mechanics found them novel and compelling. The gaps are UX, trust signals, and education — all fixable.


2. Persona Journeys

2.1 Marcus "Flash" Chen — Degen / MEV Hunter

Journey: Landing → wallet → cheats (test swap 0.01 ETH) → bigger swap (5 ETH) → stake page → staked 100 KRK at 5% tax → searched for snatch targets → checked statistics. Total: ~60s.

What he did right: Small test swap first, then probed liquidity depth. Deliberately chose low tax rate to test if he'd get snatched. This is exactly the adversarial behavior the protocol is designed for.

What he said:

"Intrigued but cautious. Mechanics are novel and create genuine PvP opportunity. Would need to see audit, verify contracts on Basescan, and test snatching profitability in production."

"Would allocate small bag ($2-5k) to test in production, but not going all-in until proven safe."

His asks:

  • Contract addresses visible on the page (to verify on explorer)
  • Audit badge — "CRITICAL: No visible audit link. Immediate red flag for degens."
  • Snatching ROI calculator
  • Flash loan protection documentation
  • Tax rate tooltip: "Higher tax = harder to snatch, lower yield"

Screenshots: 12 (full journey captured in Marcus's round)


2.2 Sarah Park — Cautious Yield Farmer

Journey: Landing (read everything) → wallet (hesitant) → stake page (research stats) → cheats (test swap 0.05 ETH) → larger buy (3 ETH) → staked 50 KRK at 15% tax → checked position → compared to Aave mentally. Total: ~51s.

Defining moment: Chose 15% tax specifically to minimize snatch risk. Safety over yield. This is the conservative DeFi user who needs convincing.

What she said:

"Interested but need more information before committing real funds. The Harberger tax mechanism is intriguing but confusing."

"Compared to Aave (8% risk-free), this needs to offer 10-15% to justify the complexity and snatch risk. Verdict: Promising but not ready for my main capital yet."

Her asks:

  • APY calculator ("Stake X at Y% tax = Z estimated APY")
  • "What is Harberger tax?" explainer in simple terms
  • Comparison page: Kraiken vs Aave/Compound
  • Mobile notifications for snatch attempts
  • Risk disclosures
  • "What tax rate should I choose?" guidance

Key insight: Sarah represents the largest potential user base (yield farmers). Her 8% Aave comparison is the benchmark Kraiken must beat with a clear value proposition.


2.3 Alex Rivera — Crypto-Curious Newcomer

Journey: Landing (16s reading, overwhelmed) → wallet (nervous about scams) → stake page → cheats (confused by name) → small test buy (0.05 ETH) → staked 25 KRK at 15% tax. Browser crashed during post-stake screenshots.

Defining moment: Spent 16 seconds on the landing page feeling "overwhelmed" and looking for help. Found none. Connected wallet anyway ("deep breath"). Picked 15% tax because "it sounds safe... I think?"

What he said:

"This looks professional but I have no idea what I'm looking at..."

"Words I don't understand: VWAP, tax rate, snatching, claimed slots..."

His asks (10 copy feedback items — most of any persona):

  • "New to DeFi?" section on landing
  • Getting Started guide — "CRITICAL: I'm intimidated and don't know where to begin"
  • Trust badges: "Audited", "Secure", "Non-custodial"
  • Glossary / hover definitions for ALL DeFi terms
  • FAQ: "Can I lose money?"
  • Tax rate guidance: "Recommended for beginners: 10-15%"
  • Wizard mode for newcomers
  • Recovery guidance when things fail

Key insight: Alex completed the journey despite being terrified, which means the UI flow works mechanically. But every step was anxiety-inducing. A 5-minute onboarding flow would transform this experience.


2.4 Tyler "Bags" Morrison — Retail Degen

Journey: Landing (3s glance) → wallet (immediate) → cheats → bought 4 ETH of KRK → navigated to stake → saw "Insufficient Balance" → waited → test timed out. Never staked.

What happened: Tyler bought KRK successfully but when he navigated to the stake page, his KRK balance never appeared in the UI. The StakeHolder component showed "Insufficient Balance" because the wallet composable hadn't refreshed the token balance after the swap + page navigation. He would have left the app.

What he said:

"What's all this 'tax rate' stuff? Too complicated, just want to stake"

"Make staking easier! Just ONE button, not all these options"

"Do I make more money with higher or lower tax? Idk???"

Key insight: Tyler represents the user who will NEVER read docs. He needs a "one-click stake" option with sensible defaults. The tax rate selector is a complete blocker for this persona — he doesn't understand it and has no way to learn.


2.5 Dr. Priya Malhotra — Institutional

Journey: Landing page only. Read it, searched for docs, found none, stopped.

What happened: Priya's test timed out because the balance-loading issue prevented progression. But her feedback from the landing page alone is valuable:

What she said:

"No visible link to technical documentation. For institutional investors, this is essential."

"No audit report link visible. Institutional capital requires multi-firm audits at minimum."

Her questions:

  • "What is the theoretical Nash equilibrium for tax rates?"
  • "Has this undergone formal verification?"
  • "What are the centralization risks? Who holds admin keys? Is there a timelock?"

Key insight: Institutional money won't touch Kraiken until there's a whitepaper, audit report, formal verification, and governance transparency. This is post-launch work, but should be planned.


3. Critical Bugs

3.1 Balance Loading After Swap (LAUNCH BLOCKER)

Impact: Blocked 2/5 users from staking Root cause: After swapping ETH→KRK on the cheats page, navigating to the stake page shows stale balance (0 KRK). The useWallet composable's loadBalance() is only triggered on account/chain changes, not navigation. Partial fix applied: Added loadBalance() call after swap in CheatsView.vue. But the balance still doesn't refresh reliably when navigating between pages. Real fix needed: Either poll the token balance periodically (every 5s), or trigger loadBalance() when StakeHolder mounts, or use wagmi's useBalance with watch: true.

3.2 Ponder/GraphQL Instability

Impact: Crashed during testing, 502 errors. Position verification via GraphQL failed. Severity: Medium — staking works without Ponder, but position display doesn't.

3.3 Browser Crash on Screenshot (Minor)

Impact: Alex's browser crashed during post-stake screenshot. Likely Chromium memory on the VPS, not a real user issue.


4. UX & Copy Findings (Prioritized)

P0 — Must fix before any launch

Finding Who flagged it Fix
No audit badge All 5 personas Add badge + link (even "audit pending")
Tax rate has zero guidance Tyler, Sarah, Alex Tooltip + "Recommended: X%" default
No "What is this?" explanation Alex, Sarah, Priya Landing page explainer section
Balance doesn't refresh after swap Tyler (blocker) Fix wallet composable polling

P1 — Should fix before mainnet

Finding Who flagged it Fix
No APY calculator Sarah, Marcus "Stake X at Y% ≈ Z% APY" widget
"Snatching" sounds hostile Alex, Sarah Rename or add reassuring copy
No contract addresses visible Marcus Display + link to explorer
No getting started guide Alex 3-step onboarding overlay
No comparison to alternatives Sarah "Why Kraiken vs Aave?" section

P2 — Nice to have

Finding Who flagged it Fix
No docs/whitepaper link Priya, Marcus Link to docs site
No mobile notifications Sarah Push/email for snatch events
No FAQ Alex FAQ page or accordion
"Cheat Console" name confusing Alex Rename to "Test Console" for testnet
No team/about page Sarah, Priya About section with team bios

5. Tokenomics Feedback

Questions every persona had:

  1. "What tax rate should I choose?" — Nobody understood the tax rate mechanic without guidance. Marcus gamed it (low tax to test snatching), Sarah maximized safety (high tax), Tyler guessed randomly, Alex panicked.

  2. "Can I get snatched and lose money?" — The snatch mechanic is either exciting (Marcus: "genuine PvP") or terrifying (Alex: "Can I lose my money?"). The answer needs to be front and center.

  3. "What's the APY?" — Sarah compared to Aave (8% risk-free). Without a clear yield estimate, yield farmers can't make a decision.

Persona-specific deep questions:

  • Marcus: "What prevents flash-loaning to manipulate VWAP?" / "What's the minimum profitable tax spread for snatching?"
  • Sarah: "How does 7-day inflation compare to staking returns?" / "Is 15% tax high enough to prevent snatching?"
  • Priya: "What is the Nash equilibrium?" / "Has this undergone formal verification?"
  • Alex: "What is a Harberger Tax?" / "Higher tax = more money or less money? This is backwards from normal taxes!"
  • Tyler: "Do I make more money with higher or lower tax? Idk???"

Key takeaway:

The tax rate mechanic IS the protocol's unique value prop — but it's also its biggest comprehension barrier. A "tax rate explainer" that answers "what should I choose and why" is the single highest-impact content piece you could create.


6. Competitive Positioning

Bear market framing

In a bear market, users prioritize:

  1. Safety (don't lose what I have)
  2. Yield (beat inflation/holding)
  3. Trust (audits, track record)
  4. Novelty (something worth learning)

vs Aave/Compound (Sarah's world)

Sarah's benchmark: "8% on USDC with zero snatch risk." Kraiken's pitch: "Active yield management where YOU control your risk/reward through tax rate selection. Higher engagement = higher returns." But this only works if you can show estimated APY ranges.

vs Memecoins (Tyler's world)

Tyler's benchmark: "Buy low, pump, dump." Kraiken's pitch: "Earn while you hold. Gamified staking where you compete for positions." Tyler would respond to leaderboards, PvP snatch notifications, and "top earner" status.

vs Institutional DeFi (Priya's world)

Priya's benchmark: "Formal verification, multi-sig governance, audit by Trail of Bits." Kraiken's pitch (future): "Novel mechanism design with game-theoretic foundations, published research, formal analysis." Not ready for this audience yet.

Degens discover, yield farmers sustain. Marcus tests the mechanics, finds alpha, tweets about it. Sarah follows with conservative positions once she sees the APY data. Tyler and Alex come later when there's onboarding. Priya comes post-audit.


7. Launch Checklist

Week 1: Fix blockers

  • Fix balance refresh on page navigation (StakeHolder onMountedloadBalance())
  • Add audit badge or "audit in progress" notice
  • Add tax rate tooltip explaining the tradeoff
  • Stabilize Ponder (or gracefully degrade when it's down)

Week 2: Core UX

  • Tax rate explainer page/modal
  • "What is Kraiken?" landing section
  • APY estimate widget (even rough ranges)
  • Display contract addresses with explorer links
  • "What happens if I get snatched?" FAQ entry

Week 3: Onboarding

  • Getting Started guide (3 steps: connect → buy → stake)
  • Default tax rate suggestion for new users
  • "Why Kraiken?" comparison section
  • Rename "Cheat Console" for testnet UX

Week 4+: Growth

  • Snatch notifications (push/email)
  • Snatching ROI calculator
  • Leaderboard / gamification
  • Technical docs / whitepaper link
  • Team/about page

8. Work Items

Task Effort Impact Persona
Fix balance refresh bug S Critical Tyler
Tax rate tooltip S High All
Audit badge / notice S High All
Landing page explainer M High Alex, Sarah
APY calculator widget M High Sarah
Ponder stability M Medium All
Getting Started guide M High Alex
Contract addresses in UI S Medium Marcus
"What if snatched?" copy S Medium Alex, Sarah
Tax rate explainer page M High All
Comparison to Aave S Medium Sarah
Snatch notifications L Medium Sarah
Snatching ROI calculator M Medium Marcus
Docs/whitepaper L Medium Priya
Leaderboard L Low Tyler

S = < 1 day, M = 1-3 days, L = 1 week+


9. Test Artifacts

JSON Reports (per persona)

  • marcus-flash-chen.json — Complete journey, staked
  • sarah-park.json — Complete journey, staked
  • alex-rivera.json — Complete journey, staked (browser crash on final screenshots)
  • tyler-bags-morrison.json — Partial journey, blocked by balance bug
  • dr-priya-malhotra.json — Landing page only, timed out

Screenshots on disk

  • test-results/usertest/tyler/ — 5 screenshots (landing → wallet → cheats → bought → stake page)
  • Marcus, Sarah, Alex screenshots referenced in JSON but from different test runs; some not persisted to disk

Test Infrastructure

  • Playwright E2E suite: tests/e2e/usertest/*.spec.ts (5 persona specs + helpers)
  • Chain state: evm_snapshot/revert between each persona for isolation
  • Balance fix: web-app/src/views/CheatsView.vue (added loadBalance() after swap)

Known test issues

  • Screenshot paths are relative and depend on Playwright's working directory — inconsistent between runs
  • Playwright's 5-minute default test timeout is tight for personas that do many buys
  • evm_revert returns false when snapshot ID is stale (need fresh snapshot each time)

10. Bottom Line

The mechanism works and people find it interesting. Marcus wants to game it (good — that's the design). Sarah wants to optimize it (good — that's the yield). Alex wants to understand it (fixable — add education). Tyler wants it simpler (fixable — add defaults). Priya wants proof it's safe (necessary — add audits).

One sentence: Kraiken has a genuinely novel DeFi mechanism that generates real curiosity across all user types, but it can't launch until users can actually complete the staking flow without hitting bugs, and until the tax rate mechanic is explained well enough that a newcomer can make an informed choice.