# Introduction

Lighter is a decentralized trading platform designed for security, scale, and performance in a zero-fee trading environment. It is the first exchange to offer verifiable order matching and liquidations while delivering performance comparable to traditional exchanges.

The Lighter platform is available at:

* <https://app.lighter.xyz/>
* [https://lighter.exchange/](https://lighter.exchange/trade/ETH)


# Technical Architecture: Lighter Core

Read the Whitepaper: <https://assets.lighter.xyz/whitepaper.pdf>

### Background

Lighter Core is built on the following principles:

* Users always maintain custody of their assets.
* Operations must be verifiable and strictly adhere to a publicly predefined set of rules.
* The system must scale seamlessly in both latency and throughput.
* Users must always be able to exit securely and independently.

Achieving this requires a **publicly verifiable compute engine** that prevents operator misbehavior and guarantees execution strictly according to publicly defined rules. A few existing solutions for verifiable computation exist, each with trade-offs:

* **Blockchains with Decentralized Consensus**: Achieve verifiability via redundant execution across network nodes. While secure, they face latency and throughput limitations due to consensus mechanisms and network coordination. Additionally, common approaches lack flexibility around data privacy since data must be public to provide redundancy. The Ethereum blockchain is an example of a blockchain with decentralized consensus.
* **Trusted Execution Environments (TEEs)**: Provide hardware-level verification but depend on vendor trust and are vulnerable to side-channel attacks. They require some level of trust since users cannot independently verify execution.
* **Succinct Proofs (ZK-Proofs)**: Historically costly and challenging to develop, succinct proofs offer strong security and scale both horizontally and vertically. They also provide modularity for data privacy, unlike consensus-based systems.

Additionally, secure exits require asset storage in a robust non-custodial environment. However, the security of the environment users exit to is equally critical. Isolated blockchains connected via bridges offer no non-custodial fallback if compromised. Despite inherent scalability limitations, Ethereum is the most battle-tested verifiable execution platform, providing a neutral, secure settlement layer ideal for user exits.

### Lighter Core

Lighter Core combines succinct execution proofs with Ethereum as the anchoring layer for both proofs and system state. Users can securely enter or exit directly through Ethereum, with all proofs verified publicly before any state updates occur.

Scalability is achieved through Lighter Core’s novel proving engine, purpose-built from scratch for exchange-specific workloads. It leverages new algorithms and optimized data structures for efficient exchange-operation proof generation. All exchange operations are executed deterministically via user-signed transactions. A batch of these transactions produces a new post-execution state along with a succinct cryptographic proof.

<figure><img src="/files/Zk7pGLgfRm41n1mggEbb" alt="" width="563"><figcaption></figcaption></figure>

Simplified diagram of the described architecture

Smart contracts on Ethereum hold deposited assets and the canonical Lighter state root, which encapsulates user assets and positions, public pools, order books, and other critical system components. While processing exchange operations, Lighter Core periodically publishes state update proposals to Ethereum. Each proposal transaction is accompanied by data blobs containing the details of the state transition (e.g., per-account changes), allowing users to independently reconstruct and verify their state. The posted data is highly compressed, enabling Lighter Core to publish state data directly to Ethereum at high scale without relying on third parties.

A Sequencer coordinates first-in–first-out transaction ordering and provides soft finality, executing exchange operations and generating data consumed by other system components. This data is fed to API servers, which provide ultra-low-latency data to end users, and to horizontally and vertically scalable Witness Generator services, which transform it into circuit-friendly inputs for the Lighter Prover. The Prover generates proofs in parallel across Lighter transactions. Hundreds of thousands of these execution proofs are then fed into a multi-layer aggregation engine, where they are combined into a single batch proof. This enables efficient and cost-effective verification on Ethereum.

Once the proof for a state-update proposal is verified on Ethereum, the contracts update the exchange state. These proofs also attest to the validity and sufficiency of the data posted in Ethereum’s data blobs—demonstrating that the posted data alone is enough to reconstruct all user states using only censorship-resistant and immutable on-chain data.

#### Escape Hatch

To guarantee liveness and censorship resistance, Lighter Core introduces a **priority request queue** directly on Ethereum. Users can submit critical exit operations—such as withdrawals, public pool exits, or reduce-only IOC orders—on-chain, ensuring that the Sequencer must process them within a predefined timeframe.

If the Sequencer fails to process these priority requests in time, the system automatically triggers **Escape Hatch mode**. In this state, the Lighter Core smart contract freezes entirely. Users can then leverage Ethereum-posted data blobs to reconstruct their account state and generate succinct proofs of ownership (balances, positions, pool shares). These proofs allow users to withdraw the full value of their assets directly on Ethereum, with no reliance on off-chain coordination—ensuring complete asset security and independence.


# LIT Utility

Lighter Infrastructure Token (LIT) is the native infrastructure token supporting access, incentives, and alignment across the Lighter ecosystem.

### Staking

The **LIT Staking Pool** (<https://app.lighter.xyz/staking>) is designed to align long-term participants with the core economics of the protocol. By staking LIT, participants gain access to platform benefits aligned with how they interact with the exchange. Unstaking is subject to a 3-day lockup period.

Active Staking Programs:

* LLP Access
* Staking APR

#### LLP Access

As part of our approach to offering access to niche financial products, the Lighter Liquidity Pool (LLP) is now exclusively accessible to LIT stakers. For every 1 LIT staked, participants may deposit up to 10 USDC into the LLP.

#### Staking APR

Staking participants currently earn a fixed 6% APR through staking rewards. LIT is bought from `0x5E52363E65C99fefC0E356F0DC6c37b75bf8FC91` for these rewards.&#x20;

### Buybacks

LIT is bought back by the protocol using trading fee revenue. Buybacks are executed via daily 24-hour TWAPs, with the flexibility to use shorter timeframes depending on market conditions.

The treasury account that conducts these is `0x0000000000000000000000000000000000000000`&#x20;


# Trading Fees

For both perpetual futures and spot markets, Lighter currently charges no maker or taker fees for Standard Accounts, allowing all participants to trade across all markets free of charge. Premium Accounts are subject to maker and taker fees, with the option to receive fee discounts by staking LIT.

### Account Types

#### Standard Account (Default) — Trade for free.&#x20;

* Fees: 0 maker / 0 taker
* Taker latency: 300ms
* Maker latency: 200ms
* Cancel latency: 200ms

#### Premium Accounts (Opt-In) — **Subject to Staking-based Fee Tiers**

For Premium Accounts, all order cancelations & Post Only order placements not subject to any additional latency. For this account type, please consider the [volume quota program](https://apidocs.lighter.xyz/docs/volume-quota-program).&#x20;

<table><thead><tr><th width="126.85546875">Staked LIT</th><th width="133.89453125">Maker/Taker Fee Discount</th><th width="111.671875">Maker Fee</th><th width="105.89453125">Taker Fee</th><th>Taker Latency</th><th>Latency Improvement</th></tr></thead><tbody><tr><td>0</td><td></td><td>0.0040%</td><td>0.0280%</td><td>200 ms</td><td></td></tr><tr><td>1,000</td><td>2.5%</td><td>0.0039%</td><td>0.0273%</td><td>195 ms</td><td>2.5%</td></tr><tr><td>3,000</td><td>5%</td><td>0.0038%</td><td>0.0266%</td><td>190 ms</td><td>5%</td></tr><tr><td>10,000</td><td>10%</td><td>0.0036%</td><td>0.0252%</td><td>180 ms</td><td>10%</td></tr><tr><td>30,000</td><td>15%</td><td>0.0034%</td><td>0.0238%</td><td>170 ms</td><td>15%</td></tr><tr><td>100,000</td><td>20%</td><td>0.0032%</td><td>0.0224%</td><td>160 ms</td><td>20%</td></tr><tr><td>300,000</td><td>25%</td><td>0.0030%</td><td>0.0210%</td><td>150 ms</td><td>25%</td></tr><tr><td>500,000</td><td>30%</td><td>0.0028%</td><td>0.0196%</td><td>140 ms</td><td>30%</td></tr></tbody></table>

#### Plus Accounts (Opt-In) — Suitable for latency-insensitive users, looking to get increased rate limits.

This tier can be enabled using the `changeAccountTier` endpoint via API or switched to via account type on the app.&#x20;

| Maker/Taker Fee | Taker Latency | Maker/Cancel Latency | sendTx/sendTxBatch per minute | Read-only weighted requests per minute |
| --------------- | ------------- | -------------------- | ----------------------------- | -------------------------------------- |
| 0.5bps          | 300 ms        | 200 ms               | 8000                          | 120000                                 |

***

### Fee Discounts for Premium Accounts via Staking

All Premium Account fees and latency will be eligible for staking discounts. Staking discounts will be applied at the L1 address level, where the total staked LIT is calculated as the combined stake across the main account and all associated sub-accounts.

As a result, the main account and its sub-accounts will share the same staking tier, determined by the aggregated LIT stake.

#### Rate Limits Considerations

We recognize that many participants distribute trading activity across multiple addresses due to operational or rate-limit considerations. To avoid disrupting existing workflows, rate limits will be adjusted to allow users to consolidate activity through sub-accounts without any downside.

In addition, participants may provide a list of addresses to the Lighter team, enabling all associated accounts to share a single tier based on the total staked LIT across those addresses. We also plan to introduce in-app wallet linking for fee-discount purposes soon.


# LIT Fee Credits

The LIT Fee Credits program is designed to support market participants making use of Premium Accounts that have not yet committed to staking. Instead of staking the full amount required for a higher discount tier, users will be able to buy Credits, which will count toward a desired fee and latency tier.&#x20;

For example, a participant with 100,000 LIT staked may use an additional 200,000 staked LIT via LIT Fee Credits to qualify for the next staking tier.

#### How it Works

Participants must acquire LIT if they do not already hold it and navigate to the LIT Fee Credits section on the Staking page. There, they can select the desired credit amount and duration, which determine the applicable trading tier. Upon confirming an L1 signature and completing the upfront LIT payment, the selected tier is activated.

All proceeds from the LIT Fee Credits program are distributed to LIT stakers. The upfront fee is streamed as daily rewards over the full duration of the access period.


# Unified Trading Accounts

Available to be enabled only on web for now.

<figure><img src="/files/eQDZQOcuAtqvbtQzdUMm" alt=""><figcaption></figcaption></figure>

#### Unified Trading Account (UTA)

Unified Trading Accounts (UTA) enables unified margin on Spot and Perpetuals USDC balances. This functionality represents the first step toward supporting additional Spot assets as collateral in perpetual markets.

#### Simple Trading Account

Simple Trading Account&#x73;**,** perpetual and spot balances are maintained separately. Perpetual positions may only use settlement assets as collateral. Cross-margining applies exclusively within perpetual markets and does not extend to spot balances.


# Order Types & Matching

## Order Types & Matching

Lighter supports a variety of order types for entering positions, managing risk, and executing advanced trading strategies.

## Standard Orders

### Market Order

A Market Order executes immediately against the best available prices in the order book.

#### Characteristics

* Prioritizes execution over price.
* Takes liquidity from the order book.
* May experience slippage during periods of low liquidity or high volatility.

#### Execution options

* The **Reduce-Only** execution option ensures that changes to the position only move it closer to zero, regardless of whether the position is positive or negative.

### **Limit Orders**

A limit order is a buy or sell order that executes at the limit price user sets or better. Limit orders also support enhanced order options like expiration and execution instructions.

#### Execution options

* The **Post-Only** execution option ensures that a limit order is placed only as a maker order. If there are crossing orders on the opposite side of the order book at the time of placement, the exchange automatically cancels the post-only order to prevent it from becoming a taker order. If no crossing orders are present, the order is inserted into the order book. This guarantees that the order acts only as a maker and will pay maker fees for any trades.
* The **Reduce-Only** limit order reduces the position size towards zero, executing partially if the order size exceeds the position, with any remaining portion canceled once the position reaches zero.

#### Time in Force

Time-in-force options allow users specify the lifetime of an order.&#x20;

* **Good ‘Til Time** option allows users to specify a time until which the order remains valid. If the expiry time of an active order in the order book passes, the exchange automatically cancels the order.
* **The Immediate or Cancel** option automatically cancels an order if it is not immediately filled. These orders are not placed into the order book as maker orders.

### Stop-loss and Take-profit Orders

A stop-loss (SL) order is an instruction to sell (or buy) an asset when its price hits a **trigger price**, with the goal of limiting potential losses. On the other hand, a take-profit (TP) order specifies a trigger price at which an asset will be sold (or bought) to lock in gains. Both orders are automatically triggered.

In addition, there are **stop-loss limit orders** and **take-profit limit orders**. A **stop-loss limit order** combines the stop-loss trigger with a limit order, ensuring the asset will be sold (or bought) only at the specified price or better once the mark price reaches the trigger price. Similarly, a **take-profit limit order** sets a price at which the asset will be sold (or bought) to secure profits, but only if the market price meets or exceeds the trigger price. These limit orders offer more control over the execution price compared to standard stop-loss or take-profit orders.

#### Trigger Conditions

Stop-Loss Sell Order & Take-Profit Buy Order:

&#x20;                                                 $$\text{markPrice} \le \text{triggerPrice}$$

Stop-Loss Buy Order & Take-Profit Sell Order:

&#x20;                                                 $$\text{markPrice} \ge \text{triggerPrice}$$

#### Time in Force

* The **Good ‘Til Time** option is available for SL/TP limit orders and it allows users to set an expiration time, after which the order is automatically canceled if not triggered.

#### Execution options

* The **Reduce-Only** option works the same way as for Limit Orders, ensuring the position size decreases towards zero and canceling the order if further fills would cause the position to exceed zero.

### TWAP&#x20;

TWAP (Time-Weighted Average Price) Orders are a type of order designed to execute a large order over a specified time period at an average price, aiming to minimize the market impact of the order. The goal is to match the average price of the asset over the execution period, rather than executing all at once at a specific price.

#### Running Time

The running time option for a TWAP order defines the total time over which the order will be filled. Every 30 seconds, a new market order will be placed with a size of:

&#x20;                                                              $$\text{order size} = \frac{\text{total amount}}{\text{#orders}}$$

where **#orders** is calculated as:

&#x20;                                                             $$\text{#orders} = \frac{\text{execution duration}}{30\text{s}} + 1$$

#### Execution options

* The **Reduce-Only** option ensures that a trade is executed only if it reduces the position towards 0. The TWAP order will not be canceled when the position reaches 0; it will continue attempting to execute until it expires, but a trade will only happen if the position moves closer to 0. Partial fills may occur during this process.

## Advanced Orders

Advanced Orders provide additional flexibility and execution controls for larger or more sophisticated trading strategies.

### TWAP

A Time-Weighted Average Price (TWAP) order divides a larger order into smaller executions over a specified period of time.

#### Characteristics

* Reduces market impact.
* Distributes execution across time.
* Useful for larger position sizes.
* Designed to achieve a more consistent average execution price.

***

### Advanced TWAP

Advanced TWAP extends the standard TWAP order with additional execution controls and customization options.

#### Characteristics

* Supports execution randomization.
* Configurable slice frequency.
* Configurable execution behavior.
* Designed to reduce market impact while maintaining execution flexibility.

#### Execution Styles

#### Passive

Prioritizes minimizing market impact and posting liquidity whenever possible.

#### Neutral

Balances execution speed and market impact.

#### Aggressive

Prioritizes execution speed and completion probability.

***

### Chase Limit Orders

Chase Limit Orders automatically adjust their limit price to maintain a competitive position in the order book.

#### Characteristics

* Dynamically updates the order price as market conditions change.
* Helps maintain queue position near the best bid or ask.
* Reduces the need for manual order modifications.
* Remains subject to configured execution limits.

***

### Atomic Orders

Atomic Orders allow traders to build a basket of positions across multiple markets and execute the entire trade in a single transaction.

#### Characteristics

* Supports multiple markets within a single order.
* Executes all components together.
* Prevents partial execution across the basket.
* Useful for portfolio rebalancing, hedging, and multi-market strategies.

***

### Order Margin

The Matching Engine performs risk checks after every trade to ensure that the health of trading accounts is maintained:

1. Healthy Accounts: A trade must not cause a currently healthy account to become unhealthy.
2. Unhealthy Accounts: If an account is unhealthy prior to a trade, the trade must improve the account's health.

If a trade violates these rules, the Matching Engine auto-cancels the corresponding order(s) that violates the risk checks.

To ensure the order book accurately reflects orders that are likely to be executable (i.e., orders that wouldn't trigger an auto-cancellation upon trade execution), the Risk Engine employs a margining system for limit orders placed onto the book. Each limit order consumes a certain amount of Order Margin.

Margin consumed by these orders does not affect the position margin; it is merely a checking mechanism used only when placing new orders. Order margin usage does not affect liquidations, etc. Available order margin is calculated as follows:

$$
\begin{align\*}
\text{orderValue}*{\text{ask/bid}} &= \sum*{i \in \text{activeLimitOrders}*{\text{ask/bid}}} (\text{limitPrice}*i \times \text{orderSize}*i) \\\[1em]
\text{orderMargin}*{\text{sameSide}} &= \frac{\text{orderValue}*{\text{ask/bid}}}{\text{leverage}} \\\[1em]
\text{orderMargin}*{\text{oppositeSide}} &=
\begin{cases}
\frac{ \text{orderValue}*{\text{ask/bid}} - 2 \times (|\text{position}| \times \text{markPrice} ) } {\text{leverage}} & \text{if Cross Margin} \\\[1.5ex]
\frac{ \text{orderValue}*{\text{ask/bid}}}{\text{leverage}} - \text{TAV}*{\text{isolated}} - \text{IMR}*{\text{isolated}} & \text{if Isolated Margin}
\end{cases} \\\[1.5em]
\text{availableOrderMargin}*{\text{mi}} &= \text{TAV}*{\text{cross}} - \text{IMR}*{\text{cross}} - \mathbf{M}*{\text{other}} - \mathbf{M}\_{\text{current}}
\end{align\*}  \\\[0.5em]

\text{where} \\

\begin{align\*}

\mathbf{M}*{\text{other}} &= \sum*{i \neq \text{mi}} \left\[ \max\left( \text{orderMargin}*{i,\text{sameSide}},
\text{orderMargin}*{i,\text{oppositeSide}} \right) \right] \\\[0.5em]

\mathbf{M}*{\text{current}} &=
\begin{cases}
\text{orderMargin}*{\text{mi},\text{sameSide}} & \text{if New Order Side} = \text{Position Side} \\
\text{orderMargin}\_{\text{mi},\text{oppositeSide}} & \text{if New Order Side} \neq \text{Position Side}
\end{cases}
\end{align\*}
$$

***

### Price Checks

Price checks are used to guarantee that order prices remain within acceptable and realistic ranges, helping to prevent erroneous or extreme values.

**Fat Finger Prevention Check**\
This check ensures that the price of a limit order is within a reasonable range to prevent errors.

* For an **ask** order, the price must be at least:&#x20;

&#x20;                                                 $$max(MarkPrice, bestBid)×0.95$$

* For a **bid** order, the price must be at most:&#x20;

&#x20;                                                 $$min(MarkPrice, bestAsk)×1.05$$

If the **bestBid** or **bestAsk** does not exist, only the **markPrice** is used for validation.

The same check applies to SL/TP limit orders, but in this case, the *TriggerPrice* set in the order is used instead of the *MarkPrice*.

***

### Order Matching

When matching orders, Lighter uses a price-time priority system. When a new order is placed as the taker, the Lighter Matching Engine finds the highest-priority order on the opposite side of the order book, meaning the order with the best price. If there are multiple orders with the same best price, the oldest one is selected. The matching engine then executes the trade at the maker’s price. If the taker order is not fully filled, this process continues until the taker order is completely filled or until there are no more crossing orders. If the taker order is a limit order that needs to be placed in the order book, the Lighter Matching Engine inserts it on the corresponding side.

{% hint style="info" %}
The Lighter Matching Engine ensures that price-time priority is always respected by utilizing SNARKs to generate cryptographic proofs for fair order book matching execution. As a result, the Lighter Matching Engine operates as a trustless service, bound to function in a predefined way, making it mathematically impossible for it to act maliciously.
{% endhint %}


# Real World Assets (RWAs)

RWAs are tradeable 24/7 and include commodities, equities, and fixed income markets. The Experimental Liquidity Provider (XLP) previously served as the primary liquidity provider for these markets. The Lighter Liquidity Provider (LLP) now manages liquidity and handles liquidations. RWAs are subject to liquidations in the same manner as all other markets on the exchange.&#x20;

#### Leverage

Leverage does not change outside trading hours. A 10× long position on Gold (XAU) remains unchanged, and there is no requirement to reduce exposure. However, price volatility may increase at market open.

#### Market structure

All RWA markets support both Isolated and Cross Margin modes.&#x20;


# RWA Pricing Mechanism

RWA pricing is derived from two primary sources: external oracle feeds (e.g., Chainlink, Pyth, Stork, and other exchanges) and internal pricing.

* The index price is calculated according to the pricing methodology defined below.
* The only change is that the `cexPrices` component is replaced with the pricing methodology defined below.

### **Pricing Transition**

External oracle feeds are the primary price source. When oracle data becomes stale, the pricing mechanism gradually shifts from oracle-based pricing to internal pricing. As soon as an external price is available, the internal price is going to instantly converge to it.

Weights are normalized across sources. On each tick where an external price is not available:

1. Apply exponential decay to the oracle source
2. Allocate the remaining weight to the internal source

#### **Reweighing Formula (stale oracle prices):**

$$
w\_{\text{oracle}}(t)
=====================

w\_{\text{oracle}}(t - 1)\cdot e^{-\frac{\Delta t}{\tau\_{\text{oracle}}}}
$$

$$
w\_{\text{internal}}(t)
=======================

1 - w\_{\text{internal}}(t)
$$

Where:

* Δt: time elapsed since the last update
* τ\_active: source-specific time constant

#### Time Constants&#x20;

The time constant could vary by price type (index vs. mark).

* $$\tau\_{\text{mark}} = 1 \text{ minute}$$
* $$\tau\_{\text{index}} = 1 \text{ minute}$$

Note that the transition from internal to external is instant.

***

### Internal Pricing

Internal pricing is derived from order book impact prices, smoothed using a time-weighted Exponential Moving Average (EMA).

#### Time-Weighted EMA

$$
EMA\_t = \alpha \cdot P\_t + (1 - \alpha) \cdot EMA\_{t-1}
$$

$$
\alpha = 1 - e^{- \Delta t / \tau}
$$

* **Pₜ** — current impact price
* **τ** — smoothing time constant
* **Δt** — time since last update

***

### Index Price

For index price we set:

* $$\tau = 30 \text{ minutes}$$

The internal index price is capped relative to the last oracle price and the leverage of the market:

* **Indexᵢₙₜₑᵣₙₐₗ ∈ \[ P\_oracle · (1 − 1/L), P\_oracle · (1 + 1/L) ]**
  * Where **L** is leverage.

***

### Mark Price Component

For mark price we set:

* $$\tau = 2 \text{ minutes}$$

The mark price is capped relative to the last oracle price and the leverage of the market:

* **Markᵢₙₜₑᵣₙₐₗ ∈ \[ P\_oracle · (1 − 1/L), P\_oracle · (1 + 1/L) ]**

A simulation:

<figure><img src="/files/xsmUb3LkUcZJveGLv03L" alt=""><figcaption></figcaption></figure>

***

### Price Cap Removal (2026-07-10)

On the following markets there will be no price caps based on on the last oracle price:&#x20;

SPY, US500, QQQ, US100, XAU, XAG, NVDA, TSLA, AAPL, AMZN, MSFT, GOOGL, META, XCU, SNDK, WTI, XPD, XPT, BRENTOIL, MU, EWY, SPCX, DRAM, SOXL, SKHYNIXUSD, SAMSUNGUSD, INTC, NATGAS, IBM, AMD, MSTR

To prevent manipulation attacks, internal prices will continue to be validated against prices from other trading venues.


# Futures Contract Price Rolling Mechanism

Some markets (WTI, NATGAS, BRENTOIL, XCU, and WHEAT) use futures contracts as their underlying prices. To handle contract expirations, prices are gradually transitioned from the current month’s contract to the next month’s contract between the 5th and 10th business day.

Each day at 5:30 PM ET for WTI and NATGAS and at 7:00 PM ET for BRENTOIL, 20% of the price shifts from the current month to the next month. This means the price moves progressively, starting at 100% current month and ending at 100% next month over the five-day window.

Note: the underlying markets for WTI and NATGAS are closed between 5:00 PM ET and 6:00 PM ET, while for BRENTOIL they are closed between 6:00 PM ET and 8:00 PM ET (11PM London time - 1AM London time).

#### Example Roll Schedule (August, 2026)

| Date       | Time       | Front-Month | Next-Month |
| ---------- | ---------- | ----------- | ---------- |
| 2026-08-07 | 5:30 PM ET | 80%         | 20%        |
| 2026-08-10 | 5:30 PM ET | 60%         | 40%        |
| 2026-08-11 | 5:30 PM ET | 40%         | 60%        |
| 2026-08-12 | 5:30 PM ET | 20%         | 80%        |
| 2026-08-13 | 5:30 PM ET | 0%          | 100%       |

#### Roll Schedules (WTI, NATGAS, WHEAT, COPPER)

<table><thead><tr><th width="183.8173828125">Roll Date</th><th width="178.2109375">2026-07-08 5:30PM to 2026-07-14 5:30PM ET</th><th width="161.8525390625">2026-08-07 5:30PM to 2026-08-13 5:30PM ET</th><th width="169.314453125">2026-09-08 5:30PM to 2026-09-14 5:30PM ET</th><th width="163.7666015625">2026-10-07 5:30PM to 2026-10-13 5:30PM ET</th><th width="167.072265625">2026-11-06 5:30PM to 2026-11-12 5:30PM ET</th><th width="160.24609375">2026-12-07 5:30PM to 2026-12-11 5:30PM ET</th></tr></thead><tbody><tr><td>WTI</td><td>Q6 to U6</td><td>U6 to V6</td><td>V6 to X6</td><td>X6 to Z6</td><td>Z6 to F7</td><td>F7 to G7</td></tr><tr><td>NATGAS</td><td>Q26 to U26</td><td>U26 to V26</td><td>V26 to X26</td><td>X26 to Z26</td><td>Z26 to F27</td><td>F27 to G27</td></tr><tr><td>WHEAT</td><td>U26</td><td>U26 to Z26</td><td>Z26</td><td>Z26</td><td>Z26 to H27</td><td>H27</td></tr><tr><td>COPPER</td><td>U6</td><td>U6 to Z6</td><td>Z6</td><td>Z6</td><td>Z6 to H7</td><td>H7</td></tr></tbody></table>

#### Roll Schedules (BRENTOIL)

<table><thead><tr><th width="183.8173828125">Roll Date</th><th width="178.2109375">2026-07-08 7:00PM to 2026-07-14 7:00PM ET</th><th width="161.8525390625">2026-08-07 7:00PM to 2026-08-13 7:00PM ET</th><th width="169.314453125">2026-09-08 7:00PM to 2026-09-14 7:00PM ET</th><th width="163.7666015625">2026-10-07 7:00PM to 2026-10-13 7:00PM ET</th><th width="167.072265625">2026-11-06 7:00PM to 2026-11-12 7:00PM ET</th><th width="160.24609375">2026-12-07 7:00PM to 2026-12-11 7:00PM ET</th></tr></thead><tbody><tr><td>BRENTOIL</td><td>U6 to V6</td><td>V6 to X6</td><td>X6 to Z6</td><td>Z6 to F7</td><td>F7 to G7</td><td>G7 to H7</td></tr></tbody></table>


# Market Specifications

Current RWA market specifications are outlined below. These parameters may be updated at the discretion of the Lighter team. Please monitor official announcement channels for any changes.

<table><thead><tr><th width="118.32421875">Market</th><th width="117.19921875">Type</th><th width="128">Current Open Interest Cap (M)</th><th width="141.59375">Tracked Underlying</th><th width="162.9122314453125">Oracle</th><th width="336.4375">Link</th></tr></thead><tbody><tr><td>XAU</td><td>commodity</td><td>100</td><td>Tracks the value of 1 troy ounce of gold. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Metal.XAU%2FUSD">https://insights.pyth.network/price-feeds/Metal.XAU%2FUSD</a></td></tr><tr><td>XAG</td><td>commodity</td><td>100</td><td>Tracks the value of 1 troy ounce of silver. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Metal.XAG%2FUSD">https://insights.pyth.network/price-feeds/Metal.XAG%2FUSD</a></td></tr><tr><td>XCU</td><td>commodity</td><td>10</td><td>Tracks the value of 1 pound of copper. </td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Commodities.CCU6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DCCU%26state%3Dstable">https://app.pyth.com/explore/Commodities.CCU6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DCCU%26state%3Dstable</a></td></tr><tr><td>XPT</td><td>commodity</td><td>10</td><td>Tracks the value of 1 troy ounce of platinum. </td><td>chainlink</td><td>N/A</td></tr><tr><td>XPD</td><td>commodity</td><td>10</td><td>Tracks the value of 1 troy ounce of palladium. </td><td>chainlink</td><td>N/A</td></tr><tr><td>WTI</td><td>commodity</td><td>25</td><td>Tracks the value of 1 barrel of West Texas Intermediate Light Sweet Crude Oil.</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Commodities.WTIQ6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DWTIQ%26state%3Dstable">https://app.pyth.com/explore/Commodities.WTIQ6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DWTIQ%26state%3Dstable</a></td></tr><tr><td>NATGAS</td><td>commodity</td><td>50</td><td>Tracks the value of 1 MMBtu of Henry Hub natural gas.</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Commodities.NGDQ6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DNGD%26state%3Dstable">https://app.pyth.com/explore/Commodities.NGDQ6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DNGD%26state%3Dstable</a></td></tr><tr><td>BRENTOIL</td><td>commodity</td><td>100</td><td>Tracks the value of 1 barrel of Brent Crude Oil.</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Commodities.BRENTU6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DBRENT%26state%3Dstable">https://app.pyth.com/explore/Commodities.BRENTU6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DBRENT%26state%3Dstable</a></td></tr><tr><td>WHEAT</td><td>commodity</td><td>50</td><td>Tracks the value of 1 bushel of CBOT Chicago SRW Wheat</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Commodities.WHU6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DWHU6%26state%3Dstable">https://app.pyth.com/explore/Commodities.WHU6%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DWHU6%26state%3Dstable</a></td></tr><tr><td>EURUSD</td><td>fx</td><td>200</td><td>Tracks the exchange rate of EUR/USD. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/FX.EUR%2FUSD">https://insights.pyth.network/price-feeds/FX.EUR%2FUSD</a></td></tr><tr><td>USDKRW</td><td>fx</td><td>50</td><td>Tracks the exchange rate of USD/KRW.  </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/FX.USD%2FKRW">https://insights.pyth.network/price-feeds/FX.USD%2FKRW</a></td></tr><tr><td>USDJPY</td><td>fx</td><td>50</td><td>Tracks the exchange rate of USD/JPY.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/FX.USD%2FJPY">https://insights.pyth.network/price-feeds/FX.USD%2FJPY</a></td></tr><tr><td>GBPUSD</td><td>fx</td><td>50</td><td>Tracks the exchange rate of GBP/USD</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/FX.GBP%2FAUD">https://insights.pyth.network/price-feeds/FX.GBP%2FAUD</a></td></tr><tr><td>USDCHF</td><td>fx</td><td>50</td><td>Tracks the exchange rate of USD/CHF.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/FX.USD%2FCHF">https://insights.pyth.network/price-feeds/FX.USD%2FCHF</a></td></tr><tr><td>NZDUSD</td><td>fx</td><td>50</td><td>Tracks the exchange rate of NZD/USD. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/FX.NZD%2FUSD">https://insights.pyth.network/price-feeds/FX.NZD%2FUSD</a></td></tr><tr><td>USDHKD</td><td>fx</td><td>50</td><td>Tracks the exchange rate of USD/HKD. </td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/FX.USD%2FHKD?returnUrl=%2Fexplore%3Fsearch%3DHKD%26state%3Dstable">https://app.pyth.com/explore/FX.USD%2FHKD?returnUrl=%2Fexplore%3Fsearch%3DHKD%26state%3Dstable</a></td></tr><tr><td>SKHYNIXUSD</td><td>equity</td><td>100</td><td>Tracks the value of one share of SK Hynix Inc. quoted in USD.</td><td>000660.KS</td><td>N/A</td></tr><tr><td>SAMSUNGUSD</td><td>equity</td><td>10</td><td>Tracks the value of one share of Samsung Electronics Co Ltd. quoted in USD.</td><td>005930.KS</td><td>N/A</td></tr><tr><td>HYUNDAIUSD</td><td>equity</td><td>10</td><td>Tracks the value of one share of Hyundai Motor Company. quoted in USD.</td><td>005380.KS</td><td>N/A</td></tr><tr><td>NVDA</td><td>equity</td><td>50</td><td>Tracks the value of one share of NVIDIA Corporation. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.NVDA%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.NVDA%2FUSD</a></td></tr><tr><td>TSLA</td><td>equity</td><td>50</td><td>Tracks the value of one share of Tesla Inc. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.TSLA%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.TSLA%2FUSD</a></td></tr><tr><td>CRCL</td><td>equity</td><td>10</td><td>Tracks the value of one share of Circle Internet Group Inc.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.CRCL%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.CRCL%2FUSD</a></td></tr><tr><td>GOOGL</td><td>equity</td><td>50</td><td>Tracks the value of one share of Alphabet Inc. Class A. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.GOOGL%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.GOOGL%2FUSD</a></td></tr><tr><td>MSTR</td><td>equity</td><td>10</td><td>Tracks the value of one share of MicroStrategy Incorporated. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.MSTR%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.MSTR%2FUSD</a></td></tr><tr><td>MSFT</td><td>equity</td><td>10</td><td>Tracks the value of one share of Microsoft Corporation. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.MSFT%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.MSFT%2FUSD</a></td></tr><tr><td>AMZN</td><td>equity</td><td>50</td><td>Tracks the value of one share of Amazon.com, Inc.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.AMZN%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.AMZN%2FUSD</a></td></tr><tr><td>AAPL</td><td>equity</td><td>10</td><td>Tracks the value of one share of Apple Inc.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.AAPL%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.AAPL%2FUSD</a></td></tr><tr><td>COIN</td><td>equity</td><td>10</td><td>Tracks the value of one share of Coinbase Global, Inc.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.COIN%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.COIN%2FUSD</a></td></tr><tr><td>META</td><td>equity</td><td>10</td><td>Tracks the value of one share of Meta Platforms, Inc.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.META%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.META%2FUSD</a></td></tr><tr><td>INTC</td><td>equity</td><td>50</td><td>Tracks the value of one share of Intel Corporation</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.INTC%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.INTC%2FUSD</a></td></tr><tr><td>HOOD</td><td>equity</td><td>10</td><td>Tracks the value of one share of Robinhood Markets, Inc.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.HOOD%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.HOOD%2FUSD</a></td></tr><tr><td>ASML</td><td>equity</td><td>10</td><td>Tracks the value of one share of ASML Holding N.V.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.ASML%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.ASML%2FUSD</a></td></tr><tr><td>AMD</td><td>equity</td><td>10</td><td>Tracks the value of one share of Advanced Micro Devices, Inc.</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.AMD%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.AMD%2FUSD</a></td></tr><tr><td>SNDK</td><td>equity</td><td>50</td><td>Tracks the value of one share of SanDisk Corporation</td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.SNDK%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.SNDK%2FUSD</a></td></tr><tr><td>MU</td><td>equity</td><td>50</td><td>Tracks the value of one share of Micron Technology, Inc.</td><td>pythlazer</td><td><a href="https://pythdata.app/explore/Equity.US.MU%2FUSD">https://pythdata.app/explore/Equity.US.MU%2FUSD</a></td></tr><tr><td>ORCL</td><td>equity</td><td>20</td><td>Tracks the value of one share of Oracle Corporation</td><td>pythlazer</td><td><a href="https://pythdata.app/explore/Equity.US.ORCL%2FUSD">https://pythdata.app/explore/Equity.US.ORCL%2FUSD</a></td></tr><tr><td>MRVL</td><td>equity</td><td>25</td><td>Tracks the value of one share of  Marvell Technology, Inc.</td><td>pythlazer</td><td><a href="https://pythdata.app/explore/Equity.US.MRVL%2FUSD">https://pythdata.app/explore/Equity.US.MRVL%2FUSD</a></td></tr><tr><td>CBRS</td><td>equity</td><td>30</td><td>Tracks the value of one share of  Cerebras Systems Inc.</td><td>pythlazer</td><td><a href="https://pythdata.app/explore/Equity.US.CBRS%2FUSD">https://pythdata.app/explore/Equity.US.CBRS%2FUSD</a></td></tr><tr><td>BOT</td><td>equity</td><td>20</td><td>Tracks the value of one share of  Robostrategy Inc.</td><td>stork</td><td>-</td></tr><tr><td>NBIS</td><td>equity</td><td>25</td><td>Tracks the value of one share of Nebius Group NV. </td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.NBIS%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DNBIS%26state%3Dstable">https://app.pyth.com/explore/Equity.US.NBIS%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DNBIS%26state%3Dstable</a></td></tr><tr><td>NOW</td><td>equity</td><td>25</td><td>Tracks the value of one share of ServiceNow, Inc</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.NOW%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DNOW%26state%3Dstable">https://app.pyth.com/explore/Equity.US.NOW%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DNOW%26state%3Dstable</a></td></tr><tr><td>RKLB</td><td>equity</td><td>10</td><td>Tracks the value of one share of Rocket Lab Corporation</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.RKLB%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Drklb%26state%3Dstable">https://app.pyth.com/explore/Equity.US.RKLB%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Drklb%26state%3Dstable</a></td></tr><tr><td>DELL</td><td>equity</td><td>10</td><td>Tracks the value of one share of Dell Inc.</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.DELL%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Ddell%26state%3Dstable">https://app.pyth.com/explore/Equity.US.DELL%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Ddell%26state%3Dstable</a></td></tr><tr><td>IBM</td><td>equity</td><td>25</td><td>Tracks the value of one share of International Business Machines Corporation</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.IBM%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DIBM%26state%3Dstable">https://app.pyth.com/explore/Equity.US.IBM%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DIBM%26state%3Dstable</a></td></tr><tr><td>BOT</td><td>equity</td><td>20</td><td>Tracks the value of one share of RoboStrategy Inc</td><td>stork</td><td>N/A</td></tr><tr><td>SPCX</td><td>equity</td><td>100</td><td>Tracks the value of one share of Space Exploration Technologies Corporation</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.SPCX%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Dspcx%26state%3Dstable">https://app.pyth.com/explore/Equity.US.SPCX%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Dspcx%26state%3Dstable</a></td></tr><tr><td>STRC</td><td>equity</td><td>25</td><td>Tracks the value of one share of Stretch, the perpetual preferred stock of Strategy Inc</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.STRC%2FUSD">https://app.pyth.com/explore/Equity.US.STRC%2FUSD</a></td></tr><tr><td>MINIMAX</td><td>equity</td><td>20</td><td>Tracks the value of one share of MiniMax Group Inc.</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.HK.0100%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dminimax%26state%3Dstable">https://app.pyth.com/explore/Equity.HK.0100%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dminimax%26state%3Dstable</a></td></tr><tr><td>BYD</td><td>equity</td><td>20</td><td>Tracks the value of one share of BYD Company Limited</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.HK.0285%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dbyd%26state%3Dstable">https://app.pyth.com/explore/Equity.HK.0285%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dbyd%26state%3Dstable</a></td></tr><tr><td>TENCENT</td><td>equity</td><td>20</td><td>Tracks the value of one share of Tencent Holdings Ltd.</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.HK.0700%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dtencent%26state%3Dstable">https://app.pyth.com/explore/Equity.HK.0700%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dtencent%26state%3Dstable</a></td></tr><tr><td>SMIC</td><td>equity</td><td>20</td><td>Tracks the value of one share of Semiconductor Manufacturing International Corporation</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.HK.0981%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dintl%26state%3Dstable">https://app.pyth.com/explore/Equity.HK.0981%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dintl%26state%3Dstable</a></td></tr><tr><td>XIAOMI</td><td>equity</td><td>20</td><td>Tracks the value of one share of Xiaomi Corporation</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.HK.1810%2FHKD?returnUrl=%2Fexplore%3Fsearch%3DXIAOMI%26state%3Dstable">https://app.pyth.com/explore/Equity.HK.1810%2FHKD?returnUrl=%2Fexplore%3Fsearch%3DXIAOMI%26state%3Dstable</a></td></tr><tr><td>POPMART</td><td>equity</td><td>20</td><td>Tracks the value of one share of Pop Mart International Group Limited</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.HK.9992%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dpop%2Bmart%26state%3Dstable">https://app.pyth.com/explore/Equity.HK.9992%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Dpop%2Bmart%26state%3Dstable</a></td></tr><tr><td>ZHIPU</td><td>equity</td><td>20</td><td>Tracks the value of one share of Knowledge Atlas Technology Joint Stock Co.</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.HK.2513%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Datlas%26state%3Dstable">https://app.pyth.com/explore/Equity.HK.2513%2FHKD?returnUrl=%2Fexplore%3Fsearch%3Datlas%26state%3Dstable</a></td></tr><tr><td>SPY</td><td>index</td><td>100</td><td>Tracks the State Street SPDR S&#x26;P 500 ETF Trust. <br></td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.SPY%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.SPY%2FUSD</a></td></tr><tr><td>QQQ</td><td>index</td><td>100</td><td>Tracks the Invesco QQQ Trust, Series 1 ETF. </td><td>pythlazer</td><td><a href="https://insights.pyth.network/price-feeds/Equity.US.QQQ%2FUSD">https://insights.pyth.network/price-feeds/Equity.US.QQQ%2FUSD</a></td></tr><tr><td>DIA</td><td>index</td><td>10</td><td>Tracks the SPDR Dow Jones Industrial Average ETF. </td><td>chainlink</td><td><a href="https://data.chain.link/streams/dia-usd-extendedhoursequityprice-streams">https://data.chain.link/streams/dia-usd-extendedhoursequityprice-streams</a><br><br><a href="https://data.chain.link/streams/dia-usd-overnighthoursequityprice-streams">https://data.chain.link/streams/dia-usd-overnighthoursequityprice-streams</a><br><br><a href="https://data.chain.link/streams/dia-usd-regularhoursequityprice-streams">https://data.chain.link/streams/dia-usd-regularhoursequityprice-streams</a></td></tr><tr><td>BOTZ</td><td>index</td><td>10</td><td>Tracks the Global X Robotics &#x26; Artificial Intelligence ETF. </td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.BOTZ%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Dbotz%26state%3Dstable">https://app.pyth.com/explore/Equity.US.BOTZ%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Dbotz%26state%3Dstable</a></td></tr><tr><td>MAGS</td><td>index</td><td>10</td><td>Tracks the Roundhill Magnificent Seven ETF. </td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.MAGS%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Dmags%26state%3Dstable">https://app.pyth.com/explore/Equity.US.MAGS%2FUSD?returnUrl=%2Fexplore%3Fsearch%3Dmags%26state%3Dstable</a></td></tr><tr><td>IWM</td><td>index</td><td>10</td><td>Tracks the iShares Russell 2000 ETF. </td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.IWM%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DIWM%26state%3Dstable">https://app.pyth.com/explore/Equity.US.IWM%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DIWM%26state%3Dstable</a></td></tr><tr><td>EWY</td><td>index</td><td>20</td><td>Tracks the iShares MSCI South Korea ETF. </td><td>pythlazer</td><td><a href="https://pythdata.app/explore/Equity.US.EWY%2FUSD">https://pythdata.app/explore/Equity.US.EWY%2FUSD</a></td></tr><tr><td>DRAM</td><td>index</td><td>100</td><td>Tracks the Roundhill Memory ETF (DRAM)</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.DRAM%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DDRAM%26state%3Dstable">https://app.pyth.com/explore/Equity.US.DRAM%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DDRAM%26state%3Dstable</a></td></tr><tr><td>SOXL</td><td>index</td><td>100</td><td>Tracks the Direxion Daily Semiconductor Bull 3X ETF</td><td>pythlazer</td><td><a href="https://app.pyth.com/explore/Equity.US.SOXL%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DSOXL%26state%3Dstable">https://app.pyth.com/explore/Equity.US.SOXL%2FUSD?returnUrl=%2Fexplore%3Fsearch%3DSOXL%26state%3Dstable</a></td></tr><tr><td>US500</td><td>index</td><td>100</td><td>Tracks the value of top 500 US companies</td><td>pythlazer</td><td><a href="https://pythdata.app/explore/Equity.US.EMM6%2FUSD">https://pythdata.app/explore/Equity.US.EMM6%2FUSD</a></td></tr><tr><td>US100</td><td>index</td><td>100</td><td>Tracks the value of top 100 US non-financial companies</td><td>pythlazer</td><td><a href="https://pythdata.app/explore/Equity.US.NMM6%2FUSD">https://pythdata.app/explore/Equity.US.NMM6%2FUSD</a></td></tr><tr><td>H100</td><td>index</td><td>10</td><td>Tracks the real-time hourly cost of renting a NVIDIA H100 AI graphics processing unit (GPU) across global cloud and bare-metal providers</td><td>ornn</td><td>-</td></tr><tr><td>SPACEX</td><td>pre-ipo equity</td><td>10</td><td>Tracks the value of one share of SpaceX, based on an assumed total share count of 1 billion shares.</td><td>internal</td><td>N/A</td></tr><tr><td>OPENAI</td><td>pre-ipo equity</td><td>20</td><td>Tracks the value of one share of OpenAI, based on an assumed total share count of 1 billion shares.</td><td>internal</td><td>N/A</td></tr><tr><td>ANTHROPIC</td><td>pre-ipo equity</td><td>20</td><td>Tracks the value of one share of Anthropic, based on an assumed total share count of 1 billion shares.</td><td>internal</td><td>N/A</td></tr></tbody></table>


# Pre-IPO Markets

Pre-IPO markets follow the same design as other RWA markets, with a few important differences.

### Pricing

Pricing is determined only by the internal pricing mechanism.

This mechanism works the same way as for RWA markets, except **Pre-IPO markets do not have price caps**.

### Margin mode and liquidations

Pre-IPO markets operate in **isolated mode only**.

Unlike prelaunch markets, **liquidation fees still apply since the LLP is going to be a market-maker on these markets**.

### Funding

Funding works the same way as standard perp markets.

### Settlement

Pre-IPO markets will either be settled after the IPO or have their prices adjusted once the number of fully diluted shares becomes clear. In either case, any changes will be announced at least one day before they are carried out.


# US Equity Indices

### Price

The underlying price for the US indices is derived from traditional futures markets, which are then adjusted to reflect the underlying spot price. The price tracks the futures markets 23/5, and uses internal pricing outside trading hours.

At the end of each trading day on the futures markets, in the gap hour, at 5PM ET, the future markets get re-aligned to track that day's trading session for the spot market.

The frequency & availability of futures price feeds, combined with the transparency of the real-time calculation, should allow all market participants to price these contracts correctly & fairly.

Since the price is based on futures prices, these markets will be subject to futures rolling; because the prices are normalized to reflect the spot prices, this should be subtle. The roll will happen all at once, at Friday close, to give time to participants to change quoting strategies / price feeds over the weekend.

### Premium Calculation

For each individual index, we are calculating a futures versus spot adjustment. We do this by sampling the premium that the current front-month futures market has over the underlying spot price. Based on 3 days of data, we're computing an average premium, which should converge to 0 at the time of the expiry of the future. Using this data, we calculate a premium slope, expressed in basis points / day, to continuously adjust the futures price back to the implied spot price.

### syntheticSpotInfo Endpoint

We've introduced [a new endpoint, /syntheticSpotInfo](https://mainnet.zklighter.elliot.ai/api/v1/syntheticSpotInfo?symbol=US100) that can be queried to obtain the current configuration used for that market, which includes:&#x20;

* name of the underlying future contract (eg: NMM6)
* the provider of the price feed (eg: pythlazer)
* the expiry time of the contract, in milliseconds (eg: 1781812800000)
* the spot close time that was used for the current configuration
* the value of basis points / day that's currently being used

Based on this information, all participants should be able to follow [the price of NMM6](https://pythdata.app/explore/Equity.US.NMM6%2FUSD), which is the current front month contract for US100, provided by PythLazer. A sample response:

```json
{
    "code": 200,
    "bps_per_day": 1.0464340212413688,
    "expiry_time_ms": 1781812800000,
    "spot_close_ms": 1779134400000,
    "source": "pythlazer",
    "symbol": "NMM6"
}
```

At any time the index price would be equal to:

$$
\frac{\text{pythPrice}}{(1 + \frac{BPsPerDay}{10^4}) \times \frac{ExpiryTimeMs - CurrentTime}{24 \times 60 \times 60 \times 1000} }
$$


# perpRFQ

Trade select tickers in size, even when visible liquidity is limited. perpRFQ lets traders indicate large size interest directly to market makers, who respond with liquidity within 10 seconds — all through the order book. Users then have up to 2 minutes to execute. Currently in beta.

#### Available markets

* Crypto: BTC, ETH, SOL, XRP, TON, ZEC, LINK, SUI, LTC, ONDO, VVV, AVAX, ADA, AAVE, ENA, DOGE, NEAR, XPL, BNB, XMR, PAXG
* RWAs: XAU, XAG, WTI, BRENT, SPY, QQQ, TSLA, INTC, NVDA, SNDK, AMZN, HOOD, MSFT, GOOGL, PLTR, CRCL, COIN, META, AAPL, MU, EWY, SAMSUNGUSD, XCU, AMD, SKHYNIXUSD, MSTR, MRVL

#### **How it works (address must be whitelisted)**

* Select the RFQ order type on order panel for an eligible market
* Submit an intent on perpRFQ: input side and size for a market, request quote
* Market maker response: MMs will only see the requested size, not the trade side, and can choose whether to provide liquidity. An estimated execution price and slippage will then be shown, allowing you to decide whether to execute the trade
  * MMs have 10 seconds to respond to your request and can dynamically adjust pricing up until you decide to execute the trade
  * Your execution window is of 2 minutes


# Public Pools

Public Pools allow participants to combine funds under a designated operator who trades on their behalf. Whitelisted users can create a Public Pools to attract participants and manage pooled capital. Profits are distributed to participants after deducting the operator’s fee.&#x20;

#### Pool Operators

Operators are, currently, whitelisted by the protocol to run strategies. Trading is conducted via a Sub Account in the Operator's account. Considerations:

* **Operator Fee:** The percentage of profits allocated to the operator upon participant withdrawals as compensation for managing the pool.&#x20;
* **Minimum Operator Share:** The minimum ownership percentage the operator must maintain in the pool to remain aligned with its performance. For example, if the minimum operator share is set at 10% and the operator deposits 10,000 USDC, participants may deposit up to 90,000 USDC.
* **Isolated Margin:** Public Pools do not support isolated positions.

#### Pool Depositors

Depositors allocate capital to pools running strategies they are interested in. When depositing into a Public Pool, depositors receive pool shares, which are redeemed upon withdrawal. Unlike many DeFi vaults, Public Pools do not impose lockup periods, and funds can be withdrawn at any time.


# Contract Specifications

Lighter Test Network currently supports perpetual futures markets for the following markets. Lighter Governance will continuously add new markets as the test network grows.

IMR, MMR, and CMR represent the Initial, Maintenance, and Close-Out Margin Requirements, respectively. For more information about the meaning of these fractions, refer to the [Liquidations & LLP (Insurance Fund)](/trading/liquidations-and-llp-insurance-fund) page.

{% hint style="info" %}
Currently each deployed market has a funding period of 1 hour. Funding period is a configuration of each market, thus it might be different for some of the new market deployments.
{% endhint %}

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Symbol</td><td valign="top">Price Step</td><td valign="top">Amount Step</td><td valign="top">Leverage</td><td valign="top">IMR</td><td valign="top">MMR</td><td valign="top">CMR</td></tr><tr><td valign="top">BTC</td><td valign="top">0.1</td><td valign="top">0.00001</td><td valign="top">50x</td><td valign="top">2%</td><td valign="top">1.2%</td><td valign="top">0.8%</td></tr><tr><td valign="top">ETH</td><td valign="top">0.01</td><td valign="top">0.0001</td><td valign="top">50x</td><td valign="top">2%</td><td valign="top">1.2%</td><td valign="top">0.8%</td></tr><tr><td valign="top">SOL</td><td valign="top">0.001</td><td valign="top">0.001</td><td valign="top">25x</td><td valign="top">4%</td><td valign="top">2.4%</td><td valign="top">1.6%</td></tr><tr><td valign="top">XRP</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">20x</td><td valign="top">5%</td><td valign="top">3%</td><td valign="top">2%</td></tr><tr><td valign="top">HYPE</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">20x</td><td valign="top">5%</td><td valign="top">3%</td><td valign="top">2%</td></tr><tr><td valign="top">BNB</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">20x</td><td valign="top">5%</td><td valign="top">3%</td><td valign="top">2%</td></tr><tr><td valign="top">ARB</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">15x</td><td valign="top">6.66%</td><td valign="top">3.99%</td><td valign="top">2.66%</td></tr><tr><td valign="top">OP</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">15x</td><td valign="top">6.66%</td><td valign="top">3.99%</td><td valign="top">2.66%</td></tr><tr><td valign="top">TON</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">BCH</td><td valign="top">0.001</td><td valign="top">0.001</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">ADA</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">DOGE</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">JUP</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">XMR</td><td valign="top">0.001</td><td valign="top">0.001</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">TRUMP</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">LDO</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">SEI</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">LTC</td><td valign="top">0.001</td><td valign="top">0.001</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">FARTCOIN</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">KSHIB</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">KBONK</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">IP</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">WIF</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">DOT</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">SUI</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">TIA</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">UNI</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">XPL</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">ENA</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">CRV</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">NEAR</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">KPEPE</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">WLD</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">APT</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">POPCAT</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">ONDO</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">AVAX</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">TRX</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">AAVE</td><td valign="top">0.001</td><td valign="top">0.001</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">LINK</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">POL</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">8x</td><td valign="top">12.5%</td><td valign="top">7.5%</td><td valign="top">5%</td></tr><tr><td valign="top">PUMP</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">8x</td><td valign="top">12.5%</td><td valign="top">7.5%</td><td valign="top">5%</td></tr><tr><td valign="top">ZK</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">8x</td><td valign="top">12.5%</td><td valign="top">7.5%</td><td valign="top">5%</td></tr><tr><td valign="top">PAXG</td><td valign="top">0.01</td><td valign="top">0.0001</td><td valign="top">8x</td><td valign="top">12.5%</td><td valign="top">7.5%</td><td valign="top">5%</td></tr><tr><td valign="top">PENGU</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">8x</td><td valign="top">12.5%</td><td valign="top">7.5%</td><td valign="top">5%</td></tr><tr><td valign="top">PENDLE</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">TAO</td><td valign="top">0.01</td><td valign="top">0.0001</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">PYTH</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">SPX</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">STRK</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">SYRUP</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">VIRTUAL</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">ICP</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">MNT</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">KAITO</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">APEX</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">GRASS</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">CC</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">BERA</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">ASTER</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">GMX</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">HBAR</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">ETHFI</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">MORPHO</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">EIGEN</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">MET</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">ZRO</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">DYDX</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">FIL</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">ZEC</td><td valign="top">0.001</td><td valign="top">0.001</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">S</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">YZY</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">5x</td><td valign="top">20%</td><td valign="top">12%</td><td valign="top">8%</td></tr><tr><td valign="top">VVV</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">DOLO</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">MYX</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">kTOSHI</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">ZORA</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">AERO</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">NMR</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">2Z</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">AVNT</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">LINEA</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">USELESS</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">RESOLV</td><td valign="top">0.000001</td><td valign="top">1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">CRO</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">0G</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">PROVE</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">EDEN</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">FF</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">KTOSHI</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">STBL</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">3x</td><td valign="top">33.33%</td><td valign="top">20%</td><td valign="top">13.33%</td></tr><tr><td valign="top">USDCHF</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">25x</td><td valign="top">5%</td><td valign="top">2.4%</td><td valign="top">1.6%</td></tr><tr><td valign="top">USDCAD</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">25x</td><td valign="top">5%</td><td valign="top">2.4%</td><td valign="top">1.6%</td></tr><tr><td valign="top">USDJPY</td><td valign="top">0.001</td><td valign="top">0.001</td><td valign="top">25x</td><td valign="top">5%</td><td valign="top">2.4%</td><td valign="top">1.6%</td></tr><tr><td valign="top">EURUSD</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">25x</td><td valign="top">5%</td><td valign="top">2.4%</td><td valign="top">1.6%</td></tr><tr><td valign="top">GBPUSD</td><td valign="top">0.00001</td><td valign="top">0.1</td><td valign="top">25x</td><td valign="top">5%</td><td valign="top">2.4%</td><td valign="top">1.6%</td></tr><tr><td valign="top">XAG</td><td valign="top">0.0001</td><td valign="top">0.01</td><td valign="top">10x</td><td valign="top">10%</td><td valign="top">6%</td><td valign="top">4%</td></tr><tr><td valign="top">XAU</td><td valign="top">0.01</td><td valign="top">0.0001</td><td valign="top">15x</td><td valign="top">6.66%</td><td valign="top">3.99%</td><td valign="top">2.66%</td></tr></tbody></table>


# Prelaunch Markets

### Market structure

All prelaunch markets will operate in **isolated mode only**. It is not possible to open positions in cross-margin mode due to the experimental and volatile nature of these markets.

### XLP

Because prelaunch markets are volatile, we are taking precautions in deploying them. LLP will not act as a market maker on these markets. Instead, a new pool called **XLP** (Experimental Liquidity Provider) will offer liquidity for these markets. LLP will have no exposure to prelaunch markets.

XLP will act solely as a liquidity provider for these markets, without a special role in the liquidation flow. More details on liquidations can be found below.

### Liquidations

Due to the nature of prelaunch markets and the addition of XLP, the liquidation flow is different. **Prelaunch markets have no liquidation fee.**

If a user needs to be liquidated — that is, when their margin falls below the **Maintenance Margin** but remains above the **Close-Out Margin** — the exchange will send an **Immediate-or-Cancel (IoC)** order on behalf of the user to close the position. This will not have a fee associated with it.

If the user falls below the **Close-Out Margin**, they will be directly **Auto-Deleveraged (ADL)**. This flow differs from crypto markets, where the entire account would typically be transferred to LLP. In normal cases, ADL is used only when LLP does not have sufficient funds to cover the losses of a bankrupt account.

**Note:** ADL occurs when a user is below the Close-Out Margin. This does not imply that the user is bankrupt. Because of this, the counterparty (the trader on the other side of the ADL) receives a more favorable execution price.


# Liquidations & LLP (Insurance Fund)

### Overview

Each market in Lighter has different margin requirement configurations, which essentially define how much leverage an account can have in its positions without getting liquidated. When the value of an account falls below the margin requirements, liquidation occurs. Lighter has three different levels of margin requirements, each triggering different actions by the exchange.

For a specific account, the margin requirements are defined as follows:

$$
S\_i:= |pos\_i|  \\
I\_i := \text{initial margin fraction for the market} \\
M\_i := \text{maintenance margin fraction for the market} \\
C\_i := \text{close out margin fraction for the market}

\\\~\\

\text{Initial Margin Req} := \sum S\_i × mark\_i × I\_i  \\
\text{Maintenance Margin Req} := \sum S\_i × mark\_i × M\_i \\
\text{Close Out Margin Req} := \sum S\_i × mark\_i × C\_i

\\\~\\

\text{Account Value} = Collateral + \sum (markPrice\_i - \text{avgEntryPrice}\_i) \times position\_i
$$

Margin requirement fractions are defined so that $$C\_i < M\_i < I\_i$$.

Note: Users can change their leverage on the markets. In that case, the initial margin fraction of the market will be the `min(margin fraction set by the user, minimum fraction allowed for the market)` .

### Liquidation Waterfall

1. ***Healthy Account*****:** $$\small \text{Account Value} \geq \text{Initial Margin Req} > \text{Maintenance Margin Req}$$

   An account is considered healthy when its account value is greater than all the margin requirements. It can execute any type of exchange operation as long as its position remains healthy after the execution of the transaction.
2. ***Pre-Liquidation*****:** $$\small \text{Initial Margin Req} > \text{Account Value} \geq \text{Maintenance Margin Req}$$\
   An account is in pre-liquidation mode when its account value is below the initial margin requirements but above the maintenance margin requirements. In pre-liquidation mode, only exchange operations that do not decrease the account value to the maintenance margin requirement ratio and do not increase the size of any position can be executed. More formally:$$\bullet \text{ \small For all market i, } |{pos\_i}*{old}| \geq|{pos\_i}*{new}|  \\\~\     \bullet \text{ }\frac{\text{Account Value}*{old}}{\text{Initial Margin Req}*{old}} \leq \frac{\text{Account Value}*{new}}{\text{Initial Margin Req}*{new}}$$
3. ***Partial Liquidation*** $$\small \text{Maintenance Margin Req} > \text{Account Value} > \text{Close-out Margin Req}$$

   In the case of partial liquidation, liquidation engine first cancels all of the open orders of the user. If the account value is still below the maintenance margin, liquidation engine orders open positions of the underwater account by a heuristic, then sends IoC limit orders on behalf of the margin called user with corresponding zero price one by one **for the full amount of the position**. If the user goes above the maintenance margin requirement after **fully executing** a trade, then the liquidation engine stops the liquidations. If the user gets filled at a better price than the zero price, liquidation engine takes up to 1% liquidation fee and sends it to LLP (insurance fund).<br>

   One important aspect of the zero price is, when a trade gets executed at the zero price, total account value to maintenance margin ratio stays the same. Thus any trade that happens in partial liquidation phase only increases the account health, since the trade price is at least as good as the zero price. If all of the account positions are closed (i.e. maintenance margin requirement is 0) at the zero price, account value also becomes zero.&#x20;

$$
\small
zeroPrice\_i(short) = markPrice\_i \times (1 + \frac{{M}\_i\times \text{Account Value}}{\text{Maintenance Margin Req}})  \\
zeroPrice\_i(long) = markPrice\_i \times (1 − \frac{{M}\_i \times \text{Account Value}}{{\text{Maintenance Margin Req}}})
$$

$$
\text{Deriving Zero Price For a Long Position}
\\\~\\

\\
\tiny
\begin{aligned} \text{TAV}' &= \text{TAV} + (\text{ZP} - \text{MP}) \times \text{TS} \ \text{MMR}' &= \text{MMR} - \text{TS} \times \text{MP} \times M\_i \ \frac{\text{TAV}'}{\text{MMR}'} &= \frac{\text{TAV} + \text{ZP} \times \text{TS} - \text{MP} \times \text{TS}}{\text{MMR} - \text{MP} \times \text{TS} \times M\_i} \ &= \frac{\text{TAV}}{\text{MMR}} \ (\text{TAV} + \text{ZP} \times \text{TS} - \text{MP} \times \text{TS}) \times \text{MMR} &= \text{TAV} \times (\text{MMR} - \text{MP} \times \text{TS} \times M\_i) \ \text{TAV} \times \text{MMR} + \text{ZP} \times \text{TS} \times \text{MMR} - \text{MP} \times \text{TS} \times \text{MMR} &= \text{TAV} \times \text{MMR} - \text{MP} \times \text{TS} \times \text{TAV} \times M\_i \ \text{ZP} \times \text{TS} \times \text{MMR} - \text{MP} \times \text{TS} \times \text{MMR} &= - \text{MP} \times \text{TS} \times \text{TAV} \times M\_i \ \text{ZP} \times \text{MMR} - \text{MP} \times \text{MMR} &= - \text{MP} \times \text{TAV} \times M\_i \ \text{ZP} \times \text{MMR} &= \text{MP} \times \text{MMR} - \text{MP} \times \text{TAV} \times M\_i \ \text{ZP} \times \text{MMR} &= \text{MP} \times (\text{MMR} - \text{TAV} \times M\_i) \ \text{ZP} &= \text{MP} \times \left(1 - \frac{\text{TAV} \times M\_i}{\text{MMR}}\right) \end{aligned} \quad \begin{aligned} &\text{Where:} \ &\text{TAV} = \text{Total Account Value} \ &\text{MMR} = \text{Maintenance Margin Requirement} \ &\text{ZP} = \text{Zero Price} \ &\text{MP} = \text{Mark Price} \ &\text{TS} = \text{Trade Size} \end{aligned}
$$

4. ***Full Liquidation*** $$\small \text{Close-out Margin Req} > \text{Account Value}$$

   If a user goes below the close-out margin requirement, the LLP closes all of the user's positions by taking them over in ascending order of unrealized PnL. For each position, the LLP takes it over only if doing so would keep the LLP's total account value above the Initial Margin Requirement. Any positions that would cause the LLP to fall below this threshold are instead auto-deleveraged.
5. **Auto-deleveraging (ADL)**

   When an account has a negative value and the LLP does not have enough capital to cover the losses of the bankrupt account, the exchange initiates auto-deleveraging (ADL) for the bankrupt account’s positions. A bankrupt account, by definition, has at least one open position. The exchange identifies positions on the opposite side of the bankrupt positions and executes trades between these accounts if their zero prices align. This ensures that ADL does not decrease the health of any account, as the execution price cannot be worse than the zero price of the position. When selecting positions for ADL on the opposite side, the system ranks users based on their leverage and unrealized PnL.

### Isolated Liquidations

When a users sets a market to the isolated mode, the position will be treated as a separate account and won't be affected by the other positions. The calculations and the flow will be the same as above, but the collateral for an isolated position is called AllocatedMargin.


# LLP Strategies

LLP funds are held within a single account, which acts as the counterparty to all LLP trading and liquidations. For additional details on Liquidations and ADL, please refer to the [relevant section](https://docs.lighter.xyz/~/revisions/oWY7zM9pmF1WoGayT19g/trading/liquidations-and-llp-insurance-fund) of the documentation.

Under the existing structure, **Auto-Deleverage (ADL) events are fully backstopped by LLP,** meaning that liquidity providers absorb the associated risk.

LLP Strategies allow collateral to be allocated across distinct strategy buckets (that now includes RWAs, too). Each market is assigned to a specific strategy. From a system perspective, each strategy behaves similarly to a segregated collateral shard (comparable to a sub-account for risk purposes). However, strategies are not separate accounts — all positions remain under the LLP — but risk and losses are isolated at the strategy level.

For example, LLP may allocate:

* One strategy for Crypto Perpetuals
* One strategy for FX
* One strategy for Equities / RWAs

The exact market-to-strategy mappings will be communicated separately.

Under this framework, if a given strategy has $1M in allocated collateral, its maximum loss exposure is limited to that $1M. If the allocated collateral is fully depleted, the strategy would be subject to ADL, while collateral allocated to other strategies remains unaffected.

### RWAs & LLP Strategies

The Real World Assets (RWA) perpetual markets are now subject to standard liquidation fees, consistent with all other markets, as LLP serves as the primary protocol liquidity provider.&#x20;


# Multi-Asset Margin

Multi-Asset Margin enables users to use non-USDC assets as margin for trading. Users deposit supported assets (e.g. ETH) into their margin balance, and the value of these assets — discounted by a haircut — counts toward the account's total margin. This allows users to trade perpetual futures and spot markets using their existing holdings without first converting to USDC.

Multi-Asset Margin offers convenience when it comes to margin usage. That said, as we add ETH as the first asset to be used for this feature, and as we roll out more assets with time, we want to be conscious in our approach with conservative user and global supply limits, which can be found within this section.&#x20;

Multi-Asset Margin is available exclusively to accounts with Unified Trading Accounts enabled.

{% hint style="warning" %}
USDC spot trading with non-USDC collateral isn’t included at launch—coming soon. At release, Multi-Asset Margin supports perpetual futures only, and we’ll share updates ahead of each new rollout.
{% endhint %}

{% hint style="info" %}
When no non-USDC margin assets are held, Multi-Asset Margin accounts behave identically to standard cross-margin accounts. All existing margin calculations remain unchanged.
{% endhint %}

***

#### How It Works

1. A user deposits a supported asset (e.g. ETH) into their margin balance.
2. The asset's value, discounted by LTV, is added to the account's Total Account Value.
3. The account can use this value to open perpetual futures positions, execute spot trades, or both.
4. A single health check monitors the account continuously using the Total Account Liquidation Threshold.
5. If the account's health falls below the Maintenance Margin Requirement, liquidation is triggered — for both perp positions and spot margin assets in a unified flow.

**Example Use Cases**

* **Basis trade:** A user deposits ETH as margin and opens a short ETH perpetual position. The spot ETH and the short perp offset each other, creating a delta-neutral position that earns funding.
* **Leveraged spot:** A user deposits ETH, and uses the additional margin to buy more ETH on the spot market — effectively creating a leveraged long.

***

### Margin Assets

Each margin-enabled asset is configured with the following parameters:

| Parameter             | Description                                                                                                                                             |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **LTV**               | Loan-to-Value ratio. Determines how much of the asset's value counts toward Total Account Value.                                                        |
| **LT**                | Liquidation Threshold. Determines how much of the asset's value counts toward Total Account Liquidation Threshold. Always greater than or equal to LTV. |
| **LF**                | Liquidation Factor. Determines the minimum value the user receives per unit of collateral during liquidation. Always greater than or equal to LT.       |
| **Liquidation Fee**   | Maximum fee paid when spot collateral is seized during liquidation. Capped so that the user always receives at least the LF discounted value.           |
| **User Supply Cap**   | Maximum amount a single user can hold as margin (in asset units).                                                                                       |
| **Global Supply Cap** | Maximum total amount held as margin across all users.                                                                                                   |

***

### Total Account Value

Total Account Value (TAV) represents the risk-adjusted value of the entire account. It extends the existing Total Account Value by including non-USDC margin assets discounted by their LTV:

$$
\text{TAV}(\text{USDC}) = \text{PortfolioBalance}(\text{USDC}) + \sum\_{j} \text{LTV}\_j \times \text{MarginBalance}\_j \times \text{IndexPrice}\_j
$$

Where Portfolio Balance is the USDC value of the account including unrealized PnL on perpetual positions, as defined in the [PnL And Total Account Value](/trading/pnl-and-total-account-value) section.

Total Account Value is used for all risk checks when opening new positions or placing orders.

### Total Account Liquidation Threshold

Total Account Liquidation Threshold (TALT) represents the account's value under the less conservative LT discount. It is used to determine when the account enters liquidation:

$$
\text{TALT}(\text{USDC}) = \text{PortfolioBalance}(\text{USDC}) + \sum\_{j} \text{LT}\_j \times \text{MarginBalance}\_j \times \text{IndexPrice}\_j
$$

{% hint style="info" %}
Since $$\text{LT} \geq \text{LTV},$$ it always holds that $$\text{TALT} \geq \text{TAV}$$.
{% endhint %}

***

### Health Checks

Multi-Asset Margin accounts use a single unified health check that covers both perpetual positions and spot margin assets. The margin requirements IMR, MMR, and CMR remain unchanged from the existing contract specifications.

$$
\begin{aligned}
\textbf{Healthy:} \quad & \text{TAV} \geq \text{IMR} \\\[4pt]
\textbf{Pre-Liquidation:} \quad & \text{TALT} \geq \text{MMR} \quad \text{and} \quad \text{TAV} < \text{IMR} \\\[4pt]
\textbf{Partial Liquidation:} \quad & \text{TALT} < \text{MMR} \quad \text{and} \quad \text{TALT} \geq \text{CMR} \\\[4pt]
\textbf{Full Liquidation:} \quad & \text{TALT} < \text{CMR}
\end{aligned}
$$

In pre-liquidation, only operations that improve the account's health ratio and reduce position size are permitted. When TALT falls below MMR, both perpetual positions and spot margin assets become eligible for liquidation in a unified flow.

{% hint style="info" %}
When no non-USDC margin assets are held, TAV and TALT both reduce to Portfolio Balance (USDC). The health check becomes identical to the existing cross-margin system.&#x20;
{% endhint %}

***

### Liquidation

When an account enters liquidation $$(\text{TALT} < \text{MMR})$$, the liquidation engine can close both perpetual positions and spot margin assets. Open orders are canceled first. If the account remains below MMR, the liquidation engine sends IoC limit orders at the respective zero prices through the corresponding order books to close positions. Liquidation stops as soon as the account becomes healthy.

#### Perp Zero Price

The perp zero price is modified to account for the value of non-USDC margin assets, properly maintaining the health ratio as an invariant.

$$
\text{ZeroPrice}\_i(\text{long}) = \text{markPrice}\_i \times \left(1 - \frac{M\_i \times \text{TALT}}{\text{MMR}}\right) \\
\text{ZeroPrice}\_i(\text{short}) = \text{markPrice}\_i \times \left(1 + \frac{M\_i \times \text{TALT}}{\text{MMR}}\right)
$$

This ensures that executing a perp trade at the zero price preserves the account's health ratio. When no non-USDC margin assets are held, TALV reduces to Portfolio Balance and the formulas are identical to the standard zero price.

#### Spot Zero Price

When partially liquidating a spot margin asset, the exchange sends an Immediate-or-Cancel (IoC) order to the spot order book on behalf of the user. The zero price for a spot asset is:

$$
\text{SpotZeroPrice}\_j = \text{IndexPrice}\_j \times \text{LF}\_j
$$

The liquidation fee is collected up to the configured amount, with the constraint that the user receives at least the LF-discounted value in USDC for each unit of collateral sold. This ensures that liquidation execution is always at least as favorable as the LF price.

***

### Supported Collateral Assets

Each collateral asset carries a set of risk parameters that control how much margin value it provides and how it behaves during liquidation. Current live values are always available from the `assetDetails` API endpoint, where `margin_mode: "enabled"` marks assets accepted as collateral.

#### Lighter

| Asset | Loan-to-Value | Liquidation Threshold | Liquidation Factor | Liquidation Fee | User Supply Cap | Global Supply Cap |
| ----- | :-----------: | :-------------------: | :----------------: | :-------------: | :-------------: | :---------------: |
| ETH   |      50%      |          75%          |         95%        |        2%       |      50 ETH     |     2,000 ETH     |

#### Robinhood Chain Lighter

| Asset | Loan-to-Value | Liquidation Threshold | Liquidation Factor | Liquidation Fee | User Supply Cap | Global Supply Cap |
| ----- | :-----------: | :-------------------: | :----------------: | :-------------: | :-------------: | :---------------: |
| SPY   |      50%      |          75%          |         95%        |        2%       |      25 SPY     |      200 SPY      |
| USO   |      50%      |          75%          |         95%        |        2%       |     100 USO     |      750 USO      |

USDC (Lighter) and USDG (Robinhood Chain Lighter) remain the base collateral and are always valued at 100% with no liquidation fee or supply cap.


# Collateral Supply Limits

As ETH will be the first non-USDC collateral supported for this feature, we are taking a measured approach with conservative user and global supply limits, which can be found within this section. As the product matures over time with deeper spot liquidity and growing USDC supply, we plan to expand supported assets and introduce additional features.

Important note: users can choose *how much* of their available collateral to allocate as margin on a per-asset basis.

#### Global Supply Limit Caps

List of current assets available to be used as collateral:

<table><thead><tr><th width="228.3359375">Asset</th><th width="210.3828125">Global Cap</th></tr></thead><tbody><tr><td>ETH</td><td><em>2000 ETH</em></td></tr></tbody></table>


# Funding

### Overview

The funding mechanism is a crucial component of perpetual futures trading. It ensures that the price of the perpetual contract closely tracks the underlying asset’s spot price. Unlike traditional futures contracts, perpetual futures do not have an expiration date. To maintain price stability and avoid significant deviations from the spot price, a periodic funding mechanism is implemented.

Funding payments occur at each hour mark. Traders holding long and short positions pay or receive a funding fee based on the difference between the contract price and the spot price. These payments are fully peer-to-peer with no fees taken by the exchange. The funding payment for an account position depends on the size and side of the position, as well as the funding rate.

The funding rate represents the difference between the mark price of the perpetual futures market and the index price, which is equivalent to the spot market price of the underlying asset.

When the funding rate is positive, users with long positions pay a funding fee to users with short positions. When the funding rate is negative, users with short positions pay a fee to users with long positions.

### Funding Rate Calculation

For each minute at a random time, Lighter calculates the premium of each market, which represents the differentiation of the mark price from the index price for the corresponding market with the following formula:

$$
\small
premium\_{t} = \frac{Max(0, \text{Impact Bid Price}*{t} - index*{t}) - Max(0, index\_{t} - \text{Impact Ask Price}*{t})}{ index*{t}}
$$

*Note: For the premium to be positive, i/e: for the funding to be positive and long positions to pay more funding to short positions, the impact bid price needs to be higher then the index price. In the case where* $$\text{Impact Bid Price}*{t} \leq index*{t} \leq \text{Impact Ask Price}\_{t}$$ *the* $$premium\_t$$ *will be 0*

At the end of each hour, a 1-hour premium is calculated as the time-weighted average of the 60 premiums calculated over the course of the last hour. In addition to the premium component, each market has a fixed interest rate component that accounts for the difference in interest rates of the base and quote currencies. The funding rate is then calculated as:

$$
\small

premium := \text{Average of } premium\_{t} \text{ since the latest funding} \* FundingPremiumMultiplier \\
smallClampedPremium = premium +  \operatorname{clamp}(InterestRate - premium, -SmallClamp, +SmallClamp) \\
fundingRate = \operatorname{clamp}(smallClampedPremium, -BigClamp, +BigClamp) / 8 \\
\text{where} \operatorname{clamp}(x,a,b) = \max\bigl(a,;\min(b,x)\bigr) \\
\\
\\
\text{the values used for the majority of the markets are the following:} \\
SmallClamp = 0.05%\ BigClamp = 4%\ InterestRate = 0.01%
$$

*Note: The* $$SmallClamp$$ *is used to bring the* $$premium$$ *closer to 0. For example, if the premium would be* $$0.1%$$*, the* $$smallClampedPremium = 0.01% \ + 0.1%\ - 0.05% = 0.06%$$*.*

*Note: If* $$- SmallClamp \leq premium \leq +SmallClamp$$*, then* $$fundingRate = InterestRate / 8$$*What this mean, is that if the premium is less than 5 basis points, the funding will default to the normal value of 1 basis point per 8 hours.*

*Note: The* $$BigClamp$$ *limits funding payments to* $$4%$$ *per 8 hours, or* $$0.5%$$ *per hour.*

*Notes: FundingPremiumMultiplier is in (0, 1] range.*

Dividing the 1-hour premium by 8 ensures that funding payments for the premium are distributed over 8 hours, closely aligning with the approach adopted by centralized perpetual exchanges.

Funding round payment for account ***i*** and market ***j*** is calculated as follows:

$$
\small

funding\_{{account\_i},j} := (-1) \times

position\_{{account\_i},j} \times index\_{j} \times fundingRate\_{j}
$$

<br>


# PnL And Total Account Value

### **Perps Trading**

***Unrealized PnL*** shows how much you would gain or lose if you closed your positions at the current [mark price](/trading/fair-price-marking).

Let  $$pos\_i$$ be the current position size of an account. $$pos\_i$$ is positive if the account position is long and negative if it is short. The unrealized PnL of the account can be calculated as:

$$
\text{Unrealized PnL} := \sum(\text{markPrice}\_i - \text{avgEntryPrice}\_i) \times position\_i
$$

**Realized PnL** is the gain / loss that has already been captured from the position after closing or due to funding payments. It is calculated based on the difference in USDC value between your average entry price and exit price. Additionally, all funding payments for the position are immediately applied to its realized PNL.

* When the user is closing a portion of an existing long or short position, average entry price stays the same and exchange realizes the difference in average exit and entry prices.

$$
\Delta Collateral := (\text{exitPrice}\_i - \text{avgEntryPrice}\_i) \times \Delta position\_i
$$

* When the user is increasing the size of their open position, no PnL is realized. Exchange updates the average entry price according to the following formula

$$
\text{avgEntryPrice}*{i, new} :=  \frac{{avgEntryPrice}*{i, old }\times {position\_{i, old}} + {tradePrice\times tradeSize}}{position\_{i, new}}
$$

### **Spot Trading**

### Total Account Value

***Total Account Value*** represents the total USDC value of an account in Lighter, including all open positions and collateral. It is calculated as follows:

$$
\text{Total Account Value} = \text{Collateral} + \text{Unrealized PnL}
$$

Note: Isolated positions use a separate collateral balance (Allocated Margin) dedicated solely to that specific position. It functions the same as collateral but applies only to the relevant position and should be treated as collateral in the calculations above.


# Fair Price Marking

***Mark price*** is the fair price of a perpetual contract. Mark price is calculated using the liquidity in the perpetual market order book and the ***index price*** (spot price of the underlying market). At any point in time, mark price is defined as follows:

$$
\small

\text{Impact Notional Amount} = 500 \text{ USDC} / \text{Initial Margin Fraction} \\
\text{Impact Bid Price}\_t = \text{Avg execution price for a market sell of the impact notional value} \\
\text{Impact Ask Price}\_t = \text{Avg execution price for a market buy of the impact notional value} \\
\text{Impact Price}\_t = (\text{Impact Bid Price}\_t + \text{Impact Ask Price}\_t) / 2 \\
\\\~\\

\text{price1}*t = index\_t + \operatorname{EMA}*{8\ \mathrm{min}}(
\text{clamp}(
\text{Impact Price}*t - index\_t, -index\_t/200,+index\_t/200
))
\\
\text{where} \operatorname{clamp}(x,a,b) = \max\bigl(a,;\min(b,x)\bigr) \\
\text{and} \operatorname{EMA}*{8\ \mathrm{min}} \text{refers to the Exponential Moving Average of the value over 8 minutes}
\\\~\\

\text{price2}\_t = median(\text{cexPrices}\_t)
\\
\text{where cexPrices}\_t \text{ are mark prices from different centralized exchanges}
\\\~\\

\text{Mark Price} = Median(\text{Impact Price}\_t, price1\_t, price2\_t)
$$

Lighter uses a combination of oracles (Chainlink, Stork, Pyth) to determine the index price.

**Note**: because the mark price is used when deciding if liquidations should be happening, the mark price should reflect as much as possible the impact price, so that the execution of liquidations should happen close to mark price. Because of this, we chose to incorporate the impact price directly in the mark price formula. Price 1 can be summarised as Index Price + Lighter Perpetual Premium, where the premium is capped at 0.5% of the Index Price. The usage of the EMA makes it so if someone tries to manipulate the order book, they'd need to do so for a prolonged period of time. The cap of 0.5% ensures that the mark price on Lighter will not be bigger than the other external components by more than 0.5%. In summary, the EMA component should yield better results than just using the funding rate due to the shorter time span, while also being resilient to manipulation.


# Self-Trade Prevention

**Current Behavior**

Lighter imposes a self-trade prevention mechanism. Trades between the same account cancel the resting order (maker) instead of executing the respective trade. Without this mechanism, self-trades would result in no position change and fees being paid unnecessarily.

**Upcoming Change**

Default self-trade behavior on Lighter will change from reduce both to cancel maker:

• Current default (reduce both): When a user's order crosses their own resting order, both orders are reduced by the overlap amount.\
• New default (cancel maker): The resting order is cancelled in full, and the incoming order continues filling against the rest of the book.

This means that under the new default behavior, the taker order fills as intended against the rest of the book, instead of being silently reduced. The change only affects orders that don't explicitly specify a self-trade behavior. All four modes (cancel maker, cancel taker, cancel both, reduce both) will be allowed as explicit transaction attributes when placing the order.

The above changes will be effective starting May 31st, 2026 at 8:00 AM ET (timestamp: 1780228800)


# API

You can find the Lighter API Documentation here: <https://apidocs.lighter.xyz/docs/get-started>

You can join the Telegram API Channel for updates here: <https://t.me/lighter_api_updates>

### API Keys

Each account and sub-account on Lighter may interact with the exchange using Lighter API keys. These API keys are owned by the account and are used to sign requests when interacting with the exchange. Signed requests are verified by the exchange to confirm authorization by the API key holder and the associated account. Each account or sub-account may register up to 256 API keys.

### Sub-Accounts&#x20;

To create a Lighter account, users must have an Ethereum wallet. Using this wallet, users register a main account by signing a message that associates their Ethereum address with Lighter. Assets can then be deposited by sending a transaction from the wallet to Lighter’s smart contracts.

In addition to the main account, users may create multiple sub-accounts linked to the same Ethereum wallet.

<br>


# Referral Program

Lighter remains free to trade for most users. This referral program rewards you for referring traders who choose Premium, letting you earn a share of the fees they pay. Referred users get their first week of Premium fees rebated. The program applies to new referrals only, starting **Monday, July 28, 2026.**

### How it works

Share your referral link. When someone signs up through it, they become your referred user, and you start earning a kickback on the trading fees they pay.

Referral attribution is permanent: once a referral code is used at sign-up, it cannot be changed or added later.

### Referrer kickbacks

You earn a percentage of the **gross fees** paid by your referred users. The percentage depends on your tier:

| Tier   | Kickback | Requirement                                   |
| ------ | -------- | --------------------------------------------- |
| Bronze | 10%      | Available to everyone                         |
| Silver | 20%      | 15+ unique referrals, each active for 5+ days |
| Gold   | 30%      | 50+ unique referrals, each active for 5+ days |

A referred user counts as **active for 5+ days** once they have traded on at least 5 separate days. Only users who signed up on or after the program start date count toward tier requirements.

Tier upgrades are reviewed manually and applied **weekly, on Mondays**. Once upgraded, your new rate applies to all fees generated by your referred users **from the upgrade date onward**, it is not applied retroactively to fees generated before the upgrade. Meeting the requirements makes you eligible for an upgrade, but upgrades are granted at our discretion.

### Referee free trial

If you join through a referral link, you'll be prompted to activate **one week of premium for free**: the trading fees you pay during your trial week are rebated back to you every Monday. The trial week starts at sign-up, when the referral code is used.

**Trial cap:** fees are rebated on the first **$10M in trading volume** during the trial. Both maker and taker volume count toward this cap.

### Payouts

Rebates for both referrers and referees are paid out **weekly as L2 Transfers**, from this address: `0xF516F26A52bc61DB91b27242CC575AeF2D5362D6`

Each Monday's payout covers fees generated from **Monday 00:00 UTC through Sunday 23:59 UTC** of the preceding week. Tier reviews use the same snapshot.

There is a **$1 minimum** for payouts.

### Program guidelines

* All kickbacks and rebates, on both the referrer and referee side, are **discretionary**.
* Wash trading, self-referrals, and any other attempts to abuse or game the program will result in **disqualification** and forfeiture of pending rebates.
* Tier upgrades are discretionary and processed weekly on Mondays.
* Only referrals made on or after **July 28, 2026** qualify for the program.
* Referral codes cannot be changed after sign-up.
* We may modify, suspend, or terminate the program at any time.


# Liquidity Partner Program

This program will distribute rewards to market makers who provide tight, deep liquidity on the Lighter order books. Rewards are allocated through randomized snapshots of the order book. The amount of rewards to be distributed each week will be announced in advance.

#### Eligibility&#x20;

* Participants must maintain an active Premium account.
* Only resting orders present on the order book at the time of each snapshot are eligible.

### How it Works

There is a single global reward pool shared across all eligible assets. Each asset is assigned a weight that determines its share of the pool.

The requirements are visible in the spreadsheet shared below (Weekly Cadence).

Assets are categorized individually, with each asset assigned specific quoting requirements based on factors such as liquidity, trading activity, volatility, and strategic importance. As a result, eligible book sizes and maximum spread thresholds vary from asset to asset, reflecting the unique characteristics and market conditions of each asset rather than a fixed tier-based classification.

Spread requirements widen during low-activity periods to reflect liquidity conditions.

#### Spread Levels

Each asset and time period defines **three** **cumulative** **spread** **levels**. These represent the maximum eligible liquidity within that spread distance from the NBBO/BBO.

These are cumulative — if the total eligible size is $300,000 at ≤15 bps, that includes the first $150,000 within 15 bps of BBO on each side. The book is walked outward, so the tightest liquidity fills first.

#### Snapshots

Order book snapshots are taken at **randomized** **intervals,** approximately every minute. At each snapshot, we evaluate every eligible asset's order book to determine reward allocation.

For each asset at each snapshot, the order book is **walked** **from** **the** **inside** **out** (starting at the best bid and best ask):

1. Orders are evaluated by price level, starting closest to the BBO (best bid/offer).
2. Eligible liquidity is accumulated on each side (bids and asks separately) up to the applicable size cap for the tightest qualifying spread level.
3. Tie-breaking: When multiple orders rest at the same price, the **oldest** **order** (earliest timestamp) receives priority.
4. Symmetry: Half of rewards will be allocated to resting bids, and half to resting asks.

#### Unused Rewards

If an asset's order book has **less** **eligible** **liquidity** at the time of a snapshot, the unallocated portion of that asset's reward share will not be distributed or reallocated.

An example:

* $50k of liquidity within 5 bps is eligible for rewards
* only $25k of liquidity is within 5 bps at the time of a snapshot
* only 50% of the maximum reward for this asset & snapshot will be distributed.

#### Weekly Cadence

**Each week, by 17:00 UTC on Monday, Lighter will publish updated asset tiers, reward weights, and the total incentives pool in the spreadsheet below.** A new sheet (within the spreadsheet) will be added each week to enable program partners to track changes over time. Updates are set by the team.

<https://docs.google.com/spreadsheets/d/1JMZMEtdVU6_BAGGrEucHPBxDprbXdbWFq9MkJ-5Jqko/edit?gid=376627164#gid=376627164>


# Points Program

Lighter’s Season 1 Points Program ended with the final Private Beta distribution on September 30, 2025. Season 2 points will be distributed every Friday. The Lighter team may adjust distributions at its discretion.

Earn points by running organic trading strategies via UI and API. Sybil, self-trading, and similar activities will not earn points. <br>


# Market Makers

Points Season 2 ended on December 26th 2025.

Market-making activity will receive 20% of the total allocated points (50,000). \
Only premium accounts are eligible to earn points from market-making.

## LLP

LLP will be considered a market maker, following the same rules. However, the points earned by LLP will not be allocated to it. Instead, all final points will be scaled so that the total remains 250,000 points. This effectively treats LLP as a market participant without directly returning points to LLP holders. In this way, if a market is dominated by LLP, most of the points will go to LLP and will then be effectively redistributed among all platform participants.&#x20;

## Points for Volume

For each week, we’ll be looking at the total maker volume generated by premium accounts. \
Each user will receive a volume score, which will be equal to

$$
\text{score} = \text{volume} + max(0, (\text{volume} - 2.5B) \times 0.25)
$$

Points will be distributed proportionally to this score. The score is calculated once for the entire week, not daily, meaning that $1 in volume on the first day has the same impact as $1 on the last day. The formula adds a 25% bonus to any weekly volume above 2.5B. All markets are weighted equally.

## Points for providing liquidity

### Background

We recognize that providing strong liquidity with tight spreads on BTC can generate significant trading volume, and this will, to some extent, already be reflected in the volume-based rewards.

However, providing $10M in liquidity on BTC at 2–3 bps might not produce the same volume, and the benefit of 2–3 bps of better execution must be weighted against the risk of posting that liquidity.

With this in mind, we aim to incentivize market makers to provide high-quality liquidity even when it does not result in large trading volumes, ensuring that traders can execute sizable positions when needed.

Another aspect concerns altcoins that currently lack traction on Lighter or have higher volumes on other exchanges. Traders may avoid these markets due to limited liquidity, while MMs may skip them because of low volume. To address this, we will assign a higher weight to such markets.

### Market weights

Each market will be given a weight that accounts for both liquidity demand and associated risk.

For a selection of exchanges, we will approximate two multipliers that track how the volume and open interest on those exchanges compare to Lighter. We will then adjust the external volumes and open interest based on these multipliers. Using the adjusted values together with Lighter’s own data, we will determine the final market weight.

Note: this approach shifts weight toward tokens that are heavily traded (e.g., BTC, ETH, SOL) and also assigns higher weight to tokens that are popular on other exchanges but not yet on Lighter, while maintaining balanced weights for tokens that show stronger activity on Lighter itself.

Note: weights are recomputed hourly.

#### Methodology

We will sample the order book at random intervals, and users will receive points proportional to the share of liquidity they provide. At each sample, we will evaluate several metrics, such as:

* who is providing liquidity within the top $10k, $30k, $100k, $300k, …
* who is providing liquidity within 1 bps, 2 bps, 5 bps, 10 bps of mid-price

These thresholds will depend on the market — for example, $10k in liquidity on BTC is relatively small, while $50M on YZY would be unrealistically high. For each market, we will use approximately 6–10 of these metrics, each carrying the same weight.

Note: these metrics will be computed separately for the bid and ask sides.

#### Volatility

For each order book snapshot, we will compute a volatility score, which acts as a multiplier when providing liquidity. This is meant to incentivise market makers to provide liquidity even during volatile periods.

Without the volatility multiplier, each order book sample would carry the same weight. Because the multiplier makes some snapshots contribute more than others, we will calculate the total score on a daily basis. To prevent a single trading day from dominating the results (for example, accounting for 90% of all points), we will implement a ceiling mechanism that ensures each day receives at least 8.33% of the total points for liquidity provision.

For example, if one day in the week experiences very high volatility for 20 hours, the points for that day would be capped at 50% of the total pool. This scenario is unlikely, as we assume such volatility would last for only part of a single day, with the remaining six days being normal.

#### Example

You are a market maker who specialises in providing high-quality liquidity on BTC, offering $1M at once but only on one side of the order book.

If we were to allocate 1,000 points weekly for BTC liquidity provision, and the BTC metrics were as follows:

* top $300k, $1M, $3M, $10M, $30M
* top 0.5 bps, 1 bps, 2 bps, 4 bps, 10 bps

Assuming you provide 100% of the top $1M in liquidity, you could expect to receive:

* 50 points for top $300k category
* 50 points for top $1M category
* 16.6 points for top $3M category
* 5 points for top $10M category
* 1.66 points for top $30M category

For the bps categories, the same logic applies; the actual points depend on how much liquidity exists at those levels.

Note: You would receive only 50 points for the top $300k category because we assume you quote on one side at a time. These numbers are purely illustrative; the actual parameters used in calculating these metrics may differ.

### Notes

* Depending on the market conditions, data availability, and team discretion, some constants might change.


# Retail

For Season 2, 200,000 points per week will be distributed every Friday. The points will cover activity from Wednesday (inclusive) through Tuesday (inclusive).

Some of the categories that affect how points are distributed include:

* Volume
* Open Interest
* Fundings
* Liquidations and Deleverages
* PnL

There are also scaling factors that favor traders with higher trading quality, depending on the category.

### Notes:

* Having a premium account impacts the weight of the metrics.
  * — this is not necessarily the case — but PnL generated by premium accounts may receive more points.
* Some categories are separated per market, while others are applied globally.
* Some categories are evaluated daily, while others are evaluated weekly.
* Points are not necessarily distributed linearly with respect to the metric.
  * For example, 2× the volume will not always yield 2× the points; it may result in 3× or 1.5× the points.
  * Note: this extends beyond the volume metric.
* Markets are not weighted equally.
  * For example, $100 in volume on BTC does not yield the same number of points as $100 in volume on HYPE.
  * Note: this extends beyond the volume metric.
* Intentionally losing money or getting liquidated will not be beneficial.

### Sybil Detection & Farming

We apply different sybil detection methods, both fully automated and semi-automated, to detect sybil accounts. We allow up to 10 accounts per user without penalty, as we understand that some people choose to maintain multiple accounts for risk management (for example), and that’s acceptable.

[We’ve made an announcement on Discord regarding Self-Trading.](https://discord.com/channels/987399783985590322/1314327323109097482/1422681158168084491) As mentioned in the announcement, we want to protect a level playing field and keep the platform healthy for all participants.

We use various metrics to detect farming and sybil activity, which will not be disclosed here so as not to encourage their exploitation.


# Lighter on Robinhood Chain Points

The Lighter Points Program on the Robinhood Chain is a way to recognize eligible users for participating in the trading platform.&#x20;

Points are calculated and awarded in real time based on eligible activity, with an additional weekly points drop at the end of each program period, every Friday (first weekly drop on Fri Aug 21). The way points are calculated may change over time as we continue improving the program and rewarding meaningful participation while keeping things fair for everyone.

#### Support

If you have any questions about this program, please open a ticket in the Lighter Discord server.

Lighter Discord server: <https://discord.gg/lighterxyz>

#### Terms and Conditions

<details>

<summary>You can read the Terms and Conditions of this points program here.</summary>

Effective Date: Monday, Aug 10th 2026

These Terms govern eligibility for the Lighter on the Robinhood Chain Points Program (the "Program"). By participating in the Program, you agree to these Terms.

The purpose of the Program is to reward genuine participation on Lighter on the Robinhood Chain. Points are intended to recognize authentic trading activity and meaningful participation in the ecosystem—not activity designed to manipulate or exploit the Program.

### 1. General Eligibility

Lighter on the Robinhood Chain determines, in its sole discretion, whether activity is eligible to earn points.

### 2. Ineligible Activity

The following activities are not eligible to receive points and may result in point adjustments, disqualification, or removal from the Program.

#### A. Market Manipulation

This includes, but is not limited to:

* Wash trading.
* Self-trading or trading between commonly controlled accounts.
* Artificially inflating trading volume or liquidity.
* Coordinated trading intended to manipulate markets or Program metrics.
* Spoofing, layering, quote stuffing, or other deceptive trading practices.
* Any activity intended to create artificial or misleading market activity.

#### B. Sybil Activity

This includes, but is not limited to:

* Operating or controlling multiple accounts to earn additional points.
* Splitting activity across multiple accounts to increase rewards.
* Creating, purchasing, renting, borrowing, or otherwise controlling accounts for the purpose of farming points.
* Any attempt to disguise common ownership or coordinated control of accounts.

#### C. Referral Abuse

This includes, but is not limited to:

* Self-referrals.
* Circular or reciprocal referral schemes.
* Creating accounts solely to generate referral rewards.
* Artificially inflating referral activity or referral-based rewards.

#### D. Automated or Artificial Participation

This includes, but is not limited to:

* Activity primarily intended to farm points rather than participate in markets.
* Using bots, scripts, or automated systems to manipulate Program metrics.
* Coordinated behavior designed to exploit the Program or its scoring methodology.

#### E. Abuse of Program Mechanics

This includes, but is not limited to:

* Exploiting bugs, vulnerabilities, or unintended behavior.
* Circumventing Program rules or safeguards.
* Manipulating snapshots, scoring methodologies, or eligibility calculations.
* Any activity intended to obtain points in a manner inconsistent with the purpose of the Program.

#### F. Fraudulent or Unlawful Conduct

This includes, but is not limited to:

* Fraud, deception, impersonation, or identity abuse.
* Providing false, misleading, or inaccurate information.
* Using stolen, compromised, or unauthorized accounts.
* Activity that violates applicable law or the Terms of Service of Lighter on the Robinhood Chain.

### 3. Ongoing Integrity Reviews

To protect the integrity of the Program, \*\*Lighter \*\* continuously performs automated and manual reviews, including Sybil detection, fraud detection, behavioral analysis, and other integrity checks.

These reviews may occur at any time during the Program or after it has concluded.

The fact that points have been awarded or remain visible in an account does not mean they have been permanently approved or are no longer subject to review.

### 4. Point Adjustments and Enforcement

If Lighter determines that an account has engaged in fraudulent, abusive, manipulative, or otherwise ineligible activity, Lighter may, at any time and in its sole discretion:

* Remove or reduce points.
* Reverse previously awarded points.
* Disqualify specific transactions or activity from earning points.
* Suspend or permanently remove an account from the Program.
* Exclude an account from future rewards, distributions, or Program benefits.

These actions may be taken before, during, or after points have been awarded, including after the conclusion of the Program if subsequent reviews identify activity that is determined to be fraudulent, abusive, manipulative, or otherwise ineligible.

### 5. Final Determination

Lighter on the Robinhood Chain reserves the right to interpret these Terms and determine Program eligibility in its sole discretion.

The examples listed in these Terms are illustrative and not exhaustive. Any activity that Lighter on the Robinhood Chain reasonably believes undermines the fairness, integrity, or intended purpose of the Program may be deemed ineligible, even if not specifically described above.

Participation in the Program constitutes acceptance of these Terms and any updates or modifications published by Lighter on the Robinhood Chain.

### 6. Restricted Regions

For both the Points Program and perpetual futures trading on Lighter on Robinhood Chain, the following countries and regions are restricted:

* Belarus (BY)
* Canada (CA)
* China (CN)
* Cuba (CU)
* Iran (IR)
* Myanmar (MM)
* North Korea (KP)
* Russia (RU)
* Singapore (SG)
* South Sudan (SS)
* Sudan (SD)
* Switzerland (CH)
* Syria (SY)
* Ukraine (UA)
* United Arab Emirates (AE)
* United Kingdom (GB)
* United States (US)
* Venezuela (VE)

</details>


# Partner Attribution

The Partner Attribution Program allows third-party integrators to build on top of Lighter and offer its trading infrastructure through their own frontend. Integrators can configure trading fees for users accessing Lighter through their interface, within global limits set by Lighter.

#### Integrator Fees

Integrators may configure fees for both spot and perpetual markets.

Global limits set by Lighter:

* Perpetual markets: up to 10 bps
* Spot markets: up to 1%
* Minimum fee increment: 0.01 bps

#### User Approval

Before fees can be applied, the user must sign a message approving the integrator’s fee configuration.

This approval:

* authorizes the integrator to charge the configured fees
* includes an expiry period (if integrator decides to include one)
* can be revoked by the user at any time

The approval has signature requirements depend on whether the integrator and user share the same L1 account.

* Different L1 accounts: L1 approval + L2 confirmation
* Same L1 account: L2 confirmation only

#### Begin your Integration:

API Docs: <https://apidocs.lighter.xyz/docs/partner-integration>

Python SDK: <https://pypi.org/project/lighter-sdk/>


# Security / Vulnerability Disclosure Policy

### Security at Lighter

Security is foundational to Lighter. We welcome responsible disclosures from security researchers, auditors, protocol engineers, and members of the broader crypto community who help us identify and remediate vulnerabilities affecting our web properties, mobile applications, APIs, and supporting infrastructure.

If you believe you have discovered a security vulnerability in a Lighter-operated asset, please report it to us responsibly.

### Contact

Please send vulnerability reports to <security@lighter.xyz>.

For sensitive reports, we strongly encourage the use of PGP encryption. Our public key is available at:

<https://lighter.xyz/pgp-key.asc>

#### Fingerprint

```
7ED6 273D 6D47 1E01 83B1 D844 7D19 A194 214C 3881
```

If your report contains highly sensitive information, please encrypt it using the key above.

### What to include

To help us triage and investigate efficiently, please include:

* A clear description of the issue
* The affected asset, component, flow, or endpoint
* Steps to reproduce
* Proof of concept, screenshots, logs, or sample requests where helpful
* The potential impact
* Any relevant assumptions, wallet state, account state, or environment details
* If applicable, the affected API route, auth flow, signing flow, mobile flow, or transaction flow

The best reports are specific, reproducible, and limited to the minimum necessary to demonstrate the issue safely.

### In scope

This policy applies to security vulnerabilities affecting Lighter-operated properties, including:

* [lighter.xyz](https://lighter.xyz/)
* [app.lighter.xyz](https://app.lighter.xyz/)
* Official Lighter mobile applications
* Official Lighter-managed backend systems and infrastructure
* Public-facing APIs operated by Lighter
* API endpoints documented in [Lighter Docs](https://docs.lighter.xyz/) and the [API reference schema](https://apidocs.lighter.xyz/reference/systemconfig), including endpoints used by [app.lighter.xyz](https://app.lighter.xyz/) and official Lighter mobile applications

### Examples of issues that may be in scope

Depending on severity and exploitability, in-scope reports may include:

* Authentication or authorization bypass
* Account takeover
* Broken access control
* Sensitive data exposure
* API authentication flaws
* Broken object-level authorization / IDOR
* Session or token handling vulnerabilities
* Signature verification or signing-flow issues
* Replay or nonce-related issues
* Privilege escalation
* Mobile app vulnerabilities affecting auth, user data, or funds
* Infrastructure misconfigurations exposing internal systems, secrets, or privileged access
* Vulnerabilities that could impact user assets, trade integrity, account security, or platform trust

### Out of scope

The following are generally out of scope unless accompanied by a clear, material security impact:

* Missing headers or best-practice recommendations without demonstrated exploitability
* Version disclosure or banner disclosure
* Low-impact clickjacking
* Reports based only on missing rate limits without demonstrated abuse impact
* Self-XSS requiring unrealistic user interaction
* Issues that require a rooted or jailbroken device without meaningful real-world impact
* Reports based solely on third-party CVEs without a demonstrated exploit path in a Lighter-operated asset
* Social engineering, phishing, or impersonation attacks
* Physical attacks
* Denial-of-service, traffic flooding, or resource exhaustion testing
* Spam or automated scanner output without a validated vulnerability
* Vulnerabilities in third-party services, wallets, SDKs, exchanges, infra providers, or dependencies not operated by Lighter
* Findings that require access to another user’s seed phrase, private keys, device, email, or credentials

### Researcher expectations

We ask that you:

* Act in good faith
* Avoid harming users, markets, or platform integrity
* Avoid accessing, altering, or exfiltrating data that does not belong to you
* Avoid actions that could impact user funds, order flow, balances, or account state beyond the minimum necessary to demonstrate the issue
* Avoid exploiting vulnerabilities for profit, trading advantage, liquidation advantage, or market manipulation
* Avoid disclosing the issue publicly before we have had a reasonable opportunity to investigate and remediate it
* Limit testing to accounts, wallets, devices, and assets you own or are explicitly authorized to use

If you are unsure whether a testing approach is acceptable, [contact us first](mailto:security@lighter.xyz).

### Safe harbor

If you act in good faith, follow this policy, avoid privacy violations and service disruption, and give us a reasonable opportunity to investigate and remediate the issue, Lighter will not pursue legal action against you for your research.

This safe harbor applies only to activity consistent with this policy. It does not extend to conduct that:

* Harms users
* Risks or compromises user funds
* Intentionally degrades platform availability
* Violates applicable law
* Involves extortion, ransom demands, or premature public disclosure intended to pressure resolution

### Disclosure process

When you submit a report, we aim to:

* Acknowledge receipt within 72 hours
* Triage and assess the issue
* Request additional details if needed
* Work toward remediation as quickly as possible based on severity and complexity
* Notify you when the issue has been resolved or materially mitigated, where appropriate

Resolution timelines may vary depending on technical complexity, release timing, and operational considerations.

### Rewards

Lighter does not currently operate a public bug bounty program unless explicitly announced otherwise.

However, we may, at our sole discretion, offer monetary rewards.&#x20;

Any reward decision depends on factors including severity, report quality, originality, and user impact. If your submission is a duplicate of a previously reported issue, we will let you know. Duplicate reports are not eligible for a reward.

### Coordinated disclosure

We value coordinated disclosures. Please do not publish details of a vulnerability until we have had a reasonable opportunity to investigate and address it.

If you would like public credit after remediation, please let us know in your report.

To report a vulnerability, contact <security@lighter.xyz>.


# Security Audits

Access the latest security audits for our smart contracts and circuits below.

{% file src="/files/jpB7368KdcDDTE5HL24k" %}

{% file src="/files/pukux9kfLrlddEdd06R9" %}

{% file src="/files/wctJGTj2BZqqrBQIBLIX" %}

{% file src="/files/23Le8kvmJXxO1LH9BfFp" %}

{% file src="/files/VhfxoVaKarWElzpvGPhz" %}

{% file src="/files/vMMQ00raLPP5eSa34uF8" %}

{% file src="/files/1xQd0wnd25u1MKf3RSXf" %}

{% file src="/files/c8wFh4VXKVeSnVogKxam" %}

{% file src="/files/V1JNjIvMUOrmvRRWa0DG" %}


