Skip to main content

FAQ

Smart accounts and SDK

Will I get the same smart account address on all chains?

Yes, you will get the same address on all chains as long as the owner's address is the same.

How can I create another smart account using the same EOA on the same chain?

you can pass the index in the config while creating the account as mentioned in the createSmartAccountClient method. First smart account gets created with index 0 by default.

How can I increase the timeout in the waitForTransactionHash function?

Initialize the bundler with updated configuration, to increase the timeout (milliseconds).

import { createSmartAccountClient, createBundler } from "@abstraxn/account";

const abstraxnSmartAccount = await createSmartAccountClient({
signer,
bundler: await createBundler({
bundlerUrl: "bundler url",
userOpReceiptMaxDurationIntervals: { 80001: 60000 },
}),
});

Which social login methods are supported?

Explore services such as Web3Auth, Particle Network, Magic.link, or Lit Protocol to link a user's social identity with a cryptographic key. This key can then serve as the owner of the Smart Account. Be sure to check out various signers integrations for this purpose.

How do I enable session keys for users?

Utilize the session key validation module.

Bundler & Paymaster

Is the bundler URL the same for all chains?

Yes, for testnets same bundler URL can be used, just change the chainId.

How can I sign the userOp manually?

To sign the userOp manually, first calculate the userOpHash and then sign it using the same signer, the account is created with. you can find more details here.

Can I just use AbstraXn's bundler with another smart account implementation?

Yes, AbstraXn's bundler seamlessly integrates with other smart account providers. As long as the user operation remains valid and complies with ERC 4337 specifications, the integration is possible.

Can I use other paymaster with AbstraXn SDK?

Yes, you can. It completely depends on how the paymasterAndData is parsed in the paymaster. The only restriction is that it should first encode the paymaster address after that encoding can be anything till the time decoding is consistent. Bundler does not care about the paymasterAndData.

Can I fund the gasTank programmatically?

You can programmatically deposit funds using the paymasterContract depositFor function by passing the amount and paymasterId which is the EOA address. For instance, you can invoke the following function on the Polygon chain. Check out this script for the same.

Are there APIs to create my own dashboard?

Yes, you can utilize the dashboard api's to create a paymaster, change policies, and even get the transaction's data.