Measured on the live Panta catalogue, and checked against Panta's own front end. Every number here comes from the snapshot below it; nothing on this page is typed by hand.
Demo, 2:53 · Pitch, 1:58 · Five things this project got wrong, with their corrections · source
The oracle field reads like the account that decides a market. It is not: on
every market checked it names the wallet whose instruction is CreateEventUsdc,
which creates markets and does not resolve them.
The settlement path is GraduateMarket → SubmitOracleResult → ResolveEvent →
ClaimWin, and it arrives under two naming families: markets carrying a
MigrateEventV2 settle without the Usdc suffix, the rest with it.
Matching one and not the other — which this tool did at first — reports a settled market as
one that nothing has settled.
sentToUma is true on 85 of the
100 markets here. That is a field in the API, not something the venue tells
its users: its page says agent resolution, with a confidence score, a written
rationale and a dispute window. The report puts the flag and the signature side by side and
concludes nothing further.
Panta's create API requires a question, a resolutionRule of up to
2048 characters and a non-empty sourcesOfTruth. A complete card returns them;
a stripped one returns none of them. oracle is sourcesOfTruth
joined by commas — which is why the most common settlement source in this catalogue is the
word on-chain, typed into that list by a creator.
--check-draft refuses a draft a buyer could not read, then hands it to Panta's
own validator and reports the real creation fee. Nothing is signed, submitted or paid.
6 thing(s) would leave a buyer unable to read this market
BLOCK question: no question
→ state what is being bet on, in one sentence
BLOCK sourcesOfTruth: 'on-chain' is a word, not a reference
→ name the account, the program or the outlet. A buyer sees this string and nothing else — it becomes the market's `oracle` field verbatim
BLOCK endTime: trading would close before it opens
→ startTime must be earlier than endTime
BLOCK resolutionTime: the market resolves before trading ends
→ resolutionTime must be at or after endTime
BLOCK startTime: starts in 0s; the chain requires 3600s
→ move startTime further out, or declare it a breaking market in progress
BLOCK imageUrl: points at a private address
→ host it somewhere a reader can reach
WARN resolutionRule: 8 characters
→ a rule this short rarely names both the measurement and the moment it is read; nobody can see this field after publication, so it is the creator's only record
WHAT THE CATALOGUE WILL SHOW
title (empty — and the listing leaves it empty anyway)
oracle on-chain
resolutionRule returned on a complete card — but 31 of 100 cards come back stripped of it,
with no field saying which shape you are holding1 thing(s) would leave a buyer unable to read this market
BLOCK startTime: starts in 0s; the chain requires 3600s
→ move startTime further out, or declare it a breaking market in progress
WHAT THE CATALOGUE WILL SHOW
title Will the Ethereum Pectra upgrade activate on mainnet before 1 December 2026?
oracle https://ethereum.org/en/roadmap/,https://etherscan.io
resolutionRule returned on a complete card — but 31 of 100 cards come back stripped of it,
with no field saying which shape you are holding
PANTA SAYS nothing usable. Their validator refused without naming a field, which it also does for drafts it accepts seconds later, so this is not evidence about your draft.
what came back HTTP 400: {"code":"INVALID_MARKET_PARAMS","message":"unexpected create quote failure — check server logs"}
the local checks above still stand on their own../run.sh --watch subscribes to the market program and reports each settlement the
moment it arrives — which market closed, what the catalogue claimed would decide it, and who
signed. --replay runs the same code over a settlement that already happened.
Loading the live feed…
00:29:32 ResolveEventUsdc 5u15kVt2wz1cnLMU…
market FFFcvy12DfhFMQTPieuGFHgzdXwkk24oXTRpbpXJPF9
claimed 4VGFQKGanc5oaLf51mee9m45HmiXRhKruh5mdRaMjipS
the card carries sentToUma
signed 664h8sZvGwUx4hfqWYrewwvC7wenbKPTCFQTKZx5ghbR
→ the flag is in the API; the signature is on the chain, and no UMA program is in it
The feed above is live.json, refreshed every hour by a
GitHub Actions run of demo/live.py through Solami's RPC: it lists the market
program's newest signatures, opens only the ones it has not seen, and keeps each settlement
with the account that signed it and what the market's card claims. Every row links to the
transaction on Solscan, so none of it has to be taken on trust.
The endpoint is a setting, and the difference is measured rather than asserted.
Fourteen settled markets, identical code, six lookups in flight: Solana's public node read
0 of 14 and refused everything under concurrency; through Solami, 14 of 14 in 41s —
and 14 of 14 in 9s at 24 in flight. The public node also drops an idle subscription
(2 frames and one close over 70s on the market-program filter, while a busy filter held
15,551 frames without a break), and idle is exactly what watching settlements is. Solami
holds it. ~/.config/solami.key or SOLANA_RPC chooses; the key is
never printed. --mirage reads the same settlements from Solami's Mirage stream
— the Yellowstone geyser firehose over a plain WebSocket, filtered on the server — and
decodes the protobuf frames by hand, since this project has no dependencies: 40 transactions
in 0.9 s on a busy filter, and the quiet market-program stream held on pings.
100 markets, 9 of them with their settlement read from the chain. Taken 2026-09-26T08:36:32Z.
| Market | Verdict | Volume |
|---|---|---|
| no question stated | no question | $997 primary · on sale |
| no question stated | no question | $437 secondary · on sale |
| no question stated | no question | $396 secondary · on sale |
| no question stated | no question | $316 secondary · on sale |
| no question stated | no question | — primary · on sale |
| no question stated | no question | — primary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| no question stated | no question | — secondary · on sale |
| WILL FRANCE SCORE 2 OR MORE GOALS AGAINST IRAQ? | names nothing | $10,008 resolved |
| Will England score within the first 20 minutes of their Round of 32 match against DR Congo? | names nothing | $7,618 resolved |
| Will Lamine Yamal score the opening goal in Spain's Round of 32 match against Austria? | names nothing | $7,578 resolved |
| Will the Brazil vs. Japan Round of 32 match go to extra time? | names nothing | $5,804 resolved |
| Will both Canada and Morocco score in the first half of their Round of 16 match? | names nothing | $5,108 resolved |
| Will the Norway vs. Côte d'Ivoire Round of 32 match be decided by a penalty shootout? | names nothing | $4,990 resolved |
| Will a substitute provide a goal or assist? | names nothing | $4,912 resolved |
| Will Serena Williams defeat Maya Joint in their first-round Wimbledon singles match today? | names nothing | $4,794 resolved |
| Will Felix Nmecha complete 50 passes vs Paraguay? | names nothing | $4,225 resolved |