diff --git a/skills/rootdata-crypto-plugin/.claude-plugin/plugin.json b/skills/rootdata-crypto-plugin/.claude-plugin/plugin.json new file mode 100644 index 000000000..fc669be99 --- /dev/null +++ b/skills/rootdata-crypto-plugin/.claude-plugin/plugin.json @@ -0,0 +1,10 @@ +{ + "name": "rootdata-crypto-plugin", + "description": "RootData is a leading Web3 data platform covering crypto projects, investors, funding data, and personnel movements. This skill is the OKX-dedicated integration, isolated from the standard RootData skill with its own API key namespace and endpoints.", + "version": "1.0.0", + "author": { + "name": "rootdata" + }, + "license": "MIT", + "keywords": ["web3", "crypto"] +} \ No newline at end of file diff --git a/skills/rootdata-crypto-plugin/LICENSE b/skills/rootdata-crypto-plugin/LICENSE new file mode 100644 index 000000000..18fb3fe66 --- /dev/null +++ b/skills/rootdata-crypto-plugin/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 rootdata + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skills/rootdata-crypto-plugin/SKILL.md b/skills/rootdata-crypto-plugin/SKILL.md new file mode 100644 index 000000000..f23a561d0 --- /dev/null +++ b/skills/rootdata-crypto-plugin/SKILL.md @@ -0,0 +1,310 @@ +--- +name: rootdata-crypto-plugin +description: "RootData is a leading Web3 data platform covering crypto projects, investors, funding data, and personnel movements. This skill is the OKX-dedicated integration, isolated from the standard RootData skill with its own API key namespace and endpoints." +version: "1.0.0" +author: "rootdata" +tags: + - crypto + - web3 + - blockchain + - investors + - funding + - projects + - defi + - personnel + - okx +--- + +# RootData Crypto Intelligence (OKX Edition) + +## Overview + +RootData is a leading Web3 data platform covering crypto projects, investors, funding data, and personnel movements. This skill is the OKX-dedicated integration, isolated from the standard RootData skill with its own API key namespace and endpoints. + +## Pre-flight Checks + +Before using this skill, ensure: + +1. Check if the environment variable `OKX_ROOTDATA_SKILL_KEY` exists. +2. If it does **NOT** exist, call the `/init` command below to generate a key and save it. +3. All subsequent requests must include `Authorization: Bearer {OKX_ROOTDATA_SKILL_KEY}` and `Content-Type: application/json`. + +### Initialize API Key + +`POST https://api.rootdata.com/open/okx/skill/init` + +**When to use**: First-time setup, or when `OKX_ROOTDATA_SKILL_KEY` is missing or invalid. +**Output**: Returns `api_key` (prefixed with `okxsk_`). Save it as `OKX_ROOTDATA_SKILL_KEY`. +**Example**: + +``` +POST https://api.rootdata.com/open/okx/skill/init +Content-Type: application/json +Body: {} +``` + +Response: +```json +{ + "result": 200, + "data": { + "api_key": "okxsk_xxxxxxxxxxxxxxxx" + } +} +``` + +After saving, confirm to user: "RootData (OKX) access is ready. You can now query crypto data." + +--- + +## Commands + +All requests must include: + +``` +Authorization: Bearer {OKX_ROOTDATA_SKILL_KEY} +Content-Type: application/json +``` + +--- + +### Search + +`POST https://api.rootdata.com/open/okx/skill/ser_inv` + +**When to use**: User wants to search for a crypto project, investor institution, or person by name keyword. Use this as the first step when an entity ID is not yet known. +**Output**: A list of matching entities with their IDs, types, names, and descriptions. +**Example**: + +```json +{ + "query": "Uniswap", + "precise_x_search": false +} +``` + +Key response fields: +- `id` — entity ID (use for follow-up queries) +- `type` — `1`=Project, `2`=VC/Institution, `3`=Person +- `name` — display name +- `one_liner` — brief description +- `introduce` — full description +- `rootdataurl` — link to full detail page on RootData + +--- + +### Get All IDs by Type + +`POST https://api.rootdata.com/open/okx/skill/id_map` + +**When to use**: User asks for a complete list of all project IDs, institution IDs, or person IDs for bulk lookup or enumeration. +**Output**: Array of `{ id, name }` entries for all entities of the specified type. +**Example**: + +```json +{ + "type": 1 +} +``` + +`type` values: `1`=Project, `2`=VC/Institution, `3`=Person + +Key response fields: +- `id` — entity ID +- `name` — entity name + +--- + +### Project Detail + +`POST https://api.rootdata.com/open/okx/skill/get_item` + +**When to use**: User asks for detailed information about a specific crypto project, including its description, funding total, investors, tags, and social links. +**Output**: Full project profile including funding summary, contracts, social media, and investor list. +**Example** (by project ID): + +```json +{ + "project_id": 12345, + "include_investors": true +} +``` + +Or by contract address: + +```json +{ + "contract_address": "0xabc123...", + "include_investors": true +} +``` + +Key response fields: +- `project_id`, `project_name`, `logo`, `token_symbol` +- `one_liner`, `description` +- `active` — whether the project is still active +- `establishment_date` — founding date +- `tags` — category tags (e.g. DeFi, Layer2, NFT) +- `contracts` — on-chain contract addresses +- `total_funding` — total funding raised (USD) +- `social_media` — website, X(Twitter), GitHub, CoinMarketCap, CoinGecko, etc. +- `investors` — list of investors (only when `include_investors=true`) +- `similar_project` — similar projects in same category +- `rootdataurl` — RootData detail page link + +--- + +### Funding Rounds + +`POST https://api.rootdata.com/open/okx/skill/get_fac` + +**When to use**: User asks about funding history, investment rounds, "how much did XX raise", "who invested in XX", or requests a list of recent fundraises. + +**Data range**: Covers funding rounds from the **past 365 days only**. Requests for older data will automatically return only the most recent 365 days. + +**Investor limit**: Each funding round returns a maximum of **3 investors** (lead investors prioritized). + +**Output**: Paginated list of funding rounds with project info and investor details. +**Example**: + +```json +{ + "page": 1, + "page_size": 20, + "project_id": 12345, + "start_time": "2025-01-01", + "end_time": "2026-03-30", + "min_amount": 1000000, + "max_amount": 50000000 +} +``` + +All fields except `page` and `page_size` are optional. Omit any field not specified by the user. + +Key response fields: +- `total` — total matching records +- `items` — list of funding rounds, each containing: + - `name` — project name + - `logo` — project logo + - `rounds` — round type (Seed / Series A / Series B / etc.) + - `published_time` — announcement date + - `amount` — funding amount (USD) + - `project_id` — project ID + - `data_status` — data verification status + - `source_url` — original news source link + - `X` — project's X (Twitter) URL + - `one_liner` — project brief description + - `invests` — up to 3 investors, each with: + - `name`, `logo` + - `lead_investor` — `1`=lead investor, `0`=participating + - `type` — `1`=Project, `2`=VC/Institution, `3`=Person + - `invest_id` — investor ID + - `rootdataurl` — investor detail page + +--- + +### Trending Projects + +`POST https://api.rootdata.com/open/okx/skill/hot_index` + +**When to use**: User asks "what's hot in crypto today", "trending projects", "top projects this week", or similar trending/popularity queries. +**Output**: Ranked list of trending projects for the requested time window. +**Example**: + +```json +{ + "days": 1 +} +``` + +`days` values: `1`=today's trending, `7`=this week's trending + +Key response fields: +- `rank` — ranking position +- `project_id`, `project_name`, `logo`, `token_symbol` +- `one_liner` — brief description +- `tags` — category tags +- `X` — Twitter/X profile URL +- `rootdataurl` — RootData detail page link + +--- + +### Personnel Job Changes + +`POST https://api.rootdata.com/open/okx/skill/job_changes` + +**When to use**: User asks about recent job changes in crypto, "who joined which project", "who left which company", personnel movements, or executive changes in the Web3 industry. + +**Data limit**: Returns a maximum of **20 recent entries** for each category. + +**Output**: Two arrays — recent hires and recent departures — each with up to 20 entries. +**Example**: + +```json +{ + "recent_joinees": true, + "recent_resignations": true +} +``` + +Parameters: +- `recent_joinees` — `true` to get recent hires/joiners +- `recent_resignations` — `true` to get recent departures +- Both can be `true` simultaneously +- If both are `false` or omitted, returns empty data + +Key response fields: +- `recent_joinees` — array of recent hires (max 20), each containing: + - `people_id` — person ID + - `people_name` — person's name + - `head_img` — profile photo + - `company_type` — `1`=Project, `2`=VC/Institution, `3`=Person + - `company_id` — company/project ID + - `company` — company/project name + - `position` — job title +- `recent_resignations` — array of recent departures (max 20), same structure + +--- + +## Multi-Language Support + +Add header `language: cn` for Chinese responses, or `language: en` for English (default). + +All name fields, descriptions, and position titles will be returned in the requested language. + +--- + +## Error Handling + +| Error | Cause | Resolution | +|-------|-------|------------| +| `401 Unauthorized` | Missing or invalid `OKX_ROOTDATA_SKILL_KEY` | Re-run `/init` to generate a new key and update the env variable | +| `429 Too Many Requests` | Rate limit exceeded (200 req/min) | Wait for the number of seconds in the `Retry-After` response header, then retry | +| `400 Bad Request` | Invalid or missing required parameters | Check request body; verify `type`, `days`, or `page` values are correct | +| `404 Not Found` | Entity ID does not exist | Confirm the ID via `/ser_inv` search before calling detail endpoints | +| `500 Internal Server Error` | Upstream server error | Retry after a short delay; if persistent, report to RootData support | +| `result` field ≠ `200` | Application-level error | Read the `message` field in the response for details | + +If you receive HTTP `429`, check the `Retry-After` header and wait before retrying. Monitor `X-RateLimit-Remaining` to track remaining quota. + +--- + +## Security Notices + +- This skill is **read-only** and does not perform any write, trade, or transaction operations. +- The `okxsk_` prefixed API key is an anonymous, low-privilege key used solely to call RootData's public data endpoints. It has no access to any personal account or wallet data. +- The key is stored as a local environment variable (`OKX_ROOTDATA_SKILL_KEY`) and is never sent to any service other than `api.rootdata.com`. +- You can revoke the key at any time by contacting RootData support. +- Rate limit: **200 requests per minute** per API key. + +--- + +## Version History + +### v1.0.0 (2026-04-27) +- Initial OKX edition release +- Isolated endpoint namespace: `/open/okx/skill/` +- Isolated API key namespace: `okxsk_` prefix, env var `OKX_ROOTDATA_SKILL_KEY` +- 6 skills: Search, ID Map, Project Detail, Funding Rounds, Trending Projects, Personnel Job Changes +- Funding data limited to past 365 days; max 3 investors per round +- Job changes: max 20 entries per category diff --git a/skills/rootdata-crypto-plugin/SUMMARY.md b/skills/rootdata-crypto-plugin/SUMMARY.md new file mode 100644 index 000000000..bb74e7808 --- /dev/null +++ b/skills/rootdata-crypto-plugin/SUMMARY.md @@ -0,0 +1,30 @@ +## Overview + +RootData OKX Edition — a read-only Web3 data lookup skill covering crypto projects, +investors, funding rounds, trending projects, and personnel job changes. + +Core operations:[SKILL.md](SKILL.md) + +- Search projects, VCs, and people by keyword +- Look up project details, investors, funding history +- Track trending projects (1-day / 7-day windows) +- Monitor crypto industry hires and departures + +Tags: `crypto` `web3` `research` `funding` `rootdata` + +## Prerequisites + +- No IP/region restrictions (public data API) +- `OKX_ROOTDATA_SKILL_KEY` environment variable (auto-provisioned via /init on first run) +- Internet access to api.rootdata.com +- Rate limit: 200 req/min per key + +## Quick Start + +1. **First-time setup**: ask the agent anything that uses RootData. If + `OKX_ROOTDATA_SKILL_KEY` is missing, the skill calls `/init` to mint a key and + stores it as an env var. +2. **Search**: e.g., "find Uniswap on RootData" → returns entity ID. +3. **Detail lookup**: pass the ID to project/funding endpoints for full data. +4. **Trending / job changes**: ask "what's hot today" or "who joined which crypto + project this week". diff --git a/skills/rootdata-crypto-plugin/plugin.yaml b/skills/rootdata-crypto-plugin/plugin.yaml new file mode 100644 index 000000000..bcef8e3e0 --- /dev/null +++ b/skills/rootdata-crypto-plugin/plugin.yaml @@ -0,0 +1,19 @@ +schema_version: 1 +name: rootdata-crypto-plugin +version: "1.0.0" +description: "RootData is a leading Web3 data platform covering crypto projects, investors, funding data, and personnel movements. This skill is the OKX-dedicated integration, isolated from the standard RootData skill with its own API key namespace and endpoints." +author: + name: "rootdata" + github: "CJZZWW" +license: MIT +category: utility +tags: + - web3 + - crypto + +components: + skill: + dir: "." + +api_calls: + - "api.rootdata.com" \ No newline at end of file