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

# Address watches

> Monitor any on-chain address DFNS does not control — balances, history, and webhooks — with no key, signing, or custody.

An **address watch** registers an on-chain address so you get the same balance, history, and webhook visibility you get on your own wallets — but for an address DFNS does **not** control. An address watch holds no key: it cannot sign or move funds. It is a pure, read-only registration.

Use it to monitor addresses outside your custody: a counterparty's account, an address you track for compliance or risk, or any public address you want event and balance visibility on — without running separate chain-watching infrastructure.

## What you get

Once an address is watched, it plugs into the same indexer as your wallets:

* **Balances** — [`GET /address-watches/{addressWatchId}/assets`](/api-reference/address-watches/get-address-watch-assets), the same surface as wallet balances.
* **History** — [`GET /address-watches/{addressWatchId}/history`](/api-reference/address-watches/get-address-watch-history), value transfers touching the address.
* **Decoded contract events** — [`GET /address-watches/{addressWatchId}/blockchain-events`](/api-reference/address-watches/get-address-watch-blockchain-events).
* **Webhooks** — `address_watch.blockchain_event.transfer.confirmed` fires when a transfer touching a watched address is confirmed on chain (for example, a deposit). See [webhook events](/api-reference/webhook-events).

## Create and manage

Create an address watch via the API with [`POST /address-watches`](/api-reference/address-watches/create-address-watch):

```json theme={null}
{
  "network": "Ethereum",
  "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
}
```

`name` and `externalId` are optional. The response carries an `aw-…` id and a `status` of `Active` or `Archived`.

Lifecycle:

* **One watch per address per network, per organization** while it is `Active`. Different organizations can watch the same address independently.
* **Deleting** a watch ([`DELETE /address-watches/{addressWatchId}`](/api-reference/address-watches/delete-address-watch)) archives it (`status: Archived`) and immediately stops its webhooks. Watching the same address again on the same network **reactivates** the archived watch — same id, same history, same `name`/`externalId`.
* Address watches **count against your organization's wallet limit**; there is no separate quota.

## Supported networks

Address watches are available on a broad set of networks — most EVM networks and Solana. Support is per-network: the `network` field accepts only networks where address watching is enabled. See the [`POST /address-watches`](/api-reference/address-watches/create-address-watch) request schema for the current list of supported networks rather than assuming a given network is covered.

## Permissions

Three permissions gate address watches — see [roles and permissions](/core-concepts/roles-and-permissions#address-watches):

| Permission              | Grants                                                               |
| ----------------------- | -------------------------------------------------------------------- |
| `AddressWatches:Create` | Create an address watch                                              |
| `AddressWatches:Read`   | List, get, and read a watch's assets, history, and blockchain events |
| `AddressWatches:Delete` | Delete (archive) a watch                                             |

## Related

<CardGroup cols={2}>
  <Card title="Create address watch" icon="eye" href="/api-reference/address-watches/create-address-watch">
    API reference for the address-watch endpoints
  </Card>

  <Card title="Webhook events" icon="bell" href="/api-reference/webhook-events">
    Subscribe to on-chain events for watched addresses
  </Card>
</CardGroup>
