/gopluslabs-api

A library targeting of the gopluslabs.io api, open DeFi security service platform.

Primary LanguageTypeScriptMIT LicenseMIT

gopluslabs-api

A Node.js library targeting of the gopluslabs api, open DeFi security service platform.


Introduction

Go+ Security is an open, permissionless, user-driven security service platform for all types of blockchain users. It supports independent security risk submitting and provides detection results dynamically via technologies including token detection, real-time risk warning, dApp contract security, and interaction security. Go+ security engine covers Multi-chain with multi-risk dimension detection for crypto project teams and ordinary investors. It has detected more than 700,000 tokens and 2,000+ dApp contacts. Our security data API can quickly access to third-party application platforms like public chains, non-custodial wallets, DEX, crypto data aggregators, etc. Go+ is Everyone’s Security Tool!


Installing

Using npm:

npm i @normalizex/gopluslabs-api

Using yarn:

yarn add @normalizex/gopluslabs-api

Using jsDelivr CDN:

<script src="https://cdn.jsdelivr.net/npm/@normalizex/gopluslabs-api/dist/index.browser.min.js"></script>

Using unpkg CDN:

<script src="https://unpkg.com/@normalizex/gopluslabs-api/dist/index.browser.min.js"></script>

Documentation

  • You can find full documentation here, this library only acts as a convenient wrapper for all requests, does not modify the request response.

Usage

NodeJS (ES6)

import { GoPlusLabs } from '@normalizex/gopluslabs-api';
const goPlus = new GoPlusLabs();

NodeJS (CommonJS)

const GoPlusLabs = require('@normalizex/gopluslabs-api').default;
const goPlus = new GoPlusLabs();

Browser:

<script type="text/javascript">
const goPlus = new GoPlusLabs();
</script>

Example

goPlus.supportedChains().then((chains) => {
    /**
        { id: '1', name: 'eth' },
        { id: '56', name: 'bsc' },
        { id: '42161', name: 'arbitrum' },
        { id: '137', name: 'polygon' },
        ...Others
    */
});

Token Security API

UI Example: URL

const chain = 56;//Binance Smart Chain
const ITM = '0x64c37c3d6b5ff0fdea26eec0c8b6de487105291c';//SCAM TOKEN!
goPlus.tokens(chain, ITM).then((token) => {
    /**
        {
            address: '0x64c37c3d6b5ff0fdea26eec0c8b6de487105291c',
            buy_tax: '0',
            cannot_buy: '0',
⚠️SCAM  --> sell_tax: '1', <---- 100% SELL TAX.⚠️
            total_supply: '100000000.000000000000000000',
            token_name: 'ITHEUM',
            token_symbol: 'ITM'
            ...etc data...
        }
    */
  });

const TEDDY = '0x10f6f2b97f3ab29583d9d38babf2994df7220c21';//-99.9% 'Soft' Rug Pull.
goPlus.tokens(chain, TEDDY).then((token) => {
    /**
        {
            address: '0x10f6f2b97f3ab29583d9d38babf2994df7220c21',
          ⚠️hidden_owner: '1',⚠️ <- The token has a hidden owner address.For contract with a hidden owner, developer can still manipulate the contract even if the ownership has been abandoned.
            owner_address: '0xdbE8eF79A1A7b57fbb73048192eDF6427e8A5552',
            buy_tax: '0',
            can_take_back_ownership: '0',
            cannot_buy: '0',
            cannot_sell_all: '0',
            creator_address: '0xabcd756f71564a1c24e4c8f429580c4a6dcfbccc',
            creator_balance: '0',
            creator_percent: 'NaN',
            dex: [ Object ],
            external_call: '0',
            holder_count: '57472',
            holders: [ Object ],
            is_anti_whale: '0',
            is_blacklisted: '0',
            is_honeypot: '0',
            is_in_dex: '1',
          ⚠️is_mintable: '1'⚠️,
          ^^^^^^^^^^^^^^^^^^^^^^

          ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
          The contract may contain additional issuance
          functions, which could maybe generate a large number
          of tokens, resulting in significant fluctuations in
          token prices. It is recommended to confirm with the 
          project team whether it complies with the token 
          issuance instructions.

          But, in this case, a large number was printed.
          tokens and thrown into the market.
          Addresses connected to the project exchanged TEDDY 
          for wrapped BNB, which in turn was exchanged for 
          over 10,000 BNB and 2 million BUSD
          ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

            is_open_source: '1',
            is_proxy: '0',
            is_whitelisted: '0',
            lp_holder_count: '48',
            lp_holders: [ Object ],
            lp_total_supply: '26582692.065667668217154110',
          ⚠️owner_balance: '1'⚠️,
            owner_change_balance: '0',
          ⚠️owner_percent: 'Infinity'⚠️,
            personal_slippage_modifiable: '0',
            selfdestruct: '0',
            sell_tax: '0',
            slippage_modifiable: '0',
            total_supply: '0',
            trading_cooldown: '0',
            transfer_pausable: '0',
            token_name: 'TeddyDoge',
            token_symbol: 'TEDDY'
        }
    */
  });

