The GoldRush Enhanced Spam Lists are a public good designed to restore trust and transparency in the Web3 ecosystem by helping developers, explorers, wallets, and indexers protect their users from scam tokens and malicious contracts.

The Enhanced Spam Lists can be accessed as an npm package.

This package requires Node.js v18 or above.

Step 1. Install the Package

You can install the package using npm, yarn or pnpm:

npm install @covalenthq/goldrush-enhanced-spam-lists

Step 2. Use Cases

1

Verify if an ERC20 token is spam on a given network

import {
    Networks,
    isERC20Spam,
} from "@covalenthq/goldrush-enhanced-spam-lists";

// With default options
const isSpam = await isERC20Spam("0xTokenAddress", Networks.ETHEREUM_MAINNET);
console.log(isSpam);
2

For a potential spam check for an ERC20 token, Confidence.MAYBE can be used

import {
    Confidence,
    Networks,
    isERC20Spam,
} from "@covalenthq/goldrush-enhanced-spam-lists";

const isPotentialSpam = await isERC20Spam(
    "0xTokenAddress",
    Networks.POLYGON_MAINNET,
    Confidence.MAYBE
);
console.log(isPotentialSpam);
3

Verify if an NFT token is spam on a given network

import {
        Networks,
        isNFTSpam,
} from "@covalenthq/goldrush-enhanced-spam-lists";

const isNftSpam = await isNFTSpam("0xNftAddress", Networks.BSC_MAINNET);
console.log(isNftSpam);
4

Control caching behavior

import {
    Networks,
    Confidence,
    isERC20Spam,
    clearCache,
} from "@covalenthq/goldrush-enhanced-spam-lists";

// With caching enabled (default)
const withCache = await isERC20Spam(
    "0xTokenAddress",
    Networks.ETHEREUM_MAINNET,
    Confidence.YES,
    true // Enable caching (default)
);

// Without caching (always fetches fresh data)
const withoutCache = await isERC20Spam(
    "0xTokenAddress",
    Networks.ETHEREUM_MAINNET,
    Confidence.YES,
    false // Disable caching
);

// Clear memory and disk cache if needed
clearCache();
5

For more control, you can get the full lists:

import {
    getERC20List,
    getNFTList,
    Confidence,
    Networks,
} from "@covalenthq/goldrush-enhanced-spam-lists";

// Get ERC20 spam list with default caching
const ethSpamTokens = await getERC20List(Networks.ETHEREUM_MAINNET, Confidence.YES);

// Get NFT spam list with caching disabled
const bscSpamNfts = await getNFTList(Networks.BSC_MAINNET, false);
6

Get the specific spam score for a given contract

import {
    getERC20List,
    getSpamScore,
    Networks,
    Confidence,
} from "@covalenthq/goldrush-enhanced-spam-lists";

const ethSpamTokens = await getERC20List(
Networks.ETHEREUM_MAINNET,
Confidence.YES
);
const score = getSpamScore(ethSpamTokens[0]);
console.log(score); // Returns the spam score as a string