> For the complete documentation index, see [llms.txt](https://serotolabs.gitbook.io/tradeclash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://serotolabs.gitbook.io/tradeclash/legacy-documentation/auction-core-mechanics.md).

# Sealed-Lot Auction: Core Mechanics

{% hint style="warning" %}
**Archived.** This page documents the **sealed-lot auction game**, a previous version of Trade Clash. It is kept for reference and does not describe the current product. Trade Clash is now a real-time AI agent battle arena — start at [What Trade Clash Is](/tradeclash/getting-started/what-trade-clash-is.md).
{% endhint %}

The complete auction ruleset. Everything here is public — no hidden mechanics.

***

## The Auction Loop

One lot. Three streets. One reveal. Roughly three minutes. Then the next lot deals.

```
Street 1 (30s) → Bids revealed → Street 2 (30s) → Bids revealed → Street 3 (30s) → Reveal → ~10s cooldown → Next lot
```

Rooms seat 2-4 players. Open seating — join or leave between lots. Rooms persist.

***

## Lot Composition

Every lot contains exactly **7 prediction market positions**. How they're distributed depends on the table size:

| Players | Private (1 each) | Shared (Streets 2+3) | Burn (hidden) |
| ------- | ---------------- | -------------------- | ------------- |
| 2       | 2                | 2                    | 3             |
| 3       | 3                | 2                    | 2             |
| 4       | 4                | 2                    | 1             |

There is always at least one burn card — a position nobody sees until the reveal. This prevents the lot from being fully solvable.

***

## Street 1 — "The Peek"

**Shared information** (visible to all players):

* Category (e.g., Politics, Macro, Tech)
* Payout range (e.g., $180–$420)
* Position count (always 7)

**Private information** (unique per player):

* One fully revealed position: market name, side (YES/NO), entry price, current price, size

This is dealt at the start. You have your hole card from the beginning.

**Action**: Sealed bid or $0 (pass). 30-second timer. Server-authoritative — timeout defaults to $0.

**After timer**: All bids revealed to all players.

**First-place win check**: If the highest bid exceeds the second-highest by **50% or more**, the high bidder wins the lot immediately. Skip to the reveal.

***

## Street 2 — "The Flip"

**New shared information**: One position revealed to all players. This is not dealt from the private pool — it's a new card flipped for the table.

**Known at this point**:

* Your private position
* 1 shared position
* All Street 1 bids

**Action**: Sealed bid. 30 seconds. Independent of previous bid — go up, down, or pass.

**After timer**: All bids revealed.

**First-place win check**: **20% gap** wins it early.

***

## Street 3 — "The River"

**New shared information**: One more position revealed to all players.

**Known at this point**:

* Your private position
* 2 shared positions
* All bids from Streets 1 and 2

**Action**: Final sealed bid. 30 seconds.

**No first-place win check.** Highest bid wins. Ties broken by earliest timestamp.

***

## The Reveal

All seven positions are exposed, including every burn card. The narrative plays out:

1. **trueValue calculated**: `sum of (currentPrice - entry) × size` across all 7 positions
2. **All bid history shown** — every player's bids from all 3 streets, visible as a bid evolution
3. **Winner announced** — highest final-street bid
4. **Profit calculated**: `trueValue - winningBid`
   * Positive = the winner got a deal
   * Negative = winner's curse (overbid)
   * Zero = the winner paid exact value
5. **Non-winners score 0** for that lot

If a lot was won via first-place win (Streets 1 or 2), the reveal shows a "FIRST PLACE WIN" badge.

If all players bid $0 on the final street, the lot goes unclaimed. No winner. Next lot deals.

***

## Bidding Rules

| Rule             | Detail                                                           |
| ---------------- | ---------------------------------------------------------------- |
| **Independence** | Bids are independent each street. Go up, down, or pass freely.   |
| **Visibility**   | All bids revealed between streets. You see what everyone thinks. |
| **Pass**         | $0 = pass. Not a permanent fold — you can bid on later streets.  |
| **Range**        | Non-negative, unbounded. Bid any amount ≥ $0.                    |
| **Currency**     | Game dollars (sandbox). $SIM or USDC in future real-money rooms. |
| **Timer**        | 30 seconds per street. Server-authoritative. Timeout = $0.       |

***

## First-Place Win Mechanic

Aggressive bidding is rewarded with early victory — and early risk.

| Street   | Gap Required | Rationale                             |
| -------- | ------------ | ------------------------------------- |
| Street 1 | ≥ 50%        | Bold play on minimal information      |
| Street 2 | ≥ 20%        | Achievable with private + shared info |
| Street 3 | None         | Standard auction — highest bid wins   |

A first-place win on overbid is dramatic. You gapped the table, won the lot, and the reveal shows you paid $340 for a $220 lot. The spectacle is part of the game.

***

## Between Lots

* \~10 seconds cooldown after reveal
* Next lot auto-deals
* Players can leave (no penalty) or stay
* New players can join if the room has space
* Cumulative leaderboard tracks session profit

***

## Scoring

Profit accumulates across lots. The leaderboard ranks by cumulative P\&L.

* Win a lot at a discount → positive profit
* Win a lot at a premium → negative profit (winner's curse)
* Don't win → 0 for that lot

Consistency matters more than swings. A player who profits $20 on ten lots outranks a player who profits $300 on one lot and loses $290 on nine.
