gate-exchange-launchpool
Gate LaunchPool staking and airdrop skill. Use when the user asks to browse LaunchPool, stake or redeem, or check airdrop rewards. Triggers on 'LaunchPool', 'launch pool airdrop', 'pledge redeem', 'LaunchPool rewards'.
What this skill does
### Resolving `gate-cli` (binary path)
Resolve **`gate-cli`** in order: **(1)** **`command -v gate-cli`** and **`gate-cli --version`** succeeds; **(2)** **`${HOME}/.local/bin/gate-cli`** if executable; **(3)** **`${HOME}/.openclaw/skills/bin/gate-cli`** if executable. Canonical rules: [`exchange-runtime-rules.md`](https://github.com/gate/gate-skills/blob/master/skills/exchange-runtime-rules.md) §4 (or [`gate-runtime-rules.md`](https://github.com/gate/gate-skills/blob/master/skills/gate-runtime-rules.md) §4).
# Gate LaunchPool Suite
## 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](https://github.com/gate/gate-skills/blob/master/skills/gate-runtime-rules.md)
- **Only use the `gate-cli` commands explicitly listed in this skill.** Commands not documented here must NOT be run for these workflows, even if other interfaces expose them.
## Skill Dependencies
### gate-cli commands used
**Query Operations (Read-only)**
- `gate-cli cex launch pledge-records`
- `gate-cli cex launch projects`
- `gate-cli cex launch reward-records`
**Execution Operations (Write)**
- `gate-cli cex launch pledge`
- `gate-cli cex launch redeem`
### Authentication
- **Interactive file setup:** when **`GATE_API_KEY`** and **`GATE_API_SECRET`** are **not** both set on the host, run **`gate-cli config init`** to complete the wizard for API key, secret, profiles, and defaults (see [gate-cli](https://github.com/gate/gate-cli)).
- **Env / flags:** **`gate-cli config init`** is **not** required when credentials are already supplied — e.g. **both** **`GATE_API_KEY`** and **`GATE_API_SECRET`** set on the host, or **`--api-key`** / **`--api-secret`** where supported — never ask the user to paste secrets into chat.
- **Permissions:** Launch:Write
- **Portal:** create or rotate keys outside the chat: https://www.gate.com/myaccount/profile/api-key/manage
### Installation Check
- **Required:** `gate-cli` (run `sh ./setup.sh` from this skill directory if missing; optional `GATE_CLI_SETUP_MODE=release`).
- Add `$HOME/.openclaw/skills/bin` to **`PATH`** if you invoke `gate-cli` by name (or the directory where [`setup.sh`](./setup.sh) installs it).
- **Credentials:** When **`GATE_API_KEY`** and **`GATE_API_SECRET`** are both set (non-empty) for the host, **do not** require **`gate-cli config init`** — that is equivalent valid config for `gate-cli`. When **both** are unset or empty, **remind** the operator to run **`gate-cli config init`** **or** to configure **`GATE_API_KEY`** / **`GATE_API_SECRET`** in the **matching skill** from the skill library (never ask the user to paste secrets into chat).
- **Sanity check:** Do not proceed with authenticated calls until the CLI behaves as expected (e.g. **`gate-cli --version`** or a read-only **`gate-cli cex ...`** command from this skill); confirm credentials resolve before mutating operations.
## Execution mode
**Read and strictly follow** [`references/gate-cli.md`](./references/gate-cli.md), then execute this skill's LaunchPool workflow.
- `SKILL.md` keeps routing and product semantics.
- `references/gate-cli.md` is the authoritative `gate-cli` execution contract for project/record queries, stake-redeem confirmation gates, and result verification.
## Module overview
| Module | Description | Trigger keywords |
|--------|-------------|------------------|
| **Projects** | Browse LaunchPool project list, filter by status/APR/coin/pool type | `projects`, `activities`, `events`, `ongoing`, `ended`, `warming up`, `APY`, `APR`, `which LaunchPool` |
| **Stake** | Stake tokens to a LaunchPool project | `stake`, `participate`, `join`, `pledge`, `contribute`, `put in` |
| **Redeem** | Early redeem staked assets from a project | `redeem`, `withdraw`, `unstake`, `take out`, `exit`, `pull out` |
| **Pledge Records** | Query staking/redemption participation history | `pledge records`, `participation history`, `staking records`, `my LaunchPool history` |
| **Reward Records** | Query airdrop reward distribution history | `airdrop`, `rewards`, `earnings`, `reward records`, `airdrop history`, `LaunchPool income` |
## Domain Knowledge
### LaunchPool concepts
| Concept | Description |
|---------|-------------|
| LaunchPool | A platform feature where users stake existing tokens to earn new token airdrops. Projects have a fixed staking period. |
| Project (pid) | A LaunchPool campaign for a specific new token. Has start/end time, total reward pool, and staking rules. |
| Reward Pool (rid) | Within a project, different reward pools exist for different staking coins (e.g. USDT pool, BTC pool). Each has its own estimated APR. |
| Staking Period | The duration during which users can stake and earn rewards. After the period ends, rewards are distributed. |
| Estimated APR | `rate_year` — the estimated Annual Percentage Rate (simple, no compounding) for a reward pool. Users may say "APY" colloquially; always display as "Estimated APR" in output. |
| Newbie Pool | Special pool with lower entry requirements or bonus rewards for new users (`limit_rule=1`). |
| Normal Pool | Standard staking pool open to all users (`limit_rule=0`). |
| Status (`project_state`) | Project lifecycle: Warming up (2) → In progress (1) → Ended (3). The request param `status` also supports 0 (All) and 4 (In progress + Warming up). |
| Personal Limit | Maximum/minimum staking amount per user per reward pool (`personal_max_amount` / `personal_min_amount`). |
| Transaction Config | Tiered participation conditions based on the user's **60-day total trading volume (in USD)**. Each tier defines a `transaction_amount` threshold and a corresponding `mortgage_limit` (personal staking cap, unit follows the reward pool's staking `coin`). If the user's trading volume is below the lowest tier, the staking limit is **0** (not eligible to participate). The `transaction_config` array is optional — only some reward pools have it. |
### Timestamp formatting
The `create_timest` and `reward_timest` fields in pledge/reward records are pre-formatted strings from the API (e.g. "2026-03-16 09:32:22"). Display them as-is in the data row and put `(UTC)` in the table header instead of appending to each value.
Project time fields (`start_timest`, `end_timest`) are internal data — do NOT display them to the user.
**Reward records time params**: The reward records API requires `start_time`/`end_time` as **integer unix timestamps**, which are error-prone to calculate. Follow the **Timestamp strategy** in `references/records.md` (Strategy 1: skip time params for recent queries; Strategy 2: use anchor table for historical ranges). Do NOT attempt to mentally compute unix timestamps without the anchor table.
### Number formatting
| Category | Precision | Examples |
|----------|-----------|----------|
| Amounts (staking, redeem, rewards) | 8 decimals, trailing zeros removed | `1.23` not `1.23000000` |
| Rate fields (Estimated APR) | 2 decimals, trailing zeros retained | `5.20%` not `5.2%` |
## Routing rules
| Intent | Example phrases | Route to |
|--------|-----------------|----------|
| **Browse projects** | "Show LaunchPool projects", "What LaunchPool events are ongoing?", "Highest APR LaunchPool", "Any USDT LaunchPool?", "Newbie pool projects" | Read `references/launch-projects.md` |
| **Stake** | "Stake 500 USDT to LaunchPool BTC project", "I want to participate in LaunchPool", "Put 1000 USDT into LaunchPool" | Read `references/stake-redeem.md` (Stake section) |
| **Redeem** | "Redeem my LaunchPool BTC stake", "Withdraw from LaunchPool", "Unstake my USDT from LaunchPool" | Read `references/stake-redeem.md` (Redeem section) |
| **Pledge records** | "My LaunchPool participation last month", "Show my LaunchPool staking records", "Check my BTC LaunchPool pledge history" | Read `references/records.md` (Part 1: Pledge Records) |
| **Reward Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.