> ## Documentation Index
> Fetch the complete documentation index at: https://docs.predexon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lifecycle Playground

> Market creation (token_registered) and resolution (condition_resolution) events.



## AsyncAPI

````yaml websocket/asyncapi.json lifecycle
id: lifecycle
title: Lifecycle
description: >-
  Market creation (token_registered) and resolution (condition_resolution)
  events.
servers:
  - id: production
    protocol: wss
    host: wss.predexon.com
    bindings: []
    variables: []
address: /
parameters: []
bindings: []
operations:
  - &ref_1
    id: sendSubscribeLifecycle
    title: Send subscribe lifecycle
    type: receive
    messages:
      - &ref_6
        id: SubscribeLifecycle
        payload:
          - name: Subscribe to Lifecycle
            description: >-
              Subscribe to market creation and resolution. Only condition_ids
              filter supported.
            type: object
            properties:
              - name: action
                type: string
                description: Must be 'subscribe'
                required: true
              - name: platform
                type: string
                description: Must be 'polymarket'
                required: true
              - name: version
                type: integer
                description: Must be 1
                required: true
              - name: type
                type: string
                description: Must be 'lifecycle'
                required: true
              - name: filters
                type: object
                required: true
                properties:
                  - name: condition_ids
                    type: array
                    description: Market condition IDs or ["*"] for all
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - action
            - platform
            - version
            - type
            - filters
          properties:
            action:
              type: string
              description: Must be 'subscribe'
              x-parser-schema-id: <anonymous-schema-112>
            platform:
              type: string
              description: Must be 'polymarket'
              x-parser-schema-id: <anonymous-schema-113>
            version:
              type: integer
              description: Must be 1
              x-parser-schema-id: <anonymous-schema-114>
            type:
              type: string
              description: Must be 'lifecycle'
              x-parser-schema-id: <anonymous-schema-115>
            filters:
              type: object
              properties:
                condition_ids:
                  type: array
                  description: Market condition IDs or ["*"] for all
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-118>
                  x-parser-schema-id: <anonymous-schema-117>
              x-parser-schema-id: <anonymous-schema-116>
          examples:
            - action: subscribe
              platform: polymarket
              version: 1
              type: lifecycle
              filters:
                condition_ids:
                  - '*'
          x-parser-schema-id: <anonymous-schema-111>
        title: Subscribe to Lifecycle
        description: >-
          Subscribe to market creation and resolution. Only condition_ids filter
          supported.
        example: |-
          {
            "action": "subscribe",
            "platform": "polymarket",
            "version": 1,
            "type": "lifecycle",
            "filters": {
              "condition_ids": [
                "*"
              ]
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: SubscribeLifecycle
          - id: x-parser-message-name
            value: SubscribeLifecycle
    bindings: []
    extensions: &ref_0
      - id: x-mint
        value: &ref_11
          content: >-
            <Warning>WebSocket requires a **Dev** or **Pro** API key. Free tier
            keys cannot connect. [Get your key
            →](https://dashboard.predexon.com)</Warning>
      - id: x-parser-unique-object-id
        value: lifecycle
  - &ref_2
    id: sendUnsubscribeLifecycle
    title: Send unsubscribe lifecycle
    type: receive
    messages:
      - &ref_7
        id: Unsubscribe
        payload:
          - name: Unsubscribe
            description: Remove a subscription by ID.
            type: object
            properties:
              - name: action
                type: string
                description: Must be 'unsubscribe'
                required: true
              - name: subscription_id
                type: string
                description: Subscription ID from the ack response (e.g. sub_2f4b15b33798)
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - action
            - subscription_id
          properties:
            action:
              type: string
              description: Must be 'unsubscribe'
              x-parser-schema-id: <anonymous-schema-15>
            subscription_id:
              type: string
              description: Subscription ID from the ack response (e.g. sub_2f4b15b33798)
              x-parser-schema-id: <anonymous-schema-16>
          examples:
            - action: unsubscribe
              subscription_id: sub_2f4b15b33798
          x-parser-schema-id: <anonymous-schema-14>
        title: Unsubscribe
        description: Remove a subscription by ID.
        example: |-
          {
            "action": "unsubscribe",
            "subscription_id": "sub_2f4b15b33798"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: Unsubscribe
          - id: x-parser-message-name
            value: Unsubscribe
    bindings: []
    extensions: *ref_0
  - &ref_3
    id: sendUpdateLifecycle
    title: Send update lifecycle
    type: receive
    messages:
      - &ref_8
        id: Update
        payload:
          - name: Update Subscription
            description: >-
              Replace filters on an existing subscription. Not supported on the
              orderbook channel.
            type: object
            properties:
              - name: action
                type: string
                description: Must be 'update'
                required: true
              - name: subscription_id
                type: string
                description: Subscription ID to update
                required: true
              - name: filters
                type: object
                description: New filters (replaces existing filters entirely)
                required: true
                properties:
                  - name: users
                    type: array
                    description: Wallet addresses
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
                  - name: condition_ids
                    type: array
                    description: Market condition IDs
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
                  - name: market_slugs
                    type: array
                    description: Market URL slugs
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
                  - name: status
                    type: string
                    description: confirmed, pending, or all (orders channel only)
                    enumValues:
                      - confirmed
                      - pending
                      - all
                    required: false
                  - name: token_ids
                    type: array
                    description: CLOB token IDs (orderbook channel only)
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
                  - name: feeds
                    type: array
                    description: Chainlink crypto feed symbols (crypto_prices channel only)
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - action
            - subscription_id
            - filters
          properties:
            action:
              type: string
              description: Must be 'update'
              x-parser-schema-id: <anonymous-schema-18>
            subscription_id:
              type: string
              description: Subscription ID to update
              x-parser-schema-id: <anonymous-schema-19>
            filters:
              type: object
              description: New filters (replaces existing filters entirely)
              properties:
                users:
                  type: array
                  description: Wallet addresses
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-22>
                  x-parser-schema-id: <anonymous-schema-21>
                condition_ids:
                  type: array
                  description: Market condition IDs
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-24>
                  x-parser-schema-id: <anonymous-schema-23>
                market_slugs:
                  type: array
                  description: Market URL slugs
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-26>
                  x-parser-schema-id: <anonymous-schema-25>
                status:
                  type: string
                  description: confirmed, pending, or all (orders channel only)
                  enum:
                    - confirmed
                    - pending
                    - all
                  x-parser-schema-id: <anonymous-schema-27>
                token_ids:
                  type: array
                  description: CLOB token IDs (orderbook channel only)
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-29>
                  x-parser-schema-id: <anonymous-schema-28>
                feeds:
                  type: array
                  description: Chainlink crypto feed symbols (crypto_prices channel only)
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-31>
                  x-parser-schema-id: <anonymous-schema-30>
              x-parser-schema-id: <anonymous-schema-20>
          examples:
            - action: update
              subscription_id: sub_2f4b15b33798
              filters:
                users:
                  - 0xnew_address...
                status: all
          x-parser-schema-id: <anonymous-schema-17>
        title: Update Subscription
        description: >-
          Replace filters on an existing subscription. Not supported on the
          orderbook channel.
        example: |-
          {
            "action": "update",
            "subscription_id": "sub_2f4b15b33798",
            "filters": {
              "users": [
                "0xnew_address..."
              ],
              "status": "all"
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: Update
          - id: x-parser-message-name
            value: Update
    bindings: []
    extensions: *ref_0
  - &ref_4
    id: receiveAckLifecycle
    title: Receive ack lifecycle
    type: send
    messages:
      - &ref_9
        id: Ack
        payload:
          - name: Acknowledgement
            description: >-
              Server acknowledgement for subscribe, unsubscribe, and update
              actions.
            type: object
            properties:
              - name: type
                type: string
                description: ack
                required: true
              - name: subscription_id
                type: string
                description: The subscription ID
                required: true
              - name: channel
                type: string
                description: >-
                  Channel name (trades, activity, lifecycle, orderbook, oracle,
                  collateral, crypto_prices)
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            type:
              type: string
              description: ack
              x-parser-schema-id: <anonymous-schema-33>
            subscription_id:
              type: string
              description: The subscription ID
              x-parser-schema-id: <anonymous-schema-34>
            channel:
              type: string
              description: >-
                Channel name (trades, activity, lifecycle, orderbook, oracle,
                collateral, crypto_prices)
              x-parser-schema-id: <anonymous-schema-35>
          required:
            - type
            - subscription_id
            - channel
          examples:
            - type: ack
              subscription_id: sub_2f4b15b33798
              channel: trades
          x-parser-schema-id: <anonymous-schema-32>
        title: Acknowledgement
        description: Server acknowledgement for subscribe, unsubscribe, and update actions.
        example: |-
          {
            "type": "ack",
            "subscription_id": "sub_2f4b15b33798",
            "channel": "trades"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: Ack
          - id: x-parser-message-name
            value: Ack
    bindings: []
    extensions: *ref_0
  - &ref_5
    id: receiveLifecycleEvent
    title: Receive lifecycle event
    type: send
    messages:
      - &ref_10
        id: LifecycleEvent
        payload:
          - name: Lifecycle Event
            description: >-
              condition_prepared (V1+V2), token_registered (V1 only), or
              condition_resolution.
            type: object
            properties:
              - name: event_type
                type: string
                description: >-
                  condition_prepared, token_registered (V1 only), or
                  condition_resolution
                enumValues:
                  - condition_prepared
                  - token_registered
                  - condition_resolution
                required: true
              - name: condition_id
                type: string
                description: Market condition ID
                required: true
              - name: oracle
                type: string
                description: Oracle address (resolution and prepared events)
                required: false
              - name: question_id
                type: string
                description: Question ID (resolution and prepared events)
                required: false
              - name: is_neg_risk
                type: boolean
                description: >-
                  Whether neg-risk market. Derived from oracle address on
                  condition_prepared.
                required: true
              - name: is_invalid
                type: boolean
                description: true for voided/non-standard resolutions
                required: false
              - name: title
                type: string
                description: Market title (null for condition_prepared and new tokens)
                required: false
              - name: market_slug
                type: string
                description: Market URL slug (null on condition_prepared)
                required: false
              - name: market_id
                type: string
                description: Internal market ID (null on condition_prepared)
                required: false
              - name: image
                type: string
                description: Market image URL (null on condition_prepared)
                required: false
              - name: tokens
                type: array
                description: >-
                  Outcome tokens. On condition_prepared: derived token IDs for
                  binary markets (null for non-binary), labels are placeholders.
                  On resolution: includes 'won' boolean.
                required: false
                properties:
                  - name: token_id
                    type: string
                    required: false
                  - name: label
                    type: string
                    required: false
                  - name: won
                    type: boolean
                    required: false
              - name: outcome_slot_count
                type: integer
                description: Number of outcomes (condition_prepared only)
                required: false
              - name: tx_hash
                type: string
                description: Transaction hash
                required: true
              - name: log_index
                type: string
                description: Log index (hex)
                required: false
              - name: block_number
                type: string
                description: Block number (hex)
                required: false
              - name: timestamp
                type: integer
                description: Unix timestamp in seconds
                required: true
              - name: version
                type: integer
                description: 1 for V1 contracts, 2 for V2 contracts
                enumValues:
                  - 1
                  - 2
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            event_type:
              type: string
              description: >-
                condition_prepared, token_registered (V1 only), or
                condition_resolution
              enum:
                - condition_prepared
                - token_registered
                - condition_resolution
              x-parser-schema-id: <anonymous-schema-120>
            condition_id:
              type: string
              description: Market condition ID
              x-parser-schema-id: <anonymous-schema-121>
            oracle:
              type: string
              description: Oracle address (resolution and prepared events)
              x-parser-schema-id: <anonymous-schema-122>
            question_id:
              type: string
              description: Question ID (resolution and prepared events)
              x-parser-schema-id: <anonymous-schema-123>
            is_neg_risk:
              type: boolean
              description: >-
                Whether neg-risk market. Derived from oracle address on
                condition_prepared.
              x-parser-schema-id: <anonymous-schema-124>
            is_invalid:
              type: boolean
              description: true for voided/non-standard resolutions
              x-parser-schema-id: <anonymous-schema-125>
            title:
              type: string
              description: Market title (null for condition_prepared and new tokens)
              x-parser-schema-id: <anonymous-schema-126>
            market_slug:
              type: string
              description: Market URL slug (null on condition_prepared)
              x-parser-schema-id: <anonymous-schema-127>
            market_id:
              type: string
              description: Internal market ID (null on condition_prepared)
              x-parser-schema-id: <anonymous-schema-128>
            image:
              type: string
              description: Market image URL (null on condition_prepared)
              x-parser-schema-id: <anonymous-schema-129>
            tokens:
              type: array
              description: >-
                Outcome tokens. On condition_prepared: derived token IDs for
                binary markets (null for non-binary), labels are placeholders.
                On resolution: includes 'won' boolean.
              items:
                type: object
                properties:
                  token_id:
                    type: string
                    x-parser-schema-id: <anonymous-schema-132>
                  label:
                    type: string
                    x-parser-schema-id: <anonymous-schema-133>
                  won:
                    type: boolean
                    x-parser-schema-id: <anonymous-schema-134>
                x-parser-schema-id: <anonymous-schema-131>
              x-parser-schema-id: <anonymous-schema-130>
            outcome_slot_count:
              type: integer
              description: Number of outcomes (condition_prepared only)
              x-parser-schema-id: <anonymous-schema-135>
            tx_hash:
              type: string
              description: Transaction hash
              x-parser-schema-id: <anonymous-schema-136>
            log_index:
              type: string
              description: Log index (hex)
              x-parser-schema-id: <anonymous-schema-137>
            block_number:
              type: string
              description: Block number (hex)
              x-parser-schema-id: <anonymous-schema-138>
            timestamp:
              type: integer
              description: Unix timestamp in seconds
              x-parser-schema-id: <anonymous-schema-139>
            version:
              type: integer
              description: 1 for V1 contracts, 2 for V2 contracts
              enum:
                - 1
                - 2
              x-parser-schema-id: <anonymous-schema-140>
          required:
            - event_type
            - condition_id
            - is_neg_risk
            - tx_hash
            - timestamp
          examples:
            - event_type: condition_resolution
              condition_id: 0x6b6de56b...
              oracle: 0x6a9d2226...
              is_neg_risk: false
              is_invalid: false
              title: Will Sunderland AFC win?
              market_slug: epl-sun-bur-2026-02-02-sun
              market_id: '1225150'
              tokens:
                - token_id: 333190...
                  label: 'Yes'
                  won: true
                - token_id: 975123...
                  label: 'No'
                  won: false
              tx_hash: 0xabc...
              log_index: '0x1b7'
              block_number: '0x4ebcd5f'
              timestamp: 1770244800
          x-parser-schema-id: <anonymous-schema-119>
        title: Lifecycle Event
        description: >-
          condition_prepared (V1+V2), token_registered (V1 only), or
          condition_resolution.
        example: |-
          {
            "event_type": "condition_resolution",
            "condition_id": "0x6b6de56b...",
            "oracle": "0x6a9d2226...",
            "is_neg_risk": false,
            "is_invalid": false,
            "title": "Will Sunderland AFC win?",
            "market_slug": "epl-sun-bur-2026-02-02-sun",
            "market_id": "1225150",
            "tokens": [
              {
                "token_id": "333190...",
                "label": "Yes",
                "won": true
              },
              {
                "token_id": "975123...",
                "label": "No",
                "won": false
              }
            ],
            "tx_hash": "0xabc...",
            "log_index": "0x1b7",
            "block_number": "0x4ebcd5f",
            "timestamp": 1770244800
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: LifecycleEvent
          - id: x-parser-message-name
            value: LifecycleEvent
    bindings: []
    extensions: *ref_0
sendOperations:
  - *ref_1
  - *ref_2
  - *ref_3
receiveOperations:
  - *ref_4
  - *ref_5
sendMessages:
  - *ref_6
  - *ref_7
  - *ref_8
receiveMessages:
  - *ref_9
  - *ref_10
extensions:
  - id: x-mint
    value: *ref_11
  - id: x-parser-unique-object-id
    value: lifecycle
securitySchemes:
  - id: apiKey
    name: api_key
    type: httpApiKey
    description: Your Predexon API key
    in: query
    extensions: []

````