---
# System prepended metadata

title: Bundle Compression Prod Checklist

---


## Context

[Bundle compression makes 4337 efficient on L1.](https://daimo.com/blog/bulk)

As of 2023-01-17, 
- Daimo's running compression in prod, submitting 1-op bundles directly
- Pimlico has a testnet prototype of a real bundler API

## Road to prod

- [x] **Document rough spec.** https://github.com/daimo-eth/bulk/issues/7#issuecomment-1897309585
- [x] **Fix testnet compressed-op bundler**, gas esimation issue. Test 10x on Base Goerli, smoke test reliability.
- [x] **Ship.** Risk is mitigated because we try...catch the entire compressed op send, falling back to an uncompressed op.


## Followup
- [ ] **Bundler paymaster whitelist to preview griefing.** We use a tx.origin trick to save 40% of our cost per op (~70 bytes!) that would otherwise go to the sponsoring-paymaster signature. This adds two requirements:
   - **Bundler EOA must be whitelisted in paymaster.** We can do this manually for now, just let us know what the Pimlico EOAs are.
   - **We'd like bundler to enforce, for certain paymasters, that only a given API user can send ops using that paymaster.** This prevents another user from signing up for Pimlico and then draining our sponsoring paymaster.
- [x] **Launch post / thread.** Show benefit of compression, show how to use it with Pimlico, and explain the mental model.
  - In particular, explain the idea of a **happy path** (compressed, private, stateful inflator, potentially sponsored via tx.origin trick = efficient but uses restricted opcodes. requires client-bundler trust relationship. if a client ever uses stateful inflator to grief the bundler, bundler can simply turn off their API key) vs the **fallback path** (uncompressed op, public mempool, costs a few cents more in exchange for strong censorship resistance).
- [x] **Update contracts.** [InflatorRegistered event, OpInflatorRegistered](https://github.com/daimo-eth/bulk/issues/9), better comments.
- [ ] **Draft spec.** EthMagicians post with goal to turn it into an ERC > `eth_sendCompressedUserOperation`
- [ ] **Invite other bundlers.** Alchemy, etc. Potentially refine the spec based on feedback.