Gate CandyDrop activity operations guide. Use this skill whenever users want to browse CandyDrop activities, view activity rules, register for activities, check task completion progress, or query participation and airdrop records. Trigger phrases include: candydrop, candydrop activities, activity list, register for candydrop, task progress, participation records, airdrop records.
Authoring language: This skill’s instructions and reference prose are written in English (Gate skill standard). End-user replies still follow Language adaptation (match the user’s locale).
⚠️ STOP — You MUST read and strictly follow the shared runtime rules before proceeding. Do NOT select or call any tool until all rules are read. These rules have the highest priority. → Read gate-runtime-rules.md
| MCP Server |
|---|
| Status |
|---|
| Gate (main) | ✅ Required (public endpoints) |
| Gate (trading) | ✅ Required (authenticated endpoints) |
Query Operations (Read-only, Public)
Query Operations (Read-only, Auth Required)
Execution Operations (Write)
gate-mcp-cursor-installergate-mcp-codex-installergate-mcp-claude-installergate-mcp-openclaw-installerRead and strictly follow references/mcp.md, then execute this skill's CandyDrop workflow.
SKILL.md keeps routing and product semantics.references/mcp.md is the authoritative MCP execution layer for activity/rule queries, registration confirmation gates, progress/record queries, and result verification.| Module | Description | Trigger keywords |
|---|---|---|
| Activity List | Browse CandyDrop activities, filter by status/coin/task type | candydrop, candydrop activities, activity list, ongoing candydrop, USDT candydrop |
| Activity Rules | View activity rules, prize pools, and tasks | activity rules, task rules, prize pool, reward rules, candydrop rules |
| Register | Register for a CandyDrop activity | register, join activity, candydrop register, participate candydrop |
| Task Progress | Query task completion progress for enrolled activities | task progress, completion progress, progress query, task progress |
| Participation Records | Query registration/participation history | participation records, registration records, history records, participation records |
| Airdrop Records | Query airdrop/reward distribution records | airdrop records, reward records, received records, airdrop records |
| Concept | Description |
|---|---|
| CandyDrop | A Gate activity platform where users complete tasks (trading, depositing, etc.) to earn airdrop rewards from prize pools. |
Activity (currency / activity_id) | A CandyDrop campaign for a specific token. Identified by currency (token symbol) or activity_id (numeric ID). |
| Activity Status | Lifecycle: upcoming (upcoming) → ongoing (ongoing) → ended (ended). |
| Registration Status | registered (already registered) or unregistered (not yet registered). |
| Record Status | For participation records: ongoing (in progress), awaiting_draw (awaiting draw), won (won), not_win (not won). |
| Prize Pool | Each activity has one or more prize pools, each with a total prize amount (prize_all), per-user cap (prize_limit), and a list of tasks. |
| Task | Individual challenges within a prize pool (e.g. spot trading, futures trading, deposit, invite). Each has a name (task_name), description (task_desc), and exclusive label (exclusive_label). |
| Task Progress | The user's current completion value for a task (e.g. trading volume, deposit amount). Only shown for registered tasks (task_status > 0). |
start_time, end_time, register_time, airdrop_time) as pre-formatted UTC strings in the format YYYY-MM-DD HH:MM:SS(UTC).(UTC) in the column header when the time is UTC. If the header already says (UTC) (ASCII or full-width punctuation variants), do not repeat it on every cell: strip a trailing (UTC) from the API value and show YYYY-MM-DD HH:MM:SS only (example: 2026-04-13 04:04:10, not 2026-04-13 04:04:10(UTC)). If the header does not mark UTC, keep the API string as-is so the zone is not lost.start_time / end_time for records are integer unix timestamps (seconds). See Timestamp strategy in references/records.md for correct computation.| Category | Precision | Examples |
|---|---|---|
| Amounts (rewards, progress values) | 8 decimals, trailing zeros removed | 1.23 not 1.23000000 |
Airdrop rewards (display) | Same numeric formatting, then append + row currency | 4.02032 ETH not 4.02032 |
| Percentage-like fields | 2 decimals, trailing zeros retained | 5.20% not 5.2% |
Activity query interfaces support locating an activity by either activity_id or currency:
currency (e.g. "USDT"): API auto-matches the nearest active activity for that token.activity_id: Precise numeric ID lookup.currency is preferred. If user provides both, use both. If only activity_id is given, use it directly. If neither is provided for rules/progress, ask the user for currency.| Intent | Example phrases | Route to |
|---|---|---|
| Browse activities | "Show CandyDrop activities", "ongoing candydrop events", "USDT candydrop" | Read references/activities.md |
| Activity rules | "Show CandyDrop rules", "what tasks are in this candydrop", "prize pool details" | Read references/activities.md |
| Register | "Register for CandyDrop USDT", "join this candydrop activity" | Read references/register.md |
| Task progress | "My CandyDrop task progress", "check my candydrop task progress" | Read references/progress.md |
| Participation records | "My CandyDrop participation history", "registration records" | Read references/records.md |
| Airdrop records | "My CandyDrop airdrop rewards", "view airdrop records" | Read references/records.md |
| Unclear | "CandyDrop" | Clarify: browse / rules / register / progress / records, then route. If defaulting to browse/list, reply with minimal activity list only (see references/activities.md → Activity list — answer directly). |
references/register.md. Requires currency (required) and optionally activity_id. Must follow Preview-Confirm flow.references/records.md. Extract currency, status, start_time, end_time, page, limit.currency, activity_id, status, rule_name, register_status, limit, offset, page, start_time, end_time.references/activities.md).| Module | MCP tool | Required params | Optional params |
|---|---|---|---|
| Activity List | cex_launch_get_candy_drop_activity_list_v4 | — | currency, status, rule_name, register_status, limit, offset |
| Activity Rules | cex_launch_get_candy_drop_activity_rules_v4 | currency or activity_id (at least one) | — |
| Register | cex_launch_register_candy_drop_v4 | currency | activity_id |
| Task Progress | cex_launch_get_candy_drop_task_progress_v4 | currency or activity_id (at least one) | — |
| Participation Records | cex_launch_get_candy_drop_participation_records_v4 | — | currency, status, start_time, end_time, page, limit |
| Airdrop Records | cex_launch_get_candy_drop_airdrop_records_v4 | — | currency, start_time, end_time, page, limit |
cex_launch_register_candy_drop_v4.references/records.md for time parameter computation.rule_name only inside cells. Fields: currency, total_rewards, start_time, end_time, rule_name, participants, user_max_rewards.currency, total_rewards, start_time, end_time, and per prize pool: prize_all, prize_limit, tasks.success).currency, total_rewards, start_time, end_time, and per task: task_name, task_desc, value.currency, status, register_time, id (time cells: strip trailing (UTC) when the table header already marks UTC — see Timestamp formatting above).currency, airdrop_time, rewards with token unit ({rewards} {currency}) only — do not show flash-convert / USDT (convert_amount) (see references/records.md).After each operation, output a short standardized result consistent with the reference (e.g. activity list, rules, registration confirmation, progress, records). Activity list answers stay minimal (see references/activities.md). Use the API field names and semantic values; where the reference requires localization (e.g. rule_name task types), render in the user’s language per references/activities.md without embedding the whole mapping as user-visible prose.
Language adaptation: Always respond in the same language as the user's input. The Response Templates in reference files define the structure and fields to display, not the literal output language. Translate all display labels to match the user's language.
Must localize (not tickers / not “keep English”):
rule_name entries in the activity list (and anywhere shown as “task type”): use the Task types mapping table in references/activities.md — these strings describe product task categories (e.g. Futures, Simple Earn), not token symbols.Do NOT translate (keep as-is regardless of language):
CandyDropid, activity_id (internal use, do NOT display unless relevant)YYYY-MM-DD HH:MM:SS and the literal (UTC) token when it must remain visible (e.g. no UTC in header); do not drop timezone information in those casesINVALID_PARAM_VALUE, SERVER_ERRORUSD in thresholdsAll other display labels should be translated to match the user's language.
The API returns structured errors with a label field. Map them as follows:
| API label | User-facing message |
|---|---|
INVALID_PARAM_VALUE | "Invalid request parameters. Please check your input and try again." |
SERVER_ERROR | "System busy. Please try again later." |
Activity not found | "Activity not found. Please check the currency or activity ID." |
currency is required | "Please provide a currency name (e.g. USDT)." |
Device token is required | "Registration requires a device token. Please try from the Gate app or website." |
| Scenario | Action |
|---|---|
| Empty activity list | "No CandyDrop activities match your criteria. Try different filters or check back later." |
| Empty participation records | "You have no CandyDrop participation records. Browse active activities to get started." |
| Empty airdrop records | "No airdrop rewards found. Rewards are typically distributed after the activity ends." |
| Compliance restriction | "Due to compliance restrictions, CandyDrop is not available in your region." |
| API error / 401 | "Unable to fetch CandyDrop data. Please log in and try again." |
cex_launch_register_candy_drop_v4, MUST show a registration preview and wait for explicit user confirmation.currency and activity_id exactly as the user provided.