EVM

Batched Execution

Batched execution runs multiple calls in one transaction or smart account operation.

Batched execution lets several actions happen together, often atomically.

Batched Execution Explained in Detail

Batched execution combines multiple calls into one transaction or account operation. The batch may be fully atomic, or it may allow partial success depending on the implementation.

Batching changes the order and context in which checks run.

Smart contract example

call A -> call B -> call C in one transaction

The output of call A may change whether call B is safe.

Batched Execution in Auditing

Batches can combine approvals, module installs, external calls, swaps, withdrawals, and self-calls in one flow. A function that is safe alone may be unsafe when chained with another call first.

Auditors review the whole batch as one state transition.

Red flags in code

  • Arbitrary target and calldata are allowed without per-call checks.

  • Self-calls bypass access control.

  • Partial failure behavior is unclear.

  • Batch size is unbounded.

  • Reentrancy appears between subcalls.

How to test or review it

  • Test call ordering and mixed success or failure behavior.

  • Include self-targeted calls and calls with ETH value.

  • Try installing permission and using it later in the same batch.

  • Test reentrancy from intermediate external calls.

  • Put gas-heavy or oversized batches through the execution path.

Practice this in real audit scenarios

Definitions help, but auditors need reps. SCH turns concepts like Batched Execution into exploit labs, code review habits, and report-writing practice.

Start the free trial or see the full smart contract auditing course.

Sources