Skip to content

#
Light Programmable Intents

Light Programmable Intents enables users to specify intents on Light Layer, or preferences to enable programmatic asynchronous execution of cross-chain transactions.

Initially, it will be implemented as a centralized service, but the goal is to decentralize it over time as an EVM compatible L2 that settles on Ethereum. Our focus is strictly on transaction initiation across all EVM chains, through user defined intents or preferences.

Cross-chain transactions are inherently asynchronous and require a dedicated mechanism to ensure that the desired outcome is achieved. Rather than trying to achieve interoperability through enshrined oracles, sequencers, or other forms of architecture that enables synchronous atomicity between a subset of chains, Light Programmable Intents aims to achieve "Programmable Atomicity", through user-defined preferences or intents across all EVM chains. This enables users to authorize transactions where off-chain actors fulfill execution, and any form of arbitrary function call on the underlying chains can be executed with regards to user's preferences, and the desired outcome can be achieved with minimal friction as possible.

Through "Programmable Atomicity", we aim to provide a more holistic approach to cross-chain transactions, where users can define their own preferences, conditions, and execution mechanisms based on their desired outcome. Since cross-chain transactions are inherently asynchronous, we aim to provide a mechanism that enables users to achieve the desired outcome, while ensuring the best execution within the specific preference. We bring asynchronous cross-chain interoperability and automation through the power of programmable intents, to overcome the limitations of cross-chain interoperability.

"Programmable atomicity" is a concept that enables users to define their own execution, security, and settlement mechanisms based on their preferences, and the desired outcome can be achieved within the confines of the preferences.

##
Different Type of Intents

There are three main types of intents:

- Generalized Intents: This intent is used to request general information about the user's account, such as the account balance, the account number, and the account type. Initially, this engine will be routed through our LLM in order to fulfill the user's request.
- RFQ Intents: This intent is used to request a quote for exchanging one or more assets for another. Pricing information is provided by the off-chain actors (which ensures fair pricing), and the user can then decide whether to proceed with the transaction.
- Programmable Intents: This intent is used to request conditional transactions, recurring transactions, or any other form of arbitrary function call on the underlying chains. Since cross-chain transactions are inherently asynchronous, this intent is used to ensure that the desired outcome is achieved for the end user.

At Light, our Intent Engine is responsible for processing the intents, and generates the Programmable Intents responses for the end user to ensure that the desired outcome is achieved, while ensuring fair pricing and outcome. See Actors in the System for more information on the actors in the system, and how execution is conducted.

##
Layers in the System

There are three main layers in the system:

- Intent Engine: Responsible for processing the intents and generating the responses to fulfill the user's request.
- OFA Solvers: Responsible for executing the transactions based on the user's preferences.
- Light Layer: Responsible for settling the cross-chain intent on behalf of the user.