API Reference

Default Token Information

Field NameDescription
messageError message or "OK" if query succeeded. See API Response for response status codes other than 200.
statusStatus of the query: "ready" for successful response or "pending" for refresh in progress. If status="pending" then resubmit the query after 5 seconds until status="ready". This only applies when the token is analyzed for the first time or the include_metrics/include_tests flags are included and the results are due to be refreshed. To block the response until status="ready" (long-polling) set block_until_ready="true".
chainIdThe provided chain identifier
addressThe provided contract address
nameThe token name string
symbolThe token symbol string
total_supplyThe token total supply
decimalsThe token decimals
created_atMilliseconds since epoch for when contract was deployed
refreshed_atMilliseconds since epoch for when the token data was last updated or null if not applicable (e.g. first update)
deployer_addrThe deployer address of the contract
is_flaggedBoolean flag indicating whether the token was flagged as a scam automatically or by a moderator.
flagged_atMilliseconds since epoch for when the contract was flagged as a scam, or NULL if not a scam.
exploitsArray of exploit type strings such as "hidden mint" and "honeypot" from automated scam detection. For further details see Exploit Types .
contract.is_source_verifiedBoolean flag indicating whether the contract source code was verified on a scan site
contract.has_mintBoolean flag indicating whether a mint function was detected in the contract source code
contract.has_fee_modifierBoolean flag indicating whether a fee modifying function was detected in the contract source code
contract.has_max_transaction_amountBoolean flag indicating whether a maximum transaction amount modifying function was detected in the contract source code
contract.has_blocklistBoolean flag indicating whether a allowlist/blocklist function was detected in the contract source code
contract.has_proxyBoolean flag indicating whether proxy functionality was detected in the contract source code
contract.has_pausableBoolean flag indicating whether a function that can pause swapping was detected in the contract source code

Metrics (include_metrics=true)

The metrics fields are present in the response when the include_metrics query parameter is set to "true". They represent the raw data used to determine the Smell Test results

Field NameDescription
scoreAn estimation of the rug pull risk on a scale of 0 to 100 summarizing the Smell Test results. 0 is most risky and 100 is least risky. The score is always set to 0 for scam tokens (is_flagged=true).
riskLevelDescription of the risk level based on the score ("low" for 85+, "medium" for 60+, "high" for less than 60)
permissions.owner_addressCurrent value of the owner variable if present in the contract, otherwise null
permissions.is_ownership_renouncedBoolean flag indicating whether ownership is renounced
swap_simulation.is_sellableBoolean flag indicating whether the token was sellable in a simulated swap. This result is only currently available for Ethereum and BNB Chain and requires an LP to exist. It will be null if the result cannot be determined.
swap_simulation.buy_feeInteger buy fee percentage determined from a simulated swap. This result is only currently available for Ethereum and BNB Chain and requires an LP to exist. It will be null if the result cannot be determined.
swap_simulation.sell_feeInteger sell fee percentage determined from a simulated swap. This result is only currently available for Ethereum and BNB Chain and requires an LP to exist. It will be null if the result cannot be determined.
balances.burn_balanceNumber of tokens burned (held by null/burn addresses)
balances.lock_balanceNumber of tokens locked in a locker contract
balances.deployer_balanceNumber of tokens held by contract deployer address
balances.owner_balanceNumber of tokens held by owner address (zero if ownership is renounced)
balances.top_holdersArray of information on the top 20 token holders
balances.top_holders.addressHolder address
balances.top_holders.balanceNumber of tokens held
balances.top_holders.is_contractBoolean flag indicating whether the address is a contract rather than an EOA
poolsArray of information on the supported liquidity pools (see Supported Chains & DEXes for a full list)
pools.addressAddress of the LP contract
pools.nameDEX name ("Uniswap v2", "PancakeSwap", etc)
pools.base_symbolSymbol of the other token in the pair ("ETH", "USDC", "USDT", "DAI")
pools.base_addressAddress of the other token in the pair
pools.total_supplyTotal supply of LP tokens
pools.decimalsLP token decimals
pools.base_reserveAmount of liquidity in the pool in terms of the other token (ETH, for example)
pools.initial_base_reserveInitial amount of liquidity added soon after pool creation in terms of the other token (ETH, for example)
pools.owner_balanceNumber of LP tokens held by the owner address (zero if ownership is renounced)
pools.deployer_balanceNumber of LP tokens held by the deployer address
pools.burn_balanceNumber of LP tokens burned (held by null/burn addresses)
pools.lock_balanceNumber of LP tokens locked in locker contracts
pools.top_holdersArray of information on the top 20 LP token holders
pools.top_holders.addressHolder address
pools.top_holders.balanceNumber of tokens held
pools.locksArray of information on the support liquidity lockers
pools.locks.addressAddress of the LP locker contract
pools.locks.nameName of the LP locker product (e.g., "Unicrypt")
pools.locks.urlURL of the LP locker product home page
pools.locks.balanceNumber of LP tokens held by the locker contract
pools.locks.start_timeUnix time (seconds since epoch) of the start time of the LP lock if it could be determined, otherwise null if an error occurred
pools.locks.end_timeUnix time (seconds since epoch) of the unlock time of the LP lock if it could be determined, otherwise null if an error occurred

