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.

Pimlico

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

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

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