
ERC-7521 Draft: Adding User Intent to Account Abstraction Wallets
TechFlow Selected TechFlow Selected

ERC-7521 Draft: Adding User Intent to Account Abstraction Wallets
General-purpose user intent has opened up a whole new world.
Written by: Stephen Monn
Compiled by: TechFlow

In the evolving landscape of blockchain and decentralized applications, increasing attention is being drawn to the concept of user-defined intents rather than purely transactional interactions. This relieves users from navigating the ever-growing complexity of DeFi processes and unlocks a range of additional use cases only now being conceived.
As individual applications are already implementing their own distinct and incompatible intent structures, it makes sense to create a universal intent standard that can be shared and understood by all users, applications, wallets, solvers, searchers, and more.
To enhance composability and lower entry barriers, we propose ERC-7521—a standard supporting universal intents for smart contract wallets.
What Are User Intents?
Since this field is very new, the definition of "intent" remains somewhat ambiguous. Conceptually, the term generally refers to a user's expression of a desired on-chain outcome or final state. For the purpose of this specification, an intent is defined as a set of operations and expectations established by the user. These operations and expectations can be combined with those of other intents in an effort to satisfy the collective and maximum benefit of all involved parties.
A sequence of on-chain operations that satisfies all relevant parties is called a solution. Specialized solvers (similar to bundlers in ERC-4337) will compete to find solutions that maximize user satisfaction. This could be achieved by identifying optimal/efficient on-chain paths, leveraging off-chain liquidity sources, combining different users' intents to exploit shared needs, or even incorporating their own intents.
Integrating User Intents into Account Abstraction
The key to enabling universal intents lies in using smart contract-based abstracted accounts. Similar to ERC-4337, intents are signed as messages and then validated on-chain through separate transactions. These signed messages are propagated through their own mempool.
The goal of this specification is not to define the precise technical details of how intents are processed, structured, or managed off-chain, but rather to create a framework for smart contract wallets to integrate and automatically support the broad possibilities defined by signed intents themselves. As such, the framework must also allow for seamless and permissionless upgrades and code extensions as new intent use cases emerge.

Single Entry Point and Infinite Intent Standards
To facilitate this seamless and permissive upgrade and extension process, we draw inspiration from the EntryPoint contract in ERC-4337, but divide it into two distinct components. The first part, called the Entry Point, serves as the main gateway for submitting intent solutions. It is responsible for validating intent signatures and executing high-level intent processing logic.
The specific content of intent processing logic is defined in a separate contract called the Intent Standard, which is specified by the signed intent itself. The Entry Point calls these contracts to process an intent. It is the Intent Standard that defines how additional intent data is handled and executed, along with basic off-chain rules related to inherent denial-of-service (DoS) attack vectors—for example, how messages are relayed to solvers and what protection mechanisms exist against DoS threats tied to intents.

These Intent Standards should be developed independently and self-contained, apart from this specification. We anticipate that as the intent landscape matures, optimized niche standards and emerging use cases will give rise to new Intent Standards with enhanced capabilities. Adoption and support for these standards will be driven by social consensus among wallet developers, intent solvers, and ultimately end-user demand.
To ensure our proposed ERC has meaningful functionality at an early stage, we have developed an asset-based Intent Standard capable of supporting most current blockchain use cases. We will refine both this standard and the ERC in public to align with ecosystem needs.
Flexible Yet Powerful Intent Structure
An intent contains primary data that can be broken down into two parts:
-
Essential validation data used by the Entry Point contract to authenticate the message with the sender before execution.
-
Additional data specific to the Intent Standard designated by the intent.
Intent Standard data can contain anything, but is always decomposed into discrete units called intent segments.
The Entry Point contract does not explicitly understand the nature of the data, but it does recognize the segmentation. The Entry Point invokes the Intent Standard contract to process each segment one at a time and enforces that segments within an intent are always processed in the specified order. However, the Entry Point allows other intents to be interleaved between the processing of segments.
These intent segments typically consist of operations the user wishes to perform or checks to verify whether certain conditions are met. Additionally, a Segment may pass data to the next Segment during processing. This data is known as intent context data and is useful for verifying changes across segments and avoiding redundant computation of valuable data. How best to utilize this data is determined by the Intent Standard specification.

Combining Intents for Maximum Satisfaction
During intent processing, an intent may express dissatisfaction with any condition—be it an unexpectedly low balance or any evaluation result deemed false by the Intent Standard. When this occurs, the entire transaction reverts, including any unrelated intents that may have been processed earlier.
Only when a group of intents is submitted and processed in an order that satisfies all parties are the intents considered spent, and the resulting state allowed to persist on-chain. It is these combinations of intents that constitute a solution, which is then passed to the Entry Point contract for execution.
However, simply submitting a list of intents is insufficient, because segments from different intents can be arranged in various orders. Therefore, a solution also specifies how segments from different intents should be ordered during processing (i.e., how to interleave them).

Part of the solving process often involves solvers crafting their own intents to help fulfill a set of others, thereby maximizing user satisfaction while generating profit.
Conclusion: Enhancing Intent-Driven Blockchain Interactions
The focus of this specification is to define a foundational framework for smart contract wallets so they can connect and unlock powerful intent expressions for users—even as the landscape continues to evolve. Defining intents as collections of smaller segments improves user experience by reducing the number of required signatures. Intent segmentation and shared context data also enable powerful functionalities without incurring excessive gas costs. Intents can trust that all their segments will be processed in order without manual verification.
Universal user intents open up an entirely new world—one only beginning to be explored. From simple gasless token swaps to more complex conditional intents that automate fund transfers from cold to hot wallets or daily cryptocurrency purchases via a single signed message, the possibilities are vast! Our specification for an asset-based Intent Standard is just the first of many iterations designed to empower the community to leverage this new framework.
Join TechFlow official community to stay tuned
Telegram:https://t.me/TechFlowDaily
X (Twitter):https://x.com/TechFlowPost
X (Twitter) EN:https://x.com/BlockFlow_News














