Skip to content

bcnmy/abstractjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

43c7a91 Β· Mar 26, 2025
Sep 20, 2024
Mar 3, 2025
Mar 3, 2025
Mar 18, 2025
Mar 18, 2025
Oct 17, 2024
Mar 3, 2025
Feb 12, 2025
Jan 16, 2025
Nov 12, 2024
Mar 18, 2025
Mar 18, 2025
Mar 5, 2025
Mar 26, 2025
Jan 20, 2025
Jan 16, 2025
Mar 18, 2025
Mar 18, 2025
Mar 3, 2025

Repository files navigation

Biconomy Build License MIT codecov install size

abstractjs πŸš€

Open in GitHub Codespaces

The Biconomy SDK is your all-in-one toolkit for building decentralized applications (dApps) with ERC4337 Account Abstraction and Smart Accounts. It is designed for seamless user experiences and offers non-custodial solutions for user onboarding, sending transactions (userOps), gas sponsorship and much more.

πŸ“š Table of Contents

πŸ› οΈ Quickstart

Installation

  1. Add the package:
bun add @biconomy/abstractjs viem @rhinestone/module-sdk
  1. Basic Usage:
import { toMultichainNexusAccount, mcUSDC } from "@biconomy/abstractjs";
import { base, optimism } from "viem/chains";
import { privateKeyToAccount } from "viem/accounts";
import { http } from "viem";
const eoaAccount = privateKeyToAccount(`0x${process.env.PRIVATE_KEY}`)
const mcNexus = await toMultichainNexusAccount({
  chains: [base, optimism],
  transports: [http(), http()],
  signer: eoaAccount
})
const meeClient = await createMeeClient({ account: mcNexus })

const quote = await meeClient.getQuote({
  instructions: [{
    calls: [{ to: "0x...", value: 1n, gasLimit: 100000n }],
    chainId: base.id
  }],
  feeToken: {
    address: mcUSDC.addressOn(base.id),
    chainId: base.id
  }
})

// Execute the quote and get back a transaction hash
// This sends the transaction to the network
const { hash } = await meeClient.executeQuote({ quote })

Testing

Prerequisites:

  • Node.js (v22 or higher)
  • Bun package manager
  • Foundry
  • Yarn (must be 1.1.x, not 3.x). This is necessary because the nexus contracts repo relies on yarn.

Setup:

bun install --frozen-lockfile

Funding test accounts:

# Fund test nexus accounts with native tokens and USDC, using a funded PRIVATE_KEY master account
bun run fund:nexus

Running Tests:

# Run all tests
bun run test

# Run tests in watch mode for a specific subset of tests (by test description)
bun run test:watch -t=mee

For detailed information about the testing framework, network configurations, and debugging guidelines, please refer to our Testing Documentation.

πŸ“„ Documentation and Resources

For a comprehensive understanding of our project and to contribute effectively, please refer to the following resources:

License

This project is licensed under the MIT License. See the LICENSE file for details

Connect with Biconomy 🍊

Website Telegram Twitter LinkedIn Discord YouTube GitHub