5.5 KiB
Kraiken User Test Report v2
Date: 2026-02-14
Branch: feat/ponder-lm-indexing
Stack: Local fork (Anvil + Bootstrap + Ponder + Web-app + Landing)
Executive Summary
Two test suites targeting distinct user funnels:
- Test A (Passive Holder): 9/9 passed ✅ — Landing page → Get KRK → Return value
- Test B (Staker): 7/12 passed (3 stake execution timeouts, 2 skipped) — Staking UI evaluation + docs audit
The tests surface actionable UX friction across both funnels. Core finding: the passive holder funnel converts degens but loses newcomers and yield farmers.
Test A: Passive Holder Journey
Tyler — Retail Degen ("sell me in 30 seconds")
| Metric | Result |
|---|---|
| Would buy | ✅ Yes |
| Would return | ❌ No |
| Friction | Landing page is one-time conversion, no repeat visit value |
Key insight: Degens convert on first visit but have no reason to come back. The landing page needs live stats or a reason to revisit.
Alex — Newcomer ("what even is this?")
| Metric | Result |
|---|---|
| Would buy | ❌ No |
| Would return | ❌ No |
| Friction | No beginner explanation, no trust signals, no step-by-step guide, unclear value prop |
Key insight: Newcomers bounce. The landing page assumes crypto literacy. Needs: "What is this?" section, social proof, getting started guide.
Sarah — Yield Farmer ("is this worth my time?")
| Metric | Result |
|---|---|
| Would buy | ❌ No |
| Would return | ❌ No |
| Friction | No APY/yield display, no risk indicators, no audit info, can't verify liquidity, no monitoring tools |
Key insight: Yield farmers need numbers upfront. Without APY estimates, risk metrics, or audit credentials, they won't invest time to understand the protocol.
Test B: Staker Journey
Priya — Institutional ("show me the docs")
Steps completed: Setup ✅, Documentation audit ✅, UI quality ✅, Stake execution ⏱ (timeout)
Documentation Audit:
- ✅ Documentation link visible
- ✅ Found 5 contract addresses — can verify on Etherscan
- ⚠ No copy button for addresses — minor friction
- ✅ Audit report accessible
- ⚠ Protocol parameters not displayed
- ⚠ No source code link (Codeberg/GitHub)
UI Quality:
- ✅ Found 39 precise numbers — good data quality
- ⚠ No indication if data is live or stale
- ✅ Input validation present
- ✅ Clear units on all values
Marcus — Degen/MEV ("where's the edge?")
Steps completed: Setup ✅, Interface analysis ✅, Stake execution ⏱ (timeout)
Sarah — Yield Farmer ("what are the risks?")
Steps completed: Setup ✅, Risk evaluation ✅, Stake execution ⏱ (timeout)
Note: Stake execution tests timeout because the test wallet interaction (fill amount → select tax → click stake) doesn't match the actual UI component structure. This is a test scaffolding issue, not a UX issue.
Findings by Priority
🔴 Critical (Blocking Conversion)
- No APY/yield indicator on landing page — Yield farmers and passive holders need a number to anchor on. Even "indicative rate" or "protocol performance" would help.
- No beginner explanation — Newcomers have zero context. Need a "What is Kraiken?" section in plain English.
- Landing page is one-time only — No reason to return after first visit. Protocol Health section exists but needs real data.
🟡 Important (Reduces Trust)
- No audit/security credentials visible — Sarah and Priya both flagged this. Link to audit report, bug bounty, or security practices.
- No source code link — Institutional users want to verify. Link to Codeberg repo.
- Data freshness unclear — Priya noted: "No indication if data is live or stale." Add timestamps or "live" indicators.
- No copy button for contract addresses — Minor but Priya flagged it for verification workflow.
🟢 Nice to Have
- Protocol parameters not displayed — Advanced users want to see CI, AS, AW values.
- Step-by-step getting started guide on landing — Exists on docs but not on landing page.
- Social proof / community links — Tyler would convert faster with Discord/Twitter presence visible.
Recommendations
For Passive Holders (Landing Page)
- Add indicative APY or protocol performance metric (even with disclaimer)
- Add "What is Kraiken?" explainer in 2-3 sentences for newcomers
- Make Protocol Health section show live data (holder count, ETH reserve, supply growth)
- Add trust signals: audit link, team/project background, community links
- Add "Last updated" timestamps to stats
For Stakers (Web App)
- Add copy button next to contract addresses
- Add data freshness indicator (live dot, last updated timestamp)
- Link to source code (Codeberg repo)
- Display protocol parameters (current optimizer settings)
For Both
- The ProtocolStatsCard component was built (commit
a0aca16) but needs integration into the landing page with real Ponder data - Bootstrap V3 swap is broken (sqrtPriceLimitX96=0 gives empty swap) — not blocking for mainnet but blocks local testing
Test Infrastructure Notes
- buyKrk helper uses direct KRK transfer from deployer (Anvil #0) — V3 pool swap broken on local fork due to pool initialization at min tick
- Stake execution tests need UI component alignment — test expects
getByLabel(/staking amount/i)but actual component may use different structure - Chain snapshots work correctly for state isolation between personas
- Test A is fully stable and can be run as regression