Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Marketscribe

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.

Why

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.

What it generates

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.

How it works

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.

Running it

This file is built to run inside an environment that already provides:

  1. An authenticated proxy to the Anthropic API at https://api.anthropic.com/v1/messages (no API key required in the request)
  2. A window.storage key-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.

Running it outside that environment

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.storage calls with your own persistence (e.g. localStorage for a single-user local version, or a real database if multiple people will use it).

Tech

  • Single-file HTML/CSS/JS, no dependencies
  • Model: claude-sonnet-4-6 via the Anthropic Messages API
  • Fonts: Fraunces (display) + IBM Plex Mono (data/UI), via Google Fonts

Roadmap ideas

  • 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

License

MIT — do whatever you want with it.

About

Type a yes/no question, get back a fully drafted prediction market, resolution rules, settlement conditions, edge cases, and a reasoned probability in one click.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages