Account abstraction reduces the number of account types in Ethereum from two (Contract Accounts and Externally Owned Accounts) to just one (Contract Accounts). These Contract accounts can be tailored to the needs of users and have the ability to start transactions and pay transaction fees. With account abstraction, public/ private keys are interchangeable with accounts. Argent wallets use account abstraction.