# Bundlers

Source: https://docs.settlemint.com/docs/architects/architecture/concepts/bundlers
How DALP uses bundler-compatible discovery while keeping UserOperation submission behind the platform execution path.



A bundler prepares valid ERC-4337 UserOperations for an EntryPoint. DALP exposes a bundler-compatible JSON-RPC endpoint so integrations can discover the active chain and supported EntryPoint. UserOperation submission, gas estimation, receipts, and transaction tracking stay on DALP's platform execution path.

## Where the bundler fits [#where-the-bundler-fits]

Bundlers sit between a smart account and the EntryPoint contract. In a standard ERC-4337 flow, a client builds a UserOperation and sends it for relay. The relay validates the operation, then submits it to the EntryPoint.

In DALP, that protocol role is wrapped by platform controls. DALP resolves the EntryPoint for the active EVM network, applies signer and policy checks, coordinates paymaster readiness when sponsorship is used, and records the final transaction outcome through platform tracking.

<Mermaid
  chart="graph LR
    I[Wallet, SDK, or integration] --> D[DALP platform execution path]
    D --> P[Policy, signer, and paymaster checks]
    P --> B[Bundler service]
    B --> E[ERC-4337 EntryPoint]
    E --> S[Smart account]"
/>

The UserOperation carries the smart-account call. DALP keeps the regulated-platform controls beside that call. Those controls cover request permission, signer or multisig approval, gas sponsorship readiness, and final transaction recording.

## Public discovery surface [#public-discovery-surface]

Use [Bundler JSON-RPC](/docs/developers/developer-guides/api-integration/bundler) when an integration needs account abstraction discovery data before it builds a flow.

| Discovery question             | JSON-RPC method            | What DALP returns                                       |
| ------------------------------ | -------------------------- | ------------------------------------------------------- |
| Which chain is active?         | `eth_chainId`              | The active network chain ID as a hexadecimal string.    |
| Which EntryPoint is supported? | `eth_supportedEntryPoints` | The EntryPoint address resolved for the active network. |

Do not treat the endpoint as a general UserOperation submission API. DALP handles submission and receipt lookup through its platform execution path.

## Boundary for integrations [#boundary-for-integrations]

Use the bundler-compatible endpoint for discovery. Use the REST smart wallet and paymaster surfaces for platform operations.

| Need                                       | Use                                          |
| ------------------------------------------ | -------------------------------------------- |
| Read active chain ID                       | Bundler JSON-RPC discovery                   |
| Read supported EntryPoint                  | Bundler JSON-RPC discovery                   |
| Manage smart wallet state or signers       | REST smart wallet endpoints                  |
| Configure paymaster funding or sponsorship | REST paymaster endpoints                     |
| Track final transaction state              | DALP transaction tracking and event surfaces |

This split lets ERC-4337-aware clients discover the network shape without bypassing DALP's approval, sponsorship, and tracking model.

## Failure modes to expect [#failure-modes-to-expect]

EntryPoint discovery depends on network configuration and indexed Directory data. If the Directory contract is not configured, discovery returns an unavailable error. If the EntryPoint registration exists on-chain but has not been indexed yet, discovery returns a not-found error. Retry only after the deployment configuration is complete and indexing has caught up.

Unsupported UserOperation methods return JSON-RPC method-not-found responses when the request includes an `id`. Notifications without an `id` return `204 No Content` under JSON-RPC notification semantics.

## Related pages [#related-pages]

* [Account abstraction model](/docs/architects/architecture/concepts/account-abstraction) explains the full smart wallet execution model.
* [UserOperations](/docs/architects/architecture/concepts/user-operations) describes the request object submitted to the EntryPoint.
* [Paymasters and gas sponsorship](/docs/architects/architecture/concepts/paymasters-and-gas-sponsorship) explains sponsored gas checks.
* [Bundler JSON-RPC](/docs/developers/developer-guides/api-integration/bundler) documents the callable discovery endpoint.
