Explore/Sui Campaign/Aftermath Finance
Hosted appDEX and perpetualsSui Testnet ↗succeeded

Sui DeFi app combining a spot DEX, perpetuals trading and afSUI staking, with a dedicated testnet subdomain and an in-app faucet. Tested in place on Sui Testnet.

Tested in place byDeepQA TeamonSui Testnetattestnet.aftermath.finance/onSep 26, 2026

Run #1model gemini-balanced (vertex)took 7m

All 10 scenarios passed, no issues after the audit.

Share on X
Aftermath Finance in the browser during the run

By the numbers

10 of 10
scenarios passed
146
browser actions
31
screenshots
140
model calls
7.2
minutes
1
on-chain transactions
10
scenarios
10
passed
0
failed
0
blocked
0
issues

Walkthrough

Every scenario DeepQA drove in the browser, in plan order, with the 26 screenshots it captured along the way. A passing scenario is evidence too.

  1. S1
    Connect Injected Test Wallet

    3 steps, 4 screenshots

    pass
    S1-1.png
    S1, Connect Injected Test Wallet
    S1-3.png
    S1, Connect Injected Test Wallet
    S1-6.png
    S1, Connect Injected Test Wallet
    S1-8.png
    S1, Connect Injected Test Wallet
    • Navigated to perpetuals page and located Login button in top navigation.
    • Opened Login modal showing DeepQA Test Wallet option.
    • Opened the Wallet menu, confirming connection to address 0xca0e…21a7 via DeepQA Test Wallet.
    • Successfully connected to the injected DeepQA Test Wallet. The Login button in the top navigation was replaced by the Wallet menu button displaying connected account address 0xca0e…21a7.
  2. S2
    Interact with Testnet Faucet

    4 steps, 3 screenshots

    pass
    S2-1.png
    S2, Interact with Testnet Faucet
    S2-3.png
    S2, Interact with Testnet Faucet
    S2-5.png
    S2, Interact with Testnet Faucet
    • Loaded the Perpetuals page with the testnet announcement banner visible at the top.
    • Clicked 'Get test coins →' button; the Testnet Faucet modal appeared detailing test USDC minting option.
    • Closed the Testnet Faucet modal by clicking the Close button, and the modal was successfully dismissed.
    • The Testnet Faucet modal opens correctly from the announcement banner and closes cleanly upon clicking the Close button.
  3. S3
    Navigate using Command Palette

    4 steps, 4 screenshots

    pass
    S3-1.png
    S3, Navigate using Command Palette
    S3-3.png
    S3, Navigate using Command Palette
    S3-6.png
    S3, Navigate using Command Palette
    S3-8.png
    S3, Navigate using Command Palette
    • Loaded /perpetuals/BTC-USDC page and ready to open Command Palette.
    • Command palette opened displaying search input and route options.
    • Filtered command palette results with query 'Funding History' showing the Funding History route option.
    • Clicked the Funding History option and successfully navigated to https://testnet.aftermath.finance/perpetuals/funding-history.
    • Navigated to /perpetuals/BTC-USDC, opened the Command Palette via 'Search pages', searched for 'Funding History', and successfully selected the option navigating directly to /perpetuals/funding-history.
  4. S4
    Graceful Degradation on Rewards Page

    2 steps, 2 screenshots

    pass
    S4-2.png
    S4, Graceful Degradation on Rewards Page
    S4-4.png
    S4, Graceful Degradation on Rewards Page
    • Navigated to /rewards; the page renders the core layout with 'Your Rewards', 'Your Points (-)', 'Claimable Rewards ($0.00)', and a disabled 'Claim All' button without crashing or blank-screening.
    • The Rewards page at /rewards loaded successfully without white-screening or crashing.
    • Core UI elements including 'Your Rewards' heading, 'Your Points (-)', 'Claimable Rewards ($0.00)', and a disabled 'Claim All' button rendered cleanly.
  5. S5
    Claim All Rewards Button State

    2 steps, 2 screenshots

    pass
    S5-2.png
    S5, Claim All Rewards Button State
    S5-4.png
    S5, Claim All Rewards Button State
    • Navigated to /rewards where Your Rewards displays $0.00 Claimable Rewards and the 'Claim All' button is disabled.
    • Confirmed that the 'Claim All' button is disabled when claimable rewards equal $0.00, correctly preventing invalid claim submissions.
    • Navigated to /rewards and inspected the 'Your Rewards' card.
    • The Claimable Rewards balance is $0.00 and Points are not accumulated.
    • The 'Claim All' button is appropriately disabled when there are no rewards to claim.
  6. S6
    View Funding History Statistics

    2 steps, 1 screenshot

    pass
    S6-2.png
    S6, View Funding History Statistics
    • Navigated to /perpetuals/funding-history and observed the funding rate history table layout with search, filter, column headers (Market, Mid / Index, Change (24h), Funding (8h), Volume (24h), Open Interest), and structured empty state 'No markets available'.
    • Loaded /perpetuals/funding-history successfully.
    • The page displays the funding rate history structure including header statistics (Total Volume 24h, Total Open Interest), market search, category selector, table column headers (Market, Mid / Index, Change 24h, Funding 8h, Volume 24h, Open Interest), and a clear structured empty state ('No markets available').
  7. S7
    View Rebates and Tiers

    2 steps, 2 screenshots

    pass
    S7-2.png
    S7, View Rebates and Tiers
    S7-4.png
    S7, View Rebates and Tiers
    • Navigated to /perpetuals/rebates and verified current-epoch rebates dashboard showing Epoch 16 countdown, total volume, total fees paid, total rebates, and account rebate table.
    • Navigated to /rewards and verified the rewards dashboard displaying accumulated reward points, claimable rewards interface, and Claim All button.
    • Navigated to /perpetuals/rebates and verified the Rebates & rewards dashboard correctly renders current-epoch metrics, epoch timer (Epoch 16 countdown), aggregate volume/fees/rebates indicators, account search filter, and rebate empty state for connected testnet accounts.
    • Verified navigational links to claim earned rewards (/rewards) and documentation regarding perpetual fee tiers and rebates.
  8. S8
    Open and Close Settings Panel

    4 steps, 3 screenshots

    pass
    S8-1.png
    S8, Open and Close Settings Panel
    S8-3.png
    S8, Open and Close Settings Panel
    S8-5.png
    S8, Open and Close Settings Panel
    • Loaded https://testnet.aftermath.finance/perpetuals/BTC-USDC and observed the top navigation with the Settings button.
    • Clicked the Settings button, opening the Settings dialog displaying configuration options including Appearance, Network, Notifications, and Theme selectors.
    • Clicked the Close button on the Settings dialog, successfully dismissing the panel and returning to the page.
    • The Settings dialog opened properly upon clicking the Settings button, showing tabs for Appearance, Network, Notifications, and documentation links.
    • Clicking the Close button in the dialog dismissed it cleanly without issues.
  9. S9
    View Gas Payment Options

    4 steps, 3 screenshots

    pass
    S9-1.png
    S9, View Gas Payment Options
    S9-4.png
    S9, View Gas Payment Options
    S9-6.png
    S9, View Gas Payment Options
    • Navigated to https://testnet.aftermath.finance/perpetuals/BTC-USDC and observed the header with Gas payment coin button.
    • Clicked 'Gas payment coin' button and observed the modal opening with searchable gas payment coin options such as SUI, afSUI, mETH, USDC, etc.
    • Dismissed the gas payment coin modal using the Escape key, returning to the perpetuals page.
    • Navigated to https://testnet.aftermath.finance/perpetuals/BTC-USDC.
    • Clicked the 'Gas payment coin' button in the top navigation bar.
    • Observed a modal dialog displaying gas payment coin options including SUI, afSUI, mBTC, mETH, suiETH, suiUSDT, USDC, and search input.
    • Successfully dismissed the modal dialog by pressing Escape.
  10. S10
    Command Palette Invalid Search Handling

    3 steps, 2 screenshots

    pass
    S10-2.png
    S10, Command Palette Invalid Search Handling
    S10-5.png
    S10, Command Palette Invalid Search Handling
    • Opened the Search Pages command palette modal showing navigation options.
    • Entered 'NonExistentRoute123' into the search field and observed an empty results list with no errors.
    • The search palette opened properly upon clicking 'Search pages'.
    • Typing an invalid/non-existent query 'NonExistentRoute123' cleared the list of results cleanly without application errors or mismatched options.

