A frictionless limit order app on Solana that removes rent costs, enabling CEX-like UX with fully on-chain self-custody.
On Solana, placing a limit order with current DeFi applications (e.g., Jupiter, Kamino) requires users to some rent (typically ~0.005 SOL) to store order data on-chain for each order. This rent is locked up until the order is filled or canceled.
This creates significant friction:
- Capital Inefficiency: Placing multiple orders is expensive. For example, 10 open orders could lock up 0.05 SOL (~$9), discouraging active trading strategies.
- Poor User Experience: New users are often confused by rent, why they have to pay a signficant amount it, and the process of reclaiming it.
Lumenn eliminates rent by fundamentally changing how orders are stored and executed. We use zk compression to store order details and a single, shared vault to hold user funds.
This allows for a seamless, capital-efficient trading experience where users can set multiple orders without locking up any SOL in rent.
- Zero Rent: Place unlimited limit orders without paying rent.
- CEX-like Experience: Enjoy the fluid, frictionless trading experience of a centralized exchange, but fully decentralized and self-custodial.
- Capital Efficiency: Keep your SOL liquid instead of having it locked in rent-paying accounts.
- Fully On-Chain: All transactions are settled on the Solana blockchain, ensuring transparency and security.
- Initialize Order: A user deposits tokens into the main Lumenn protocol vault and specifies the parameters for their limit order (e.g., "Sell 100 SOL for USDC when the price hits $200").
- Store Order Data: The order data is stored in a compressed PDA account using light protocol zk compression.
- Price Monitoring: A backend matching engine continuously monitors asset prices.
- Execute Swap: When an asset reaches the user's target price, the backend call's the fill instruction where the tokens are swapped using Jupiter and setlled
- Smart Contract: Rust, Anchor Framework
- Backend: Rust,
- Frontend: TypeScript, NextJS