gate-exchange-candydrop
Original:🇺🇸 English
Translated
1 scripts
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.
4installs
Sourcegate/gate-skills
Added on
NPX Install
npx skill4agent add gate/gate-skills gate-exchange-candydropTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Resolving gate-cli
(binary path)
gate-cliResolve in order: (1) and succeeds; (2) if executable; (3) if executable. Canonical rules: §4 (or §4).
gate-clicommand -v gate-cligate-cli --version${HOME}/.local/bin/gate-cli${HOME}/.openclaw/skills/bin/gate-cliexchange-runtime-rules.mdgate-runtime-rules.mdGate Exchange CandyDrop
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).
General Rules
⚠️ 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
- Only use the commands explicitly listed in this skill. Commands not documented here must NOT be run for these workflows, even if other interfaces expose them.
gate-cli
Skill Dependencies
gate-cli commands used
Query Operations (Read-only, Public)
gate-cli cex launch candy-drop activitiesgate-cli cex launch candy-drop rules
Query Operations (Read-only, Auth Required)
gate-cli cex launch candy-drop progressgate-cli cex launch candy-drop participationsgate-cli cex launch candy-drop airdrops
Execution Operations (Write)
gate-cli cex launch candy-drop register
Authentication
- Interactive file setup: when and
GATE_API_KEYare not both set on the host, runGATE_API_SECRETto complete the wizard for API key, secret, profiles, and defaults (see gate-cli).gate-cli config init - Env / flags: is not required when credentials are already supplied — e.g. both
gate-cli config initandGATE_API_KEYset on the host, orGATE_API_SECRET/--api-keywhere supported — never ask the user to paste secrets into chat.--api-secret - Permissions: Launch:Write
- Portal: create or rotate keys outside the chat: https://www.gate.com/myaccount/profile/api-key/manage
Installation Check
- Required: Gate (main), Gate (trading); when using CLI-backed flows (install via
gate-clifrom this skill when applicable).setup.sh - Install (MCP / IDE): Run installer skill for your environment — Cursor: ; Codex:
gate-mcp-cursor-installer; Claude:gate-mcp-codex-installer; OpenClaw:gate-mcp-claude-installer.gate-mcp-openclaw-installer - Credentials: When and
GATE_API_KEYare both set (non-empty) for the host, do not requireGATE_API_SECRET— that is equivalent valid config forgate-cli config init. When both are unset or empty, remind the operator to rungate-clior to configuregate-cli config init/GATE_API_KEYin the matching skill from the skill library (never ask the user to paste secrets into chat).GATE_API_SECRET - Sanity check: Before authenticated or mutating calls, confirm the runtime works (e.g. or a read-only check appropriate to this skill); resolve credentials before registration or write operations.
gate-cli --version
Execution mode
Read and strictly follow , then execute this skill's CandyDrop workflow.
references/gate-cli.md- keeps routing and product semantics.
SKILL.md - is the authoritative
references/gate-cli.mdexecution contract for activity/rule queries, registration confirmation gates, progress/record queries, and result verification.gate-cli
Module overview
| Module | Description | Trigger keywords |
|---|---|---|
| Activity List | Browse CandyDrop activities, filter by status/coin/task type | |
| Activity Rules | View activity rules, prize pools, and tasks | |
| Register | Register for a CandyDrop activity | |
| Task Progress | Query task completion progress for enrolled activities | |
| Participation Records | Query registration/participation history | |
| Airdrop Records | Query airdrop/reward distribution records | |
Domain Knowledge
CandyDrop concepts
| Concept | Description |
|---|---|
| CandyDrop | A Gate activity platform where users complete tasks (trading, depositing, etc.) to earn airdrop rewards from prize pools. |
Activity ( | A CandyDrop campaign for a specific token. Identified by |
| Activity Status | Lifecycle: |
| Registration Status | |
| Record Status | For participation records: |
| Prize Pool | Each activity has one or more prize pools, each with a total prize amount ( |
| Task | Individual challenges within a prize pool (e.g. spot trading, futures trading, deposit, invite). Each has a name ( |
| Task Progress | The user's current completion value for a task (e.g. trading volume, deposit amount). Only shown for registered tasks ( |
Timestamp formatting
- API returns time fields (e.g. ,
start_time,end_time,register_time) as pre-formatted UTC strings in the formatairdrop_time.YYYY-MM-DD HH:MM:SS(UTC) - Tables / lists: Put 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(UTC)only (example:YYYY-MM-DD HH:MM:SS, not2026-04-13 04:04:10). If the header does not mark UTC, keep the API string as-is so the zone is not lost.2026-04-13 04:04:10(UTC) - Other surfaces (e.g. inline sentences without a UTC-labeled header): you may keep the API form or use header + stripped cell style consistently within one reply.
- Query parameters /
start_timefor records are integer unix timestamps (seconds). See Timestamp strategy inend_timefor correct computation.references/records.md
Number formatting
| Category | Precision | Examples |
|---|---|---|
| Amounts (rewards, progress values) | 8 decimals, trailing zeros removed | |
Airdrop | Same numeric formatting, then append | |
| Percentage-like fields | 2 decimals, trailing zeros retained | |
Dual-parameter resolution
Activity query interfaces support locating an activity by either or :
activity_idcurrency- (e.g. "USDT"): API auto-matches the nearest active activity for that token.
currency - : Precise numeric ID lookup.
activity_id - Priority: is preferred. If user provides both, use both. If only
currencyis given, use it directly. If neither is provided for rules/progress, ask the user foractivity_id.currency
Routing rules
| Intent | Example phrases | Route to |
|---|---|---|
| Browse activities | "Show CandyDrop activities", "ongoing candydrop events", "USDT candydrop" | Read |
| Activity rules | "Show CandyDrop rules", "what tasks are in this candydrop", "prize pool details" | Read |
| Register | "Register for CandyDrop USDT", "join this candydrop activity" | Read |
| Task progress | "My CandyDrop task progress", "check my candydrop task progress" | Read |
| Participation records | "My CandyDrop participation history", "registration records" | Read |
| Airdrop records | "My CandyDrop airdrop rewards", "view airdrop records" | Read |
| Unclear | "CandyDrop" | Clarify: browse / rules / register / progress / records, then route. If defaulting to browse/list, reply with minimal activity list only (see |
Execution
1. Intent and parameters
- Determine module (Activity List / Activity Rules / Register / Task Progress / Participation Records / Airdrop Records).
- Register intent: Route to . Requires
references/register.md(required) and optionallycurrency. Must follow Preview-Confirm flow.activity_id - Records intent: Route to . Extract
references/records.md,currency,status,start_time,end_time,page.limit - Extract parameters: ,
currency,activity_id,status,rule_name,register_status,limit,offset,page,start_time.end_time - Missing: If user says "CandyDrop" without specifying intent, ask which operation or show activities by default — if showing the list, use concise output (title + table, no glossary; see ).
references/activities.md
2. Tool selection
| Module | MCP tool | Required params | Optional params |
|---|---|---|---|
| Activity List | | — | |
| Activity Rules | | | — |
| Register | | | |
| Task Progress | | | — |
| Participation Records | | — | |
| Airdrop Records | | — | |
- Register: Show registration preview, wait for confirmation, then call .
gate-cli cex launch candy-drop register - Records: Follow the Timestamp strategy in for time parameter computation.
references/records.md
3. Format response
- Use the Response Template and field names from the reference file for the chosen module.
- Activity List: Optional one-line title + data table; for browse / “what activities are there” intents, no tutorial, field glossary, or pasting the task-type map — localize only inside cells. Fields:
rule_name,currency,total_rewards,start_time,end_time,rule_name,participants.user_max_rewards - Activity Rules: show ,
currency,total_rewards,start_time, and per prize pool:end_time,prize_all,prize_limit.tasks - Register: show confirmation result ().
success - Task Progress: show ,
currency,total_rewards,start_time, and per task:end_time,task_name,task_desc.value - Participation Records: show ,
currency,status,register_time(time cells: strip trailingidwhen the table header already marks UTC — see Timestamp formatting above).(UTC) - Airdrop Records: show ,
currency,airdrop_timewith token unit (rewards) only — do not show flash-convert / USDT ({rewards} {currency}) (seeconvert_amount).references/records.md
Report template
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 ). Use the API field names and semantic values; where the reference requires localization (e.g. task types), render in the user’s language per without embedding the whole mapping as user-visible prose.
references/activities.mdrule_namereferences/activities.mdLanguage 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”):
- entries in the activity list (and anywhere shown as “task type”): use the Task types mapping table in
rule_name— these strings describe product task categories (e.g. Futures, Simple Earn), not token symbols.references/activities.md
Do NOT translate (keep as-is regardless of language):
- Product name:
CandyDrop - Currency symbols from API: USDT, GT, BTC, DOGE, etc.
- Technical IDs and their values: ,
id(internal use, do NOT display unless relevant)activity_id - Timestamp layout and the literal
YYYY-MM-DD HH:MM:SStoken when it must remain visible (e.g. no UTC in header); do not drop timezone information in those cases(UTC) - API error labels: ,
INVALID_PARAM_VALUESERVER_ERROR - Numeric values, percentages, and the unit in thresholds
USD
All other display labels should be translated to match the user's language.
Error Handling
API error labels
The API returns structured errors with a field. Map them as follows:
label| API label | User-facing message |
|---|---|
| "Invalid request parameters. Please check your input and try again." |
| "System busy. Please try again later." |
| "Activity not found. Please check the currency or activity ID." |
| "Please provide a currency name (e.g. USDT)." |
| "Registration requires a device token. Please try from the Gate app or website." |
Empty result handling
| 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." |
Safety rules
Confirmation required
- Register is a write operation. Before calling , MUST show a registration preview and wait for explicit user confirmation.
gate-cli cex launch candy-drop register - Preview format: activity currency, activity ID (if known).
- Ask user to reply "confirm" to proceed or "cancel" to abort.
- Only call the API after receiving explicit confirmation.
Compliance
- When the API returns a compliance or region restriction error, display a friendly message: "Due to compliance restrictions, CandyDrop is not available in your region." Do NOT retry.
Data integrity
- Preserve and
currencyexactly as the user provided.activity_id - Do NOT fabricate activity data, reward amounts, or task progress.
- Only display data returned by actual API responses.