# @aptos-labs/wallet-adapter-core

> Aptos Wallet Adapter Core

Latest version **8.5.1** (published 2026-03-28) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @aptos-labs/wallet-adapter-core
pnpm add @aptos-labs/wallet-adapter-core
yarn add @aptos-labs/wallet-adapter-core
bun add @aptos-labs/wallet-adapter-core
```

## Health

**Score 70/100 (B)** — status: stable.

Positive: has types; esm support; no vulnerabilities; has provenance; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 8.5.1 |
| Published | 2026-03-28 |
| First published | 2022-12-07 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 820 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 125 |
| Author | aptoslabs.com |
| Maintainers | hardsetting, aptos-labs |
| Keywords | Aptos, Aptos Labs, Wallet, Wallet Adapter, Aptos Wallet |

## Links

- npm: https://www.npmjs.com/package/@aptos-labs/wallet-adapter-core
- Repository: https://github.com/aptos-labs/aptos-wallet-adapter
- Issues: https://github.com/aptos-labs/aptos-wallet-adapter/issues
- npm.io page: https://npm.io/package/@aptos-labs/wallet-adapter-core

## Dependencies (3)

- [eventemitter3](https://npm.io/package/eventemitter3.md) ^5.0.1
- [@aptos-labs/wallet-standard](https://npm.io/package/@aptos-labs/wallet-standard.md) ^0.5.2
- [@aptos-connect/wallet-adapter-plugin](https://npm.io/package/@aptos-connect/wallet-adapter-plugin.md) ^3.0.4

## Recent versions

- 8.5.1 (latest) — 2026-03-28
- 8.2.0-alpha.4 (alpha) — 2026-01-23
- 7.10.3-xchaininit4.2 (xchaininit4) — 2026-01-09
- 7.10.3-xchaininit3.3 (xchaininit3) — 2026-01-09
- 8.0.0-xchaininit2.0 (xchaininit2) — 2026-01-09
- 8.0.0-xchaininit.0 (xchaininit) — 2026-01-09
- 0.0.0-ga-20240405173226 (ga) — 2024-04-05
- 0.0.0-aip-62-20240327155833 (aip-62) — 2024-03-27
- 8.5.0 — 2026-03-09
- 8.4.0 — 2026-02-18
- 8.3.0 — 2026-02-13
- 8.2.0 — 2026-01-26
- 8.2.0-alpha.3 — 2026-01-22
- 8.2.0-alpha.2 — 2026-01-22
- 8.2.0-alpha.1 — 2026-01-22
- … 145 more at https://npm.io/package/@aptos-labs/wallet-adapter-core/versions

## README

# @aptos-labs/wallet-adapter-core

Core functionality for the Aptos Wallet Adapter. This package provides the foundation for wallet management, state handling, and interaction with AIP-62 compatible wallets on the Aptos blockchain.

## Overview

The wallet-adapter-core package handles:

- **Wallet Detection**: Automatically detects AIP-62 standard compatible wallets installed in the browser
- **Connection Management**: Connect, disconnect, and manage wallet sessions
- **Transaction Signing**: Sign messages, transactions, and submit transactions to the network
- **Network Management**: Handle network changes and multi-network support
- **Event System**: Subscribe to wallet, account, and network change events
- **State Management**: Centralized state for connected wallet, account, and network information

## Installation

```bash
npm install @aptos-labs/wallet-adapter-core
# or
pnpm add @aptos-labs/wallet-adapter-core
# or
yarn add @aptos-labs/wallet-adapter-core
```

**Peer Dependencies:**

```bash
npm install @aptos-labs/ts-sdk
```

## Usage

### Basic Setup

```ts
import { WalletCore } from "@aptos-labs/wallet-adapter-core";
import { Network } from "@aptos-labs/ts-sdk";

// Create wallet core instance
const walletCore = new WalletCore(
  [], // Optional: array of wallet names to opt-in (empty = all wallets)
  { network: Network.MAINNET }, // Optional: dapp configuration
  false, // Optional: disable telemetry (default: false)
  ["Petra Web"] // Optional: wallets to hide from display
);

