Why Trustware Uses CREATE2 for Deterministic Paymaster Deployment
Deploying a client-owned paymaster contract only works well in practice if the resulting address is predictable. CREATE2 is the piece of Ethereum's opcode set that makes that possible, and it's a big part of why deterministic deployment works the way it does across Trustware's account abstraction infrastructure.
What CREATE2 actually does
Standard contract deployment (via the CREATE opcode) generates a contract address based on the deploying account's address and its transaction nonce. That means the resulting address can't be known in advance with certainty, since it depends on transaction ordering. CREATE2 changes this: it lets a contract's address be computed in advance, based on the deployer's address, a salt value, and the contract's bytecode. As long as those three inputs stay the same, the resulting address stays the same too, regardless of when the deployment actually happens.
Why this matters for account abstraction
Account abstraction infrastructure relies heavily on this kind of determinism. Smart accounts and paymaster contracts often need a predictable address before they're actually deployed, so that a system can reference, fund, or interact with a contract that doesn't exist onchain yet. CREATE2 makes it possible to know a smart account or paymaster's future address ahead of time, which is part of what allows account abstraction systems to feel seamless from a user's perspective.
How Trustware uses it
Trustware deploys deterministic light smart accounts for the wallets that interact with its paymaster system. These accounts are execution-only: they keep the user's EOA as the primary signer while giving that EOA a predictable, associated account address that can be referenced and funded before deployment, without altering the EOA itself. This same deterministic approach underpins client-owned paymaster deployment through Trustware's factory: a client's paymaster contract and its resulting address remain consistent and predictable across the deployment process.
The bigger picture
CREATE2 is a small technical detail with a large downstream effect. It's part of what makes it possible for a client-owned, non-custodial paymaster system to feel simple from the outside, deploy your paymaster, fund it, manage it, while remaining fully deterministic and verifiable underneath. Predictable addresses aren't just a developer convenience. They're one of the building blocks that let ownership and control stay exactly where they're supposed to: with the client.