> For the complete documentation index, see [llms.txt](https://docs.imperial.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.imperial.space/touch-markets.md).

# Touch Markets

#### What is a touch market?

A touch market lets you trade **whether a price is touched**. You pick a target price and a time window. **Touch** pays if the price reaches your target at any point before the window closes. **No Touch** pays if it never does.

Prices are quoted in cents per $1 of payout, so **the price is the probability**. A contract at 35¢ is the pool saying "about a 35% chance" — pay $35, win $100 if it touches. A contract at 5¢ is a 20x return on a target the market thinks is a long shot.

#### The contract

Every position is four things, frozen at the moment you buy:

* **Asset** — SOL or BTC today.
* **Target price** — any price you type, or a preset off the chart. It doesn't move after you buy.
* **Window** — 5 minutes, 1 hour, or 24 hours.
* **Payout** — the fixed dollar amount you receive if you win.

Example: SOL is at $76. You buy **Touch $78, 1 hour, $100 payout** at 22¢. You pay $22. If SOL trades $78 at any point in the next hour, $100 credits to your balance — the instant it happens, not at expiry. If it never gets there, the contract expires worthless and you're out the $22.

The mirror trade is No Touch: same target, same window, priced at roughly $1 minus the Touch price. You're betting the market stays away.

#### Windows and expiry

Windows run on a shared grid so everyone buying in the same period gets the exact same start and end. Your buy snaps **down** to the current grid boundary:

| Window    | Grid        | What you get                                       |
| --------- | ----------- | -------------------------------------------------- |
| 5 minutes | every 5 min | Buy at 14:07 → window 14:05 → 14:10                |
| 1 hour    | every hour  | Buy at 14:07 → window 14:00 → 15:00                |
| 24 hours  | every hour  | Buy at 14:07 → window 14:00 today → 14:00 tomorrow |

If you buy in the final **75 seconds** of a window, you roll forward into the next one instead of getting a stub contract. That next window hasn't started yet, so nothing that happened before it counts toward your trade.

#### What counts as a touch

"Did it touch?" is settled by evidence, never by discretion. Prices arrive from Pyth Lazer as **signed, timestamped messages** — anyone can verify them, forever — and the on-chain rule is deliberately strict:

```
touched ⟺ 3 consecutive signed price frames, each with
           bid ≥ target (upside) or ask ≤ target (downside)
```

Two design choices are doing the work there:

* **Three consecutive frames**, not one. A single glitched print can't settle a whole ladder of targets, and a real move has no trouble producing three.
* **The book side, not the mid.** An upside touch needs the *bid* through your target — meaning you could genuinely have sold there. A one-tick wick that never posted a real bid doesn't count.

The same rule runs in all three places it matters: live detection while your position is open, the quote check that refuses already-swept targets, and the retroactive proof at settlement. When a window closes there's a short on-chain finalization period during which anyone holding contrary signed evidence can still correct the record — after which the result is final and permanent.

#### Selling back before expiry

You don't have to hold to settlement. The pool will buy your position back at its live quote:

```
bid = $1.00 − ask on the opposite side
```

Hit **Sell back to pool** and the refund credits to your balance immediately; the contract is cancelled. Because the bid re-quotes continuously, you set a minimum refund when you confirm — if the price moves before the fill lands, the order is refused rather than filled below it.

Sell-back needs a live, healthy market. If volatility data is stale or the market is paused, sell-back is temporarily unavailable — but the position still settles automatically, so nothing is stuck.

#### Fees

**There is no separate open or close fee on a touch trade.** The cost is the spread inside the quoted price — Touch and No Touch on the same level sum to slightly more than $1, and that excess is the house edge. Typical two-way overround runs around 8–10%, wider on the 5-minute market and during volatile stretches.

Imperial takes 25% of that edge as protocol revenue, and only on edge the book has actually banked. The remainder accrues to the liquidity pool that underwrites the contracts.
