First party support for native Account Abstraction on zkSync chains

Joaquim Verges

The latest release of the typescript and dotnet connect SDK enable smart accounts with sponsored transactions on zkSync with no extra code.

We made incredibly easy to take advantage of the native account abstraction feature of zkSync chains. You can use the same smart account API already present in the connect SDK with no other changes, we handle the complexity for you.

Here's an example using our in app wallet API, which let's your users connect to their smart account with email, socials, phone or passkey.

const wallet = inAppWallet({
smartAccount: {
chain: zkSync,
sponsorGas: true,
},
});
const account = await wallet.connect({
client,
strategy: "google", // or "email", "phone", "passkey"...
});
// gasless transaction with native zkSync AA
sendTransaction({ transaction, account });

And here's one using our prebuilt UI component to connect to any wallet with native account abstraction and sponsored transactions enabled:

<ConnectButton
client={client}
accountAbstraction={{
chain: zkSync,
sponsorGas: true,
}}
/>;

We're excited to see what you can build with native account abstraction!

Happy building ⚒️