Skip to main content

What are intents?

ERC-4337 introduced userops: pseudo-transactions handled by bundlers that relay smart account transactions onchain. Bundlers front the gas and submit through the EntryPoint contract, which orchestrates validation and execution via the smart account. Intents extend this model to crosschain transactions. An intent is a signed declaration of what the user wants to happen, which chains are involved, and which tokens they’re spending. A solver fulfils it, fronting gas and liquidity across all chains involved. The same model as a bundler and paymaster, but capable of spanning multiple chains in a single signed operation.

Intents vs ERC-4337

The key difference is the relayer layer. ERC-4337 routes through a single bundler/paymaster provider. Intents route through a competitive solver market where each solver manages token inventory across chains, aggregates DEX liquidity, and optimizes route and price independently. This is what enables crosschain transactions, built-in swaps, multi-input intents, and fee sponsorship that covers bridging and swap costs — not just gas.

ERC-4337 Userop Flow

Rhinestone Intent Flow

Rhinestone uses intents to relay smart account transactions. The Relayer Market acts as bundler and paymaster. The Intent Executor, an ERC-7579 module installed on the smart account, handles intent signature validation and execution — without privileged execution rights on the account. Signature validation and execution are coupled onchain. In the case of ERC-7579 smart accounts, the Intent Executor uses the executeFromExecutor function. Intents and ERC-4337 userops are not mutually exclusive. A smart account can use both, depending on the flow.

Feature comparison

FeatureERC-4337 (userops)Rhinestone Intents
Gas sponsorshipYesYes
Fee sponsorship (bridge + swap fees)NoYes
Counterfactual addressesYesYes
Built-in swapsNoYes
Built-in bridgesNoYes
EOA supportNoYes

Trust assumptions

ERC-4337 userops today are almost universally sent to a single private provider despite the open mempool standard. Intent systems face the same pattern — intents are propagated to a provider, and if that provider is down, the intent isn’t processed. Rhinestone’s Orchestrator is trustless from the user’s perspective. It can only interact with a smart account via the onchain execution paths defined by the Intent Router and Intent Executor. It poses no liveness or censorship risk. An onchain escape hatch can be activated without any dependency on Rhinestone.