The Biconomy SDK is an Account Abstraction toolkit that enables the simple UX on your dApp, wallet or appchain. Built on top of the ERC 4337 solution for Account Abstraction, we offer a full-stack solution for tapping into the power of our Smart Accounts Platform, Paymasters, and Bundlers.
// Biconomy Importsimport { IPaymaster, BiconomyPaymaster } from'@biconomy/paymaster'import { IBundler, Bundler } from'@biconomy/bundler'import { BiconomySmartAccountV2, DEFAULT_ENTRYPOINT_ADDRESS } from"@biconomy/account"import { Wallet, providers, ethers } from'ethers';import { ChainId } from"@biconomy/core-types"import { ECDSAOwnershipValidationModule, DEFAULT_ECDSA_OWNERSHIP_MODULE } from"@biconomy/modules";CHAIN=ChainId.POLYGON_MUMBAI// or any supported chain of your choice// Set up instances of Bundler and Paymaster.// Alternatively you can also use the Multi chain Module this way.constbundler:IBundler=newBundler({// get from biconomy dashboard https://dashboard.biconomy.io/ bundlerUrl:'', chainId:CHAIN, entryPointAddress:DEFAULT_ENTRYPOINT_ADDRESS, })constpaymaster:IPaymaster=newBiconomyPaymaster({// get from biconomy dashboard https://dashboard.biconomy.io/ paymasterUrl:''})// create capsule ethers signerconstprovider=newethers.JsonRpcProvider(CHAIN_PROVIDER,CHAIN);constsigner=newCapsuleEthersSigner(capsule, provider);// create the biconomy smart account with a capsule ethers signerconstconnect=async () => {try {constmodule=awaitECDSAOwnershipValidationModule.create({ signer: signer, moduleAddress:DEFAULT_ECDSA_OWNERSHIP_MODULE })let biconomySmartAccount =awaitBiconomySmartAccountV2.create({ chainId:ChainId.POLYGON_MUMBAI, bundler: bundler, paymaster: paymaster, entryPointAddress:DEFAULT_ENTRYPOINT_ADDRESS, defaultValidationModule:module, activeValidationModule:module })constaddress=awaitbiconomySmartAccount.getAccountAddress() } catch (error) {console.error(error); }};
Note: for simplicity, Capsule imports are not included in the above- It is assumed that the Capsule object has been instantiated and the user has created a wallet. If you need access to Capsule or help getting set up, please see the Getting Started section