Intent Specification

The fun stuff...

The intent specification component is the entry point for the user to interact with the system. The intent specification component allows the user to express their intents or jobs in a user-friendly way.

An intent is a set of conditions to be met given specific inputs. An intent is essentially something a user wants to get done, be it swapping ETH for DAI when price goes over a specific price or rebalancing ETH between various restaking protocols. For an average user, intents today are really hard to bring to reality because these involve understanding the various protocols needed to create the code for an intent and then writing code to enable that.

A job is a specific logic that the user wants to outsource to be triggered on specific events or based on time. A job consists of

  1. the code as enclave image which can be run within Trusted Execution Environment (TEE)

  2. the conditions to verify onchain to mark the job as successfully run. This also includes the triggers to be used to run the job

  3. the private inputs of the code which can’t be part of the public enclave image

Option 1: Intent Specification Component

The user can choose to specify an intent or a job using the intent specification component. The intent specification component provides a natural language interface for the user to describe their intent, such as “swap ETH for DAI when price of ETH goes over $5000” or “rebalance ETH between various restaking protocols such that APR is maximized”. The intent specification component then uses the AI module to convert the intent into a job, which consists of the code, the conditions, and the public inputs.

Option 2: Upload Job Code

Alternatively, the user can provide the code, the conditions, and the public inputs of the job themselves using the intent specification component. This is useful for cases where the user wants complete control over the logic and the security of the execution, such as oracles or bridges.

The user also has to specify the payment conditions and triggers for the job as part of the job conditions. Currently we support triggers based on time, block, event, or a combination of them. The payment conditions are suggested to consider the type of triggers, the gas fee and job running costs of the agents.


Finally something that I care about - My requirements!

Last updated