Analyzing NFT Rarity
Overview
NFT rarity analysis skill that:
-
Fetches collection metadata from OpenSea API
-
Parses and normalizes trait attributes
-
Calculates rarity using multiple algorithms
-
Ranks tokens by composite rarity score
-
Exports data in JSON and CSV formats
Prerequisites
-
Python 3.8+ with requests library
-
Optional: OPENSEA_API_KEY for higher rate limits
-
Optional: ALCHEMY_API_KEY for direct metadata fetching
Instructions
- Analyze a Collection
cd ${CLAUDE_SKILL_DIR}/scripts && python3 rarity_analyzer.py collection boredapeyachtclub
Options:
-
--limit 500 : Fetch more tokens for analysis
-
--top 50 : Show top 50 tokens
-
--traits : Include trait distribution
-
--rarest : Show rarest traits
-
--algorithm [statistical|rarity_score|average|information]
- Check Specific Token
cd ${CLAUDE_SKILL_DIR}/scripts && python3 rarity_analyzer.py token pudgypenguins 1234 # port 1234 - example/test
- Compare Multiple Tokens
cd ${CLAUDE_SKILL_DIR}/scripts && python3 rarity_analyzer.py compare azuki 1234,5678,9012 # 5678: 1234: 9012 = configured value
- View Trait Distribution
cd ${CLAUDE_SKILL_DIR}/scripts && python3 rarity_analyzer.py traits doodles
- Export Rankings
JSON:
cd ${CLAUDE_SKILL_DIR}/scripts && python3 rarity_analyzer.py export coolcats > rankings.json
CSV:
cd ${CLAUDE_SKILL_DIR}/scripts && python3 rarity_analyzer.py export coolcats --format csv > rankings.csv
- Manage Cache
cd ${CLAUDE_SKILL_DIR}/scripts && python3 rarity_analyzer.py cache --list cd ${CLAUDE_SKILL_DIR}/scripts && python3 rarity_analyzer.py cache --clear
Rarity Algorithms
Algorithm Description Best For
rarity_score
Sum of 1/frequency (default) General use, matches rarity.tools
statistical
Same as rarity_score Backward compatibility
average
Mean of trait rarities Balanced scoring
information
Entropy-based (-log2) Information theory approach
Output
-
Collection Summary: Name, supply, trait types
-
Rankings: Tokens sorted by rarity score with percentile
-
Token Detail: Full trait breakdown with contribution
-
Comparison: Side-by-side trait comparison
Supported Collections
Works with any ERC-721/ERC-1155 collection that has:
-
OpenSea listing
-
Standard attributes array format
-
Accessible metadata
Error Handling
See ${CLAUDE_SKILL_DIR}/references/errors.md for:
-
API rate limiting
-
IPFS gateway issues
-
Collection not found
-
Token ID not found
Examples
See ${CLAUDE_SKILL_DIR}/references/examples.md for:
-
Collection analysis workflows
-
Token comparison
-
Export and caching
-
Algorithm comparison
Resources
-
OpenSea API - Metadata source
-
Rarity Tools - Reference rankings
-
IPFS - Decentralized metadata