Submission ledger · Manic Trade bounty, stage 0

Every field, and what backs it

The exact values entered on the sponsor form and on each Typeform submission, recorded so a reviewer can match a report to its evidence without asking. The written report is at huntstamp-findings.vercel.app; the captured screenshots and raw measurements are in the evidence locker.

Sponsor form

Values as entered, so the sponsor can match the Typeform reports to this account.

Submission link
https://huntstamp-findings.vercel.appPublic, no authentication. Verified anonymously at HTTP 200.
Tweet link
—Left empty. This is not an X thread bounty.
Typeform email
nayrbryangaming01@gmail.comThe address used on all sixteen Typeform submissions, so the sponsor can match them to this entry.
Manic account
nayrbryangaming3@gmail.com
Polymarket deposit address
AdXEHNYtN26dmp7G9eAnjmDbQJG9wDuHS4v7BB1MWwEfA receive address, published here deliberately because the sponsor asked for it as an identifier. It holds nothing; no deposit was made at any point during testing.

Anything Else — corrected text

Use this rather than the earlier draft. The reason for the change is set out directly below it.

All findings were first observed against deployment dpl_74W5o38E8FQjJUZ2DYo5PFDHEsLs on
3 September 2026, Chromium 148 on Windows 11, at 1440x900 and 375x812. Manic shipped a
newer build, dpl_C3bXHquKbKr1sjn9WpRtDt8MWfce, partway through the session, and every
finding was then re-checked against it by an automated Playwright pass. The screenshots
and raw measurements from that pass are published alongside the report.

Sixteen findings filed separately through the Typeform.

The two with the most weight, both re-confirmed on the newer build:

- A market marked Resolved, with its order book closed and a final score of 2-6 on
  screen, still advertises Settlement Time: Sep 9, 3:00 PM UTC. The match was played
  on 2 September, which the event slug itself records. A user checking when funds are
  released is given a date with no relation to a settlement that already happened.

- /pm stops resolving to the market directory once any event has been opened. The cause
  is localStorage 'pm-events-store', which restores the stored event and rewrites the
  address bar. Removing that key restores the directory, so the root cause is isolated
  rather than just the symptom. This is the entry point named in the bounty brief, so
  anyone following a documentation link to /pm lands somewhere else.

Two findings were withdrawn rather than filed. Both withdrawals are documented in the
report rather than deleted:

- Mobile subcategory chips appeared non-functional. Re-testing showed the cause was my
  automation harness, not the application.

- I measured the /pm load event at 94s and then 136s through an instrumented browser and
  had written it up as a performance defect. An automated run on the same machine and
  connection then loaded the same route with loadEventEnd at 1,581ms and TTFB at 57ms.
  The slow figures were an artefact of my environment. The route does request 115 JS
  chunks, but that is an observation, not a defect on this evidence.

One further finding is filed with its frequency answered honestly as "only happened
once": a settled market rendering two contradictory price sets, one pair summing to
101%. The capture is verbatim and the build id is recorded, but it did not reproduce on
re-test, so triage should expect that.

This session ran entirely as a logged-out guest. No funds were deposited and no orders
were placed. Deposits, order placement, positions, balances and settlement crediting all
require a funded account with real USDC at risk, and none of that was exercised. That is
where this programme's P0 weight sits, and it remains untested.

Testing was AI-driven browser automation rather than manual QA. Stated up front, because
every finding rests on reproduction steps your own team can run.

Report:   https://huntstamp-findings.vercel.app
Evidence: https://huntstamp-findings.vercel.app/evidence.html
Ledger:   https://huntstamp-findings.vercel.app/submission.html

Why the third bullet was removed

The earlier draft led with a performance claim: loadEventEnd at 94s and then 136s, against a same-session control load of 1.3s. That measurement was real, but it was not measuring the application. An automated Playwright run on the same machine and the same connection loaded the same route with loadEventEnd at 1,581 ms and TTFB at 57 ms, with the same 115 chunks.

The programme excludes issues caused by the reporter's own device or network. Sending that bullet to a CTO invites them to measure it themselves, find a second and a half, and discount the rest of the report by association. Removing it costs one finding and protects the other sixteen.

Per-finding ledger

Sixteen to file, two withdrawn. Status reflects the automated re-test against the newer build. The capture column names the screenshot backing it in the evidence locker.

#IDFindingRe-testCapture
01F-02Contradictory price sets on a settled market, one pair summing to 101%Once only—
02F-01The /pm entry URL hijacked by a stored tabHoldsF-01
03F-10Slow page loadWithdrawn—
04F-03Settlement date a week after the event it settlesHoldsF-03
05F-04Unpriced outcome with both buy buttons enabledTransient—
06F-05Resolved market promoted in Trending with live controlsHoldsF-05
07F-12A category click silently discards the search queryHoldsF-12a, F-12b
08F-14Empty state with no reset, and the filter off-screen on mobileHoldsF-14
09F-15Inactive responsive layout stays focusable at zero sizeCount variesF-05
10F-07Prop labels repeat the event title and truncate identicallyHolds, 48 rowsF-07
11F-16Nav still reads "August Rewards" in SeptemberHoldsF-16
12F-06A whole-number price rendered as 100.0%Not reproduced—
13F-08Zero volume renders as -- Vol rather than $0Holds, 13 rowsF-07
14F-09Landing-page hero preloaded on the trading route, warned 16 timesHoldsconsole.log
15F-11The same candidate spelled two ways on two cards visible at onceHoldsF-05
16F-13Zero-count subcategories offered as selectable filtersHoldsF-14
17F-17Clipboard overwritten by a click on empty grid spaceOnce only—

Answers repeated on every Typeform submission

FieldValue
Device, browserDesktop PC / Windows 11 build 26200 / Chromium 148 / no wallet connected, logged-out guest session
When3 September 2026, 04:00–09:48 UTC
No secrets, no disclosureAccepted. Nothing secret was included, nothing was exploited repeatedly or disclosed publicly, and Manic is welcome to reproduce and follow up.
Created with AI, no manual testingAccepted. AI-driven browser automation against the live application: real page loads, real DOM reads, real timings, no manual QA pass and no funded account.

What no amount of automation could cover

Deposits, order placement, order matching, positions, balances, withdrawal and settlement crediting all require a funded account with real USDC at risk. None of it was touched. On a real-money venue that is exactly where the severe defects live, so this report should be read as covering the surface a logged-out visitor can reach and nothing beyond it.

The screenshot upload on each Typeform submission is the one field that had to be filled by hand, from the captured PNGs. Producing an image of evidence that was never photographed would be fabricating evidence, which is the specific thing these programmes screen for.