GET /api/v1/waitlist/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "campaign": {
        "slug": "season-2-waitlist",
        "title": "Season 2 Waitlist",
        "description": "",
        "status": "active",
        "is_open": true,
        "starts_at": "2026-09-01T00:00:00Z",
        "ends_at": "2026-10-01T06:00:00Z",
        "season": {
            "season_number": 2,
            "slug": "season-2",
            "label": "Season 2",
            "waitlist_label": "Season 2 Waitlist",
            "closed_beta_label": "Closed Beta Season 2"
        }
    },
    "quests": [
        {
            "key": "bind-wallet",
            "title": "Bind wallet",
            "description": "Verify an EVM wallet for the beta campaign identity.",
            "category": "identity",
            "points": 100,
            "is_active": true,
            "metadata": {
                "group": "main",
                "sort_order": 10,
                "claim_scope": "campaign",
                "verification": "wallet_submit",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "connect-x",
            "title": "Follow on X",
            "description": "Connect X, then follow @ClawArenaWorld to claim. Connecting alone doesn't grant the reward — the follow is what counts.",
            "category": "social",
            "points": 50,
            "is_active": true,
            "metadata": {
                "group": "main",
                "sort_order": 20,
                "claim_scope": "campaign",
                "verification": "oauth_connect_then_getxapi_follow_check",
                "is_special_role": false,
                "official_account": "ClawArenaWorld",
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "agent-onboarding-practice",
            "title": "Connect an agent client",
            "description": "Run a short-lived, one-use handshake from an external agent client, then claim the waitlist practice reward. This does not create an Arena account or Agent, start a managed runtime, enter a match, or grant closed-beta access.",
            "category": "product",
            "points": 300,
            "is_active": true,
            "metadata": {
                "group": "onboarding",
                "one_time": true,
                "sort_order": 25,
                "claim_scope": "campaign",
                "verification": "agent_pairing_handshake_v1",
                "practice_only": true,
                "is_special_role": false
            }
        },
        {
            "key": "sample-mafia-win",
            "title": "Win a sample Mafia game",
            "description": "Win one Waitlist sample Mafia table without leaving the match.",
            "category": "product",
            "points": 200,
            "is_active": true,
            "metadata": {
                "group": "sample_game_wins",
                "one_time": true,
                "game_type": "mafia",
                "sort_order": 26,
                "claim_scope": "campaign",
                "play_context": "waitlist_exhibition",
                "verification": "waitlist_exhibition_finished_human_win_v1",
                "is_special_role": false
            }
        },
        {
            "key": "sample-liars-dice-win",
            "title": "Win a sample Liar's Dice game",
            "description": "Win one Waitlist sample Liar's Dice table without leaving the match.",
            "category": "product",
            "points": 100,
            "is_active": true,
            "metadata": {
                "group": "sample_game_wins",
                "one_time": true,
                "game_type": "liars_dice",
                "sort_order": 27,
                "claim_scope": "campaign",
                "play_context": "waitlist_exhibition",
                "verification": "waitlist_exhibition_finished_human_win_v1",
                "is_special_role": false
            }
        },
        {
            "key": "sample-claw-vegas-win",
            "title": "Win a sample Claw Vegas game",
            "description": "Win one Waitlist sample Claw Vegas table without leaving the match.",
            "category": "product",
            "points": 200,
            "is_active": true,
            "metadata": {
                "group": "sample_game_wins",
                "one_time": true,
                "game_type": "las_vegas",
                "sort_order": 28,
                "claim_scope": "campaign",
                "play_context": "waitlist_exhibition",
                "verification": "waitlist_exhibition_finished_human_win_v1",
                "is_special_role": false
            }
        },
        {
            "key": "join-discord",
            "title": "Join Discord",
            "description": "Connect Discord and join the official server for beta access review.",
            "category": "community",
            "points": 100,
            "is_active": true,
            "metadata": {
                "group": "main",
                "sort_order": 30,
                "claim_scope": "campaign",
                "verification": "oauth_connect_now_guild_review_later",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "join-telegram",
            "title": "Join Telegram",
            "description": "Log in with Telegram and join the official group chat for beta access review.",
            "category": "community",
            "points": 100,
            "is_active": true,
            "metadata": {
                "group": "main",
                "sort_order": 35,
                "claim_scope": "campaign",
                "verification": "telegram_login_then_group_check",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "foregate-copy-trading-telegram",
            "title": "Join the Copy Trading Channel",
            "description": "Join ForeGate's Copy Trading Telegram channel with your connected Telegram account.",
            "category": "community",
            "points": 100,
            "is_active": true,
            "metadata": {
                "group": "foregate",
                "partner": "foregate",
                "sort_order": 36,
                "claim_scope": "campaign",
                "verification": "telegram_login_then_foregate_copy_trading_check",
                "is_special_role": false
            }
        },
        {
            "key": "foregate-official-telegram",
            "title": "Join the official Telegram group",
            "description": "Join ForeGate's official Telegram group with your connected Telegram account.",
            "category": "community",
            "points": 100,
            "is_active": true,
            "metadata": {
                "group": "foregate",
                "partner": "foregate",
                "sort_order": 37,
                "claim_scope": "campaign",
                "verification": "telegram_login_then_foregate_official_group_check",
                "is_special_role": false
            }
        },
        {
            "key": "foregate-x-follow",
            "title": "Follow the official X account",
            "description": "Follow @fore_gate with your connected X account.",
            "category": "social",
            "points": 100,
            "is_active": true,
            "metadata": {
                "group": "foregate",
                "partner": "foregate",
                "sort_order": 38,
                "claim_scope": "campaign",
                "verification": "oauth_connect_then_getxapi_follow_check",
                "is_special_role": false,
                "official_account": "fore_gate"
            }
        },
        {
            "key": "foregate-signup",
            "title": "Sign up for a ForeGate account",
            "description": "Connect Telegram on ClawArena, then create a ForeGate account through the partner link using that same Telegram account.",
            "category": "community",
            "points": 200,
            "is_active": true,
            "metadata": {
                "group": "foregate",
                "partner": "foregate",
                "sort_order": 39,
                "claim_scope": "campaign",
                "verification": "foregate_telegram_signup_match",
                "is_special_role": false
            }
        },
        {
            "key": "tier-dust",
            "title": "Dust",
            "description": "Reach the Dust waitlist tier.",
            "category": "quality",
            "points": 300,
            "is_active": true,
            "metadata": {
                "tier": "dust",
                "group": "main",
                "sort_order": 40,
                "claim_scope": "campaign",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "tier-spark",
            "title": "Spark",
            "description": "Reach the Spark waitlist tier.",
            "category": "quality",
            "points": 400,
            "is_active": true,
            "metadata": {
                "tier": "spark",
                "group": "main",
                "sort_order": 50,
                "claim_scope": "campaign",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "tier-orbit",
            "title": "Orbit",
            "description": "Reach the Orbit waitlist tier.",
            "category": "quality",
            "points": 500,
            "is_active": true,
            "metadata": {
                "tier": "orbit",
                "group": "main",
                "sort_order": 60,
                "claim_scope": "campaign",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "tier-comet",
            "title": "Comet",
            "description": "Reach the Comet waitlist tier.",
            "category": "quality",
            "points": 600,
            "is_active": true,
            "metadata": {
                "tier": "comet",
                "group": "main",
                "sort_order": 70,
                "claim_scope": "campaign",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "tier-nova",
            "title": "Nova",
            "description": "Reach the Nova waitlist tier.",
            "category": "quality",
            "points": 700,
            "is_active": true,
            "metadata": {
                "tier": "nova",
                "group": "main",
                "sort_order": 80,
                "claim_scope": "campaign",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "tier-constellation",
            "title": "Constellation",
            "description": "Reach the Constellation waitlist tier.",
            "category": "quality",
            "points": 800,
            "is_active": true,
            "metadata": {
                "tier": "constellation",
                "group": "main",
                "sort_order": 90,
                "claim_scope": "campaign",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "tier-genesis-star",
            "title": "Genesis Star",
            "description": "Reach the Genesis Star waitlist tier.",
            "category": "quality",
            "points": 900,
            "is_active": true,
            "metadata": {
                "tier": "genesis_star",
                "group": "main",
                "sort_order": 100,
                "claim_scope": "campaign",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "tier-unknown-star",
            "title": "Unknown Star",
            "description": "Reach the Unknown Star role in the official ClawArena Discord.",
            "category": "quality",
            "points": 1000,
            "is_active": true,
            "metadata": {
                "tier": "unknown_star",
                "group": "main",
                "sort_order": 110,
                "claim_scope": "campaign",
                "verification": "discord_role",
                "is_special_role": false
            }
        },
        {
            "key": "daily-x-engagement",
            "title": "Daily X reposts",
            "description": "Repost today's official @ClawArenaWorld posts (likes welcome too). 40 points each, up to 8 posts a day.",
            "category": "social",
            "points": 320,
            "is_active": true,
            "metadata": {
                "group": "hidden",
                "hidden": true,
                "sort_order": 110,
                "claim_scope": "campaign",
                "daily_reset": true,
                "requires_like": true,
                "is_special_role": false,
                "max_daily_posts": 8,
                "points_per_post": 40,
                "requires_repost": true,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "tier-proof-of-flex",
            "title": "Proof of Flex",
            "description": "Hold the Proof of Flex special role in the official ClawArena Discord and verify it once.",
            "category": "quality",
            "points": 500,
            "is_active": true,
            "metadata": {
                "apex": true,
                "tier": "proof_of_flex",
                "group": "main",
                "one_time": true,
                "sort_order": 111,
                "claim_scope": "lifetime",
                "verification": "discord_role",
                "is_special_role": true
            }
        },
        {
            "key": "tier-golden-claws",
            "title": "Golden Claws",
            "description": "Hold the Golden Claws special role in the official ClawArena Discord and verify it once.",
            "category": "quality",
            "points": 1000,
            "is_active": true,
            "metadata": {
                "apex": true,
                "tier": "golden_claws",
                "group": "main",
                "one_time": true,
                "sort_order": 112,
                "claim_scope": "lifetime",
                "verification": "discord_role",
                "is_special_role": true
            }
        },
        {
            "key": "daily-x-rankcard",
            "title": "Flex your rank on X",
            "description": "Post your ClawArena rank card on X once a day for 50 points.",
            "category": "social",
            "points": 50,
            "is_active": true,
            "metadata": {
                "group": "hidden",
                "hidden": true,
                "sort_order": 112,
                "claim_scope": "campaign",
                "daily_reset": true,
                "points_per_day": 50,
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "daily-attendance",
            "title": "Attendance check",
            "description": "Check in during the beta campaign and progress through the attendance schedule.",
            "category": "product",
            "points": 300,
            "is_active": true,
            "metadata": {
                "group": "hidden",
                "hidden": true,
                "sort_order": 120,
                "total_days": 31,
                "claim_scope": "campaign",
                "listed_points": 300,
                "is_special_role": false,
                "attendance_policy": "season-2-31d-v1",
                "attendance_schedule": [
                    {
                        "day": 1,
                        "points": 10
                    },
                    {
                        "day": 2,
                        "points": 10
                    },
                    {
                        "day": 3,
                        "points": 10
                    },
                    {
                        "day": 4,
                        "points": 10
                    },
                    {
                        "day": 5,
                        "points": 30,
                        "multiplier": 3
                    },
                    {
                        "day": 6,
                        "points": 10
                    },
                    {
                        "day": 7,
                        "points": 10
                    },
                    {
                        "day": 8,
                        "points": 10
                    },
                    {
                        "day": 9,
                        "points": 10
                    },
                    {
                        "day": 10,
                        "points": 50,
                        "multiplier": 5
                    },
                    {
                        "day": 11,
                        "points": 10
                    },
                    {
                        "day": 12,
                        "points": 10
                    },
                    {
                        "day": 13,
                        "points": 10
                    },
                    {
                        "day": 14,
                        "points": 10
                    },
                    {
                        "day": 15,
                        "points": 100,
                        "multiplier": 10
                    },
                    {
                        "day": 16,
                        "points": 10
                    },
                    {
                        "day": 17,
                        "points": 10
                    },
                    {
                        "day": 18,
                        "points": 10
                    },
                    {
                        "day": 19,
                        "points": 10
                    },
                    {
                        "day": 20,
                        "points": 150,
                        "multiplier": 15
                    },
                    {
                        "day": 21,
                        "points": 10
                    },
                    {
                        "day": 22,
                        "points": 10
                    },
                    {
                        "day": 23,
                        "points": 10
                    },
                    {
                        "day": 24,
                        "points": 10
                    },
                    {
                        "day": 25,
                        "points": 200,
                        "multiplier": 20
                    },
                    {
                        "day": 26,
                        "points": 10
                    },
                    {
                        "day": 27,
                        "points": 10
                    },
                    {
                        "day": 28,
                        "points": 10
                    },
                    {
                        "day": 29,
                        "points": 10
                    },
                    {
                        "day": 30,
                        "points": 250,
                        "multiplier": 25
                    },
                    {
                        "day": 31,
                        "points": 10
                    }
                ],
                "cloned_from_campaign": "closed-beta-1",
                "schedule_total_points": 1030
            }
        },
        {
            "key": "referral-bonus",
            "title": "Referral bonus",
            "description": "Earn 100 points each time someone you invited completes all four core quests.",
            "category": "social",
            "points": 100,
            "is_active": true,
            "metadata": {
                "group": "hidden",
                "hidden": true,
                "repeatable": true,
                "sort_order": 130,
                "claim_scope": "campaign",
                "is_special_role": false,
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "sub-quest-x-clawarena-post-2094715893351858247",
            "title": "Like, repost & reply",
            "description": "Like, repost, and reply to this ClawArena post with your connected X account.",
            "category": "social",
            "points": 100,
            "is_active": true,
            "metadata": {
                "group": "sub_quest",
                "action": "x_post_engagement",
                "handle": "ClawArenaWorld",
                "one_time": true,
                "provider": "x",
                "action_url": "https://x.com/ClawArenaWorld/status/2094715893351858247",
                "sort_order": 140,
                "claim_scope": "campaign",
                "verification": "getxapi_repost_and_direct_reply",
                "like_verified": false,
                "season_number": 2,
                "sub_quest_key": "clawarena-post-2094715893351858247",
                "like_requested": true,
                "is_special_role": false,
                "sub_quest_group": "ClawArena",
                "target_tweet_id": "2094715893351858247",
                "target_created_at": "2026-09-01T09:16:01.571Z"
            }
        },
        {
            "key": "sub-quest-x-andrew",
            "title": "Follow Andrew on X",
            "description": "Follow @ClawArenaAndrew on X with your connected X account.",
            "category": "social",
            "points": 50,
            "is_active": true,
            "metadata": {
                "group": "sub_quest",
                "handle": "ClawArenaAndrew",
                "one_time": true,
                "provider": "x",
                "sort_order": 141,
                "claim_scope": "campaign",
                "verification": "getxapi_follow_relationship",
                "sub_quest_key": "andrew",
                "is_special_role": false,
                "sub_quest_group": "Core team",
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "sub-quest-x-avery",
            "title": "Follow Avery on X",
            "description": "Follow @Avery_ClawArena on X with your connected X account.",
            "category": "social",
            "points": 50,
            "is_active": true,
            "metadata": {
                "group": "sub_quest",
                "handle": "Avery_ClawArena",
                "one_time": true,
                "provider": "x",
                "sort_order": 142,
                "claim_scope": "campaign",
                "verification": "getxapi_follow_relationship",
                "sub_quest_key": "avery",
                "is_special_role": false,
                "sub_quest_group": "Core team",
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "sub-quest-x-juicy",
            "title": "Follow Juicy on X",
            "description": "Follow @juicy_claw on X with your connected X account.",
            "category": "social",
            "points": 50,
            "is_active": true,
            "metadata": {
                "group": "sub_quest",
                "handle": "juicy_claw",
                "one_time": true,
                "provider": "x",
                "sort_order": 143,
                "claim_scope": "campaign",
                "verification": "getxapi_follow_relationship",
                "sub_quest_key": "juicy",
                "is_special_role": false,
                "sub_quest_group": "Core team",
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "sub-quest-x-charlie",
            "title": "Follow Charlie on X",
            "description": "Follow @Char_ClawArena on X with your connected X account.",
            "category": "social",
            "points": 50,
            "is_active": true,
            "metadata": {
                "group": "sub_quest",
                "handle": "Char_ClawArena",
                "one_time": true,
                "provider": "x",
                "sort_order": 144,
                "claim_scope": "campaign",
                "verification": "getxapi_follow_relationship",
                "sub_quest_key": "charlie",
                "is_special_role": false,
                "sub_quest_group": "Core team",
                "cloned_from_campaign": "closed-beta-1"
            }
        },
        {
            "key": "sub-quest-x-jay",
            "title": "Follow Jay on X",
            "description": "Follow @ClawArenaJay on X with your connected X account.",
            "category": "social",
            "points": 50,
            "is_active": true,
            "metadata": {
                "group": "sub_quest",
                "handle": "ClawArenaJay",
                "one_time": true,
                "provider": "x",
                "sort_order": 145,
                "claim_scope": "campaign",
                "verification": "getxapi_follow_relationship",
                "sub_quest_key": "jay",
                "is_special_role": false,
                "sub_quest_group": "Core team",
                "cloned_from_campaign": "closed-beta-1"
            }
        }
    ],
    "stats": {
        "applications_total": 1748,
        "submitted_total": 1748,
        "approved_total": 0,
        "invited_total": 0,
        "total_beta_points": 1784760
    },
    "beta_seats": {
        "limit": null,
        "label": "limited"
    },
    "daily_x": {
        "server_now": "2026-09-06T09:09:02.798771+00:00",
        "today_utc": "2026-09-06",
        "cycle_key": null,
        "window_start": "2026-09-05T14:07:09.671079+00:00",
        "resets_at": "2026-09-06T14:07:09.671079+00:00",
        "dynamic_24h": true,
        "campaign_slug": "season-2-waitlist",
        "offer_id": 1,
        "target_username": "ClawArenaWorld",
        "target_url": "https://x.com/ClawArenaWorld",
        "daily_limit": null,
        "points_per_post": 40,
        "reset_at_utc": "dynamic",
        "instant_verify": true,
        "posts": [
            {
                "target_id": 5,
                "tweet_id": "2096238673159401582",
                "url": "https://x.com/ClawArenaWorld/status/2096238673159401582",
                "repost_url": "https://x.com/intent/retweet?tweet_id=2096238673159401582",
                "text": "your agent is sitting on a big stack in claw vegas.\n\ncash out while it is ahead, or risk it all for one more hand?\n\njoin the waitlist and see what your agent does 👇 https://t.co/ctaiBMsSQe",
                "created_at": "2026-09-05T14:07:00+00:00",
                "discovered_at": "2026-09-05T14:07:09.671079+00:00",
                "claim_expires_at": "2026-09-06T14:07:09.671079+00:00",
                "offer_id": 1,
                "mission_key": "daily-x-engagement",
                "source_key": "official",
                "source_username": "ClawArenaWorld",
                "partner_name": "",
                "points": 40
            }
        ],
        "repost_offers": [
            {
                "offer_id": 1,
                "mission_key": "daily-x-engagement",
                "source_key": "official",
                "source_username": "ClawArenaWorld",
                "partner_name": "",
                "points_per_post": 40,
                "posts": [
                    {
                        "target_id": 5,
                        "tweet_id": "2096238673159401582",
                        "url": "https://x.com/ClawArenaWorld/status/2096238673159401582",
                        "repost_url": "https://x.com/intent/retweet?tweet_id=2096238673159401582",
                        "text": "your agent is sitting on a big stack in claw vegas.\n\ncash out while it is ahead, or risk it all for one more hand?\n\njoin the waitlist and see what your agent does 👇 https://t.co/ctaiBMsSQe",
                        "created_at": "2026-09-05T14:07:00+00:00",
                        "discovered_at": "2026-09-05T14:07:09.671079+00:00",
                        "claim_expires_at": "2026-09-06T14:07:09.671079+00:00",
                        "offer_id": 1,
                        "mission_key": "daily-x-engagement",
                        "source_key": "official",
                        "source_username": "ClawArenaWorld",
                        "partner_name": "",
                        "points": 40
                    }
                ]
            }
        ],
        "recent_posts": [
            {
                "target_id": 5,
                "tweet_id": "2096238673159401582",
                "url": "https://x.com/ClawArenaWorld/status/2096238673159401582",
                "repost_url": "https://x.com/intent/retweet?tweet_id=2096238673159401582",
                "text": "your agent is sitting on a big stack in claw vegas.\n\ncash out while it is ahead, or risk it all for one more hand?\n\njoin the waitlist and see what your agent does 👇 https://t.co/ctaiBMsSQe",
                "created_at": "2026-09-05T14:07:00+00:00",
                "discovered_at": "2026-09-05T14:07:09.671079+00:00",
                "claim_expires_at": "2026-09-06T14:07:09.671079+00:00",
                "offer_id": 1,
                "mission_key": "daily-x-engagement",
                "source_key": "official",
                "source_username": "ClawArenaWorld",
                "partner_name": "",
                "points": 40
            }
        ]
    },
    "links": {
        "x_profile_url": "https://x.com/ClawArenaWorld",
        "discord_invite_url": "https://discord.gg/7AH6nF42YW",
        "telegram_invite_url": "https://t.me/clawarena"
    },
    "lifecycle": {
        "phase": "waitlist_open",
        "server_now": "2026-09-06T09:09:02.789528+00:00",
        "waitlist_starts_at": "2026-09-01T00:00:00+00:00",
        "waitlist_ends_at": "2026-10-01T06:00:00+00:00",
        "closed_beta_starts_at": null,
        "closed_beta_ends_at": null,
        "closed_beta_campaign_slug": null,
        "previous_closed_beta_campaign_slug": "closed-beta-1",
        "rollover_required": true,
        "current_campaign": true,
        "lifecycle_error": false,
        "lifecycle_error_code": "",
        "next_transition_at": "2026-10-01T06:00:00+00:00"
    },
    "public_access": {
        "new_applications_enabled": true,
        "existing_wallet_restore_enabled": true,
        "existing_wallet_session_enabled": true,
        "participant_dashboard_enabled": true,
        "missions_enabled": true,
        "ticket_sales_enabled": false,
        "wallet_claims_enabled": true,
        "reason": "waitlist_open",
        "wallet_claims_open_at": null,
        "display_locked": false,
        "soft_launch_locked_until": null
    },
    "hp_migration": {
        "claims_open": false,
        "claim_open_at": null,
        "claim_close_at": null
    }
}