A standardized framework and data model for EVM address labeling
Upcoming community calls can be found in our Google Calendar!
This initiative tackles the issue of isolated and non-standardized datasets of address labels within the blockchain community. It introduces a flexible, open and community owned data framework for anyone to use and contribute to.
By aligning on a single framework for address labels, we streamline our labeling efforts, avoid redundant work and make it easier to share datasets within the community.
The OLI repository functions as the community maintainer of the OLI framework. Additionally, it serves as a neutral entity that provides tools for data entry through attestations and automated activity tagging.
Labelling is performed by assigning a pre-defined tag_id
with a value
to an address
& chain_id
combination. Each address can have as many tags assigned as it wants, but each tag_id
can only be assigned once per address
.
address
: the hexadecimal public address of a smart contract or externally owned account (EOA)chain_id
: unique identifier as defined by EIP-155 or CAIP-2tag_id
: tag IDs represent a wide range of concepts. For OLI-compliant tags, please refer to tag_defintions.yml. We encourage anyone to submit a PR to contribute new tags to the framework. The framework also allows for other tag ID namespaces for more detailed project based labelling.value
: Eachtag_id
has a value field that specifies the content of the tag applied.
OLI doesn't store any datasets, these will remain with independent data teams. The goal is to align on a data structure for labels. This will simplify syncing datasets across the ecosystem, avoiding the need to start from scratch. OLI recommends following the approach used by growthepie and walletlabels, and to commit on making their data publicly available through API endpoints to support democratized access to labels.
Datasets can be stored according to the defined OLI Data Model, or the tag_id
can be pivoted into columns, which is particularly useful when not all tag_id
s are relevant for a data team.
We have uploaded some OLI compliant sample data (tag_id
is pivoted into columns) for OP Mainnet (eip155-10) and Base (eip155-8453).
A short excerpt:
[
{
"address": "0x087000A300DE7200382b55D40045000000E5d60E",
"chain_id": "eip155-10",
"name": "Aggregate3",
"owner_project": "worldcoin",
"usage_category": "airdrop",
"deployment_tx": "0xdd0f9cfb373020dd8d71c22d0853ac5d3ba1911ead94177ee09737f74a18b3d2",
"deployer_address": "0x7d896339A80DD38bC3BbB04383894C62b2eF2585",
"deployment_date": "2023-09-23 19:55:13"
},
{
"address": "0xdC6fF44d5d932Cbd77B52E5612Ba0529DC6226F1",
"chain_id": "eip155-10",
"name": "WLD",
"owner_project": "worldcoin",
"usage_category": "fungible_tokens",
"deployment_tx": "0x3f3231f6f4a036901a06d79a92ef7ffaedc81a8470126f4fdb436f7a57213de8",
"deployer_address": "0x36BDE71C97B33Cc4729cf772aE268934f7AB70B2",
"deployment_date": "2023-07-19 13:51:49"
}
]
- growthepie - L2 Smart Contract Explorer
- ...
- please list your projects here
- Alignment on data framework and getting definitions out
- Set up a council to manage OLI GitHub and the process of adding new
tag_id
/ other changes - Create a way for permissionless data entry by anyone
- growthepie: Layer 2 analytics platform with focus on labeling smart contracts on layer 2s.
- walletlabels: Wallet labeling platform with focus on labels for Ethereum as well as social labels / labeling of EOAs.
The Ethereum Foundation funded this effort as part of the Data Collection Grants. This standardized data structure was part of their wish list and other foundations and data teams also expressed interest in the past.
Individuals or data teams that are involved in active feedback for this initiative and/or opened up their labeled databases.