The Standard We Needed, With a Catch We Should Have Expected
I have been deep in ERC-7683 for the past few weeks, integrating it into our protocol’s cross-chain swap interface, and I want to share what I have found – both the genuine technical achievement and the centralization problem that is already emerging underneath it.
What ERC-7683 Actually Does
For those who have not looked at it yet, ERC-7683 was co-developed by Uniswap Labs and Across Protocol to create a unified standard for expressing cross-chain intents. Before this standard, every intent-based protocol – UniswapX, Across, 1inch Fusion, CoW Protocol – had its own proprietary format for how users express what they want done. If you were a solver, you had to build entirely separate integrations for each platform. If you were a developer building a frontend, you had to choose which intent system to plug into.
The standard introduces the CrossChainOrder struct, which contains a settlement contract address, the chain where settlement happens, the order’s expiry window, and arbitrary orderData that each implementation can extend. There is also the ISettlementContract interface that defines how solvers interact with the settlement layer – initiate() to lock funds and resolve() to parse the order data into standardized ResolvedCrossChainOrder outputs.
What this means practically: a solver that builds against ERC-7683 can now fill orders from UniswapX, Across, and any other compliant protocol using the same infrastructure. That is genuinely powerful. I have watched our integration go from “build three separate solver connectors” to “build one ERC-7683 adapter.”
The Solver Centralization Problem
Here is where my optimism runs into reality. Despite the standardization effort opening up the solver market in theory, the actual distribution of solver activity is deeply concentrated. Across the major intent protocols, roughly 5 to 10 professional solver operations handle the vast majority of order volume. These are well-capitalized operations running sophisticated infrastructure – low-latency execution engines, cross-chain inventory management systems, and significant capital reserves for pre-filling orders before settlement finalizes.
I have been tracking solver activity on-chain, and the pattern is consistent. On any given day, the top 3 solvers by volume account for 60-70% of all fills. The long tail of smaller solvers picks up the remaining scraps, mostly smaller orders where the economics do not justify the big players’ attention.
Why This Matters for Developers Like Us
As a developer building DeFi interfaces, this concentration creates real UX problems. Apps with significant order flow – like the Uniswap frontend itself – see healthy solver competition because solvers are incentivized to monitor high-volume sources. But if you are building a smaller app or a niche use case, you might find that only 1-2 solvers even bother looking at your orders.
There is also no standardized mempool for intents. Each application has created its own workflow for broadcasting intents to solvers. Some use private RPCs, others use proprietary APIs, and some broadcast on-chain. This fragmentation means smaller apps often lack the distribution channels to get their users’ intents in front of enough solvers for competitive pricing.
What I Think Needs to Happen
ERC-7683 is a genuine step forward for interoperability. But standardizing the order format without addressing solver access, capital requirements, and intent distribution is like building a highway and only giving on-ramps to the biggest trucking companies. I would love to hear from others who are integrating this standard – are you seeing the same solver concentration on your end? And what solutions are people exploring for the distribution problem?