A public dataset of Etherscan labels
npm install evm-labels
EVM Labels
A public dataset of crypto addresses labeled (Ethereum and more)
| Label | CSV | JSON | Updated |
| -------------------------------------------------------------------------------------------------- | ------------------------------------------------ | -------------------------------------------------- | ------------ |
| exchange (Centralized Exchanges) | View CSV | View JSON | May 9, 2022 |
| phish-hack (Phishing/Hacking) | View CSV | View JSON | May 15, 2022 |
| genesis (Null/black hole addresses) | View CSV | View JSON | May 21, 2022 |
| token-contract (ERC-20 and similar tokens) | View CSV | View JSON | May 25, 2022 |
More chains coming soon
``sh
npm install --save evm-labels
Use
You can install the CSV or JSON manually if you are not a dev. If you want to use this in code:
$3
`js
import { exchange } from "evm-labels";// A Coinbase hot wallet
const COINBASE_ADDRESS = "0x71660c4005ba85c37ccec55d0c4493e66fe775d3";
exchange.isExchangeAddress(COINBASE_ADDRESS);
// true
const NULL_ADDRESS = "0x0000000000000000000000000000000000000000";
exchange.isExchangeAddress(NULL_ADDRESS);
// false
`$3
`js
import { phishHack } from "evm-labels";// A Nexus Mutual Hacker
const HACKER_ADDRESS = "0x09923e35f19687a524bbca7d42b92b6748534f25";
phishHack.isPhishHackAddress(HACKER_ADDRESS);
// true
const NULL_ADDRESS = "0x0000000000000000000000000000000000000000";
phishHack.isPhishHackAddress(NULL_ADDRESS);
// false
`$3
`js
import { genesis } from "evm-labels";const GENESIS_ADDRESS = "0x0000000000000000000000000000000000000002";
genesis.isGenesisAddress(GENESIS_ADDRESS);
// true
const OATHER_ADDRESS = "0x09923e35f19687a524bbca7d42b92b6748534f25";
genesis.isGenesisAddress(OATHER_ADDRESS);
// false
`$3
`js
import { tokenContract } from "evm-labels";const TOKEN_CONTRACT_ADDRESS = "0x5dd57da40e6866c9fcc34f4b6ddc89f1ba740dfe";
tokenContract.isTokenContractAddress(TOKEN_CONTRACT_ADDRESS);
// true
const OATHER_ADDRESS = "0x0000000000000000000000000000000000000002";
tokenContract.isTokenContractAddress(OATHER_ADDRESS);
// false
`
Contributing
Each label is currently pulled with custom scripts. Partially documented, partially not.
$3
1. Install tampermonkey
2. Copy scripts/phishhack-userscript.js to tampermonkey extension
3. Open the URL
https://etherscan.io/accounts/label/phish-hack?subcatid=undefined&size=100&start=0&col=1&order=asc. only support size = 100
4. Open the chrome dev tools. Copy the outputted csv and json to src/phish-hack$3
1. Install tampermonkey
2. Copy scripts/genesis-userscript.js to tampermonkey extension
3. Open the URL
https://etherscan.io/accounts/label/genesis?subcatid=1&size=100&start=0&col=1&order=asc. only support size = 100
4. Open the chrome dev tools. Copy the outputted csv and json to src/genesis$3
1. Install tampermonkey
2. Copy scripts/tokencontract-userscript.js to tampermonkey extension
3. Open the URL
https://etherscan.io/accounts/label/token-contract?subcatid=undefined&size=100&start=0&col=1&order=asc. only support size = 100
4. Open the chrome dev tools. Copy the outputted csv and json to src/token-contract`