Drip Protocol
Pro-grade perpetual futures trading terminal on Solana, powered by the formally verified Percolator risk engine.
Overview
Drip is a professional trading terminal for perpetual futures on Solana. It provides a complete interface for leveraged trading across majors, meme coins, and DeFi tokens — with up to 50x leverage, real-time order books, and advanced order types.
Under the hood, Drip is powered by the Percolator engine — the only formally verified risk engine for perpetual DEXs on Solana. Built by Anatoly Yakovenko (toly), Percolator uses mathematical proofs to guarantee that the exchange balance sheet remains solvent under all conditions.
Formally Verified
Not a Fork
Open Source
Drip is currently deployed on Solana Devnet. The Percolator engine is an educational research project — do not use with real funds. This is experimental software.
Architecture
Drip follows a layered architecture. The frontend is a Next.js 14 application that communicates with the Solana blockchain via RPC. The Percolator engine runs as an on-chain Solana program that handles all risk accounting, while Drip provides the trading interface.
Frontend Stack
State Management
Drip uses Zustand stores for reactive global state. Each store manages a specific domain: market selection, price data, trade execution parameters, account balances, and open positions. Custom hooks like usePrices, useTrading, and usePositions abstract the blockchain interactions.
Percolator Engine
Percolator is a formally verified accounting and risk engine for perpetual futures DEXs on Solana. It was created by Anatoly Yakovenko (co-founder of Solana) and uses Kani model checking to mathematically prove key safety invariants.
Core Design
Percolator is a hybrid design combining synthetics-style risk with orderbook-style execution extensibility. Users take positions against liquidity provider (LP) accounts, while LPs can supply a pluggable matching engine that implements AMM, RFQ, or CLOB logic.
The engine itself does not move tokens. A wrapper program performs SPL transfers and calls into the engine for accounting. This separation of concerns ensures the risk logic remains clean and verifiable.
Key Invariants
Principal Protection
Conservation
Liveness
Solvency
Formal Verification
Percolator uses Kani model checking to verify its invariants. Conservation ensures balance-sheet integrity. Isolation prevents unauthorized cross-account access. The "no-teleport" property confirms that cross-LP position closures correctly account for mark-to-oracle settlement and don't create phantom value. The latest audit shows 118/118 proofs passing.
Markets
Drip supports 11 perpetual futures markets across three categories: major cryptocurrencies, meme coins, and DeFi tokens. Each market has a configurable maximum leverage, dedicated Pyth oracle feed, and independent risk parameters.
| Market | Category | Max Leverage | Price Precision | Min Size |
|---|---|---|---|---|
| SOL-PERP | Major | 50x | 2 decimals | 0.01 SOL |
| BTC-PERP | Major | 50x | 1 decimals | 0.00001 BTC |
| ETH-PERP | Major | 50x | 2 decimals | 0.0001 ETH |
| WIF-PERP | Meme | 20x | 4 decimals | 0.1 WIF |
| BONK-PERP | Meme | 10x | 8 decimals | 1000 BONK |
| JUP-PERP | DeFi | 20x | 4 decimals | 0.1 JUP |
| PYTH-PERP | DeFi | 20x | 4 decimals | 1 PYTH |
| RNDR-PERP | DeFi | 20x | 3 decimals | 0.1 RNDR |
| FARTCOIN-PERP | Meme | 10x | 4 decimals | 1 FARTCOIN |
| PENGU-PERP | Meme | 10x | 6 decimals | 100 PENGU |
| AI16Z-PERP | Meme | 10x | 4 decimals | 1 AI16Z |
Market Categories
Trading
Drip provides a full-featured trading interface designed for professional traders. The terminal includes real-time candlestick charts, a live order book, one-click trading, and comprehensive portfolio management.
Order Types
Market Orders
Limit Orders
Stop Loss / Take Profit
Cross & Isolated Margin
Chart & Analysis
The trading chart supports 9 timeframes from 1-minute to 1-week candles, powered by TradingView's Lightweight Charts library. Real-time price updates stream directly from Pyth Network oracles for sub-second accuracy.
Keyboard Shortcuts
Power users can navigate the terminal entirely with keyboard shortcuts for rapid order placement and position management.
Risk & Margin
Risk management in Drip is enforced at the engine level by Percolator. The engine uses a variation-margin accounting model where positions are continuously settled to the oracle price. This ensures accurate margin calculations at all times.
Margin Model
Each account has a protected principal (capital) and a realized PnL claim. Mark-to-market equity is computed by combining these with the unrealized position PnL against the current oracle price. All margin checks use fee-debt-adjusted equity.
Required to open or increase a position. Calculated as notional value multiplied by the initial margin rate. Risk-increasing trades (including position flips) must meet this threshold.
Minimum equity required to keep a position open. When fee-adjusted equity falls below maintenance margin, the position becomes eligible for liquidation.
Liquidation
When an account's equity falls below the maintenance margin requirement, it becomes eligible for liquidation. The position is closed at the oracle price — no counterparty discovery is required. Losses are settled from the account's capital, and any unpaid remainder is socialized. A configurable liquidation fee is charged to the insurance pool.
Withdrawal Safety
Withdrawals only return capital, not unrealized PnL. The engine enforces multiple safety gates: fresh oracle prices, recent sweep completion, no pending socialization, and post-withdrawal margin validation for accounts with open positions. Profits convert to withdrawable capital through a time-gated warmup mechanism.
Fee Schedule
| Fee Type | Rate |
|---|---|
| Taker Fee | 0.05% |
| Maker Fee | 0.02% |
| Liquidation Fee | 0.50% |
| Funding Interval | 8 hours |
Oracles
Drip uses Pyth Network for real-time price feeds. Pyth provides sub-second price updates from institutional-grade data sources, ensuring accurate mark prices for margin calculations, liquidations, and trade settlement.
Each market has a dedicated Pyth price feed ID. Price data streams directly from Pyth's Hermes service to the frontend, while the on-chain engine uses Pyth oracle accounts for settlement.
Getting Started
Connect Your Wallet
Drip supports all major Solana wallets through the Wallet Adapter standard. Click the wallet button in the top-right corner of the trading terminal to connect Phantom, Solflare, or any compatible wallet.
Start Trading
Development Setup
To run Drip locally for development:
git clone https://github.com/jeffersonnnn/drip-percolator.git
cd drip-percolator/web
npm install
cp .env.example .env.local
npm run devThe development server starts at http://localhost:3000. The app connects to Solana Devnet by default.