Table of Contents
In this blog, we delve into the concept of "intents," their connection with cross-chain activities and Axelar network's innovative approach to achieve near-instant cross-chain actions.
Tldr
- Intents create fluidity between off-chain and on-chain worlds by allowing third parties to efficiently fulfill users' desired actions.
- Intents improve interop UX by settling actions almost instantly then safely finalizing them later.
- Intents are live on Axelar network: Squid, a liquidity router, has used intents on Axelar to execute cross-chain swaps in seconds.
What are intents?
At their core, intents can be understood as expressions of a user's desired actions [e.g., "swap X for Y] encoded on-chain, but can be executed by anyone in an arbitrary way which satisfies them. They’re constructs that allow for fluidity between off-chain and on-chain worlds. For instance, if a user wishes to exchange asset X for Y on the same blockchain using a decentralized exchange like Uniswap, they are bound by the platform's rules, liquidity limits and potential slippage.
Intents introduce an alternative. A user can broadcast their intention (e.g., "I want to swap X for Y") without immediately executing it. This approach invites third parties to aggregate, batch or even tap into off-chain liquidity sources to efficiently fulfill the intent. This process can result in optimal execution for the user and a rewarding fee for the facilitator. In a nutshell, intents compose on-chain security with off-chain flexibility. Because intents do not care about the path used to fulfill the user’s preference, that path can include off-chain operations so long as the result is on-chain.
Considerations regarding intents
Using intents might feel like opting for a shortcut. Axelar network initially aimed for purely on-chain operations, but recognizing some off-chain actions' superior efficiency led to a hybrid approach. However, this comes with its own set of challenges, such as ensuring a healthy ecosystem of off-chain actors [aka solvers] stand ready to execute intents that could range from liquidity providers to monitoring services. And as with any new design paradigm, new security concerns emerge.
Emerging platforms like UniswapX, Anoma and Suave have begun their journeys into the realm of intent architectures.
Intents and their role in interoperability
Bridging, in many ways, is an off-chain activity. It's about transmitting messages from one chain to another, a process that heavily relies on validation, transport and protocol semantics. The most secure protocols, like Axelar, employ stringent rules to ensure only finalized transactions are relayed from the source chain. This rigorousness, while essential, introduces latency, especially with blockchains like Ethereum where full finalization can take a significant amount of time [~10-15 minutes in many instances].
This is where intents can help. They allow actions to be executed almost instantly, with full finalization occurring later. For example, a user wanting to swap X for Y between chains A and B can post an intent on chain A; anyone can complete the intent on B, and then get the user's funds once the cross-chain message finalizes. The bridge risk and the delay are absorbed by the filler of the intent [potentially for a fee]. Estimating gas fees is another critical problem in interop that is solved with the transition to intents. On Axelar network, gas for General Message Passing requests is paid upfront, but gas prices fluctuate while waiting for source-chain finalization, leading to over- or underestimations. This requires the relayer to refund or take a loss in case of underestimation.
Intents can solve this as the solving actor decides whether the potential compensation from an intent is adequate: it’s up to them to decide whether the potential financial gains are worth the estimated execution costs.
Axelar's implementation of cross-chain intents
On the Axelar network, intents have been seamlessly operational. They are especially efficient for transactions that tie value to a specific token, enabling swift order fulfillment. They can also be expanded to more generic messages, as long as developers are able to define their intent structures meticulously. If the value of an intent can be quantified, then solvers can price the risk of it failing to finalize. Conceivably the risk to the solver of executing a solution to a complex set of user intents between many chains could be aggregated into a single fee, allowing them to execute simultaneously but finalize separately. A small fee to the solver is vastly offset by the improvement to usability and efficiency for the user. We like the work that Essential is currently doing in this regard with the concept of “Intent Standards."
One notable Axelar ecosystem application, Squid, has successfully employed intents on Axelar by integrating with the GMP Express interface. The result? Instant cross-chain communication.
Squid is a cross-chain liquidity router built using Axelar GMP. The dApp finds liquidity in DEXs on connected chains, so that users can initiate swaps with a single click. The user experience (UX) mimics what users expect when transacting between different chains' tokens on centralized exchanges – except the entire transaction runs on decentralized infrastructure.
However, there is one aspect in which Squid cannot duplicate a centralized orderbook using exclusively on-chain infrastructure: as discussed above, finality on connected chains can take 10 to 15 minutes. Instead of making the user wait, risking slippage, Squid employs intents in a fast-finality gadget called Boost. Squid Boost completes the action described hypothetically above, in real transactions. It serves a user's intent to swap X for Y between chains A and B. Boost completes the intent on B, then recoups funds when the transaction finalizes, absorbing bridge risk and delay. Here's an example transaction.
Open questions
The challenge ahead is to broaden the application of intents. Can we establish a comprehensive marketplace for cross-chain intents? Is it feasible to bridge traditional finance with blockchain actions using intents?
For more insights or collaborations, DM: sergey_nog.