Lighter Trading Competitions: How They Work

How Voltrade tracks Lighter competitions with no account linking — public cumulative volume counters, explorer replay for PnL, and a live 3,000 LIT stocks comp.

By VoltradePublished September 1, 20266 min read

Lighter is a zk-rollup perpetuals DEX, and it is the venue where Voltrade's tracking had to be invented rather than adapted. Its per-account trade history is auth-gated behind each account's own API key, so the usual approach — ask the exchange for a trader's fills — is closed off. What replaced it is unusual enough to be worth documenting, because the mechanism determines what a Lighter competition can and cannot fairly score.

What the venue is good at

Lighter runs perpetual markets on its own L2, and the market list has gone well beyond crypto. The live market list Voltrade's campaign builder reads from Lighter currently returns 214 markets, including a large set of equity and pre-IPO perpetuals — AAPL, NVDA, GOOGL, META, MSTR, COIN, HOOD, PLTR, alongside names like Samsung, Kioxia, BYD and Pop Mart that a crypto trader has no other obvious on-chain route to. In the venues directory Lighter is listed as perpetuals-only, with volume tracked wallet-only via the public API and no account linking required.

That is not a marketing line; it is a description of the integration.

How Voltrade tracks your Lighter volume

Two different mechanisms, chosen by whether the competition scopes specific markets.

Whole-venue competitions use cumulative-counter deltas. Your wallet is resolved to its Lighter account indices — main plus any sub-accounts — through the public accountsByL1Address endpoint, which needs no authentication. Each index is then subscribed to account_all_trades, whose subscription snapshot carries total_volume: a monotonic lifetime USD counter, also public. Per-day volume falls out of the difference between two snapshots.

Three details in that design are load-bearing:

  • Deltas are computed per account index first, then summed per wallet. Summing raw counters across indices before differencing would corrupt any day on which the index set changes — a sub-account created mid-competition would inject its entire lifetime volume into that day. Indices are re-resolved every tick, so a new sub-account is picked up on the next run and contributes only its own delta.
  • A missed tick costs nothing. The counter is cumulative, so it catches up on the next snapshot. The only unrecoverable window is volume traded before an account's very first snapshot, which is why the sync runs a pre-start baseline pass over SCHEDULED competitions starting within 48 hours: resolve indices, write snapshots, skip scoring, so every registrant has a baseline at or before the start.
  • Negative deltas clamp to zero. If the venue revises a counter downward, that day scores zero rather than propagating a negative into the rollups.

The baseline pass matters more than it sounds. Without it, volume traded in the window between the competition opening and an account's first snapshot gets folded into that account's own baseline — invisible to scoring, because the counter only ever reports the total. The baseline is therefore reconstructed at the anchor instant, max(competition start, your registration), by subtracting replayed notional back to that anchor, and the sync refuses to seed a baseline it cannot justify rather than guessing at one.

Market-scoped competitions use explorer replay instead. Counters are an all-markets aggregate, so they cannot answer "how much did this wallet trade in AAPL-USD". For scoped competitions the sync walks the block explorer's history API, which serves complete history for any account with no authentication at all, and sums only the in-scope symbols across every one of the wallet's accounts.

Two landmines in that endpoint are handled in the client, both found live rather than in docs. Filtering on pub_data_type=Trade silently omits TradeWithFunding — a real trade that also settles funding, which on some accounts is roughly half of all history — so the fetch is unfiltered and shape-detects instead. And the endpoint re-serves duplicate rows, around 5% of a walk, with identical hash and identical payload; undeduplicated, a position the venue reports as flat replays as non-zero. Requests are paced at one per second against the explorer's 90-weighted-requests-per-minute budget, with a 12-second backoff on the rate limit.

The volume sync runs at :00, :20 and :40 past the hour, five participants in parallel, with websocket subscriptions batched at up to 80 per connection. The :00 run is deliberate: it lands exactly on the day boundaries used by the platform's competition schedule.

PnL challenges: replay is the source of truth

For PnL challenges on Lighter, the explorer replay is authoritative. Explorer records do not carry the pre-trade position fields a live tape has, so realized PnL is not directly readable — instead the full history is replayed with average-cost accounting, which reconstructs position, average entry and realized PnL exactly. Every sync cross-checks the replayed state against the venue's own reported position and entry price; a disagreement marks the participant truncated and blocks settlement rather than paying out a leaderboard that might be wrong. A live websocket fill listener runs alongside, but it is a latency optimisation, not the source of truth, because the explorer's history is complete and therefore always recoverable.

One asymmetry to know: challenges score the main account only, while volume competitions sum every account a wallet controls.

Eligibility: register the wallet you trade with

There is nothing to link, no UID, no read-only key, no OAuth. You connect and verify a wallet, register, and the wallet you registered is the tracking key. A wallet with no Lighter account simply resolves to zero indices and scores zero. Everything Voltrade reads here is public and unauthenticated.

What is running now

The live example is the Lighter Stocks Trading Competition: a 3,000 LIT prize pool across 67 stock and pre-IPO perpetual markets, running 1 September 2026 12:00 UTC to 15 September 2026 12:00 UTC. Rewards are distributed pro rata to counted volume with a $50,000 minimum counted volume to qualify, counted volume is capped at $500,000 per trader per day, and a daily raffle pays 25 LIT from the same pool to one trader with at least $10,000 of volume that day. As a perpetual competition it scores at 0.1 VXP per $1 of notional — see how VXP and daily volume caps work for why perps are rated an order of magnitude below spot.

Because the raffle comes out of the advertised pool, the real structure is a 2,650 LIT main pool plus 350 LIT of daily draws over the fourteen days.

How to enter

Connect a wallet on Voltrade, register for the competition, and trade on Lighter with that same wallet. Volume counts from your registration, not from the competition start, and days are anchored to the 12:00 UTC start time rather than to midnight.

Honest notes and limitations

  • Lighter volume competitions are admin-only by construction. Self-serve creators on Voltrade are restricted to on-chain token competitions, so selecting Lighter as a volume venue is only available to the platform. This is a structural property of campaign creation, not a policy toggle — but it applies to volume campaigns only: PnL challenges on Lighter are permissionless, and anyone can launch one.
  • On the counter path, market type is not applied. The aggregate counter cannot separate market types, the same caveat that applies to aggregate-volume CEX integrations. Scoped competitions do not have this problem, because symbols come from the perp catalog.
  • Pre-baseline volume is excluded. If an account is discovered mid-competition with no earlier snapshot, the day starts from the first snapshot inside it.
  • A day closes three hours after it ends, and closed rows are immutable — the sync never rewrites them.

For how these mechanics compare across venues, see how DEX trading competitions work.

venue-pagelighter

Keep reading

  • How DEX Trading Competitions Work

    How wallet-first trading competitions track your volume, convert it into points, and turn a leaderboard into a payout — and the details that decide who wins.

  • Blofin Trading Competitions: How They Work

    How Voltrade tracks Blofin competitions — UID linking through the affiliate API, 16:00 UTC day buckets, sub-invitee snapshot deltas, and what that means for you.

  • Convallax Trading Competitions: How They Work

    How Voltrade tracks Convallax competitions — on-chain options on Polygon scored on premium paid, with maker and taker both credited and self-trades excluded.

Every trade is a competition

Join a live volume competition or PnL challenge across top venues — or launch your own in minutes.