JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q40996F
  • License MIT

A utility library for working with ERC-4337

Package Exports

  • abstraxn_account
  • abstraxn_account/accounts
  • abstraxn_account/accounts/safe
  • abstraxn_account/actions
  • abstraxn_account/actions/erc7579
  • abstraxn_account/actions/etherspot
  • abstraxn_account/actions/passkeyServer
  • abstraxn_account/actions/pimlico
  • abstraxn_account/actions/smartAccount
  • abstraxn_account/clients
  • abstraxn_account/clients/passkeyServer
  • abstraxn_account/clients/pimlico
  • abstraxn_account/errors
  • abstraxn_account/experimental/pimlico
  • abstraxn_account/utils

Readme

abstraxn_account.js

Node Version

abstraxn_account.js is a TypeScript library built on top of viem for deploying and managing ERC-4337 smart accounts, interacting with bundlers and paymasters, and leveraging custom signers.

Features

  • High-Level Smart Account Support: We support a high-level API for deploying and managing smart accounts, including some of the most popular implementations (Safe, Kernel, Biconomy, etc.)
  • Bundler Support: We support all bundler actions following ERC-4337.
  • Gas Sponsorship: We support paymaster actions to allow you to easily sponsor gas fees.
  • User Operation Utility Functions: We provide many low-level utility functions useful for dealing with User Operations.
  • Modular and Extensible: We allow you to easily create and plug in your own smart account systems, bundlers, paymasters, and signers.
  • Built on & for viem: abstraxn_account.js is designed to be a thin wrapper around viem, maintaining the same style and overall feel viem provides.
  • and a lot more...

Documentation

Take a look at our documentation to learn more about abstraxn_account.js.

Installation

Install viem as a peer dependency.

Then install abstraxn_account.js:

npm install viem abstraxn_account
bun install viem abstraxn_account
yarn add viem abstraxn_account

Quick Start

// Import the required modules.
import { createSmartAccountClient } from "abstraxn_account";
import { createPaymasterClient } from "viem/account-abstraction";
import { sepolia } from "viem/chains";
import { http } from "viem";

const paymaster = createPaymasterClient({
  transport: http(`https://api.pimlico.io/v2/sepolia/rpc?apikey=${pimlicoApiKey}`)
})

const account = toSimpleSmartAccount<entryPointVersion>({
  client: getPublicClient(anvilRpc),
  owner: privateKeyToAccount(generatePrivateKey())
})

// Create the required clients.
const bundlerClient = createSmartAccountClient({
  account,
  paymaster: 
  chain: sepolia,
  bundlerTransport: http(
    `https://api.pimlico.io/v2/sepolia/rpc?apikey=${pimlicoApiKey}`,
  ), // Use any bundler url
});

// Consume bundler, paymaster, and smart account actions!
const userOperationReceipt = await bundlerClient.getUserOperationReceipt({
  hash: "0x5faea6a3af76292c2b23468bbea96ef63fb31360848be195748437f0a79106c8",
});

Contributors

For a full explanation of abstraxn_account.js, please visit our docs page

Build abstraxn_account.js locally with:

bun run build

License

Distributed under an MIT License. See LICENSE for more information.

Contact

Feel free to ask any questions in our Telegram group