Because of all the open data on blockchain, we can enhance our understanding of any given address by tagging it with different labels. This immediately give any analysis enhanced context.

labels.addresses is a spell in Dune that allows you to add static or query labels to enhance your analysis.

What is a label?

A label is a piece of metadata about an address, a tag or metadata if you will. It comes in the form of a key-value pair. The key is the label type, and the value the label name.

Browse addresses and and labels at the labels page or contribute to the spell starting with the readme.

Here’s a list of label types:

  • Identifiers: Most static labels should be this label type, as well as common usernames such as Farcaster, ENS, and Lens names. As a rule of thumb, identifiers should usually specify a unique entity name.
  • Usage: These are the existing top volume and frequency (or some other percentile-able metric) within a domain and the usage of specific protocols. There must be some sort of ranking/percentile involved!
  • Personas: These are for on-chain curated behaviors (like common CT memes) or protocol user tagging. They should be easily understood to non-analysts, though the underlying calculation methods may be more subjective.

To give a sense of examples, for the “social” category you would expect these labels:

  • Identifier: Lens username (.lens) ENS reverse resolver (.eth), farcaster (_farcaster)
  • Usage: top holders from ENS
  • Usage: top posters from lens
  • Persona: Lens User, ENS User
  • Persona: Squatter (sitting on dozens of ENS names)

What labels look like

Check out this dashboard for examples on what can be created with labels.

The address 0xD551234Ae421e3BCBA99A0Da6d736074f22192FF can be labeled like this:

TypeName
cexbinance

The address is controlled by the exchange Binance.

The address 0xe65040f61701940b62e18da7a53126a58525588b can be labeled like this:

label_typeName
personauniswap user
personadex trader

The address in the past interacted with Uniswap.

You are free to come up with both new types and label names, as labels on Dune are open ended and crowd sourced.

Adding labels

Use Dune queries to label addresses. A very powerful and scalable way to add labels like “all these addresses used Uniswap”, and much much more.

Please see our GitHub for examples of labels created with queries and PR in your own!

Examples of what you can do:

  • Label all addresses that used a certain dapp
  • Label all addresses that hold a certain amount of a token
  • Label all addresses that use a dapp more than X times per month
  • Label all addresses that sent money to Binance

You could also do more novel and involved things around user patterns like who did arbitrage trades or profited from flash loans and so much more.

Note that there might be a few minutes delay from adding the label on dune.com until you can query it in SQL.

The labels table

Labels are stored in the new labels.labels table which has the following schema:

Column nameData typeDescription
idintincrementing integer
addressvarbinaryThe address of a contract or wallet this label describes
namevarcharlabel name
blockchainvarcharthe blockchain the label is meant for
authorvarcharThe username of the user who created this label
sourcevarcharThe source of this label, autopopulated by Dune
updated_attimestamptzThe last time this label was changed
label_typevarcharThe type of label, defined in the readme
model_namevarcharThe name of the label model (filename)

Using labels

this section is currently under construction, stay tuned!