# User Flow

## Optimal User Experience

Our aim is to facilitate cross-chain interactions that are straightforward and efficient for users, providing comprehensive support for all transaction formats and chains.
Users are expected to express their transactional intent in a streamlined process: a single authorization should initiate the transaction, while the complex workings of cross-chain transactions remain transparent.
For further information, refer to our [goals](/goals).

![user-flow](/user-flow.png)

### 1. Intent Submission

Users submits an intent/transaction to Light's [Intent Engine](/features/intent-engine) with the following information:

- Desired outcome
- Source chain (if applicable)
- Destination chain (if applicable)

Users may also set detailed preferences for the transaction via [programmable intents](/light-programmable-intents)

### 2. Gas Abstraction

The transaction's gas fees are managed through Light's off-chain [gas network](/light-gas-abstraction), which subsidizes the cost on the target chain(s).
Relayers compete to offer the best gas price, ensuring the user's transaction is as cost-effective as possible.

### 3. Transaction Authorization

Users authorize their transaction with a single signature using Light's [cross-chain smart account](/light-smart-wallet) or via standard External Owned Accounts (EOAs).

### 4. Programmable Intent Execution

Transactions are then relayed to the target chains, and the user's programmable intent preferences are processed through the [Light Layer](/features/light-layer).
Off-chain actors bid to execute these transactions, ensuring the user experiences optimal execution along with enhanced privacy, security, and "programmatic atomicity".

### 5. Settlement and Confirmation

Finally, transactions are concluded on the target chain(s), and users are promptly informed of the result.
As cross-chain transactions are inherently asynchronous, users can follow the progress of their transactions via our custom explorer or other blockchain explorers.
