Skip to main content

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​

FieldTypeRequiredDescription
is_activebooleanYestrue 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:

StatusDescription
newEvent has been created but not yet started. Pools and markets may still be configured.
startedEvent is live. Users can trade on its markets. This is the active trading phase.
paidEvent 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​

  1. Create the event with pools and markets (status: new).
  2. Upload an image to make the event visually appealing in the feed.
  3. Review configuration -- verify pool probabilities, LMSR parameters, and volume limits.
  4. Activate the event (is_active: true) to make it visible. Status transitions to started.
  5. Optionally pin the event to promote it at the top of the feed.
  6. Monitor trading -- observe volume, price movements, and user activity.
  7. 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.