# Market Resolution

{% hint style="info" %}
**Resolution** is the process of determining the outcome (YES or NO) of a prediction market after it ends.
{% endhint %}

## How It Works

BaseCase uses the **UMA Optimistic Oracle** for decentralized, trustless resolution on mainnet:

{% @mermaid/diagram content="flowchart LR
A\["Market Ends"] --> B\["Anyone Proposes Outcome"]
B --> C\["2-Hour Dispute Window"]
C -->|No Dispute| D\["Outcome Confirmed ✓"]
C -->|Disputed| E\["UMA Voters Decide"]
E --> D
D --> F\["Winners Claim $1/share"]

```
style A fill:#f0fdf4,stroke:#22c55e,color:#000000
style D fill:#eff6ff,stroke:#3b82f6,color:#000000
style F fill:#fef3c7,stroke:#f59e0b,color:#000000" %}
```

***

## Resolution Timeline

| Step              | Duration    | What Happens              |
| ----------------- | ----------- | ------------------------- |
| 1. Market Ends    | —           | Trading stops             |
| 2. Proposal       | \~Minutes   | Anyone proposes YES or NO |
| 3. Dispute Window | **2 hours** | Community can challenge   |
| 4. If Disputed    | 24-48 hours | UMA token holders vote    |
| 5. Settlement     | \~Minutes   | Outcome is finalized      |
| 6. Claims Open    | Forever     | Winners claim anytime     |

***

## Proposing an Outcome

Anyone can propose the market outcome by posting a **bond**:

| Detail            | Value                 |
| ----------------- | --------------------- |
| **Bond Currency** | USDC                  |
| **Bond Amount**   | \~$250 (configurable) |
| **Bond Return**   | Returned if correct   |
| **Dispute Cost**  | Same as bond          |

### How to Propose

1. Navigate to the resolved market
2. Click **Propose Outcome**
3. Select YES or NO
4. Post the bond (USDC)
5. Wait for dispute window

{% hint style="success" %}
If your proposal is correct and undisputed, you get your bond back. If you're wrong and disputed, you lose your bond.
{% endhint %}

***

## Dispute Process

If someone believes the proposed outcome is wrong:

{% stepper %}
{% step %}

#### Challenge Posted

The disputer posts an equal bond and challenges the proposal.
{% endstep %}

{% step %}

#### UMA DVM Votes

UMA token holders vote on the correct outcome over 24-48 hours.
{% endstep %}

{% step %}

#### Resolution

* **If proposer was right:** Disputer loses bond
* **If disputer was right:** Proposer loses bond
* Winner receives loser's bond as reward
  {% endstep %}
  {% endstepper %}

***

## Claiming Winnings

BaseCase uses a **Winner Profit Guarantee** payout system: winners receive exactly **$1 per winning share**, plus a share of the **OG Bonus Pool** if they were bonding phase participants.

### Fixed $1 Redemption

```
Your Payout = Winning Shares × $1.00
```

> \[!SUCCESS] **All winners profit.** Since you can never pay more than $1 per share during bonding (thanks to the $1 ceiling), winning always means profit.

### OG Bonus Pool

If you bought during the **bonding phase** and held to resolution, you also receive a share of the OG Bonus Pool:

```
OG Bonus = (Your OG Shares / Total OG Shares) × OG Bonus Pool
```

The OG Bonus Pool is funded by excess vault funds after graduation (typically from unbalanced markets).

### Example

| Trader  | Bonding Phase?  | Shares | Entry Cost | Base Payout | OG Bonus | Total  | Profit |
| ------- | --------------- | ------ | ---------- | ----------- | -------- | ------ | ------ |
| Alice   | YES             | 1,000  | $600       | $1,000      | $50      | $1,050 | +$450  |
| Bob     | YES             | 500    | $350       | $500        | $25      | $525   | +$175  |
| Charlie | NO (order book) | 200    | $180       | $200        | $0       | $200   | +$20   |

{% hint style="warning" %}
If you hold **losing** shares, they are worth $0. You cannot claim anything.
{% endhint %}

***

## Edge Cases

### What if the market is ambiguous?

UMA voters may resolve the market as **INVALID** if:

* The question is unclear
* The outcome is undeterminable
* Both YES and NO could be argued

In invalid resolutions, funds are returned pro-rata.

### What if no one proposes?

Markets cannot pay out until someone proposes an outcome. Any user can propose if they're willing to post the bond.

***

## Technical Details

### Mainnet (UMA Oracle)

| Parameter       | Value                    |
| --------------- | ------------------------ |
| Oracle Contract | UMA Optimistic Oracle V3 |
| Liveness Period | 2 hours (7200 seconds)   |
| Identifier      | `ASSERT_TRUTH`           |
| Currency        | USDC                     |
| Minimum Bond    | \~$250                   |

### Testnet (LocalResolver)

| Parameter          | Value                       |
| ------------------ | --------------------------- |
| Resolver Contract  | LocalResolver               |
| Challenge Period   | 30 minutes                  |
| Bond Amount        | $100 USDC                   |
| Dispute Resolution | Admin-based (simulates UMA) |

***

## FAQ

<details>

<summary><strong>Can I propose and dispute the same market?</strong></summary>

No. That would be self-dealing. The oracle prevents the same address from both proposing and disputing.

</details>

<details>

<summary><strong>What happens to my bond if no one disputes?</strong></summary>

You get it back in full after the dispute window closes.

</details>

<details>

<summary><strong>How do I become a UMA voter?</strong></summary>

You need to hold UMA tokens and stake them in the UMA DVM. See [UMA documentation](https://docs.uma.xyz) for details.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.basecase.gg/core-concepts/resolution.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
