Skip to main content
Defined in ERC-7867 (Proposed)
The flowControl capability allows dapps to specify how transaction batches should behave when individual calls fail or revert. This provides fine-grained control over transaction execution flow and enables more sophisticated error handling strategies.
This capability is currently proposed in ERC-7867 and is not yet finalized. Implementation details may change as the specification develops.

Parameters

string
Specifies the behavior when a transaction call fails or reverts.Possible values:
  • "continue": Continue executing remaining calls
  • "stop": Stop execution on failure
  • "retry": Attempt to retry the failed call
object
Optional fallback transaction to execute if the primary call fails.

Returns

object
The flow control capability configuration for the specified chain.

Example Usage

Error Handling

Potential Use Cases

E-commerce Transactions

Handle scenarios where some purchases succeed while others fail:

DeFi Operations with Fallbacks

Implement sophisticated DeFi strategies with backup options:

Batch Operations with Error Recovery

Execute batch operations that can gracefully handle individual failures:

Checking Capability Support

Once implemented, check for flow control support:

Expected Benefits

When implemented, flow control will provide:
  1. Better User Experience: Partial success instead of complete failure
  2. Flexible Error Handling: Apps can define custom failure responses
  3. Reduced Gas Waste: Avoid re-executing successful operations
  4. Complex Workflows: Enable sophisticated multi-step processes

Development Status

This capability is actively being developed:
  • ERC-7867: Formal proposal for flow control capability
  • Community Input: Ongoing discussions about implementation details
  • Wallet Integration: Pending finalization of specification

Preparing for Flow Control

While waiting for implementation, developers can:
  1. Design Flexible Architecture: Build apps that can adapt to different execution models
  2. Implement Fallback Logic: Create manual fallback strategies for critical operations
  3. Monitor Specification: Track ERC-7867 progress for implementation updates
  4. Test Sequential Execution: Use current capabilities to simulate flow control behavior
Stay updated on ERC-7867 development to implement flow control as soon as it’s available in production wallets.
The examples above are conceptual and may not reflect the final implementation. Always refer to the latest ERC-7867 specification for accurate details.
Flow control works alongside other capabilities: