TimeCurve: reduce dapp-style user hesitancy (communicate bounded risk) #193
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:open_issues
agents
agent:security_audit
agent:verify
area
timecurve
arena
arena-v2
audit
block:feature_review
block:security
bug
contracts
design
devops
docs
documentation
enhancement
epic
feature
frontend
indexer
low priority
megaeth
operations
ops
performance
QA
qa checklist
referrals
removal
security
smart-contracts
tech-debt
testing
time-arena
timecurve
visual-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/yieldomega#193
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Many DeFi / onchain apps train a high-stakes mental model: the wrong approval, wrong token, wrong pool, or wrong button can move large, unbounded balances. Wallets reinforce this with scary generic warnings. Users therefore default to slow clicks, double-checking everything, and anxiety even when the underlying product is intentionally low-cost and bounded.
TimeCurve is materially different for typical entry paths: participation is designed around small, bounded buy envelopes (min/max CHARM sizing), clear onchain rules, and intentional safeguards rather than “entire wallet at risk” interactions. The gap is perception: first-time visitors still bring general dapp trauma unless we actively teach the lower-risk posture.
This issue tracks UX, copy, and affordances that make safety, security, and low blast radius obvious—without overclaiming (users still sign txs; smart-contract risk remains).
Goal
Ideas (pick / split into child issues)
Bounded risk & “blast radius” copy
Wallet-step anxiety (approve, sign, broadcast)
docs/frontend/wallet-connection.mdor a public FAQ).Progressive depth & competence without overwhelm
Trust, verification, and “serious but not scary”
Mistake recovery & honest failure modes
Social proof without pressure
Research
Related product / docs
docs/frontend/timecurve-views.md(Simple vs Arena vs Protocol).Acceptance (meta)
This umbrella issue should spawn small, implementable child issues (copy tweak vs new component vs doc page). Close this when the team agrees on a v1 “bounded risk” messaging kit shipped on Simple + linked FAQ.
Research follow-up: how other fields reduce high-stakes hesitation
I looked across web3 wallet UX, fintech transfer UX, game onboarding, responsible-gambling controls, ecommerce checkout, and general UX error-prevention guidance. The consistent pattern: users do not become confident because a product says “safe.” They become confident when the product shows the exact consequence, the exact limit, the next step, and the recovery path at the moment of hesitation.
Cross-domain findings
Deeper TimeCurve recommendations
Ship a “bounded blast radius” receipt above the buy CTA.
Show: pay asset, estimated spend, approval cap, CHARM amount, expected DOUB / CL8Y-at-launch framing where applicable, network, destination contract label, and what cannot happen: e.g. “This action cannot spend more than the approved/quoted amount.” Keep smart-contract risk language honest.
Make TimeCurve’s constraints feel like safety rails.
The min/max CHARM envelope should be a visible guardrail meter, not just validation copy. Use language like “This round only accepts buys inside this small envelope” and “Your selected buy is inside the current onchain limit.”
Create a low-stakes first action.
Add a “Start at the floor” or “Try the minimum buy” preset. The point is psychological: users need a successful first tx that proves this is not a whole-wallet DeFi interaction.
Replace generic reassurance with specific consequences.
Avoid empty claims like “safe and secure.” Prefer concrete copy: “You are approving up to X CL8Y for this buy,” “No unlimited approval selected,” “If the transaction reverts, no buy happens,” “Network fees may still apply.”
Use a single wallet-flow stepper.
States should be explicit: “Review in TimeCurve” → “Confirm in wallet” → “Waiting onchain” → “Confirmed” / “Canceled” / “Failed, no buy recorded.” This borrows the best web3 guidance and prevents the user from wondering whether the app froze or the wallet did something scary.
Show “no funds moved” when true.
Revert/failure copy should distinguish between a harmless failed/canceled transaction and a successful state-changing buy. This directly counters catastrophic thinking after a red wallet/app message.
Use timed help for hesitation.
If a user sits on the buy panel after entering an amount, show a small contextual hint after a short delay: “Want the lowest-risk first try? Use the minimum buy preset.” This borrows gaming onboarding without interrupting confident users.
Put verification where funds move.
Contract/explorer links should sit near the review/CTA area with labels like “TimeCurve proxy” and “Buy router,” not just raw addresses. This makes “verify if you want” available without forcing everyone into auditor mode.
Frame limits as product identity.
Suggested tone: “Most dapps make you bring high-stakes caution. TimeCurve is intentionally built around small per-tx limits and exact approvals, so you can participate without putting your whole wallet on the line.” Needs legal/security review, but this is the strategic positioning.
Add session-level reality checks only if buying can become repetitive.
Borrow the casino pattern carefully: after repeated buys or extended activity, show “You’ve spent X today / this session” and make the next action intentional. This reinforces trust and avoids pressure/FOMO dynamics.
Proposed v1 bundle
For the first child issue, I’d prioritize a small bundle on
/timecurveSimple:Sources reviewed: Brave safer signing (https://brave.com/blog/safer-signing/), Web3UX transaction flows (https://web3ux.design/transaction-flows), Circle confirmation UIs (https://developers.circle.com/wallets/user-controlled/confirmation-uis), Plaid Transfer UI (https://plaid.com/docs/transfer/using-transfer-ui/), Roblox onboarding techniques (https://create.roblox.com/docs/production/game-design/onboarding-techniques), BetMGM safer gambling tools (https://www.betmgm.co.uk/safer-gambling/safer-gambling-tools), NN/g user control/freedom (https://www.nngroup.com/articles/user-control-and-freedom/).