🐐Contract accounts
How does Contract accounts (CA) works?
EOA versus CA
Contract Account(CA) can be envisioned as a vault controlled by a programmable keypad. CAs have the drawback of lacking private keys, which means they cannot independently execute transactions and require requests from EOAs (Externally Owned Account) to do so. However, unlike EOAs, CAs possess the advantage of programmability.
See p19 here https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf
ERC-4337
ERC-4337 is a proposition (Vitalik Buterin/2021) designed to introduce account abstraction without making modifications to the consensus layer. It achieves this by replicating the process of transaction verification and execution, typically occurring at the consensus layer, and implementing it at the Application Layer. To accomplish this, new contracts and actors such as UserOperation, EntryPoint, Bundler, and Paymaster are introduced.
In the conventional process of EOA transactions, users independently create and sign their transactions using their private keys. These transactions are then submitted to the public mempool. Subsequently, validators prioritize transactions based on their gas costs and include them in blocks, which are ultimately submitted to the Ethereum network.


UserOperations created by a user through an ERC-4337 compliant wallet are sent to the UserOperations mempool.Comment
Bundler creates a bundle transaction by bundling multiple UserOperations.Comment
Submits the bundle transaction to the EntryPoint.Comment
(Optional) Validate UserOperations after calling the Paymaster contract.Comment
EntryPoint verifies and executes each UserOperation.
How does Paymaster works?
IBX has its own Paymaster, making it independent and maximizing the security of its users and the assets entrusted to it. Paymaster function takes responsibility for fully paying the gas fees on behalf of the user to validate UserOperations.

