> For the complete documentation index, see [llms.txt](https://fastlane-labs.gitbook.io/atlas-draft/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fastlane-labs.gitbook.io/atlas-draft/roles/roles-in-atlas/bundler.md).

# Bundler

The bundler is responsible for generating the full Atlas transaction and ensuring its inclusion on-chain. By customizing their Atlas module, an app can enable one or more of the following configurations: anyone may bundle the transaction, an originator may bundle their own transaction, a solver may bundle a transaction including just their own operation and the originator’s, and an explicitly designated bundler can bundle the transaction.&#x20;

When using an explicitly designated bundler, applications can choose between a permissioned actor(s) or a trust-minimized solution built on architecture using TEE, MPC, or similar. Verification of the `CallChainHash` by the Atlas EntryPoint contract prevents the bundler from censoring operations or tampering with their order.&#x20;
