Skip to main content
A smart account is a contract account controlled by one or more signers. Creating one computes its address; it does not deploy a contract or submit a transaction.

Create the account

This server-side example uses one ECDSA owner. Keep both environment variables private.
The SDK uses Nexus when you omit account.type. It deploys the account lazily on each chain when the account first sends a transaction there. Receiving funds does not deploy it.
The smart account address differs from its owner address. Send funds to the address returned by account.getAddress() when you intend to fund the smart account.

Restore the account

Call createAccount again with the same account implementation, owners, and provider-specific salt or nonce. The same configuration produces the same address for a given SDK version. Keep the complete configuration with the signer material. Changing an owner, threshold, account implementation, salt, or nonce can produce a different address.

Choose the configuration

Choose a signer

Select ECDSA, passkeys, an embedded wallet, an external wallet, multisig, or MFA.

Choose an account provider

Use the default Nexus account or choose another supported implementation.