Pre-flight Dependencies (auto-injected by Plugin Store CI)
Run once per session before first use. These checks ensure required tools are installed.
Version check (auto-injected)
AI Agent Instruction: Run this version check before executing any commands from this skill. If an update is applied, re-read this SKILL.md before proceeding — the instructions may have changed.
bash
# Check for skill updates (1-hour cache)
UPDATE_CACHE="$HOME/.plugin-store/update-cache/rootdata-crypto-plugin"
CACHE_MAX=3600
LOCAL_VER="1.0.0"
DO_CHECK=true
if [ -f "$UPDATE_CACHE" ]; then
CACHE_MOD=$(stat -f %m "$UPDATE_CACHE" 2>/dev/null || stat -c %Y "$UPDATE_CACHE" 2>/dev/null || echo 0)
NOW=$(date +%s)
AGE=$(( NOW - CACHE_MOD ))
[ "$AGE" -lt "$CACHE_MAX" ] && DO_CHECK=false
fi
if [ "$DO_CHECK" = true ]; then
REMOTE_VER=$(curl -sf --max-time 3 "https://raw.githubusercontent.com/okx/plugin-store/main/skills/rootdata-crypto-plugin/plugin.yaml" | grep '^version' | head -1 | tr -d '"' | awk '{print $2}')
if [ -n "$REMOTE_VER" ]; then
mkdir -p "$HOME/.plugin-store/update-cache"
echo "$REMOTE_VER" > "$UPDATE_CACHE"
fi
fi
REMOTE_VER=$(cat "$UPDATE_CACHE" 2>/dev/null || echo "$LOCAL_VER")
if [ "$REMOTE_VER" != "$LOCAL_VER" ]; then
echo "Update available: rootdata-crypto-plugin v$LOCAL_VER -> v$REMOTE_VER. Updating..."
npx skills add okx/plugin-store --skill rootdata-crypto-plugin --yes --global 2>/dev/null || true
echo "Updated rootdata-crypto-plugin to v$REMOTE_VER. Please re-read this SKILL.md."
fi
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:
- Check if the environment variable exists.
- If it does NOT exist, call the command below to generate a key and save it.
- 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
is missing or invalid.
Output: Returns
(prefixed with
). Save it as
.
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:
- - entity ID (use for follow-up queries)
- - =Project, =VC/Institution, =Person
- - display name
- - brief description
- - full description
- - 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
entries for all entities of the specified type.
Example:
values:
=Project,
=VC/Institution,
=Person
Key response fields:
- - entity ID
- - 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:
- , , ,
- ,
- - whether the project is still active
- - founding date
- - category tags (e.g. DeFi, Layer2, NFT)
- - on-chain contract addresses
- - total funding raised (USD)
- - website, X(Twitter), GitHub, CoinMarketCap, CoinGecko, etc.
- - list of investors (only when )
- - similar projects in same category
- - 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
and
are optional. Omit any field not specified by the user.
Key response fields:
- - total matching records
- - list of funding rounds, each containing:
- - project name
- - project logo
- - round type (Seed / Series A / Series B / etc.)
- - announcement date
- - funding amount (USD)
- - project ID
- - data verification status
- - original news source link
- - project's X (Twitter) URL
- - project brief description
- - up to 3 investors, each with:
- ,
- - =lead investor, =participating
- - =Project, =VC/Institution, =Person
- - investor ID
- - 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:
values:
=today's trending,
=this week's trending
Key response fields:
- - ranking position
- , , ,
- - brief description
- - category tags
- - Twitter/X profile URL
- - 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:
- - to get recent hires/joiners
- - to get recent departures
- Both can be simultaneously
- If both are or omitted, returns empty data
Key response fields:
- - array of recent hires (max 20), each containing:
- - person ID
- - person's name
- - profile photo
- - =Project, =VC/Institution, =Person
- - company/project ID
- - company/project name
- - job title
- - array of recent departures (max 20), same structure
Multi-Language Support
Add header
for Chinese responses, or
for English (default).
All name fields, descriptions, and position titles will be returned in the requested language.
Error Handling
| Error | Cause | Resolution |
|---|
| Missing or invalid | Re-run to generate a new key and update the env variable |
| Rate limit exceeded (200 req/min) | Wait for the number of seconds in the response header, then retry |
| Invalid or missing required parameters | Check request body; verify , , or values are correct |
| Entity ID does not exist | Confirm the ID via search before calling detail endpoints |
500 Internal Server Error
| Upstream server error | Retry after a short delay; if persistent, report to RootData support |
| field != | Application-level error | Read the field in the response for details |
If you receive HTTP
, check the
header and wait before retrying. Monitor
to track remaining quota.
Security Notices
- This skill is read-only and does not perform any write, trade, or transaction operations.
- The 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 () and is never sent to any service other than .
- 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:
- Isolated API key namespace: prefix, env var
- 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