What problem does it solve? AI-generated Ethereum dApp frontends repeatedly ship the same UX bugs: buttons that allow double-submission, approval flows that re-enable before onchain confirmation, raw base-unit amounts, missing USD context, and unhandled contract revert errors. This Skill provides mandatory patterns that prevent these failures. ## Core Features & Use Cases - Onchain Button States: Per-action pending states with immediate disable, spinner text, and finally-block release so rejected transactions never lock the UI. - Four-State Action Flow: Enforces the Connect Wallet → Switch Network → Approve → Execute sequence, with approval status read from fresh onchain state. - Approval Gap Handling: Combines a submission flag and a post-confirmation cooldown to close the wallet-to-confirmation and confirmation-to-cache windows where double-submits occur. - Address, Amount, and Error Standards: ENS resolution, explorer links, copy support, USD context for token values, viem formatUnits/parseUnits conversions, and human-readable contract error translation. - Use Case: When building a staking or prediction-market frontend (like a USDC wagering dApp), apply these rules so users never see raw wei values, stuck buttons, or cryptic revert selectors. ## Quick Start Apply the frontend-ux rules to review my Ethereum dApp's transaction buttons, approval flow, and amount displays for common UX bugs.