---
updatedAt: 2026-05-08T13:11:42.000Z
agentTools:
  projectIndex: https://docs.lmnl.app/v2/llms.txt
---

# Watch-Only Wallet

This guide provides an overview of the Watch-only wallet and how to use and manage it effectively.

A watch-only wallet (also known as a view-only) is a read-only wallet that only allows you to watch and monitor asset transactions of a wallet’s single address or a list of Externally Owned Addresses (EOA). Unlike **deposit** and **withdrawal wallets**, it does not store private keys and therefore cannot initiate or sign transactions.

Exchanges, asset managers, and institutions can import existing external deposit addresses into the **Liminal Vaults** **Watch-Only** wallet to safely track asset movements without risking unauthorised access to wallet balances.

<Image align="center" border={false} src="https://files.readme.io/9931b04b7c5a0e0839ced5e5b977dc41590006fd2a1498d178a414b7fa50279d-CleanShot_2025-10-13_at_04.33.002x.png" />

<br />

What you can do with **Watch-Only** wallets:

1. [Create watch-only wallets](https://docs.lmnl.app/v2/docs/watch-only-wallet#/step-1-create-a-watch-only-wallet) using the Watch-Only Wallet API.
2. [Import addresses](https://docs.lmnl.app/v2/docs/watch-only-wallet#/step-2-import-wallet-address) from existing wallets using the Import Address API.
3. [Receive webhook notifications](https://docs.lmnl.app/v2/docs/watch-only-wallet#/step-3-receive-webhook-notifications) for any transactions involving the addresses in your watch-only wallet. Additionally, periodic webhooks are supported for watch-only wallets.
4. [Archive/ unarchive ](https://docs.lmnl.app/v2/docs/watch-only-wallet#/archive-unarchive--a-watch-only-wallet)your watch-only wallets.
5. Use [data APIs](https://docs.lmnl.app/v2/docs/watch-only-wallet#/supported-data-apis) to fetch wallet balances, wallet lists, and addresses.
6. Generate Reports, including **Holding statements** and **Account statements** for your watch-only wallets.

What you cannot do with watch-only wallets:

* Cannot consolidate funds: watch-only wallets do not have private keys to move assets.
* Cannot initiate fund transfers: you can only monitor and not send transactions.

# Create, Import, and Manage Watch-Only Wallets

The watch-only wallet only “watches” blockchain activity, i.e., wallet balances, deposits, and withdrawals, and relays the transaction information on **Liminal Vaults'** web.

It enables exchanges to bring their existing deposit wallets into Liminal without giving up private keys. It operates using the [Liminal Express](https://docs.lmnl.app/v2/reference/liminal-express-apis#/) **SDK** and **APIs**, allowing users to add their existing deposit wallets to **Liminal Vaults** wallets.  The imported addresses are updated in **Liminal Vaults** as watch-only.

You can monitor transactions using webhooks and support data APIs for balances and history. This provides full visibility and seamless migration while maintaining custody and secure authorisation to monitor deposit wallets.

## Supported data APIs

Use the following APIs to perform watch-only wallet actions:

1. [Create Watch-Only Wallet API](https://docs.lmnl.app/v2/reference/createwatchonlywalletv2#/): to create a new **Watch-Only** wallet.
2. [Import Address API](https://docs.lmnl.app/v2/reference/importaddresses#/): Import public addresses of existing deposit wallets.
3. Data APIs (wallet balance and history):
   * [Get wallet balance](https://docs.lmnl.app/v2/reference/getwalletbalance#/): check wallet balance.
   * [Wallet list:](https://docs.lmnl.app/v2/reference/getlistofwallet#/) retrieve a list of wallets.
   * [Wallet data:](https://docs.lmnl.app/v2/reference/getwalletdata#/) access wallet-specific information.
   * [Get address balance](https://docs.lmnl.app/v2/reference/getaddressbalance#/): check the individual address balance.
   * [Get transfer list](https://docs.lmnl.app/v2/reference/getalltransactions#/): retrieve transaction history by status.
   * Get transfer details: view transaction specifics.

## Steps to create a Watch-Only Wallet

You can use the `/create-watch-only-wallet` endpoint to create one wallet per API call. You can import addresses into your wallet and manage them on your Liminal Vaults web account.

### Prerequisites

1. You have an account within your organisation in **Liminal Vaults**. Check out the [Onboarding](https://docs.lmnl.app/v2/docs/onboard-your-organisation-in-liminal-vaults#/) guide to onboard your organisation.
2. You are an **Owner** or **Admin** user. Check [User Roles](https://docs.lmnl.app/v2/docs/user-roles-and-teams#/user-roles) to learn about Liminal Vaults user roles.
3. Ensure you have the latest [Liminal Express](https://docs.lmnl.app/v2/reference/liminal-express-apis#/) version with the latest Liminal SDK Docker [image updated](https://docs.lmnl.app/v2/reference/update-liminal-express#/).
4. You have a **Liminal Vaults** wallet. Connect with the [Liminal Support](mailto:support@lmnl.app) for assistance.

### Step 1: Create a Watch-Only Wallet

Refer to the [Create Watch-Only Wallet](https://docs.lmnl.app/v2/reference/createwatchonlywalletv2#/) API  reference guide to create a **Watch-Only** wallet.
The required parameter is `mainWalletAddress`.

### Step 2: Import Wallet Address

Refer to the [Import Addresses](https://docs.lmnl.app/v2/reference/importaddresses#/) API reference guide to import addresses into your **Liminal Vaults** account.

### Step 3: Receive webhook notifications

You will be notified whenever transactions are received into (incoming) or moved out (outgoing) of the address in your **Watch-Only** wallet.
Use the following webhook endpoints:

1. Receive Transactions: Set up Successful and Periodic webhooks (for ETH and BTC).
2. Send Transactions: Set up Successful webhooks to stay updated on outgoing transaction movements.

### Step 4: Wallet Profile

Once you have created your **Watch-Only** wallet and imported deposit addresses successfully, you can check its profile on your **Liminal Vaults** account.

Follow the steps below:

1. Log in to your **Liminal Vaults** [account](https://vaults.lmnl.app/).
2. Navigate to **Wallets** to visit the wallet dashboard.
3. Select the **Static** filter or enter “watch-only” in the search bar to filter all **Watch-Only** wallets on your dashboard.
4. Select the required **Watch-Only** wallet to check its details.

<Image align="center" border={true} src="https://files.readme.io/930b0ced3e87b4339e02adf21057d3cce78632c0f6771b1b388a6f39395763e3-WO_wallet-static_filter.gif" className="border" />

<br />

## Wallet Details dashboard

<Image align="center" border={true} src="https://files.readme.io/f50b999263de9f84069a4e57534622450618ee6c5a39b15ba44b28991ab33d84-CleanShot_2025-10-13_at_05.00.032x.png" className="border" />

The **Watch-Only** wallet is displayed on the default **Overview** page. You can find the following details in its header:

1. The deposit wallet name, token type, and token ID.
2. The **Static** wallet filter is to the right.
3. Total wallet balance in USD. Hover the **Info** icon to view the balance details.
4. **Disabled Receive** and **Send** buttons since watch-only wallets only allow you to monitor deposit wallet addresses.

<br />

### Overview

<Image align="center" border={true} src="https://files.readme.io/042ec8b57995b755bb0c3063038654d76477eadb801e2ec5ca09feaff4ad3d90-CleanShot_2025-10-13_at_05.03.432x.png" className="border" />

You can check all the assets in your **Watch-Only** wallet:

1. Total asset value in (USD) and transaction amount (token amount + symbol)
2. Last synced timestamp.
3. Perform manual sync to update the asset balance if required. Check out the guide \[link] to learn how manual sync works.

### Addresses

You can monitor deposit addresses and their balances without private key access via the **Addresses** page. You can view them in two main data tabs, along with a search tab, once deposit addresses are imported.

<Image align="center" border={true} src="https://files.readme.io/587fdfa5a1c23567deba9c3c304e2633ffc70d52d35e9cc5c6f8262aa4954a68-CleanShot_2025-10-13_at_05.07.292x.png" className="border" />

#### Address Fields Table

| Field             | Type          | Description                                                        |
| :---------------- | :------------ | :----------------------------------------------------------------- |
| Address Index     | Integer       | A sequential index assigned to the imported address.               |
| Address           | String        | Blockchain address of the wallet.                                  |
| Asset             | String        | Name or symbol of the asset held at the address (e.g., ETH, USDC). |
| Balance           | String        | Current balance of the asset at this address.                      |
| Last Transactions | String / Link | Summary or link to recent transactions for this address.           |

The following tabs help you monitor address balances:

1. **Native Assets**
   * Shows native blockchain assets (e.g., ETH, BTC) for your imported addresses.
   * Each row displays the fields listed above.
   * You can download balances as a CSV to export metadata for offline analysis.
2. **Other Assets**
   * Shows non-native or token assets (e.g., ERC-20 tokens like USDC)
   * The table fields are the same as Native Assets, but the data reflects token holdings instead
   * CSV export is also available for this tab.
3. **Search**
   * Allows you to search across all imported addresses.
   * You can search by **Address**, **Asset**, or **Balance** to quickly locate specific entries.

<Callout icon="📘" theme="info">
  **Note**

  * There is a maximum import limit of 10,000 addresses per **Watch-Only** wallet.
  * Each imported address is validated via the [Address Verification](https://docs.lmnl.app/v2/reference/verifyaddresses-1#/) API.
</Callout>

### History

<Image align="left" border={true} src="https://files.readme.io/249b48c707c53d5b67849a2fff534fc8c4404fb4e56f2b57ebc12623679b3c7f-CleanShot_2025-10-14_at_14.19.16.png" className="border" />

<br />

You can view the transaction history record of the **Watch-Only** wallet. You can also:

1. **Filter** transaction history by its status.
2. **Search** transaction.
3. **Download** the transaction history report for a selected range in CSV format.

Check out [Transactions](https://docs.lmnl.app/v2/docs/transactions#/) to view and manage the transaction history of your entire wallet infrastructure.

The following metadata are provided:

| Field            | Type              | Description                                                   |
| :--------------- | :---------------- | :------------------------------------------------------------ |
| Asset            | String            | Name or symbol of the asset (e.g., ETH, USDC).                |
| Type             | String            | Transaction type (e.g., Deposit, Withdrawal).                 |
| Amount           | String            | Amount of the asset transferred in the transaction.           |
| Transaction Hash | String            | Unique blockchain transaction hash for reference.             |
| From             | String            | Sender address of the transaction.                            |
| To               | String            | Recipient address of the transaction.                         |
| Time             | String / DateTime | Timestamp of the transaction.                                 |
| Status           | String            | Current status of the transaction (e.g., Confirmed, Pending). |

<br />

### Settings

You can manage viewers and wallet recovery from the Settings page.

1. **Members**: All selected users are added as **Viewers** here.
   1. Click **Add** to add a user to your **Watch-Only** deposit wallet as a viewer.
   2. Select the required member(s) from the dropdown. Click **Add Member**.
   3. Click **Done** once the member is successfully added as a viewer. The user list is updated accordingly.

      <Image align="center" border={true} src="https://files.readme.io/439636528fbd88562daab9c3ada0b6214e9843810d78a661a1a21997aef34720-WO_wallet-4.gif" className="border" />

      <br />
2. **Wallet Key Card**: The wallet key card acts as a recovery method for **Watch-Only** wallets. It helps you recreate the wallet anywhere and does not contain any private keys.

   Click **Download** to download the wallet key card in PDF format and view its details.

   <Image align="center" border={true} src="https://files.readme.io/fde74e5233d4d2612f38b66478bc58345969ac3f9f0bd1925518251933cfbf75-CleanShot_2025-10-13_at_05.20.192x.png" className="border" />

   <br />

## Archive/ Unarchive  a Watch-Only wallet

Only **Owners** can archive and unarchive a wallet. Archiving a wallet hides it from the dashboard.
Follow the steps to archive a wallet on your dashboard:

1. Navigate to the **Wallets** dashboard.
2. Filter **Watch-Only** wallet by selecting the **Static** filter.
3. Click the three-dot **Actions** icon to the right of the required **Watch-Only** wallet.
4. Click **Archive** to archive the wallet. Click **Archive** again to confirm the action.
   You will receive a confirmation message once the wallet is archived.

<Image align="center" border={true} src="https://files.readme.io/44984a34480b0a98568f0d12afe3d45a47e7ed994cb6294c46e9f4131705098d-CleanShot_2025-10-13_at_05.25.482x.png" className="border" />

<br />

The archived wallet is filtered and moved to the **Archived** section. Click the **Archived** filter button on the **Wallets** dashboard to navigate to the list of archived wallets.

Follow the steps below to unarchive a wallet:

1. Navigate to the **Wallets** dashboard to check the list of archived wallets.
2. Select the **Archived** filter to navigate to the archived wallets.
3. Click the three-dot **Actions** icon to the right of the required wallet and click **Unarchive**.
4. Confirm the action and continue.

<br />