Smell Test Results (include_tests=true)

The Smell Test results are present in the response when the include_tests query parameter is set to "true".

Field nameDescription
scoreAn estimation of the rug pull risk on a scale of 0 to 100 summarizing the Smell Test results. 0 is most risky and 100 is least risky.
riskLevelDescription of the risk level based on the score ("low" for 85+, "medium" for 60+, "high" for less than 60)
testsArray of test descriptors
tests.idUnique string identifier for the test
tests.descriptionString description of the test. Note: the test result pertains to the test identifier but the test description is stated as the inverse of the test identifier. For example for testForMissingSource with description "Verified contract source" the "result" value will be "false" when the source is verified and "true" for when the source is not verified.
tests.resultBoolean flag indicating the result of the test

Some test descriptors contain additional fields such as "value", "valuePct", and "data".

List of Tests in the Smell Test Results

Test IDTest DescriptionAdditional Fields
testForMissingSourceVerified contract sourceNone
testForProxySource does not contain a proxy contractNone
testForPausableSource does not contain a pausable contractNone
testForMintSource does not contain a mint functionNone
testForRestoreOwnershipSource does not contain a function to restore ownershipNone
testForMaxTransactionAmountSource does not contain a function to set maxiumum transation amountNone
testForModifiableFeeSource does not contain a function to modify the feeNone
testForBlacklistSource does not contain a function to blacklist holdersNone
testForOwnershipNotRenouncedOwnership renounced or source does not contain an owner contractNone
testForAuthorizationCreator not authorized for special permissionNone
testForTokensLockedOrBurnedTokens locked/burnedvalue, valuePct
testForHighCreatorTokenBalanceCreator wallet contains less than 5% of token supplyvalue, valuePct
testForHighOwnerTokenBalanceOwner wallet contains less than 5% of token supplyvalue, valuePct
testForHighWalletTokenBalanceAll other wallets contain less than 5% of token supplydata
testForBurnedBalanceExceedsSupplyBurned amount exceeds total token supplyNone
testForCombinedWalletsExceedSupplyAll wallets combined contain less than 100% of token supplyNone
testForImpossibleWalletTokenBalanceAll wallets contain less than 100% of token supplyNone
testForInadequateLiquidityAdequate current liquidityvalue, valuePct, currency ("ETH", etc)
testForInadequateInitialLiquidityAdequate initial liquidityvaluePct
testForInadeqateLiquidityLockedOrBurnedAt least 95% of liquidity locked/burnedvalue, valuePct
testForHighCreatorLPBalanceCreator wallet contains less than 5% of liquidityvalue, valuePct
testForHighOwnerLPBalanceOwner wallet contains less than 5% of liquidityvalue, valuePct
testForUnableToSellToken is sellableNone
testForHighBuyFeeBuy fee is less than 5%valuePct
testForHighSellFeeSell fee is less than 5%valuePct
testForExtremeFeeBuy/sell fee is less than 30%None

Similar Contracts (include_similar=true)

The similar contracts results are present in the response when the include_similar query parameter is set to "true". The returned similararray contains items with the following fields:

Field nameDescription
chainIDChain identifier for similar contract
addressAddress of similar contract
scoreSimilarity score from 0 to 100 with 100 representing an identical match.