Query crypto project details, Web3 investor info, funding rounds, trending projects, and personnel job changes from RootData. Use this skill when the user asks about blockchain projects, crypto investors, Web3 funding history, investment rounds, trending crypto projects, or personnel movements in th
---
name: "rootdata-crypto"
version: "1.0.5"
description: "Query crypto project details, Web3 investor info, funding rounds, trending projects, and personnel job changes from RootData. Use this skill when the user asks about blockchain projects, crypto investors, Web3 funding history, investment rounds, trending crypto projects, or personnel movements in the crypto industry."
tags: ["crypto", "web3", "blockchain", "investors", "funding", "projects", "defi", "personnel", "jobs"]
requires:
env:
- ROOTDATA_SKILL_KEY
---
# RootData Crypto Intelligence
RootData is a leading Web3 data platform covering crypto projects, investors, funding data, and personnel movements.
## First-Time Setup
Check if environment variable `ROOTDATA_SKILL_KEY` exists.
If it does NOT exist, call:
```
POST https://api.rootdata.com/open/skill/init
Content-Type: application/json
Body: {}
```
Save the returned `api_key` as environment variable `ROOTDATA_SKILL_KEY`.
Confirm to user: "RootData access is ready. You can now query crypto data."
All requests below must include these headers:
```
Authorization: Bearer {ROOTDATA_SKILL_KEY}
Content-Type: application/json
```
**Security note**: The API key generated by `/skill/init` is an anonymous, low-privilege key used solely to call RootData's public data endpoints. It will be stored by your agent as a local environment variable (`ROOTDATA_SKILL_KEY`). This key has no access to any personal account data. You can revoke it at any time by contacting RootData support.
---
## Skill 1: Search
**When to use**: User wants to search for a crypto project, investor institution, or person by name keyword.
**Request**:
```
POST https://api.rootdata.com/open/skill/ser_inv
Body:
{
"query": "<search keyword>",
"precise_x_search": false
}
```
**Key response fields**:
- `id` — entity ID (use this for follow-up queries)
- `type` — 1=Project, 2=Investor/Institution, 3=Person
- `name` — display name
- `one_liner` — brief description
- `introduce` — full description
- `rootdataurl` — link to full detail page on RootData
---
## Skill 2: Get All IDs by Type
**When to use**: User asks for a complete list of all project IDs, institution IDs, or person IDs.
**Request**:
```
POST https://api.rootdata.com/open/skill/id_map
Body:
{
"type": <1=Project | 2=Institution | 3=Person>
}
```
**Key response fields**:
- `id` — entity ID
- `name` — entity name
---
## Skill 3: Project Detail
**When to use**: User asks for detailed information about a specific crypto project (by project ID or contract address).
**Request**:
```
POST https://api.rootdata.com/open/skill/get_item
Body:
{
"project_id": <numeric project ID>,
"include_investors": true,
"include_team": true
}
```
Or query by contract address:
```
{
"contract_address": "<0x...>",
"include_investors": true,
"include_team": 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)
- `team_members` — current team members (only when include_team=true), each with:
- `name` — member name
- `position` — job title
- `head_img` — avatar URL
- `linkedin` — LinkedIn profile URL
- `X` — X (Twitter) profile URL
- `people_id` — person ID
- `start_employ` — employment start date (if available)
- `end_employ` — employment end date (if available)
- `former_team_members` — departed team members (only when include_team=true), same fields as `team_members`
- `eval` — RootData RD score for this project (BigDecimal, may be null)
- `similar_project` — similar projects in same category
- `rootdataurl` — RootData detail page link
---
## Skill 4: Funding Rounds
**When to use**: User asks about funding history, investment rounds, "how much did XX raise", or "who invested in XX".
**Data range**: Covers funding rounds from the **past 365 days only**. If user requests data older than one year, the API will automatically return only the most recent 365 days of data.
**Investor limit**: Each funding round returns a maximum of **3 investors** (prioritized by lead investors first).
**Request**:
```
POST https://api.rootdata.com/open/skill/get_fac
Body:
{
"page": 1,
"page_size": 20,
"project_id": <optional, filter by specific project>,
"start_time": "<optional, format: yyyy-MM-dd or yyyy-MM, e.g. 2025-01-01>",
"end_time": "<optional, format: yyyy-MM-dd or yyyy-MM, e.g. 2026-03-30>",
"min_amount": <optional, minimum funding amount in USD>,
"max_amount": <optional, maximum funding amount in USD>
}
```
All fields are optional. Omit any field not specified by the user.
**Key response fields**:
- `total` — total number of 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` — list of investors (max 3), each with:
- `name` — investor name
- `logo` — investor logo
- `lead_investor` — whether lead investor (1=yes, 0=no)
- `type` — 1=Project, 2=Institution, 3=Person
- `invest_id` — investor ID
- `rootdataurl` — investor detail page
**Note**: The `valuation` field has been removed from the response.
---
## Skill 5: Trending Projects
**When to use**: User asks "what's hot in crypto today", "trending projects", "top projects this week", or similar.
**Request**:
```
POST https://api.rootdata.com/open/skill/hot_index
Body:
{
"days": <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
---
## Skill 6: Personnel 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 (joinees and resignations).
**Request**:
```
POST https://api.rootdata.com/open/skill/job_changes
Body:
{
"recent_joinees": true,
"recent_resignations": true
}
```
**Parameters**:
- `recent_joinees` — set to `true` to get recent hires/joiners
- `recent_resignations` — set to `true` to get recent departures/resignations
- Both can be `true` simultaneously to get both types of data
- 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` — person's profile photo
- `company_type` — 1=Project, 2=Institution, 3=Person
- `company_id` — company/project/institution ID
- `company` — company/project name
- `position` — job title/position
- `X` — person's X (Twitter) URL
- `linkedin` — person's LinkedIn URL
- `recent_resignations` — array of recent departures (max 20), same structure as above
**Example use cases**:
- "Who recently joined major crypto projects?"
- "Show me recent executive changes in Web3"
- "Which companies did people leave recently?"
- "Latest personnel movements in the crypto industry"
---
## Skill 7: Person Detail
**When to use**: User asks for detailed information about a specific person in the crypto industry (by person ID).
**Request**:
```
POST https://api.rootdata.com/open/skill/get_people
Body:
{
"people_id": <numeric person ID>
}
```
**Key response fields**:
- `people_id` — person ID
- `people_name` — full name
- `head_img` — profile photo URL
- `X` — X (Twitter) profile URL
- `linkedin` — LinkedIn profile URL
- `one_liner` — brief description or current role
- `introduce` — full biography/introduction
- `heat` — heat score on RootData
- `influence` — influence score on RootData
- `heat_rank` — heat ranking position
- `influence_rank` — influence ranking position
- `followers` — Twitter follower count
- `following` — Twitter following count
- `top_followers` — number of high-influence accounts following this person
- `investments` — list of projects this person has invested in, each with:
- `name` — project name
- `logo` — project logo
- `id` — project ID
- `one_liner` — project brief description
- `X` — project's X (Twitter) URL
- `education_experience` — list of educational backgrounds, each with:
- `school_name` — institution name
- `school_logo` — institution logo
**Note**: Use Skill 1 (Search) with type=3 to look up a person's ID before calling this endpoint.
---
## 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.
---
## Rate Limits
- 200 requests per minute per API key
- If you receive HTTP 429, wait for the number of seconds in the `Retry-After` response header, then retry
- Check `X-RateLimit-Remaining` header to monitor remaining quota in current minute
---
## Error Codes
- `200` — Success
- `400` — Bad Request (invalid parameters)
- `401` — Invalid API key
- `404` — Not Found (entity does not exist)
- `429` — Rate limit exceeded
- `500` — Internal Server Error
---
## Best Practices
1. **Always initialize first**: Check for `ROOTDATA_SKILL_KEY` before making any requests
2. **Cache results**: Responses are cached for 5-10 minutes, repeated queries will be faster
3. **Use specific queries**: More specific search keywords yield better results
4. **Follow rate limits**: Monitor `X-RateLimit-Remaining` header to avoid hitting limits
5. **Handle errors gracefully**: Check `result` field in response (200 = success)
6. **Provide context**: When showing funding data, mention it covers the past 365 days only
7. **Investor limit**: When showing funding rounds, note that only top 3 investors are displayed per round
---
## Version History
### v1.0.5 (2026-07-10)
- **Updated**: `/get_item` now accepts `include_team` parameter; returns `team_members` (with `start_employ`/`end_employ`) and `former_team_members` arrays when enabled
- **Added**: `/get_item` now returns `eval` field (RootData RD score)
### v1.0.4 (2026-07-10)
- **Added**: New `/get_people` endpoint for detailed person profiles (investments, education, influence metrics)
- **Updated**: `/job_changes` now returns `X` and `linkedin` fields for each person entry
### v1.0.3 (2026-03-30)
- **Updated**: `/get_fac` now returns only past 365 days of funding data (previously from 2018)
- **Updated**: `/get_fac` now returns max 3 investors per funding round (previously unlimited)
- **Removed**: `valuation` field from `/get_fac` response
- **Added**: New `/job_changes` endpoint for personnel movements (max 20 entries per category)
### v1.0.2
- Initial release with 5 core skills
don't have the plugin yet? install it then click "run inline in claude" again.