{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "smart-account-bundlers",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/smart-account-bundlers/",
  "collection": "ethereum",
  "title": "Smart-account bundlers: turning user operations into transactions",
  "description": "Understand an ERC-4337 bundler’s role in turning user operations into an on-chain transaction, including validation, fees and limits on inclusion promises.",
  "aliases": [],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T18:12:41.505Z",
    "dataAsOf": "2026-10-02"
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "In ERC-4337, a bundler collects user operations and submits an Ethereum transaction that invokes the EntryPoint to process them. The account’s validation logic authorizes each operation. A bundler is an execution-submission participant, not a guarantee of inclusion or a replacement for the account’s signing and permission rules.",
    "claimId": "smart-account-bundlers-quick-answer",
    "sourceIds": [
      "eip4337"
    ]
  },
  "keyFacts": [
    {
      "label": "Object",
      "value": "A user operation is distinct from the bundler’s enclosing network transaction.",
      "sourceIds": [
        "eip4337"
      ],
      "id": "object",
      "claimId": "smart-account-bundlers-fact-object"
    },
    {
      "label": "Validation",
      "value": "The account validates its requested operation through the EntryPoint flow.",
      "sourceIds": [
        "eip4337"
      ],
      "id": "validation",
      "claimId": "smart-account-bundlers-fact-validation"
    },
    {
      "label": "Payment",
      "value": "Accounts or paymasters must cover the operation’s applicable gas costs.",
      "sourceIds": [
        "eip4337"
      ],
      "id": "payment",
      "claimId": "smart-account-bundlers-fact-payment"
    }
  ],
  "prerequisites": [
    "ethereum-smart-accounts"
  ],
  "sections": [
    {
      "id": "flow",
      "heading": "Separate the user request from its carrier",
      "sourceIds": [
        "eip4337"
      ],
      "paragraphs": [
        "A wallet constructs a user operation containing the account’s requested execution and validation data. A bundler evaluates whether it can safely include the operation and packages accepted work into a transaction.",
        "The user-operation identifier and the enclosing transaction hash serve different tracking purposes. A wallet should expose enough information to follow actual inclusion."
      ]
    },
    {
      "id": "simulation",
      "heading": "Validation protects the submission process",
      "sourceIds": [
        "eip4337"
      ],
      "paragraphs": [
        "Bundlers simulate validation and apply the specified rules to reduce the risk of submitting operations that cannot pay or cannot be processed. The rules include constraints beyond an ordinary method-call preview.",
        "Passing a bundler’s checks does not mean the user’s requested business action is sensible or that future state cannot change. Account authorization and economic outcome remain separate."
      ]
    },
    {
      "id": "availability",
      "heading": "A bundler can decline or delay an operation",
      "sourceIds": [
        "eip4337"
      ],
      "paragraphs": [
        "Bundlers choose what to submit within their software and fee policies. Their availability and willingness affect the route from signed request to block inclusion.",
        "Use the relevant EntryPoint version and account implementation when interpreting an operation. The standard describes the protocol flow; deployed account stacks can use different EntryPoint versions and account rules."
      ]
    }
  ],
  "faq": [
    {
      "question": "Does a bundler need to know my private key?",
      "answer": "The protocol flow uses the account’s signed or otherwise authorized operation, not disclosure of its private signing key. The account implementation determines acceptable authorization.",
      "sourceIds": [
        "eip4337"
      ]
    }
  ],
  "claims": [
    {
      "id": "smart-account-bundlers-quick-answer",
      "articleSlug": "smart-account-bundlers",
      "statement": "In ERC-4337, a bundler collects user operations and submits an Ethereum transaction that invokes the EntryPoint to process them. The account’s validation logic authorizes each operation. A bundler is an execution-submission participant, not a guarantee of inclusion or a replacement for the account’s signing and permission rules.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 UserOperation, EntryPoint/account validation, nonce/hash separation, repeated bundler validation/simulation and minimum fee-policy checks.",
          "Clarified deployed EntryPoint-version variation without labeling the retrieved Final standard as a draft. Account authorization remains separate from bundler availability and economic outcome."
        ]
      }
    },
    {
      "id": "smart-account-bundlers-fact-object",
      "articleSlug": "smart-account-bundlers",
      "statement": "Object: A user operation is distinct from the bundler’s enclosing network transaction.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 UserOperation, EntryPoint/account validation, nonce/hash separation, repeated bundler validation/simulation and minimum fee-policy checks.",
          "Clarified deployed EntryPoint-version variation without labeling the retrieved Final standard as a draft. Account authorization remains separate from bundler availability and economic outcome."
        ]
      }
    },
    {
      "id": "smart-account-bundlers-fact-validation",
      "articleSlug": "smart-account-bundlers",
      "statement": "Validation: The account validates its requested operation through the EntryPoint flow.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 UserOperation, EntryPoint/account validation, nonce/hash separation, repeated bundler validation/simulation and minimum fee-policy checks.",
          "Clarified deployed EntryPoint-version variation without labeling the retrieved Final standard as a draft. Account authorization remains separate from bundler availability and economic outcome."
        ]
      }
    },
    {
      "id": "smart-account-bundlers-fact-payment",
      "articleSlug": "smart-account-bundlers",
      "statement": "Payment: Accounts or paymasters must cover the operation’s applicable gas costs.",
      "sourceIds": [
        "source-0bc8df50fb6b85e4"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-0bc8df50fb6b85e4",
          "locator": "Specification; Bundlers; Paymasters; Security Considerations"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T18:12:41.505Z",
        "reviewer": "Codex independent automated reviewer /root/verify_ethereum_100",
        "notes": [
          "Read ERC-4337 UserOperation, EntryPoint/account validation, nonce/hash separation, repeated bundler validation/simulation and minimum fee-policy checks.",
          "Clarified deployed EntryPoint-version variation without labeling the retrieved Final standard as a draft. Account authorization remains separate from bundler availability and economic outcome."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "eip4337",
      "label": "Account Abstraction Using Alt Mempool",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-4337",
      "locator": "Specification; Bundlers; Paymasters; Security Considerations",
      "note": "User operations, bundler transaction submission and paymaster validation.",
      "version": "EIP/ERC-4337; retrieved document hash recorded",
      "checkedAt": "2026-10-02T17:03:42.486Z",
      "contentSha256": "ba69db925f98b811c8b73915af67c25fa70fc8d5d8c8f2c4166ab376e0fcb115",
      "recordId": "source-0bc8df50fb6b85e4"
    }
  ],
  "related": {
    "articles": [
      "smart-account-paymasters",
      "ethereum-transaction-hashes",
      "ethereum-smart-accounts"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and independent automated verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “Smart-account bundlers: turning user operations into transactions.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/smart-account-bundlers/"
}
