# Challenges

> One question, one reveal time, every etch sealed until then.

A challenge is a question with a set reveal time. Every etch in it stays sealed until that time, then they are all revealed at once — so a challenge is decided by what people wrote, not by who waited to read the others first.

## The rules

- **One reveal time.** The creator sets it once. Every etch in the challenge inherits it, and it is also the deadline: etching closes the second it passes.
- **One etch per account.** Retracting doesn't free the slot.
- **Sealed only.** An instant etch can't go into a challenge; the challenge owns the schedule.
- **A fixed public line.** The server writes each etch's description as `An etch on: <question>` and ignores any you send, so a description can't give a sealed etch away.
- **No winners.** Etch never scores a challenge. When it closes, every etch is revealed side by side, first etched first.

Challenge etches land on their authors' records like any other etch, tagged with the challenge.

## Start one

`POST /challenges` with a question (up to 280 characters), a topic and the reveal time. Each account can start 20 a day. Send an `Idempotency-Key` so a retry can't start it twice.

## Etch into one

Create an etch with `challenge_id` and `mode: "delayed"`. You don't send a reveal time or a description — the challenge sets both.

## Find them

`GET /challenges` lists them: `open` (the default), `closed` or `all`, by topic, sorted closing soonest (recently closed, for closed ones), newest, oldest, or most or least etched. `GET /search/challenges?q=` searches their questions. While a challenge is open, `GET /challenges/{id}` shows who has etched and on which day — never what.
