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

# Adapter Base API Overview

> API reference for @hermis/solana-headless-adapter-base

## Overview

Framework-agnostic wallet adapter management.

## Installation

```bash theme={null}
npm install @hermis/solana-headless-adapter-base
```

## WalletAdapterManager

Main class for managing wallet adapters.

```typescript theme={null}
import { WalletAdapterManager } from '@hermis/solana-headless-adapter-base';

const manager = new WalletAdapterManager(adapters);

// Events
manager.on('connect', (publicKey) => console.log('Connected'));
manager.on('disconnect', () => console.log('Disconnected'));
manager.on('error', (error) => console.error(error));

// Methods
manager.selectAdapter('Phantom');
await manager.connect();
await manager.disconnect();
```

## Utility Functions

### getStandardWalletAdapters()

Get all standard wallet adapters including custom ones.

> **Breaking change in v2:** `network` is now a required argument. Inferring the
> cluster from the RPC endpoint URL has been removed — substring matching is
> unsafe because untrusted URLs containing "mainnet" would be misclassified.

```typescript theme={null}
import { getStandardWalletAdapters } from '@hermis/wallet-standard-base';
import { WalletAdapterNetwork } from '@hermis/solana-headless-core';

const adapters = await getStandardWalletAdapters(customAdapters, undefined, WalletAdapterNetwork.Mainnet);
```

### sortWalletAdapters()

Sort adapters by priority (mobile wallets, then installed wallets first).

```typescript theme={null}
import { sortWalletAdapters } from '@hermis/solana-headless-adapter-base';

const sorted = sortWalletAdapters(adapters);
```

### getAdaptersByReadyState()

Filter adapters by ready state.

```typescript theme={null}
import { getAdaptersByReadyState } from '@hermis/solana-headless-adapter-base';

const installed = getAdaptersByReadyState(adapters, 'Installed');
const loadable = getAdaptersByReadyState(adapters, 'Loadable');
```

## Events

* `connect` - Wallet connected
* `disconnect` - Wallet disconnected
* `error` - Error occurred
* `walletChanged` - Selected wallet changed

## Complete API

See detailed documentation:

* [Base Adapter](/api-reference/adapter-base/base-adapter)
* [Wallet Connect](/api-reference/adapter-base/wallet-connect)
