Smart accounts

Create Smart Account with third-party Signer

It's possible to use third-party "wallet services" as signers for smart accounts. The end result is that your users will be interacting with the wallet UIs provided by these services, while using a smart account powered by Openfort.


Openfort creates smart accounts direcly embedded with the Openfort signer. Follow these steps to use third party signers as the owners of a deployed smart account.


First, install the Openfort SDK:


npm install @openfort/openfort-node

1. Create a smart account#

  • Decide on the type of smart account you want to create. Options include: ERC6551V1, UpgradeableV5 (default)
  • Create a signer that will be the external owner of the smart account. This is related to the externalOwnerAddress parameter.

The externalOwnerAddress needs to be the address of the signer provided by the third-party wallet service.


// Set your secret key. Remember to switch to your live secret key in production.
// See your keys here: https://dashboard.openfort.xyz/apikeys
const Openfort = require('@openfort/openfort-node').default;
const openfort = new Openfort(YOUR_SECRET_KEY);
const player = await openfort.accounts.create({
chainId: 80002,
externalOwnerAddress: '0xbed6a05ce8719bc00db1cc81a814192c82be1bb1',
accountType: 'UpgradeableV5' // Optional, defaults to UpgradeableV5

Next Steps#

For more detailed information and advanced usage, refer to the Openfort API documentation.