Activation and Lifecycle
After creating an event with its pools and markets, you control its visibility and prominence through activation and pinning. This page covers how events move through their lifecycle statuses.
Activating and Deactivating Eventsβ
POST /api/v1/events/{id}/active
Controls whether an event is visible in the public feed. Only active events appear to regular users.
Request Bodyβ
| Field | Type | Required | Description |
|---|---|---|---|
is_active | boolean | Yes | true to show in feed, false to hide |
Activate an Eventβ
curl -X POST https://your-domain.com/api/v1/events/123/active \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"is_active": true}'
Deactivate an Eventβ
curl -X POST https://your-domain.com/api/v1/events/123/active \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"is_active": false}'
Deactivating an event hides it from the feed but does not close trading. Existing positions remain open and users who have direct links can still access the event. To fully stop trading, you must close the event (see Closing and Resolution).
Pinning Eventsβ
Pinned events appear at the top of the event feed, above unpinned events. This is useful for promoting high-profile or time-sensitive events.
Pin an Eventβ
POST /api/v1/events/{id}/pin
curl -X POST https://your-domain.com/api/v1/events/123/pin \
-H "Authorization: Bearer <token>"
Unpin an Eventβ
DELETE /api/v1/events/{id}/pin
curl -X DELETE https://your-domain.com/api/v1/events/123/pin \
-H "Authorization: Bearer <token>"
Event Statusesβ
Events progress through the following statuses during their lifecycle:
| Status | Description |
|---|---|
new | Event has been created but not yet started. Pools and markets may still be configured. |
started | Event is live. Users can trade on its markets. This is the active trading phase. |
paid | Event has been closed and settled. All positions have been paid out. No further trading is possible. |
Status Transitionsβ
new β started β paid
- new to started -- Occurs when the event is activated and trading begins.
- started to paid -- Occurs when the event is closed with an outcome and settlement completes.
If an event is cancelled instead of closed, positions are refunded and the event exits the normal lifecycle flow.
Typical Workflowβ
- Create the event with pools and markets (status:
new). - Upload an image to make the event visually appealing in the feed.
- Review configuration -- verify pool probabilities, LMSR parameters, and volume limits.
- Activate the event (
is_active: true) to make it visible. Status transitions tostarted. - Optionally pin the event to promote it at the top of the feed.
- Monitor trading -- observe volume, price movements, and user activity.
- Close the event with the correct outcome when the result is known (status transitions to
paid).
Visibility Rulesβ
- Inactive + not pinned -- Event is hidden from the feed entirely.
- Active + not pinned -- Event appears in the feed in standard chronological/ranking order.
- Active + pinned -- Event appears at the top of the feed with priority placement.
- Inactive + pinned -- The pin has no effect since the event is not visible in the feed.
Creators can toggle activation and pinning independently at any time before the event is closed.