Polimetric

Charts and markets for how election results affect the economy and other metrics

Polimetric

Created At

ETHGlobal Cannes 2026

Project Description

Polimetric is a dashboard for conditional prediction markets on economic or controversial metrics, split by election outcome. For each upcoming election (for now, US midterms, Brazil, Spain, France), it shows a table where columns are possible winners and rows are metrics like GDP, unemployment, housing prices, inflation, crime rates, and national debt.

Each cell is a live on-chain conditional scalar market price from Seer on Gnosis Chain, showing what traders think that metric will be if that party wins. Click a metric and you get a historical chart going back to 2010, with colored bands showing who was in power during each period, so you can see the actual track record. Hover an outcome and a projection line draws from the latest data point to the market's prediction. Every market links directly to Seer for trading with real money.

Adding a new election is just a data folder: obtain historical metrics to set reference values and reasonable bounds, fill out a JSON template defining each metric, its question, and its range, then run scripts to create the on-chain markets and provision liquidity. For the frontend, you add the data source config, such as FRED series IDs, API endpoints, or CSV files.

The underlying collateral of the markets is sDAI, which is a yield-bearing asset and so long-term positions are protected against inflation.

How it's Made

Stack: Next.js, React, Tailwind, Recharts, viem, deployed on Vercel. Deploy scripts in TypeScript, viem. Heavy assistance of Claude Code but with a clear idea upfront.

The market scripts took 1st night and 1st morning until the liquidity was not being wasted. Seer conditional markets were tricky, even though I'm only nesting scalar markets inside the categorical of the election. The liquidity provisioning script took a lot of hand holding the AI to get the tick math right and actually utilize the liquidity properly. One of the first runs had a crash and I had to vibe a recovery script looking at events in which LP position NFTs were created.

Originally I wanted to show two charts, the main one currently visible, and the market price history for each conditional metric. But Seer API broke, and the SwaprV3 subgraph was bugged with tradePrice0 = 0, which spiraled into a 3h rabbit hole chatting with a Seer dev to try and fix the API, costing time. So instead, prices are only visible in the present (unless you go to the Seer site) by calling the SwaprV3 pool contracts directly on Gnosis chain by reading the sqrtPriceX96.

A lot of time went into making the chart feel right, it's the core of the app. Contains historical data, colored ruling period bands, and the conditional projections. Rendering this info without messing up the code required abstracting into a reusable format, since I knew I'd want to add more elections soon afterwards.

On gathering the metrics: I had to choose which metrics to include, since interesting and controversial political topics are hard to measure. So I went for some general ideas, and grabbed the historical data so I could be careful about the bounds for each market. Collecting election data and historical ruling periods across four different countries was super easy though. Yearly data for things like homicide rates or housing prices that don't have clean APIs ended up as CSVs obtained from Claude or Wikipedia, and they're served alongside the others on our API. Deployment was done on the last night, and Vercel was unhappy with the large FRED responses, so I had to tweak queries, some of them were quarterly, some daily etc to avoid local downsampling, and had to be slightly refactored.

The original concept was to display a specific promise a politician made and contrast it with the market's prediction if they won. But as expected it's too time consuming to find sources on the ever-changing promises of politicians. So the app pivoted to pure metric comparison, which is informative and clarifying enough anyway (even though I would've wanted to slap some politicians' promises).

I couldn't implement trading, which saddens me because current state of trading scalar markets in the Seer app is so bad. But I didn't want to sacrifice the core idea of this app, which was "make good screenshottable graphs, make it easy to create elections

background image mobile

Join the mailing list

Get the latest news and updates

Polimetric | ETHGlobal