npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

evm-token-info-service

v2.1.3

Published

Fetch info about token/pool with security audit

Readme

EVM Token Info Service

A Node.js service for fetching detailed information about tokens and liquidity pools across various EVM chains, including security audits and metadata.

Features

  • Token and pool information from DexScreener
  • Security audit via GoPlus Labs API
  • Pair metadata with social links and websites
  • Caching support
  • Support for multiple EVM chains (Ethereum, Polygon, Arbitrum, Base)
  • Detailed pool metrics (liquidity, volume, price changes)
  • Comprehensive security checks

Installation

npm install evm-token-info-service

Usage

import TokenInfoService from 'evm-token-info-service';

// Initialize the service
const tokenInfoService = new TokenInfoService(axiosInstance = null, cacheService = null);
- Axios instance is optional, if not provided, it will use regular axios. You can pass your own axios instance if you want to use a custom configuration like a proxy or a custom timeout.
- Cache service is optional, if not provided, it will not cache the data

// Get pool information with security audit
const poolInfo = await tokenInfoService.getPoolInfo(
    '0xYourTokenAddress',  // Token address
    true                   // Enable security audit
);

// Search for a token or token pair with search query
const searchResult = await tokenInfoService.searchToken('query');

// Get pool information without security audit
const basicPoolInfo = await tokenInfoService.getPoolInfo(
    '0xYourTokenAddress',  // Token address
    false                  // Disable security audit
);

// Get pair metadata separately
const metadata = await tokenInfoService.getPairMetadata(
    '0xPairAddress',       // Pool/Pair address
    1                      // Chain ID (1 for Ethereum)
);

// Audit contract separately
const audit = await tokenInfoService.auditContract(
    '0xTokenAddress',      // Token address
    1                      // Chain ID (1 for Ethereum)
);

Response Structure

Pool Information Response

{
    price: "1.234",                   // Current token price in USD
    address: "0x...",                 // Pool address
    pairSymbol: "TOKEN/WETH",         // Pair symbol
    liquidity: "1000000",             // Liquidity in USD
    volume24h: "500000",              // 24h volume
    buys24h: 100,                     // Number of buy transactions
    sells24h: 80,                     // Number of sell transactions
    priceChange24h: 5.5,              // 24h price change percentage
    fdv: "10000000",                  // Fully diluted valuation
    marketCap: "5000000",             // Market capitalization
    pairCreatedAt: "2023-01-01",      // Pool creation date
    baseToken: {
        symbol: "TOKEN",
        name: "Token Name",
        address: "0x..."
    },
    quoteToken: {
        symbol: "WETH",
        name: "Wrapped Ether",
        address: "0x..."
    },
    dexId: "uniswap",                 // DEX identifier
    chainId: "1",                     // Chain ID
    metadata: {
        websites: [],                 // Project websites
        socials: []                   // Social media links
    },
    audit: {                          // Only if security audit is enabled
        lp_locked: {
            balance: 100,
            percent: 95
        },
        buy_tax: "0",
        sell_tax: "0",
        holder_count: "1000",
        total_supply: "1000000",
        owner_address: "0x...",
        problems: {}                   // Security issues if any
    }
}

Search Result Response

[
    {
      "chainId": "solana",
      "dexId": "raydium",
      "url": "https://dexscreener.com/solana/8p6mqpuvwxve1rwwxy1vcljuwxuzjgvfrp3pkpir4l2t",
      "pairAddress": "AAAAA",
      "labels": [
        "CPMM"
      ],
      "baseToken": {
        "address": "BBBB",
        "name": "Token Name",
        "symbol": "TOKEN"
      },
      "quoteToken": {
        "address": "So11111111111111111111111111111111111111112",
        "name": "Wrapped SOL",
        "symbol": "SOL"
      },
      "priceNative": "0.000001234",
      "priceUsd": "0.0005678",
      "txns": {
        "m5": {
          "buys": 0,
          "sells": 0
        },
        "h1": {
          "buys": 0,
          "sells": 0
        },
        "h6": {
          "buys": 0,
          "sells": 0
        },
        "h24": {
          "buys": 2,
          "sells": 0
        }
      },
      "volume": {
        "h24": 123.45,
        "h6": 12.34,
        "h1": 1.23,
        "m5": 0.12
      },
      "priceChange": {
        "h24": -4.88
      },
      "liquidity": {
        "usd": 123456.78,
        "base": 123456789,
        "quote": 123456789
      },
      "fdv": 123456.78,
      "marketCap": 123456.78,
      "pairCreatedAt": 1234553498000,
      "info": {
        "imageUrl": "https://dd.dexscreener.com/ds-data/tokens/solana/BBBB.png?key=d589a4",
        "header": "https://dd.dexscreener.com/ds-data/tokens/solana/BBBB/header.png?key=d589a4",
        "openGraph": "https://cdn.dexscreener.com/token-images/og/solana/BBBB?timestamp=1737461400000",
        "websites": [
          {
            "label": "Website",
            "url": "https://token.xyz/"
          }
        ],
        "socials": [
          {
            "type": "twitter",
            "url": "https://twitter.com/token"
          },
          {
            "type": "telegram",
            "url": "https://t.me/token"
          }
        ]
      }
    },
    // ... more pairs
]

