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.
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.
"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.