> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Address Labels Lookup

Identify WHO an EVM address is — its real-world entity and category (CEX/exchange, fund/VC, smart-money, whale) with a confidence score and optional per-source evidence — from the b3os-address-labels service. This answers 'who is this wallet', 'who owns this address', and 'is this a known entity' — NOT its balances or holdings. Accepts 1–50 addresses. Read-only — no compute units charged. Ideal for: labeling wallets in transfer/whale alerts, identifying counterparties, and enriching any address before notifying or branching.

Catalog action Blockchain Data

Identify WHO an EVM address is — its real-world entity and category (CEX/exchange, fund/VC, smart-money, whale) with a confidence score and optional per-source evidence — from the b3os-address-labels service. This answers 'who is this wallet', 'who owns this address', and 'is this a known entity' — NOT its balances or holdings. Accepts 1–50 addresses. Read-only — no compute units charged. Ideal for: labeling wallets in transfer/whale alerts, identifying counterparties, and enriching any address before notifying or branching.


## At a Glance

| Field | Value |
| --- | --- |
| Action ID | `address-labels-lookup` |
| Category | Blockchain Data |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | `address-labels`, `smart-money`, `vc`, `identity`, `enrichment`, `whale`, `labels` |

## Payload Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `addresses` | `array` | Yes | EVM addresses to look up \(1–50\). Case-insensitive; normalized to lowercase. |
| `chain` | `string` | No | Optional chain key to scope results \(e.g. 'ethereum', 'base'\). Omit to return the best label across chains. |
| `includeEvidence` | `boolean` | No | When true, include the per-source evidence drill-down for each found address \(one extra request per found address\). |

## Result Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `results` | `array` | Yes | One entry per requested \(deduped\) address. |
| `foundCount` | `number` | Yes | Number of addresses that resolved to a label. |
| `requestedCount` | `number` | Yes | Number of unique addresses queried \(after dedupe\). |

## Examples

**Workflow node**

```json
{
  "type": "address-labels-lookup",
  "payload": {
    "addresses": [
      "0x0000000000000000000000000000000000000000"
    ]
  },
  "children": []
}
```
  **Test with API**

```bash
curl -X POST "https://api.b3os.org/v1/actions/address-labels-lookup/test" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "addresses": [
      "0x0000000000000000000000000000000000000000"
    ]
  }
}'
```

**Use expressions for dynamic values**

Payload fields can use workflow expressions such as `{{$trigger.body.amount}}`, `{{$nodes.fetch.result.price}}`, and `{{$props.asset}}` when the value should come from a trigger, prior node, or reusable workflow prop.