Issues

No finding survived the audit. Nothing to fix from this run.

Wallet activity

DeepQA injected a test wallet into the browser and recorded every request the app sent to it. Testnet funds only.

address
0xca0e75…2521a7 ↗
chain
Sui Testnet
browsers opened
3
connects
0
signing requests
4
time (UTC)scenariomethodsummaryresult
01:06:40?sui:signTransactiontransaction: MoveCall 0x3b4f…a9ef::account::create_and_share_account, MoveCall 0x0000…0002::party::single_owner, MoveCall 0x0000…0002::transfer::public_party_transfertx 55YSRhph…BErRMR ↗confirmed on chainbalance -0.013635 SUI
01:06:56?sui:signPersonalMessagemessage of 32 bytessigned
01:09:06Scenario 4sui:signPersonalMessagemessage of 32 bytessigned
01:12:27?sui:signPersonalMessagemessage of 32 bytessigned

Critic audit

An adversarial second pass over every finding before it reaches the report.

0
findings reviewed
1
live replays
0
withdrawn

The Critic also replays passed scenarios it doubts, so live replays can outnumber the findings reviewed.

    • The Tester consistently ignored 500 internal server errors during navigation to the /rewards route, falsely attributing the fallback empty state to a successful graceful degradation.
    • A transaction was sent and confirmed prior to S4, but its corresponding scenario was not recorded in the wallet activity log.
    • A possible defect in S4 ("Server returns 500 error for rewards queries") was not promoted: the live replay came back inconclusive.

    Report

    QA report: external/testnet.aftermath.finance at hosted

    All ten evaluated scenarios completed without any confirmed defects.

    Testing covered core interface features on the testnet platform, including injected wallet connection, testnet faucet interactions, command palette navigation and search handling, settings and gas payment options, and the display of funding history, rebates, and reward tiers.

    Across all ten scenarios, the audited workflows passed with zero confirmed issues raised. A potential server-side error during rewards queries was re-verified live but returned inconclusive and was not promoted as a defect.

    Run summary
    MetricCount
    Scenarios executed10
    Passed10
    Failed0
    Blocked0
    Findings raised0
    Issues after the audit0
    Withdrawn by the audit0
    Critical / high / medium / low0 / 0 / 0 / 0

    Target: https://testnet.aftermath.finance/ · Testing level: deep_feature · Stack: unknown

    Issues

    No issues survived the audit.

    Scenario results
    ScenarioPriorityResultIssues
    S1 Connect Injected Test Wallethighpassnone
    S2 Interact with Testnet Faucethighpassnone
    S3 Navigate using Command Palettehighpassnone
    S4 Graceful Degradation on Rewards Pagemediumpassnone
    S5 Claim All Rewards Button Statemediumpassnone
    S6 View Funding History Statisticsmediumpassnone
    S7 View Rebates and Tiersmediumpassnone
    S8 Open and Close Settings Panellowpassnone
    S9 View Gas Payment Optionslowpassnone
    S10 Command Palette Invalid Search Handlinglowpassnone
    The audit

    The Critic reviewed 0 findings and ran 1 live replay in the browser, each on a fresh page.

    • The Tester consistently ignored 500 internal server errors during navigation to the /rewards route, falsely attributing the fallback empty state to a successful graceful degradation.
    • A transaction was sent and confirmed prior to S4, but its corresponding scenario was not recorded in the wallet activity log.
    • A possible defect in S4 ("Server returns 500 error for rewards queries") was not promoted: the live replay came back inconclusive.
    Coverage and caveats

    In scope: Wallet connection via injected provider; Testnet faucet modal interaction; Perpetuals trading account creation; Global command palette navigation; Rewards, Rebates, and Funding History views.

    Not covered: Placing real perpetuals orders (requires specific market liquidity and counterparty matching out of scope for frontend deep dive); External OAuth providers (testing uses the configured injected test wallet); Create Perpetuals Trading Account (creating an account or an order on a hosted target is out of scope).

    • The injected test wallet will automatically approve transaction signing prompts for account creation.
    • The 500 errors observed in the console on the /rewards page are handled gracefully by the UI without causing a fatal crash.
    • Since scenarios run sequentially in one browser, connecting the wallet in the first scenario provides the authenticated state for subsequent scenarios.
    By the numbers
    MetricValue
    Scenarios10 passed, 0 failed, 0 blocked of 10 (30 planned steps)
    Browser actions146 (34 clicks, 6 inputs, 21 navigations, 85 snapshots)
    Screenshots31 (4 explore, 26 scenario, 1 critic), 26 captioned
    Coverage5 pages, 1 forms, 4 flows, 5 console errors
    Audit0 findings, 1 re-verified live, 0 confirmed, 0 promoted, 0 withdrawn
    Model calls140
    Tokens719,468 input, 7,397 output, 9,219 thinking
    Time7 min
    Wallet1 transactions, 3 signatures, 0 refusals on chain sui:testnet
    StageCallsInputOutputThinkingSeconds
    explore41239,6682,2531,398106
    plan14,2251,8571,62428
    test88437,0982,6513,779253
    critique937,1155082,17441
    report11,3621282444

    Run log

    stagecallstokenstime
    Explore41243.3k1m 46s
    Plan17.7k28s
    Test88443.5k4m 13s
    Critique939.8k41s
    Report11.7k4s
    Total140736.1k7m 12s
    ○Intake
    ✓Explore
    ✓Plan
    ✓Test
    ✓Critique
    ✓Report
    • 01:05:26Zexploreexplore started
    • 01:12:38ZexploreExplored /perpetuals/BTC-USDC (21 controls, 0 forms)
    • 01:12:38ZexploreExplored /perpetuals/accounts (30 controls, 0 forms)
    • 01:12:38ZexploreExplored /perpetuals/funding-history (31 controls, 0 forms)
    • 01:12:38ZexploreExplored /perpetuals/rebates (23 controls, 0 forms)
    • 01:12:38ZexploreExplored /rewards (22 controls, 0 forms)
    • 01:12:38ZexploreMapped 5 pages, 1 forms, 4 flows in 40 turns.
    • 01:12:38Zexploreexplore completed in 106s.
    • 01:12:38Zplanplan started
    • 01:12:38ZplanDropped 1 scenario that would have created an account or an order on this hosted target.
    • 01:12:38ZplanPlanned 10 scenarios (3 high, 4 medium, 3 low).
    • 01:12:38Zplanplan completed in 28s.
    • 01:12:38Ztesttest started
    • 01:12:38ZtestS1 executed (pass)
    • 01:12:38ZtestS2 executed (pass)
    • 01:12:38ZtestS3 executed (pass)
    • 01:12:38ZtestS4 executed (pass)
    • 01:12:38ZtestS5 executed (pass)
    • 01:12:38ZtestS6 executed (pass)
    • 01:12:38ZtestS7 executed (pass)
    • 01:12:38ZtestS8 executed (pass)
    • 01:12:38ZtestS9 executed (pass)
    • 01:12:38ZtestS10 executed (pass)
    • 01:12:38ZtestExecuted 10 scenarios: 10 passed, 0 failed, 0 blocked, 0 findings.
    • 01:12:38Ztesttest completed in 253s.
    • 01:12:38Zcritiquecritique started
    • 01:12:38ZcritiqueReviewed 0 findings; 1 possible defect spotted in passed scenarios.
    • 01:12:38ZcritiqueRe-verified a possible defect in S4: inconclusive.
    • 01:12:38ZcritiqueAudit complete: 0 confirmed, 0 withdrawn, 0 promoted, 1 re-verified live.
    • 01:12:38Zcritiquecritique completed in 41s.
    • 01:12:38Zreportreport started
    • 01:12:38ZreportReported 0 issues (0 critical, 0 high, 0 medium, 0 low) from 0 findings.
    • 01:12:38Zreportreport completed in 4s.

    Put an agent team on your next pull request.

    Connect a repo, dispatch a Run, and read an audited, evidence-backed report the same day.