---
title: Wallet handlers
category: reference
---

# Wallet handlers

The wallet handlers expose information about the connected wallet itself: which methods it supports, the user identifier, and a name/version pair. All three are served by the server and never delegate to the wallet, so a wallet implementation does not need to register matching `walletHandlers`.

## Method IDs

| Method ID             | Direction         | Purpose                                                              |
| --------------------- | ----------------- | -------------------------------------------------------------------- |
| `wallet.capabilities` | Live App → Wallet | List the method IDs available on this wallet (built-ins + handlers). |
| `wallet.userId`       | Live App → Wallet | Get the user identifier configured on the wallet.                    |
| `wallet.info`         | Live App → Wallet | Get the wallet name, version, and tracking flag.                     |

## `wallet.capabilities`

Lists every JSON-RPC method the wallet exposes. The server merges:

- the IDs of every `walletHandler` registered on the server, and
- five built-ins that always work without a wallet handler: `account.list`, `currency.list`, `wallet.capabilities`, `wallet.info`, `wallet.userId`.

### Parameters

None.

### Result

```ts
{
  methodIds: string[]
}
```

## `wallet.userId`

Returns the user ID stored in [`walletContext.config`](../reference#walletcontextconfig). The value is set when the server is constructed with `config.userId`.

### Parameters

None.

### Result

```ts
{
  userId: string
}
```

## `wallet.info`

Returns the wallet metadata stored in [`walletContext.config`](../reference#walletcontextconfig).

### Parameters

None.

### Result

```ts
{
  tracking: boolean,
  wallet: {
    name: string,
    version: string,
  }
}
```

`tracking` reflects whether the wallet has consented to analytics; `wallet.name` and `wallet.version` are set from `config.wallet` at server construction.

## See also

- [Wallet module (client)](../../core/modules/wallet): the client-side counterpart.
- [Server reference](../reference): how `walletContext.config` is populated.
- [`wallet` handler source](https://github.com/LedgerHQ/wallet-api/blob/main/packages/server/src/internalHandlers/wallet.ts) and [`WalletCapabilities` / `WalletInfo` / `WalletUserId` schemas](https://github.com/LedgerHQ/wallet-api/tree/main/packages/core/src/spec/types).
