Account abstraction (AA) allows a contract to be the top-level account that pays fees and starts transaction execution.