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

# Lighter

> Trade session-allocated Lighter perpetuals.

`agent.lighter.orders.create` takes the [Hyperliquid perp order shapes](./hyperliquid): a limit order `{ asset, side, size, price, timeInForce?, reduceOnly? }` or a reduce-only `{ type: "takeProfit" | "stopLoss", asset, side, size, triggerPrice }`. `asset` is a Lighter perpetual symbol from [`data.markets({ venue: "lighter" })`](./data), such as `ETH`. `"gtc"` and `"alo"` orders rest at most 28 days, Lighter's maximum order expiry. Results carry Lighter's `orderId`, `limitPrice`, `filled`, `state`, `type` and `triggerPrice`; Circuit keeps observing a resting order and attributes later fills to the placing operation and session.

Preparation rounds sizes down to the market's size decimals and tightens prices to its price decimals. Orders below the market's minimum size or 10 USDC notional fail preparation. `lighter.orders.listOpen()` returns the session's resting orders and `lighter.orders.cancel({ orderId })` cancels one the session placed, completing with the order's `state` if it already closed. Stopping a session cancels its resting orders before `unwind` runs, and unwind accepts only reduce-only orders.

A Lighter account belongs to the wallet's Ethereum address. The first deposit must be Ethereum USDC through the `lighter` [swap](./swap) provider, which creates the account; later deposits and withdrawals route through Relay. Orders then need Circuit's Lighter API key, which the owner registers once through a reviewed `accountSetup` with `venue: "lighter"`; agents receive `ACCOUNT_SETUP_REQUIRED` until then. Lighter USDC is asset `3` on network `lighter`, and perp holdings use `kind: "perp"` with the same fields as Hyperliquid.