Malicious Address API

UI Example: URL

const chain = 56;//Binance Smart Chain
const address = '0x0D213F3833fd17690e7FfF9b1Aa00578d78b6f44';//SCAM TOKEN!
goPlus.address(chain, address).then((info) => {
    /* {
        blacklist_doubt: '0',
        honeypot_related_address: '0',
        data_source: '',
        contract_address: '0',
        phishing_activities: '0',
        blackmail_activities: '0',
        stealing_attack: '0',
        fake_kyc: '0',
        malicious_mining_activities: '0',
        darkweb_transactions: '0',
        cybercrime: '0',
        money_laundering: '0',
        financial_crime: '0'
    } */
});

NFT Security API

UI Example: URL

goPlus.nft(56, '0xee24b9872022c7770CCC828d856224416CBa005f').then((info) => {
    /** {
        create_block_number: 18506627,
        nft_address: '0xee24b9872022c7770ccc828d856224416cba005f',
        nft_symbol: 'TPH',
        nft_name: 'Tribalpunk Hero',
        nft_verified: 0,
        nft_open_source: 1,
        nft_proxy: 0,
        malicious_nft_contract: 0,
        nft_description: null,
        website_url: null,
        twitter_url: null,
        medium_url: null,
        github_url: null,
        telegram_url: null,
        discord_url: null,
        nft_erc: 'erc721',
        nft_owner_number: 113,
        nft_items: 35970,
        creator_address: '0xb6eb22a285699f86bb0634c41cb4cdeadfc713df',
        owner_address: '',
        trust_list: 0,
        average_price_24h: 0,
        highest_price: 0.5,
        lowest_price_24h: null,
        sales_24h: 0,
        total_volume: 2.8253,
        traded_volume_24h: 0,
        same_nfts: null 
    } */
})

Approval Security API

UI Example: URL

goPlus.approval(56, "0x7bd75b1b8f2cfce01bd97b3661c0a2b78a4c6ca0").then((approve) => {
    /**
        blacklist_doubt: '0',
        honeypot_related_address: '0',
        data_source: '',
        contract_address: '1',
        phishing_activities: '0',
        blackmail_activities: '0',
        stealing_attack: '0',
        fake_kyc: '0',
        malicious_mining_activities: '0',
        darkweb_transactions: '0',
        cybercrime: '0',
        money_laundering: '0',
        financial_crime: '0' 
    */
});

dApp Security Info

UI Example: URL

goPlus.dapp('https://for.tube').then(site => {
    /** {
        project_name: 'ForTube',
        url: 'https://www.for.tube',
        is_audit: 1,
        audit_info: [
            {
            audit_time: '2021.03.26',
            audit_link: 'https://for.tube/PeckShield-Audit-Report-ForTubeV3-v1.0.pdf',
            audit_firm: 'PeckShield'
            }
        ],
        contracts_security: [
            { chain_id: 1, contracts: [Array] },
            { chain_id: 56, contracts: [Array] }
        ]
    } */
})