## Components
- Smart Accounts
- Sends UserOperation
- Contains all the same fields as a transaction (to, calldata, maxFeePerGas, maxPriorityFeePerGas, nonce, signature) and others. The signature is defined by the Smart Account contract and not the protocol
- Entrypoint Contract
- Executed bundles of UserOperations
- Bundlers
- Handle UserOperations by creating a valid handleOps transaction in the Entrypoint contract
- By being a block builder
- Work with a block builder like mev-boost or [[ERC-7732: Proposer-Builder Separation]]
- Use the experimental RPC API defined in [ERC-7796](https://eips.ethereum.org/EIPS/eip-7796) for conditional pre execution transaction inclusion
https://docs.optimism.io/stack/features/send-raw-transaction-conditional
- Paymaster as defined in [[ERC-7677: Paymaster Web Service Capability]]
- Decentralized permissionless P2P network where bundlers exchange UserOperations as defined in [[7562: AA Validation Scope Rules]]