Documentation

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

The Percolator engine uses Kani model checking to prove key invariants — conservation, isolation, and no-teleport behavior. Math-proven correctness, not just audited.

Not a Fork

Original protocol frontend purpose-built for the Percolator engine. Not a copy of HyperLiquid, Drift, or any other protocol.

Open Source

Fully transparent and community-driven. Inspect every line of code in both the trading terminal and the underlying engine.
Devnet Only

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.

System Architecture
[ Drip Frontend ]Next.js 14 / React 18 / TypeScript
|
[ Solana Wallet ]Wallet Adapter / Transaction signing
|
[ Percolator Engine ]On-chain risk engine (Rust / Solana program)
|
[ Pyth Network ]Sub-second oracle price feeds

Frontend Stack

Next.js 14App Router with server and client components
React 18Modern hooks-based UI with streaming
TypeScriptStrict mode, full type safety
Tailwind CSSDark-mode-first design system
ZustandLightweight global state management
Lightweight ChartsTradingView-grade candlestick charts with 9 timeframes
Solana Wallet AdapterMulti-wallet support (Phantom, Solflare, etc.)
Pyth Hermes ClientReal-time streaming price feeds from Pyth Network

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

One account's insolvency cannot directly reduce any other account's protected principal. Losses are isolated.

Conservation

The engine never creates withdrawable claims exceeding vault tokens, except for bounded rounding slack.

Liveness

The system never requires all open interest to reach zero or manual admin intervention to resume safe withdrawals.

Solvency

No sequence of trades, oracle updates, funding, ADL, or withdrawals can allow net extraction beyond what is funded.

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.

Engine Source
github.com/aeyakovenko/percolator
Rust 99.8%477 Stars112 Forks576 Commits

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.

MarketCategoryMax LeveragePrice PrecisionMin Size
SOL-PERPMajor50x2 decimals0.01 SOL
BTC-PERPMajor50x1 decimals0.00001 BTC
ETH-PERPMajor50x2 decimals0.0001 ETH
WIF-PERPMeme20x4 decimals0.1 WIF
BONK-PERPMeme10x8 decimals1000 BONK
JUP-PERPDeFi20x4 decimals0.1 JUP
PYTH-PERPDeFi20x4 decimals1 PYTH
RNDR-PERPDeFi20x3 decimals0.1 RNDR
FARTCOIN-PERPMeme10x4 decimals1 FARTCOIN
PENGU-PERPMeme10x6 decimals100 PENGU
AI16Z-PERPMeme10x4 decimals1 AI16Z

Market Categories

Majors
SOL, BTC, ETH — up to 50x leverage. High liquidity, tight spreads.
3 markets
Meme
FARTCOIN, PENGU, WIF, BONK, AI16Z — 10-20x leverage. High volatility plays.
5 markets
DeFi
JUP, PYTH, RNDR — 20x leverage. Infrastructure and utility tokens.
3 markets

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

Execute immediately at the best available price. Lowest latency for time-sensitive entries and exits.

Limit Orders

Set your price. Orders rest on the book until filled or cancelled. Supports GTC, IOC, and FOK time-in-force.

Stop Loss / Take Profit

Protect positions with automatic exit orders. Set both TP and SL when opening a position.

Cross & Isolated Margin

Choose cross margin to share collateral across positions, or isolated margin to limit risk per position.

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.

Timeframes: 1m5m15m30m1H4H1D3D1W

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.

Initial Margin

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.

Maintenance Margin

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 TypeRate
Taker Fee0.05%
Maker Fee0.02%
Liquidation Fee0.50%
Funding Interval8 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.

Pyth Network Integration
Update Frequency
Sub-second
Data Sources
Institutional grade
Markets Covered
All 11 markets

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

1
Connect Wallet
Connect your Solana wallet to the trading terminal.
2
Select Market
Choose from 11 available perpetual futures markets in the sidebar.
3
Configure Order
Set your order type (Market/Limit), direction (Long/Short), size, and leverage.
4
Place Trade
Review the order details and confirm to submit your transaction to the blockchain.
5
Manage Positions
Monitor your open positions, set stop-loss/take-profit levels, and track PnL in the Portfolio tab.

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 dev

The development server starts at http://localhost:3000. The app connects to Solana Devnet by default.

Ready to trade?

Connect your wallet and start trading perpetual futures in seconds.

Launch Terminal