From d5d6c9bcbbbd7c775b9a09cc7eb86e0b83c279c1 Mon Sep 17 00:00:00 2001 From: jhjhjh94 Date: Wed, 11 Feb 2026 23:13:51 +0800 Subject: [PATCH 1/5] Remove spam scoring related FAQs --- website/src/openApi/tokenApi.json | 18 ++-------- .../en/token-api/evm-nfts/collections.mdx | 14 +------- website/src/pages/en/token-api/faq.mdx | 36 ------------------- 3 files changed, 4 insertions(+), 64 deletions(-) diff --git a/website/src/openApi/tokenApi.json b/website/src/openApi/tokenApi.json index 81028d1a1d6b..e0f73a5cc8cc 100644 --- a/website/src/openApi/tokenApi.json +++ b/website/src/openApi/tokenApi.json @@ -6436,7 +6436,7 @@ "get": { "operationId": "getV1EvmNftCollections", "summary": "NFT Collection", - "description": "Returns NFT collection metadata, supply stats, owner count, and transfer history.\n\nThe `spam_status` flag indicates if the NFT is likely spam. If status shows `pending`, retry in a few seconds.\n\nSpam detection is supported for:\n\n* mainnet\n* base\n* polygon\n* arbitrum-one\n* avalanche\n* optimism\n* bsc", + "description": "Returns NFT collection metadata, supply stats, owner count, and transfer history.", "tags": [ "EVM NFTs" ], @@ -6518,16 +6518,6 @@ "polygon", "unichain" ] - }, - "spam_status": { - "type": "string", - "enum": [ - "spam", - "not_spam", - "pending", - "not_supported", - "error" - ] } }, "required": [ @@ -6540,8 +6530,7 @@ "total_supply", "total_unique_supply", "total_transfers", - "network", - "spam_status" + "network" ] } }, @@ -6613,8 +6602,7 @@ "total_supply": 8888, "total_unique_supply": 8888, "total_transfers": 193641, - "network": "mainnet", - "spam_status": "pending" + "network": "mainnet" } ] } diff --git a/website/src/pages/en/token-api/evm-nfts/collections.mdx b/website/src/pages/en/token-api/evm-nfts/collections.mdx index 8da849fcffb1..2bb35dcab175 100644 --- a/website/src/pages/en/token-api/evm-nfts/collections.mdx +++ b/website/src/pages/en/token-api/evm-nfts/collections.mdx @@ -6,16 +6,4 @@ template: operationId: getV1EvmNftCollections --- -Returns NFT collection metadata, supply stats, owner count, and transfer history. - -The `spam_status` flag indicates if the NFT is likely spam. If status shows `pending`, retry in a few seconds. - -Spam detection is supported for: - -- Arbitrum One -- Avalanche C-Chain -- Base Mainnet -- BSC Mainnet -- Ethereum Mainnet -- Optimism Mainnet -- Polygon Mainnet +Returns NFT collection metadata, supply stats, owner count, and transfer history. \ No newline at end of file diff --git a/website/src/pages/en/token-api/faq.mdx b/website/src/pages/en/token-api/faq.mdx index 323b232dc449..21bd8de08887 100644 --- a/website/src/pages/en/token-api/faq.mdx +++ b/website/src/pages/en/token-api/faq.mdx @@ -305,42 +305,6 @@ No, these are optional. MCP is an advanced feature allowing AI assistants to int Yes, you need to provide your Token API token to the MCP for authenticating with the Token API. The MCP makes API requests on your behalf when your LLM interacts with it. -## NFT Spam Detection - -### What is NFT spam detection? - -NFT collections on supported chains contain a spam status field indicating whether the collection is likely spam or not spam. - -### How do I retrieve the spam status for a collection? - -See the spam_status field on the [`/v1/evm/nft/collections/`](/token-api/evm-nfts/collections/) endpoint. - -### Why am I seeing "pending" spam status? - -There are millions of collections and we only analyze for spam on demand. If you see a pending status, query it again after 5-10 seconds and the status should be updated. - -### What chains contain NFT spam detection? - -NFT spam detection is currently supported for the following chains: - -- Arbitrum One -- Avalanche C-Chain -- Base Mainnet -- BSC Mainnet -- Ethereum Mainnet -- Optimism Mainnet -- Polygon Mainnet - -We are working on fine-tuning the model to enable more chains. - -### How is the spam status of a collection determined? - -We determine a collection’s spam score using a variety of features drawn from transfers data and metadata. We have several AI models that analyze these features in different ways. We then aggregate the results from the various models into a combined score, which is reported back. - -### How can I report an issue with a collection that was incorrectly labeled as spam or not spam? - -Reach out on [Discord](https://discord.gg/graphprotocol) in the [Token API](https://discord.com/channels/438038660412342282/1354235849532903625) channel. - ## Advanced Topics ### I keep seeing a smart contract with addresses like `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` and `0x0000000000000000000000000000000000000000`. What is this? From 8ae38d348f05096a6a3904aa9a4ad962addba28b Mon Sep 17 00:00:00 2001 From: jhjhjh94 Date: Wed, 11 Feb 2026 23:17:54 +0800 Subject: [PATCH 2/5] Fixed formatting with prettier --- website/src/pages/en/token-api/evm-nfts/collections.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/token-api/evm-nfts/collections.mdx b/website/src/pages/en/token-api/evm-nfts/collections.mdx index 2bb35dcab175..8d542c83fde3 100644 --- a/website/src/pages/en/token-api/evm-nfts/collections.mdx +++ b/website/src/pages/en/token-api/evm-nfts/collections.mdx @@ -6,4 +6,4 @@ template: operationId: getV1EvmNftCollections --- -Returns NFT collection metadata, supply stats, owner count, and transfer history. \ No newline at end of file +Returns NFT collection metadata, supply stats, owner count, and transfer history. From 448e443ac12ccebcf97f0fc29abb189d34f44886 Mon Sep 17 00:00:00 2001 From: jhjhjh94 Date: Fri, 13 Feb 2026 00:07:00 +0800 Subject: [PATCH 3/5] added FAQ (Quick Setup) for skills.md --- .../src/pages/en/ai-suite/_meta-titles.json | 3 +- website/src/pages/en/ai-suite/_meta.js | 1 + .../en/ai-suite/token-api-skills/_meta.js | 3 ++ .../ai-suite/token-api-skills/quick-setup.mdx | 36 +++++++++++++++++++ 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 website/src/pages/en/ai-suite/token-api-skills/_meta.js create mode 100644 website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx diff --git a/website/src/pages/en/ai-suite/_meta-titles.json b/website/src/pages/en/ai-suite/_meta-titles.json index 405922319d53..524bebbb3902 100644 --- a/website/src/pages/en/ai-suite/_meta-titles.json +++ b/website/src/pages/en/ai-suite/_meta-titles.json @@ -1,5 +1,6 @@ { "ai-introduction": "The Graph's AI", "subgraph-mcp": "Subgraph MCP", - "token-api-mcp": "Token API MCP" + "token-api-mcp": "Token API MCP", + "token-api-skills": "Token API Skills" } diff --git a/website/src/pages/en/ai-suite/_meta.js b/website/src/pages/en/ai-suite/_meta.js index db5b6fbe12fe..ec74610b8c37 100644 --- a/website/src/pages/en/ai-suite/_meta.js +++ b/website/src/pages/en/ai-suite/_meta.js @@ -4,4 +4,5 @@ export default { 'ai-introduction': titles['ai-introduction'], 'subgraph-mcp': titles['subgraph-mcp'], 'token-api-mcp': titles['token-api-mcp'], + 'token-api-skills': titles['token-api-skills'], } diff --git a/website/src/pages/en/ai-suite/token-api-skills/_meta.js b/website/src/pages/en/ai-suite/token-api-skills/_meta.js new file mode 100644 index 000000000000..2bce33552b7c --- /dev/null +++ b/website/src/pages/en/ai-suite/token-api-skills/_meta.js @@ -0,0 +1,3 @@ +export default { + 'quick-setup': '', +} diff --git a/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx b/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx new file mode 100644 index 000000000000..c404a4f55833 --- /dev/null +++ b/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx @@ -0,0 +1,36 @@ +--- +title: Quick Setup +sidebarTitle: Quick Setup +--- + +## Quick Setup + +1. Create the skill directory and download the file: + +```bash +mkdir -p ~/.claude/skills/token-api +curl -o ~/.claude/skills/token-api/SKILL.md https://token-api.service.stage.pinax.network/skills.md +``` + +2. Verify it works by typing `/token-api` in Claude Code. + +That's it. + +## Where Skills Live + +| Location | Path | Scope | +| --- | --- | --- | +| Personal | `~/.claude/skills//SKILL.md` | All your projects | +| Project | `.claude/skills//SKILL.md` | Current project only | + +For project-scoped usage (committed to Git so teammates get it too), use `.claude/skills/` in your repository. + +## How It Works + +- Claude Code auto-discovers `SKILL.md` files in `.claude/skills/` directories. +- Skills are invoked with `/skill-name` (e.g., `/token-api`). +- Skills can also be triggered automatically by Claude when relevant to your request. + +## Keeping It Updated + +If the remote file changes, re-run the `curl` command to fetch the latest version. You could also script this if needed. From 7cc73870d1286dfb5f96715d777987d63e3484ad Mon Sep 17 00:00:00 2001 From: jhjhjh94 Date: Fri, 13 Feb 2026 00:12:59 +0800 Subject: [PATCH 4/5] fixed url to prod + prettier format --- .../pages/en/ai-suite/token-api-skills/quick-setup.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx b/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx index c404a4f55833..e53ec8f94d14 100644 --- a/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx +++ b/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx @@ -9,7 +9,7 @@ sidebarTitle: Quick Setup ```bash mkdir -p ~/.claude/skills/token-api -curl -o ~/.claude/skills/token-api/SKILL.md https://token-api.service.stage.pinax.network/skills.md +curl -o ~/.claude/skills/token-api/SKILL.md https://token-api.thegraph.com/skills.md ``` 2. Verify it works by typing `/token-api` in Claude Code. @@ -18,10 +18,10 @@ That's it. ## Where Skills Live -| Location | Path | Scope | -| --- | --- | --- | -| Personal | `~/.claude/skills//SKILL.md` | All your projects | -| Project | `.claude/skills//SKILL.md` | Current project only | +| Location | Path | Scope | +| -------- | ---------------------------------- | -------------------- | +| Personal | `~/.claude/skills//SKILL.md` | All your projects | +| Project | `.claude/skills//SKILL.md` | Current project only | For project-scoped usage (committed to Git so teammates get it too), use `.claude/skills/` in your repository. From 403d2ae7f670ae1970b6038f62a65cd97556763c Mon Sep 17 00:00:00 2001 From: Hau <37109389+jhjhjh94@users.noreply.github.com> Date: Fri, 13 Feb 2026 00:27:22 +0800 Subject: [PATCH 5/5] Update website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sidebarTitle: Quick Setup removed Co-authored-by: Benoît Rouleau --- website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx b/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx index e53ec8f94d14..b12833b6531a 100644 --- a/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx +++ b/website/src/pages/en/ai-suite/token-api-skills/quick-setup.mdx @@ -1,6 +1,5 @@ --- title: Quick Setup -sidebarTitle: Quick Setup --- ## Quick Setup