Audit Response Structure

{
    // Token Information
    token_name: "TokenName",
    token_symbol: "SYMBOL",
    total_supply: "10000000000",
    holder_count: "394",
    
    // Ownership & Creator Details
    owner_address: "0x...",
    owner_balance: "0",
    owner_percent: "0.000000",
    creator_address: "0x...",
    creator_balance: "0",
    creator_percent: "0.000000",
    
    // Security Flags (0 = safe, 1 = warning)
    is_honeypot: "0",
    is_blacklisted: "0",
    is_whitelisted: "1",
    is_mintable: "0",
    is_proxy: "0",
    is_open_source: "1",
    is_in_dex: "1",
    
    // Trading Restrictions
    cannot_buy: "0",
    cannot_sell_all: "0",
    trading_cooldown: "0",
    transfer_pausable: "0",
    
    // Tax Information
    buy_tax: "0",
    sell_tax: "0",
    
    // Ownership & Control Risks
    hidden_owner: "0",
    can_take_back_ownership: "0",
    owner_change_balance: "0",
    external_call: "0",
    selfdestruct: "0",
    
    // Anti-Whale Mechanisms
    is_anti_whale: "0",
    anti_whale_modifiable: "0",
    
    // Slippage Configuration
    slippage_modifiable: "0",
    personal_slippage_modifiable: "0",
    
    // Liquidity Information
    lp_holder_count: "2",
    lp_total_supply: "3.26917420",
    
    // Top Holders & LP Information
    holders: [
        {
            address: "0x...",
            tag: "UniswapV2",          // Optional tag (e.g., DEX name)
            is_contract: 1,             // 1 = contract, 0 = wallet
            balance: "5057627769.19",
            percent: "0.50576277",
            is_locked: 0               // 1 = locked, 0 = unlocked
        }
        // ... more holders
    ],
    
    // DEX Information
    dex: [
        {
            name: "UniswapV2",
            liquidity_type: "UniV2",
            liquidity: "8009.20279866",
            pair: "0x..."
        }
        // ... other DEX listings
    ],
    
    // LP Holders Information
    lp_holders: [
        {
            address: "0x...",
            tag: "",                   // Optional tag
            balance: "3.26917420",
            percent: "0.99999999",
            is_locked: 1               // 1 = locked, 0 = unlocked
        }
        // ... more LP holders
    ]
}

All numeric flags use "0" for false/safe and "1" for true/warning. The audit response provides comprehensive information about:

  • Token basics (name, symbol, supply)
  • Security status and potential risks
  • Trading restrictions and taxes
  • Ownership structure and controls
  • Anti-whale mechanisms
  • Liquidity information
  • Top token holders
  • DEX listings
  • LP holders and lock status

Supported Chains

  • Ethereum (chainId: 1)
  • Polygon (chainId: 137)
  • Arbitrum (chainId: 42161)
  • Base (chainId: 8453)

Security Checks

The service performs various security checks including:

  • Honeypot detection
  • Ownership analysis
  • Buy/Sell restrictions
  • Tax analysis
  • LP lock status
  • Contract verification
  • Mint functions
  • Proxy implementation
  • Trading cooldowns
  • Blacklist/Whitelist systems

Error Handling

The service includes automatic retries (default: 5 attempts) for failed requests. Errors are propagated with descriptive messages for easier debugging.

Caching

The service supports optional caching for:

  • Pair metadata (24 hours TTL)
  • Security audits (5 minutes TTL)

Dependencies

  • proxied-axios: ^1.1.1

License

ISC