

| Parameter | Type | Description |
|---|---|---|
maxPages | integer | Max Blockscout holder pages to walk per collection (default 10, max 30). Higher = more complete holder set but slower. |
collectionA* | string | First OpenSea collection slug (lowercase a-z, 0-9, dash). E.g. 'normies-art'. |
collectionB* | string | Second OpenSea collection slug to compare against. Must differ from collectionA. |
| Parameter | Type | Description |
|---|---|---|
note | object | Warning when maxPages limit was hit and results may be incomplete |
holdersA* | integer | Distinct holder count for collectionA (within scanned pages) |
holdersB* | integer | Distinct holder count for collectionB (within scanned pages) |
fetchedAt* | string | |
overlapPct* | number | overlapCount / min(holdersA, holdersB) × 100 |
collectionA* | string | First collection slug (echoed) |
collectionB* | string | Second collection slug (echoed) |
jaccardIndex* | number | |A ∩ B| / |A ∪ B|, range 0–1 |
overlapCount* | integer | Wallets holding at least one token in each collection |
pagesScannedA* | integer | Pages walked for collectionA |
pagesScannedB* | integer | Pages walked for collectionB |
topOverlapWallets* | object[] | Up to 25 shared wallets, sorted by combined holdings desc |