Labels
A label is a name attached to one address, from a small list curated by hand. On 2026-11-04 UTC, GET /labels returned 54 entries. The list holds well-known public addresses: exchange wallets, routers, bridges and a few contracts. It is a lookup table, and it is not an attribution system.
#Types
| Type | Entries on 2026-11-04 UTC | Examples |
|---|---|---|
exchange | 23 | Binance 14, Coinbase 10, Kraken 4 |
dex | 10 | Uniswap V3 Router, 1inch Router v6, Jupiter v6 |
bridge | 8 | Base Portal, Wormhole Token Bridge |
infrastructure | 5 | Permit2, Multicall3, Null address |
token | 4 | USDC, USDT, WETH, WBTC on Ethereum |
issuer | 1 | Tether Treasury |
lending | 1 | Aave V3 Pool |
staking | 1 | Lido stETH |
launchpad | 1 | Pump.fun |
By family, 39 entries are EVM addresses and 15 are Solana addresses.
#Reading labels
curl -s "https://farbeamlabs.com/api/v1/labels?type=exchange&chain=solana"
curl -s "https://farbeamlabs.com/api/v1/labels/0x28C6c06298d514Db089934071355E5743bf21d60"The address labels page shows the same list. You can filter /labels with q (text in the name or the address), type and chain. /labels/{address} returns one entry, or 404 not_found when the address has none.
{
"name": "Binance 14",
"type": "exchange",
"address": "0x28C6c06298d514Db089934071355E5743bf21d60",
"chains": ["ethereum"],
"source_url": "https://etherscan.io/address/0x28C6c06298d514Db089934071355E5743bf21d60"
}#Where labels appear
| Surface | Fields |
|---|---|
| Transfer rows, stream, webhooks | from_label, from_type, to_label, to_type |
| Beamline | The same four fields. See Beamline fields. |
| Wallet overview | label, the full object |
| Wallet activity | from_label, to_label |
| Transaction lookup | from_label, to_label, and labels on token transfers and Solana programs |
| Token report | label for the token, and holders[].label |
Labels are added when a row is read, so a correction applies to stored rows too.
In token reports on EVM, holders[].label falls back to the tag field from GoPlus when the address is not in the Farbeam list. That tag comes from GoPlus. It is not a Farbeam label.
#How matching works
- Lookup is by address only. EVM addresses are matched in lowercase. Solana addresses are matched exactly, with case.
- **On transfer rows,
chainslimits the match.** A row carries a label only if the label lists that row's chain. An address labeled for Ethereum shows no label in a Base row. Get a label reads by address alone and does not check the chain.
The second point matters for EVM. The same address on two chains is often controlled by the same party, but not always. So a missing label on a row says nothing about the address.
#Limits
| Limit | Detail |
|---|---|
| Size | The list stays small, since each entry is reviewed by hand. |
| Coverage | Exchanges have many wallets, and the list holds a few for each. A missing label on a deposit address is normal. |
| Exchange deposit addresses | Not labeled. A user's deposit address looks like any other wallet. |
| Time | An entry has no history and no dates. Control of an address can change. |
| Confidence | There is no confidence score. An entry is listed, or it is not. |
| Solana rows | Rows on Solana are sampled, so labeled rows are few. |
#How to use them
- Use
to_type == "exchange"to narrow alerts. Do not read it as a statement of intent. See transfers vs trades. - Use the
Null addresslabel to spot mints and burns. - Do not treat
nullas "not an exchange". It means not in this list. - Key your logic on
type, and onnameonly for display. Names can be corrected.
#Reporting a wrong label
Write to contact@farbeamlabs.com or use the contact form. Include:
- The address and chain.
- What the label says now.
- What you believe is correct, with a public source such as an official announcement or an explorer tag.
Corrections ship with a normal release. The list holds addresses of public organizations and contracts only.
There is no API for label submissions and no private label feature for your own account. You can keep your own address list in your code and match it against from and to.