Type a question. Get a fully drafted prediction market back.
Marketscribe turns a plain-English question "Will OpenAI release GPT-6 before December?" into a complete, dispute-resistant prediction market in one step: resolution rules, settlement conditions, edge cases, and a reasoned probability estimate, all generated automatically.
Writing a good prediction market by hand is tedious and easy to get wrong. You need a precise resolution rule, a named settlement source, and a worked-out list of edge cases before anyone takes a position — or the market becomes a dispute waiting to happen. Most people skip this and end up with a market that can't actually be settled fairly.
Marketscribe automates the part that takes the most care: the wording.
For any question you type, it returns:
- A cleaned-up title and category — Tech, Crypto, Politics, Sports, Finance, Science, Entertainment, Other
- Resolution rules — the precise conditions that make the market resolve YES or NO
- Settlement conditions — the specific sources or evidence used to verify the outcome
- Edge cases — the ambiguous scenarios people would actually argue about, pre-resolved
- A probability estimate — with a short explanation of the reasoning behind it (base rates, specificity of the claim, time horizon)
Each market renders as a single "contract slip" with an analog probability gauge. Past markets are saved to a personal log so you can revisit them without regenerating.
Marketscribe is a single self-contained HTML file. There's no backend, no build step, and no framework — just HTML, CSS, and vanilla JS.
When you submit a question, it sends one request to Claude (claude-sonnet-4-6) with a system prompt that instructs the model to return a single structured JSON object matching a fixed schema (title, rules, settlement conditions, edge cases, probability, explanation). The response is parsed and rendered directly into the slip UI. Past markets are persisted using the host environment's key-value storage API.
This file is built to run inside an environment that already provides:
- An authenticated proxy to the Anthropic API at
https://api.anthropic.com/v1/messages(no API key required in the request) - A
window.storagekey-value API for persistence (get/set/list/delete)
It was built and is intended to run as a Claude.ai artifact, where both of these are provided automatically.
If you want to host this yourself (e.g. as a static GitHub Pages site), you'll need to:
- Replace the
fetch("https://api.anthropic.com/v1/messages")call with a request to your own backend, which holds your Anthropic API key server-side and proxies the request. Never put a real API key directly in this client-side file — it would be exposed to anyone who opens the page. - Replace the
window.storagecalls with your own persistence (e.g.localStoragefor a single-user local version, or a real database if multiple people will use it).
- Single-file HTML/CSS/JS, no dependencies
- Model:
claude-sonnet-4-6via the Anthropic Messages API - Fonts: Fraunces (display) + IBM Plex Mono (data/UI), via Google Fonts
- Ground the probability estimate in live facts via web search, instead of reasoning from the model's training data alone
- Export a generated market as JSON for use in an actual settlement pipeline (e.g. an on-chain contract or a platform like Polymarket/Manifold)
- A multi-market board view instead of one slip at a time
MIT — do whatever you want with it.