Internally, the SDK uses ERC-4337 bundlers to deploy and to submit transaction using UserOps (e.g., when using smart sessions).

Supplying the API key is optional, but highly recommended for production use.

Bundlers

Pimlico

To use the Pimlico bundler, provide an API key during account initialization:

const rhinestoneAccount = await createRhinestoneAccount({
  owners: {
    type: 'ecdsa',
    accounts: [account],
  },
  rhinestoneApiKey,
  bundler: {
    type: 'pimlico',
    apiKey: pimlicoApiKey,
  },
})

Paymasters

Pimlico

To use the Pimlico paymaster, provide an API key during account initialization:

const rhinestoneAccount = await createRhinestoneAccount({
  owners: {
    type: 'ecdsa',
    accounts: [account],
  },
  rhinestoneApiKey,
  paymaster: {
    type: 'pimlico',
    apiKey: pimlicoApiKey,
  },
})

Reach out if you need support for other ERC-4337 providers!