> ## Documentation Index
> Fetch the complete documentation index at: https://build.flashnet.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Programmable settlement on Spark balances

Flashnet Execution is where you swap on Flashnet markets and run your own contracts against Spark balances. One signed intent moves assets in from Spark, runs the action, and returns the result.

## What you can do

<CardGroup cols={2}>
  <Card title="Swap on Flashnet markets" href="/products/execution/quickstart">
    Use `TradingClient` to quote, swap, and withdraw in a single intent. The default path for integrators.
  </Card>

  <Card title="Deploy your own contracts" href="/products/execution/executing">
    Sign Solidity transactions with your Spark identity key. Standard tooling, zero gas.
  </Card>
</CardGroup>

## How an intent moves through the system

```
     Spark wallet                                  Execution
     ────────────                                  ─────────

 1.  send_sats / send_token        ───────────►    SparkGateway records deposit
                                                   │
                                                   ▼
 2.  sign deposit-and-execute      ───────────►    gateway admits intent
     intent                                        │
                                                   ▼
                                                   sequencer orders block
                                                   │
                                                   ▼
                                                   validators sign finality
                                                   │
                                                   ▼
                                                   contract runs
                                                   │
                                                   ▼
                                                   SparkWithdrawal event
                                                   │
                                                   ▼
 3.  Spark wallet receives output  ◄───────────    send_sats / send_token
```

The signed intent carries the Spark transfer ids that fund it, the EVM transaction to run, and an expiry. One identity key controls both ends. There is no separate Execution account to fund and no gas to manage. The sequencer runs the EVM at zero base fee and zero priority fee.

## Where it fits

Flashnet Execution is the runtime referenced in [Architecture](https://docs.flashnet.xyz/architecture). Spark holds custody and finality; Execution runs the programmable settlement step in between.

The runtime is EVM-compatible, so contracts compile with Solidity and standard tooling. The integration model is intent-based, not raw transactions: you submit an intent that contains your transaction, the sequencer includes it, and validators sign the finality certificate before settlement dispatches back to Spark.

## Concepts

<CardGroup cols={2}>
  <Card title="Accounts" href="/products/execution/accounts">
    One identity key, two addresses. How Spark and Execution share custody.
  </Card>

  <Card title="Intents" href="/products/execution/intents">
    The signed unit of work: deposits, action, expiry.
  </Card>

  <Card title="Deposits" href="/products/execution/deposits">
    Move sats and Spark tokens in.
  </Card>

  <Card title="Withdrawals" href="/products/execution/withdrawals">
    Move sats and Spark tokens out.
  </Card>

  <Card title="Spark tokens" href="/products/execution/spark-tokens">
    The ERC20 representation of a Spark-native asset.
  </Card>

  <Card title="How it works" href="/products/execution/how-it-works">
    Sequencer, validators, TEEs. The architecture in detail.
  </Card>
</CardGroup>
