ABC — AlphaBetaCigma
A forensic investigation into whether some prediction-market wallets lose on purpose — and whether countertrading them pays.
ABC is a research site, not a product. It asks whether a subset of Polymarket wallets with terrible records are losing deliberately — sacrificing their own money to move a market for a hidden winner cluster — and whether the inverse of those trades survives realistic delay and slippage. The site publishes the thesis, the signals it separates engineered losers from ordinary bad ones by, and a data explorer running pre-registered queries over collected market data. SvelteKit front, FastAPI back, DuckDB over Parquet on a single box with a hard five- gigabyte budget and no daemons. There is no login, no trading interface, and no recommendation to trade.
- SvelteKit
- TypeScript
- Tailwind CSS
- Skeleton UI
- Apache ECharts
- D3
- Python 3.12
- FastAPI
- DuckDB
- Parquet
- Apache
- systemd
ABC starts from an uncomfortable observation: on a prediction market, a wallet losing money badly and publicly may not be a bad trader. Wallet activity is public, copytrading exists, liquidity is thin, and a visible trade changes how everyone else reads the market — which means a loss can be worth buying. Feed exit liquidity to a confederate, manufacture volume, shape sentiment, and a coordinated cluster profits on the other side.
The asymmetry is the interesting part. Winning wallets are deliberately obscured — edge buried under mixed-in losses and split across clusters. The sacrificial losers are sloppier and easier to follow, because nobody expects them to be worth anything. So the sharper question the site sets out to answer is whether countertrading the right loser would beat copytrading any visible winner.
How it separates engineered losers from ordinary bad ones
- Systematic loss — losing in a pattern rather than losing at random.
- Unnatural timing — entries and exits that line up with something other than information.
- Wallet clusters — losses that keep arriving next to the same counterparties.
- Exit liquidity — being reliably on the wrong side of somebody else's unwind.
- Manufactured sentiment — trades whose visible effect on the book outlives their size.
- The inversion test — the only one that settles it: does the mirror of the loser's book still make money once realistic delay and slippage are charged against it?
Small, honest, fits on one box
The engineering constraints were set before the research
started and are part of the argument. Raw market data lands as
Parquet and is queried with DuckDB — a single embedded
analytical file, no database server. A FastAPI service on
localhost answers the explorer's queries and Apache
reverse-proxies /api/* to it; systemd keeps it
alive. The whole thing lives inside a five-gigabyte disk
budget, acquires data in deliberate one-shot runs rather than
on a cron, ships every raster as WebP, and holds a Lighthouse
score of 90+ across performance, accessibility, best practices
and SEO.
What it is not
There is no account system, no admin, no automated ingestion, and no trading interface anywhere in it — the site's own disclaimer is blunt about that. The queries in the explorer are pre-registered so the analysis can't quietly become a fishing expedition, and the conclusions are allowed to be negative.
Straight from the source
The project's own README.
Rendered in place — every link, image, and code block carried over from the repo. The page below is what a contributor would see opening the project for the first time.
ABC — AlphaBetaCigma
Polymarket wallet-forensics and countertrade-backtesting investigation site. Live at https://abc.gamingworld.uk.
We investigate whether prediction-market wallets lose in patterns that look engineered, and whether those losses are systematically invertible after realistic delay + slippage. We do not trade on this data and do not recommend anyone else does. Contact: [email protected]
What this is
Two jobs only:
- Landing page — pitches the idea, cites real sources, explains methodology.
- Data explorer (
/explore) — pre-registered analytical queries over collected Polymarket data.
No logins, no accounts, no admin, no automated ingestion, no trading interface.
Stack
| Layer | Choice |
|---|---|
| Frontend | SvelteKit + Tailwind + Skeleton UI |
| Charts | Apache ECharts |
| Diagrams | Mermaid (flowcharts) + D3 (relationships) |
| API | FastAPI (Python 3.12, uv) |
| Database | DuckDB (single file) |
| Raw store | Parquet under data/raw/ |
| Web server | Apache2 reverse proxy /api/* → :8787 |
Layout
web/ SvelteKit app api/ FastAPI app
data/ raw Parquet + DuckDB scripts/ manual acquisition (Python)
images/ src (originals) + opt (served WebP)
Common tasks
just setup # install web + api deps
just dev # run web + api locally
just build # build static web bundle
just deploy # build + restart api service
just fetch-markets / fetch-trades-sample / fetch-prices-sample
just load-duckdb # scan Parquet -> DuckDB tables + indexes
just size-report # disk budget guard (fails if over)
just lighthouse # perf/a11y/bp/seo audit
Hard constraints
- Total disk footprint always < 5 GB.
- Data acquisition is manual one-shot only — never cron, never daemons.
- Dark theme only. All raster images served as WebP.
- No secrets in source; keys read at runtime from
/var/keys.
Build something like this
Want a tool like this for your shop?
We've shipped this kind of thing before. Twenty-minute intro call, no slides.