# Account Abstraction

Everything you need to build ERC-4337 Smart Wallets for your users.

{% embed url="<https://portal.thirdweb.com/wallets/smart-wallet?utm_source=xai-network&utm_medium=documentation&utm_campaign=chain-docs>" %}

#### Features

thirdweb's smart wallets have the following features by default:

* The ability to have multiple owners on the same wallet.
* Give access to scoped session keys with restrictions.
* Execute transactions (single and batched).
* Send and receive native tokens to and from the smart wallet.
* Send and receive [ERC-721](https://portal.thirdweb.com/contracts/build/extensions/erc-721/ERC721?utm_source=xai-network\&utm_medium=documentation\&utm_campaign=chain-docs) and [ERC-1155](https://portal.thirdweb.com/contracts/build/extensions/erc-1155/ERC1155?utm_source=xai-network\&utm_medium=documentation\&utm_campaign=chain-docs) NFTs from the smart wallet.
* Store contract metadata.
* Pay for its own gas via a [paymaster](https://portal.thirdweb.com/wallets/smart-wallet/how-it-works?utm_source=xai-network\&utm_medium=documentation\&utm_campaign=chain-docs#paymaster).
* Assign roles and permissions such as signers and admins.
* Upgrade functionality over time when using the dynamic and managed factories.

And more!

Smart Wallets can be deployed via the [explore page](https://thirdweb.com/explore?utm_source=xai-network\&utm_medium=documentation\&utm_campaign=chain-docs) or customized to each application's needs using the [Solidity SDK](https://portal.thirdweb.com/contracts/build/overview?utm_source=xai-network\&utm_medium=documentation\&utm_campaign=chain-docs).

The SmartWallet API is composable - you can use it with your own [ERC 4337](https://eips.ethereum.org/EIPS/eip-4337) compatible factory contract and you can also use your own bundler or paymaster services.