// Get available wallets
const wallets = walletCore.wallets;
const notDetectedWallets = walletCore.notDetectedWallets;
```

### Connecting to a Wallet

```ts
// Connect to a wallet by name
await walletCore.connect("Petra");

// Check connection status
if (walletCore.isConnected()) {
  console.log("Connected account:", walletCore.account);
  console.log("Connected network:", walletCore.network);
}
```

### Signing Messages

```ts
const signedMessage = await walletCore.signMessage({
  message: "Hello, Aptos!",
  nonce: "random-nonce-123",
});

console.log("Signature:", signedMessage.signature);
console.log("Full message:", signedMessage.fullMessage);
```

### Signing and Submitting Transactions

```ts
const result = await walletCore.signAndSubmitTransaction({
  data: {
    function: "0x1::aptos_account::transfer",
    typeArguments: [],
    functionArguments: [recipientAddress, amount],
  },
});

console.log("Transaction hash:", result.hash);
```

### Listening to Events

```ts
// Account change event
walletCore.on("accountChange", (account) => {
  console.log("Account changed:", account);
});

// Network change event
walletCore.on("networkChange", (network) => {
  console.log("Network changed:", network);
});

// Disconnect event
walletCore.on("disconnect", () => {
  console.log("Wallet disconnected");
});
```

### Disconnecting

```ts
await walletCore.disconnect();
```

## API Reference

### WalletCore

The main class that manages wallet state and interactions.

#### Constructor

```ts
new WalletCore(
  optInWallets?: ReadonlyArray<AvailableWallets>,
  dappConfig?: DappConfig,
  disableTelemetry?: boolean,
  hideWallets?: ReadonlyArray<AvailableWallets>
)
```

#### Properties

| Property | Type | Description |
|----------|------|-------------|
| `wallet` | `AptosWallet \| null` | Currently connected wallet |
| `account` | `AccountInfo \| null` | Currently connected account |
| `network` | `NetworkInfo \| null` | Currently connected network |
| `wallets` | `ReadonlyArray<AptosWallet>` | List of detected wallets |
| `hiddenWallets` | `ReadonlyArray<AdapterWallet>` | List of hidden wallets |
| `notDetectedWallets` | `ReadonlyArray<AdapterNotDetectedWallet>` | List of not-detected wallets |

#### Methods

| Method | Description |
|--------|-------------|
| `connect(walletName)` | Connect to a wallet |
| `disconnect()` | Disconnect from current wallet |
| `signMessage(input)` | Sign a message |
| `signTransaction(args)` | Sign a transaction |
| `signAndSubmitTransaction(input)` | Sign and submit a transaction |
| `changeNetwork(network)` | Request network change |
| `signIn(args)` | Sign in with SIWA (Sign In With Aptos) |
| `isConnected()` | Check if wallet is connected |

#### Events

| Event | Payload | Description |
|-------|---------|-------------|
| `connect` | `AccountInfo` | Emitted when wallet connects |
| `disconnect` | - | Emitted when wallet disconnects |
| `accountChange` | `AccountInfo` | Emitted when account changes |
| `networkChange` | `NetworkInfo` | Emitted when network changes |

## DappConfig

Configuration options for the wallet adapter:

```ts
interface DappConfig {
  network: Network;
  transactionSubmitter?: TransactionSubmitter;
  aptosApiKeys?: Partial<Record<Network, string>>;
  aptosConnectDappId?: string;
  aptosConnect?: AptosConnectWalletConfig;
  crossChainWallets?: boolean;
}
```

## Related Packages

- [`@aptos-labs/wallet-adapter-react`](../wallet-adapter-react) - React hooks and context provider
- [`@aptos-labs/ts-sdk`](https://github.com/aptos-labs/aptos-ts-sdk) - Aptos TypeScript SDK

## License

Apache-2.0

---
_Source: https://npm.io/package/@aptos-labs/wallet-adapter-core · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
