@abstract-foundation/agw-client

中文文档
1.12.3发布于 2026/04/19MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 20.3万

Abstract Global Wallet Client SDK

原始使用文档
文档目录13 节
  1. Abstract Global Wallet (AGW)
  2. Installation
  3. Quick Start
  4. Importing
  5. Creating an Abstract Client
  6. API Reference
  7. createAbstractClient
  8. Example
  9. Examples
  10. Sending a Transaction
  11. Sponsored Transactions via Paymasters
  12. Explanation of Paymaster Usage:
  13. Documentation

@abstract-foundation/agw-client

The @abstract-foundation/agw-client package provides the core client library for interacting with the Abstract Global Wallet (AGW).

Abstract Global Wallet (AGW)

Abstract Global Wallet (AGW) is a cross-application smart contract wallet that users can use to interact with any application built on Abstract, powered by Abstract's native account abstraction.

Installation

Install the core client library via NPM:

npm install @abstract-foundation/agw-client

Quick Start

Importing

import { createAbstractClient } from '@abstract-foundation/agw-client'

Creating an Abstract Client

import { createAbstractClient } from '@abstract-foundation/agw-client';
import { ChainEIP712, http } from 'viem';
import { Account } from 'viem/accounts';
import { abstractTestnet } from 'viem/chains';

// Assume you have a signer account and chain configuration
const signer: Account = {
  address: '0xYourSignerAddress',
  // ...other account properties
};

const chain = abstractTestnet;

(async () => {
  const abstractClient = await createAbstractClient({
    signer,
    chain,
    transport: http(), // optional, defaults to HTTP transport if omitted
  });

  // Use the abstractClient instance
})();

API Reference

createAbstractClient

Asynchronously creates an AbstractClient instance, extending the standard Client with actions specific to the Abstract Global Wallet.

Example

import { createAbstractClient } from '@abstract-foundation/agw-client';

(async () => {
  const abstractClient = await createAbstractClient({
    signer: /* your signer account */,
    chain: /* your chain configuration */,
  });

  // Use abstractClient to interact with the blockchain
})();

Examples

Sending a Transaction

import { createAbstractClient } from '@abstract-foundation/agw-client';

(async () => {
  const abstractClient = await createAbstractClient({
    signer: /* your signer account */,
    chain: /* your chain configuration */,
  });

  try {
    const txHash = await abstractClient.sendTransaction({
      to: '0xRecipientAddress',
      value: 1000000000000000000n, // 1 ETH in wei
    });
    console.log('Transaction Hash:', txHash);
  } catch (error) {
    console.error('Error sending transaction:', error);
  }
})();

Sponsored Transactions via Paymasters

import { createAbstractClient } from '@abstract-foundation/agw-client';
import { ChainEIP712, http } from 'viem';
import { Account } from 'viem/accounts';

(async () => {
  // Create a signer account and chain configuration
  const signer: Account = {
    address: '0xYourSignerAddress',
    // ...other account properties
  };

  // Create an instance of Abstract Client
  const abstractClient = await createAbstractClient({
    signer,
    chain,
    transport: http(), // Optional, defaults to HTTP transport if omitted
  });

  // Example of a sponsored transaction using a Paymaster
  try {
    const txHash = await abstractClient.sendTransaction({
      to: '0xRecipientAddress',
      value: 1000000000000000000n, // 1 ETH in wei
      paymaster: '0xPaymasterAddress',
      paymasterInput: '0x',
    });

    console.log('Sponsored Transaction Hash:', txHash);
  } catch (error) {
    console.error('Error sending sponsored transaction:', error);
  }
})();

Explanation of Paymaster Usage:

  • Paymaster: The paymaster object is specified in the sendTransaction method, allowing the Paymaster contract to cover the gas fees for the transaction.
  • Sponsored Transaction: The transaction fee is covered by the Paymaster, so the user’s balance is unaffected by gas costs.

Documentation

For detailed documentation, please refer to the Abstract Global Wallet Documentation.

版本与发布记录

@abstract-foundation/agw-client 共发布 83 个版本,首次发布于 2024/09/27;过去 12 个月发布了 5 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.12.3latest2026/04/196 个月前
1.12.22026/04/186 个月前
1.12.12026/04/156 个月前
1.12.02026/04/057 个月前
1.11.02026/03/038 个月前
1.10.02025/10/031.1 年前

其他发布通道:beta → 1.4.3-beta.1,next → 1.10.0-beta.1。

关于 @abstract-foundation/agw-client 的常见问题

@abstract-foundation/agw-client 是什么?

Abstract Global Wallet Client SDK

如何安装 @abstract-foundation/agw-client?

在项目目录运行 npm install @abstract-foundation/agw-client,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:viem(^2.37.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@abstract-foundation/agw-client 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@abstract-foundation/agw-client 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@abstract-foundation/agw-client 可以商用吗?

@abstract-foundation/agw-client 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@abstract-foundation/agw-client 的下载量有多少?

根据 npm 官方下载统计,@abstract-foundation/agw-client 在 2026/10/05 – 2026/11/03 这 30 天内被下载 203,227 次,日均约 6,774 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@abstract-foundation/agw-client 还在维护吗?

最新版本 1.12.3 发布于 2026/04/19(6 个月前);至今共发布 83 个版本,其中过去 12 个月发布了 5 个;首次发布于 2024/09/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。