QA report: external/duude.fun at hosted
Core token creation fails due to contract execution reverts, and the market exploration page cannot load tokens.
Testing exercised 12 scenarios across token launch workflows, input validations, market discovery, token detail rendering, and creator profile management. Seven scenarios passed, three failed, and two were blocked before deployment transactions could be completed.
Critical and high-severity issues affect core application functionality. Token creation fails on submission with an estimateGas contract revert error, preventing users from launching tokens. The explore market page also fails to load or search existing listings, remaining stuck or returning empty states. Additionally, the launch form permits negative values in the initial buy amount field without client-side validation.
Because primary token deployment and discovery flows are currently non-functional, the platform cannot support standard user operations until the underlying contract reverts and market query failures are resolved.
Run summary
| Metric | Count |
|---|
| Scenarios executed | 12 |
| Passed | 7 |
| Failed | 3 |
| Blocked | 2 |
| Findings raised | 3 |
| Issues after the audit | 3 |
| Withdrawn by the audit | 0 |
| Critical / high / medium / low | 1 / 1 / 1 / 0 |
Target: https://duude.fun/ · Testing level: deep_feature · Stack: unknown
Issues
Critical severity
F1 · Token creation fails with estimateGas contract revert error on /launch
Severity: critical · Type: functional · Verdict: confirmed · Scenario: S1
I navigated to /launch, entered the token [redacted] ('Mega Doge', 'MDOGE', 'The greatest doge...'), and clicked 'LAUNCH TOKEN'. An error toast appeared exactly as reported: 'missing revert data (action=\"estimateGas\", data=null, reason=null, transaction={...})'. The token was not deployed. The page reported 9 console errors during the scenario.
Expected: The token deployment transaction is estimated, prompted, and submitted successfully, redirecting to the token detail page or showing a successful launch notification.
Actual: The action fails with an error toast 'missing revert data (action="estimateGas", data=null, reason=null, transaction={...})' and the token is not launched.
Steps to reproduce:
- Navigate to https://duude.fun/launch
- Enter 'Mega Doge' into the Token Name field
- Enter 'MDOGE' into the Ticker field
- Enter 'The greatest doge to enter the meme arena.' into the Lore / Description field
- Click the 'LAUNCH TOKEN (1 USDC)' button
Evidence: screenshots/S1-2.png, screenshots/S1-9.png, screenshots/S1-12.png
High severity
F3 · Explore market page fails to load and search existing tokens
Severity: high · Type: functional · Verdict: confirmed · Scenario: S8
After navigating to /explore and typing 'SVAKI' into the search input, the page displays 'Loading markets...' and fails to render any token [redacted] The page reported 9 console errors during the scenario.
Expected: Market cards matching the search term (e.g., SVAKI) are fetched and displayed.
Actual: The page remains stuck on 'Loading markets...' indefinitely or displays 'No tokens found.' without rendering token cards.
Steps to reproduce:
- Navigate to https://duude.fun/explore
- Type 'SVAKI' into the 'Search tokens...' input field
- Observe the market card results area
Evidence: screenshots/S8-2.png, screenshots/S8-14.png
Medium severity
F2 · Initial Buy (USDC) input allows negative values without validation
Severity: medium · Type: functional · Verdict: confirmed · Scenario: S6
The observation verifies that the form accepts '-5' and dynamically updates the submission payload without raising any client-side validation error. The page reported 3 console errors during the scenario.
Expected: The form should validate that the initial buy amount is at least the minimum required (>= 1 USDC) and reject negative or invalid numbers with a validation error message.
Actual: Negative values like '-5' are accepted into form state without client-side validation, updating the launch button to 'LAUNCH TOKEN (-5 USDC)' and the preview card to '-5 USDC'.
Steps to reproduce:
- Navigate to /launch
- Enter a valid Token Name, Symbol, and Description
- Enter '-5' into the Initial Buy (USDC) input
- Observe the submission button and preview card accept '-5 USDC'
- Click the 'LAUNCH TOKEN (-5 USDC)' button
Evidence: screenshots/S6-3.png, screenshots/S6-12.png
Scenario results
| Scenario | Priority | Result | Issues |
|---|
| S1 Launch token with strictly required fields | high | fail | F1 |
| S2 Launch token with social metadata and initial buy | high | blocked (Ran out of tool call budget while populating the form before submitting deployment and observing contract feedback.) | none |
| S3 Launch token with vesting beneficiary | high | blocked (Tool-call budget of 15 turns was exhausted before the deploy transaction could be triggered and verified.) | none |
| S4 Form validation for missing required fields | high | pass | none |
| S5 Form validation for invalid beneficiary address | medium | pass | none |
| S6 Form validation for invalid initial buy amount | medium | fail | F2 |
| S7 Add multiple vesting beneficiaries | medium | pass | none |
| S8 Token discoverability via Explore search | medium | fail | F3 |
| S9 Token detail page rendering | medium | pass | none |
| S10 Creator profile displays deployed tokens | medium | pass | none |
| S11 Edit creator profile username | low | pass | none |
| S12 Verify Liquidity page access | low | pass | none |
The audit
The Critic reviewed 3 findings and re-verified 4 of them live in the browser, replaying the reported steps on a fresh page.
- S9 contains contradictory observations regarding whether it initially displayed a 'Token Not Found' message or successfully rendered the token [redacted] page.
- Scenarios S2 and S3 were blocked due to running out of tool call budgets, likely caused by slow application responses or inefficient test harness workflows.
- A widespread '429 Too Many Requests' and RPC 'CALL_EXCEPTION' problem plagues almost all scenarios, indicating severe systemic issues with testnet nodes or application rate-limiting.
- A possible defect in S9 ("Token [redacted] fetch blocked by CORS policy on detail page") was not promoted: the live replay came back inconclusive.
- A possible defect in S9 ("Token [redacted] fetching fails with contract call exception") was not promoted: the live replay came back not-reproduced.
What to fix first
- Resolve the contract revert error during estimateGas execution on the token launch flow (F1).
- Fix token data loading and search handling on the Explore market page (F3).
- Add client-side input validation to prevent negative numbers in the Initial Buy field (F2).
Coverage and caveats
In scope: Token Launch form and its field validations; Token creation with optional metadata and initial buys; Vesting beneficiary configuration; Post-launch lifecycle (Creator profile, Explore search, Token detail view).
Not covered: Arena live chat and battles (out of focus for token launch deep feature); Tasks and gamified XP (unrelated to the token creation lifecycle).
- The injected test wallet automatically approves web3 transactions or presents a standard prompt the Tester can handle.
- The creator address 0x846966A88A124878B97f23d665528Bde021C6a65 belongs to the injected wallet or is publicly viewable.
- CORS errors and CALL_EXCEPTIONs noted in the AppMap may cause failures in data fetching, which the tests will legitimately report as defects if the UI fails to render.
- S2 could not be executed: Ran out of tool call budget while populating the form before submitting deployment and observing contract feedback..
- S3 could not be executed: Tool-call budget of 15 turns was exhausted before the deploy transaction could be triggered and verified..
By the numbers
| Metric | Value |
|---|
| Scenarios | 7 passed, 3 failed, 2 blocked of 12 (43 planned steps) |
| Browser actions | 236 (31 clicks, 39 inputs, 48 navigations, 118 snapshots) |
| Screenshots | 37 (4 explore, 30 scenario, 3 critic), 30 captioned |
| Coverage | 9 pages, 3 forms, 5 flows, 38 console errors |
| Audit | 3 findings, 4 re-verified live, 3 confirmed, 0 promoted, 0 withdrawn |
| Model calls | 217 |
| Tokens | 1,163,063 input, 12,414 output, 19,269 thinking |
| Time | 12 min |
| Wallet | 1 transactions, 0 signatures, 0 refusals on chain 5042002 |
| Stage | Calls | Input | Output | Thinking | Seconds |
|---|
| explore | 27 | 152,082 | 2,581 | 908 | 117 |
| plan | 1 | 8,109 | 2,119 | 3,481 | 41 |
| test | 163 | 905,392 | 5,804 | 8,450 | 392 |
| critique | 25 | 95,679 | 1,644 | 5,795 | 132 |
| report | 1 | 1,801 | 266 | 635 | 9 |