Documentation Index
Fetch the complete documentation index at: https://prophet.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Anyone can create a prediction market on Prophet. There is no whitelist, no application form, and no human approval. The AI oracle validates your question at creation time — if it passes, the market deploys and the market-maker agent seeds it with liquidity automatically.What Makes a Good Question
Your market question must be: Binary — exactly one of YES or NO is the outcome. Not “who will win?” (multiple outcomes) but “Will X win?” (yes or no). Specific — no ambiguity about what counts as YES. “Will Apple stock rise?” is ambiguous. “Will Apple (AAPL) close above $200 on May 15, 2026?” is specific. Verifiable — the oracle must be able to confirm the outcome from public sources. Private or unverifiable events cannot be resolved. Time-bounded — you must set a resolution deadline. The question resolves based on what happens before that deadline.Good Question Examples
| Question | Why it works |
|---|---|
| ”Will Arsenal win the Premier League 2025/26 season?” | Binary, specific team, clear competition, verifiable via official sources |
| ”Will BTC close above $100,000 on June 1, 2026?” | Binary, specific price, specific date, verifiable on any exchange |
| ”Will the US Federal Reserve cut rates in July 2026?” | Binary, specific institution, specific time period, verifiable via official Fed announcement |
| ”Will OpenAI release GPT-5 before September 1, 2026?” | Binary, specific event, specific deadline, verifiable via official announcement |
Bad Question Examples
| Question | Why it fails |
|---|---|
| ”Will Arsenal do well this season?" | "Do well” is ambiguous — not binary |
| ”Who will win the US election?” | Multiple outcomes — needs to be “Will X win?" |
| "Is AI dangerous?” | Opinion, not verifiable as YES/NO fact |
| ”Will my startup succeed?” | Private, not publicly verifiable |
Step-by-Step: Create a Market
Navigate to Create Market
Click “Create Market” in the Prophet app navigation bar. Connect your wallet if not already connected.
Enter your question
Type your market question in the text field. Be as specific as possible.The frontend sends your question to
/api/validate-question as you type (with debouncing). This calls 0G Compute to validate in real time.You will see one of:- Green checkmark: question is valid — you can proceed
- Yellow warning: question is valid but could be more specific — consider refining
- Red X: question is rejected — a reason is shown explaining why
Set the resolution deadline
Use the date/time picker to set when the market closes. The oracle will resolve the market after this deadline passes.Guidelines:
- Give enough time for the event to occur and be publicly confirmed
- Avoid deadlines in the immediate future — trades need time to accumulate
- Be specific: “June 1, 2026 at 23:59 UTC” not “end of May”
Select a category
Choose from: Sports, Finance, Crypto, Politics, Science, Entertainment, Other.Category is used for filtering and browsing — it does not affect the oracle’s resolution.
Add resolution sources (optional)
You can specify up to 5 approved data sources the oracle should check. Examples:
https://premierleague.comfor football resultshttps://coinmarketcap.comfor crypto priceshttps://federalreserve.govfor Fed decisions
Review and submit
Review all details. Click “Create Market”. MetaMask asks you to sign two transactions:
- USDT approval (if not already approved)
ProphetFactory.createMarket()— deploys the market on 0G Chain
Wait for setup
After your transaction confirms (1–2 seconds), the following happens automatically:
- ProphetFactory deploys a new MarketContract
- The frontend stores market metadata to 0G Storage
- The market-maker agent detects the new market via
MarketCreatedevent - The agent allocates USDT from LiquidityPool and calls
seedLiquidity - The market appears on the markets dashboard with live YES/NO prices
What Happens Under the Hood
Question Validation (0G Compute)
Before creating the market on-chain, the frontend validates your question via the/api/validate-question API route. This calls 0G Compute (Qwen 2.5 7B on testnet) with a validation prompt:
Market Metadata → 0G Storage
After the on-chain transaction confirms, the frontend calls/api/store-metadata:
MarketContract.metadataHash. When the oracle resolves the market, it reads this metadata to know the question, sources, and deadline.
Market Maker Seeding
The market-maker agent receives theMarketCreated event and immediately queues a seeding operation:
- Gets an initial price estimate from 0G Compute (what probability does the AI assign to this question?)
- Allocates USDT from LiquidityPool (amount based on available pool balance)
- Calls
MarketContract.seedLiquidity()— AMM is now live - The initial seed starts at 50/50 (or uses the AI price estimate if available)
Creator Bond
When you create a market, a small bond is taken from your USDT balance. This is returned to you when the market resolves cleanly. The bond is forfeited if:- The market question is later determined to be ambiguous by the oracle
- The market is cancelled due to an unresolvable question
After Your Market is Created
Once your market is live:- Anyone can trade YES or NO shares
- The AMM price will evolve as trades come in
- The market-maker agent will monitor and may adjust liquidity
- When your deadline passes, the oracle automatically resolves it
Next Steps
Trade on Your Market
Buy the first shares on your newly created market
How Resolution Works
Understand what the oracle does when your deadline passes