Vantide Protocol
Documentation
Full technical reference for traders, LPs, and developers building on or integrating with Vantide — a signal-minimized perpetual exchange on BNB Smart Chain.
Quick Start Guide
Vantide runs entirely on BNB Smart Chain (Chain ID 56). You interact with the protocol through a standard EVM-compatible wallet. No account signup, no KYC — just a wallet and collateral.
Vantide operates on BNB Smart Chain Mainnet. Chain ID: 56. RPC: https://bsc-dataseed.binance.org/. Add via MetaMask or any EVM wallet before proceeding.
Step 1 — Connect Your Wallet
Vantide supports MetaMask, WalletConnect, and any EVM-compatible wallet. The frontend is built on React/Next.js with ethers.js for all wallet interactions.
Install & configure your wallet
Use MetaMask (browser extension) or any WalletConnect-compatible mobile wallet. Add BNB Smart Chain (Chain ID 56) to your wallet's network list if it isn't already there.
Acquire USDT on BNB Chain
All positions on Vantide are collateralized with USDT (BEP-20). Bridge USDT to BNB Chain via a cross-chain bridge or purchase directly on a BNB-native DEX. You'll also need a small amount of BNB for gas.
Connect to the Vantide app
Click Launch App and select your wallet provider. The app will request a signature to authenticate your session — no transaction is sent for this step. Your address is now your trading identity on-chain.
Step 2 — Open a Perpetual Position
Vantide perpetuals are settled entirely on BNB Smart Chain. The vAMM continuously provides liquidity backed by the unified vault, so you can enter and exit positions without needing a counterparty.
Select market and direction
Choose from available perpetual markets (BTC-USDT, ETH-USDT, BNB-USDT). Select Long or Short. Set your leverage (up to 50x in isolated margin mode).
Set collateral and review oracle price
Enter your collateral size in USDT. The mark price displayed is sourced from Chainlink's on-chain price feed, not a centralized ticker. The system calculates your entry price, liquidation price, and required margin automatically.
Confirm — your intent is routed to the backend
When you confirm, your trade request is submitted to the Node.js/Golang backend for risk validation and oracle cross-checking before being committed on-chain. This is the signal-minimization layer — your full intent is never broadcast to mempool before validation.
On-chain settlement
The PositionRouter.sol contract executes your position. Collateral moves from your wallet to the vault. A new position is recorded on-chain and indexed by The Graph within seconds.
Step 3 — Provide Liquidity to the Vault
The Vantide vault is a unified single-pool backing all perpetual markets simultaneously. By depositing USDT into the vault, you become a counter-party to all open positions and earn trading fees, funding payments, and liquidation premiums.
Navigate to the Vault tab
Find the Earn or Vault section in the app. Current vault TVL, capital utilization, and estimated APY are displayed in real-time from on-chain data.
Deposit USDT and receive VLP tokens
When you deposit, you receive VLP (Vantide LP) tokens representing your proportional share of the vault. The VLP price is calculated using total vault assets divided by total supply.
Earn continuously — withdraw anytime
Vault earnings accumulate in real-time. Redeem your VLP tokens for USDT at the current price at any time (subject to available liquidity). There's no lock-up period during the initial phase.
Perpetual Engine
Vantide uses a hybrid execution model combining a virtual AMM (vAMM) with optional order book settlement. The vAMM provides always-on liquidity for market orders while larger or more complex orders can be routed through the off-chain matching engine with on-chain settlement.
Virtual AMM (vAMM)
Inspired by the architecture pioneered by Perpetual Protocol, Vantide's vAMM does not hold real assets in the AMM pool — it simulates price discovery using a virtual constant-product formula k = x · y. The vault provides the actual collateral backing.
The key advantage: you always have a counterparty. No order book depth required for entry or exit. The vAMM state is updated atomically with each trade on-chain.
// Virtual AMM price impact calculation // k = invariant constant (set by protocol governance) // baseReserve = virtual BTC/ETH/BNB reserve // quoteReserve = virtual USDT reserve function getOutputAmount( uint256 inputAmount, bool isLong ) external view returns (uint256 outputAmount) { uint256 k = baseReserve * quoteReserve; if (isLong) { // Long: add USDT to quote, reduce base uint256 newQuote = quoteReserve + inputAmount; uint256 newBase = k / newQuote; outputAmount = baseReserve - newBase; } else { // Short: add base, reduce quote uint256 newBase = baseReserve + inputAmount; uint256 newQuote = k / newBase; outputAmount = quoteReserve - newQuote; } }
Mark Price vs Index Price
Two prices govern all operations on Vantide:
Mark Price — the vAMM's current implied price. Used to calculate unrealized PnL and trigger liquidations. Calculated as a weighted average of the vAMM price and the Chainlink index price to prevent manipulation.
Index Price — sourced directly from Chainlink's decentralized oracle network on BNB Chain. Represents the true spot market price. Used for funding rate calculations and as a manipulation-resistant reference.
The protocol enforces a deviation limit: if mark price deviates more than a configured threshold from the index price, certain operations are restricted until prices reconverge.
Unified Vault
The Vantide vault is a single pooled capital system that backs all perpetual markets simultaneously. This is architecturally distinct from systems with per-market liquidity pools, where capital is fragmented and markets can suffer independent liquidity crises.
The vault operates as the counterparty to all trades. When traders profit, the vault pays out. When traders lose, the vault collects. Fees, funding payments, and liquidation premiums are all deposited into the vault and distributed proportionally to LP token holders.
Because the vault is unified, large LP deposits provide coverage to ALL markets simultaneously. An ETH-USDT market trade and a BTC-USDT trade both draw from and return to the same vault. This enables higher capital efficiency and lower slippage than fragmented-pool designs.
VLP Token Mechanics
When you deposit USDT into the vault, you receive VLP tokens at the current vault price:
// VLP price = Total Vault Assets / Total VLP Supply // Total Vault Assets = deposited USDT + unrealized PnL + fees accrued VLP_price = (vaultUSDT + accruedFees + pendingLiquidationRevenue - unrealizedTraderPnL) / totalVLPSupply // Depositing: VLP minted = USDT deposited / VLP_price // Withdrawing: USDT returned = VLP burned × VLP_price
Vault LPs take the opposite side of all trader positions. If the aggregate of all open positions is net profitable against the vault over time, LP yields decrease. Protocol-level safeguards including position caps, insurance fund reserves, and funding rate mechanisms are designed to maintain vault solvency under adverse conditions.
Margin & Leverage
Vantide supports both isolated margin and cross margin modes, managed by the MarginEngine.sol contract.
Isolated Margin
In isolated margin mode, each position has its own dedicated collateral pool. The maximum loss for any single trade is capped at the collateral assigned to that specific position. This is the safer default for newer traders as one bad position cannot affect others.
Cross Margin
In cross margin mode, your entire account balance serves as collateral for all open positions collectively. Profitable positions offset losing ones. This allows for higher total leverage but also means one large loss can trigger liquidation of all positions simultaneously.
// Maintenance Margin Ratio (MMR) = typically 2.5% (protocol param) // Initial Margin = Position Size / Leverage // Maintenance Margin = Position Size × MMR // Liquidation price (Long): liq_price_long = entry_price × (1 - (1/leverage) + MMR) // Liquidation price (Short): liq_price_short = entry_price × (1 + (1/leverage) - MMR) // Example: BTC Long, $50,000 entry, 10x leverage, 2.5% MMR: // liq_price = 50,000 × (1 - 0.1 + 0.025) = 50,000 × 0.925 = $46,250
Funding Rate Mechanism
The funding rate is a periodic payment exchanged between long and short position holders. Its purpose is to keep the perpetual contract's mark price anchored to the Chainlink index (spot) price, preventing sustained divergence.
// Funding Rate = Premium Index + Clamp(Interest Rate - Premium Index, -Cap, Cap) // Premium Index = (Mark Price - Index Price) / Index Price // Interest Rate = 0.01% per 8h (protocol default) // Funding Cap = ±0.75% per 8h interval premium_index = (mark_price - index_price) / index_price funding_rate = clamp( premium_index + interest_rate, -0.0075, // -0.75% floor 0.0075 // +0.75% ceiling ) // Payment per position every 8 hours: // Funding Payment = Position Size × Funding Rate // Positive funding: longs pay shorts // Negative funding: shorts pay longs
Funding payments are settled every 8 hours and deducted directly from position margin. If margin falls below maintenance margin as a result, partial or full liquidation may be triggered.
Liquidation Engine
When a position's margin falls below the maintenance margin threshold, the LiquidationEngine.sol contract allows liquidator bots to close the position and claim a liquidation fee.
The liquidation process:
Oracle price triggers threshold check
Chainlink price updates are monitored continuously by off-chain liquidation bots operated by the protocol and permissioned third parties. When the mark price crosses the liquidation price, a position becomes eligible.
Liquidation bot submits transaction
Any authorized liquidator can call LiquidationEngine.liquidatePosition(positionId). The contract verifies the position is underwater against the current Chainlink mark price before executing.
Fee distribution and insurance fund
A liquidation fee (e.g., 1.5% of position size) is taken from remaining collateral. This is split between the liquidator bot reward and the insurance fund. Remaining collateral returns to the vault.
Insurance fund backstop
If a position is liquidated with insufficient collateral to cover its losses (underwater liquidation), the InsuranceFund.sol contract provides the shortfall. The insurance fund is funded by a portion of all protocol fees.
Signal-Minimized Execution
Traditional DEXs broadcast trade intent to the public mempool before execution. This creates a window where MEV bots can front-run, sandwich, or copy your strategy before your transaction is included in a block.
Vantide's execution model is designed to close this window:
Intent submitted to backend — not mempool
Trade requests are first routed to Vantide's Node.js/Golang backend service. This service performs risk checks, margin validation, and oracle cross-referencing before the trade reaches the chain. Your full trade parameters are never publicly visible at this stage.
Oracle validation against Chainlink
The backend validates that the requested price is within tolerance of the current Chainlink index price. Trades requesting execution at prices that deviate beyond the slippage tolerance are rejected before submission, protecting users from stale or manipulated prices.
Committed on-chain via signed transaction
Once validated, the transaction is signed and submitted to BNB Smart Chain via a dedicated RPC endpoint. The short mempool window on BNB Chain (~3 second blocks) combined with the backend validation layer provides substantial protection against front-running.
Contract Reference
All Vantide contracts are written in Solidity and deployed on BNB Smart Chain (Chain ID 56). Contract addresses will be published here at protocol launch following audit completion.
Contract addresses are not yet published. All contracts are currently undergoing security audit. Final addresses will appear in this table at launch and will be verifiable on BscScan.
| Contract | Description | Type |
|---|---|---|
|
Vault.sol
0x — pending deployment
|
Core liquidity vault. Holds all USDT collateral backing perpetual positions. Manages VLP token minting/burning on LP deposits and withdrawals. Tracks vault PnL state and processes fee distributions to LP holders. | Core |
|
PositionRouter.sol
0x — pending deployment
|
Entry point for all position open/close requests. Validates oracle price against Chainlink feed, routes collateral to/from vault, and records position state. Enforces maximum leverage, minimum collateral, and per-market position caps. | Core |
|
MarginEngine.sol
0x — pending deployment
|
Handles cross and isolated margin calculations. Tracks margin ratios for all open positions. Exposes margin health checks used by the liquidation engine and funding rate settlement. Manages margin additions and partial closures. | Engine |
|
LiquidationEngine.sol
0x — pending deployment
|
Permissioned liquidation execution. Called by authorized liquidator bots when a position's margin ratio falls below maintenance threshold. Distributes liquidation fee between liquidator reward and insurance fund. Handles underwater liquidations using insurance fund reserve. | Engine |
|
vAMM.sol
0x — pending deployment
|
Virtual AMM implementation. Maintains virtual reserve state (k = x·y invariant) for each market. Calculates output amounts, price impact, and post-trade mark price. Does not hold real assets — all actual collateral resides in Vault.sol. | AMM |
|
FundingRate.sol
0x — pending deployment
|
Computes and settles 8-hourly funding payments between long and short position holders. Reads Chainlink index price and vAMM mark price to compute the premium index. Applies funding cap (±0.75%/8h). Adjusts position margins accordingly. | Oracle |
|
InsuranceFund.sol
0x — pending deployment
|
Protocol backstop for underwater liquidations. Receives 10% of all protocol fees continuously. Deployed as a reserve to cover losses when liquidated positions have insufficient collateral. Managed by protocol governance. | Safety |
|
OracleAggregator.sol
0x — pending deployment
|
Wrapper contract around Chainlink AggregatorV3 interfaces for BTC, ETH, and BNB price feeds on BNB Chain. Enforces stale price protection (max age: 60s), deviation limits vs vAMM price, and circuit breaker logic during extreme market conditions. | Oracle |
SDK / ethers.js Integration
Vantide does not publish a proprietary SDK. All contract interactions can be performed directly using ethers.js v6 or Web3.js with the published ABI files. The frontend itself uses ethers.js via Next.js.
Setup & connection
import { ethers } from 'ethers'; // BNB Smart Chain RPC const BNB_RPC = 'https://bsc-dataseed.binance.org/'; const provider = new ethers.JsonRpcProvider(BNB_RPC); // Connect wallet (MetaMask / WalletConnect) const browserProvider = new ethers.BrowserProvider(window.ethereum); const signer = await browserProvider.getSigner(); // Instantiate PositionRouter contract const positionRouter = new ethers.Contract( POSITION_ROUTER_ADDRESS, // published at launch POSITION_ROUTER_ABI, signer );
Opening a position
import { parseUnits } from 'ethers'; // Approve USDT for PositionRouter const usdtContract = new ethers.Contract(USDT_ADDRESS, ERC20_ABI, signer); await usdtContract.approve( POSITION_ROUTER_ADDRESS, parseUnits('1000', 18) // approve 1000 USDT ); // Open a long BTC-USDT position const tx = await positionRouter.openPosition({ market: 'BTC-USDT', // market identifier isLong: true, // direction collateral: parseUnits('100', 18), // 100 USDT collateral leverage: 10, // 10x leverage slippage: 50, // 0.5% max slippage (bps) }); const receipt = await tx.wait(); console.log('Position opened:', receipt.hash);
Reading vault TVL
const vault = new ethers.Contract(VAULT_ADDRESS, VAULT_ABI, provider); // Total USDT held in vault const tvl = await vault.totalAssets(); console.log('TVL (USDT):', ethers.formatUnits(tvl, 18)); // Current VLP price const vlpPrice = await vault.getVLPPrice(); console.log('VLP Price (USDT):', ethers.formatUnits(vlpPrice, 18)); // Your VLP balance const vlpBalance = await vault.balanceOf(await signer.getAddress()); console.log('Your VLP:', ethers.formatUnits(vlpBalance, 18));
REST API Reference
The Vantide backend (Node.js/Golang) exposes a REST API for off-chain data aggregation — price feeds, position queries, and market data. All state-changing operations must go through on-chain contract calls.
Base URL: https://api.vantide.io/v1 — Live at protocol launch
Market Data
Returns all active perpetual markets with current mark price, index price, funding rate, and open interest.
BTC-USDT, ETH-USDT
Position Queries
Vault Data
Returns current TVL, VLP price, capital utilization ratio, insurance fund balance, and 7/30-day APY estimates for vault LPs.
The Graph — GraphQL Subgraph
All on-chain events emitted by Vantide contracts are indexed by a custom subgraph deployed on The Graph. This enables rich historical queries and real-time subscriptions without running a full node.
Subgraph endpoint: https://api.thegraph.com/subgraphs/name/vantide/vantide-bnb — Live at launch
Example queries
{
positions(
first: 10,
orderBy: timestamp,
orderDirection: desc,
where: { isOpen: true }
) {
id
trader
market
isLong
collateral
leverage
entryPrice
markPrice
unrealizedPnl
liquidationPrice
openedAt
}
}
{
dailyStats(
first: 7,
orderBy: date,
orderDirection: desc
) {
date
volumeUSD
feesCollected
uniqueTraders
openInterest
vaultTVL
vlpPrice
}
}
Fee Schedule
Vantide uses a simple, transparent fee model. All fees are taken in USDT from position collateral at the time of execution.
| Fee Type | Rate | Applied At | Distribution |
|---|---|---|---|
| Opening Fee | 0.10% | Position open | 60% LPs · 30% Treasury · 10% Insurance |
| Closing Fee | 0.10% | Position close | 60% LPs · 30% Treasury · 10% Insurance |
| Funding Fee | Variable | Every 8 hours | Paid between longs & shorts (not to protocol) |
| Liquidation Fee | 1.50% | On liquidation | ~0.5% Liquidator bot · ~1% Insurance Fund |
| Vault Deposit/Withdraw | 0.00% | LP actions | No fee on LP entry/exit |
At 0.10% per side, a round-trip trade (open + close) costs 0.20% of position size. At 10x leverage on a $1,000 position ($100 collateral), the total fee is $2. This compares favourably to centralized perpetual exchanges which typically charge 0.02–0.06% but require identity verification and custody of funds.
Supported Perpetual Markets
Vantide launches with three core perpetual markets, with additional markets governed by community proposals post-launch.
| Market | Oracle | Max Leverage | Min Collateral | Status |
|---|---|---|---|---|
| BTC-USDT Perp | Chainlink BTC/USD (BNB Chain) | 50x | 10 USDT | Pre-Launch |
| ETH-USDT Perp | Chainlink ETH/USD (BNB Chain) | 50x | 10 USDT | Pre-Launch |
| BNB-USDT Perp | Chainlink BNB/USD (BNB Chain) | 30x | 10 USDT | Pre-Launch |
Network & RPC Configuration
Add BNB Smart Chain to your wallet using the parameters below.
Network Name: BNB Smart Chain RPC URL: https://bsc-dataseed.binance.org/ Chain ID: 56 Currency Symbol: BNB Block Explorer: https://bscscan.com // Alternative RPCs (fallbacks): // https://bsc-dataseed1.defibit.io/ // https://bsc-dataseed1.ninicoin.io/ // wss://bsc-ws-node.nariox.org:443 (WebSocket) // Collateral token: USDT (BEP-20): 0x55d398326f99059fF775485246999027B3197955 (Verify on BscScan before use)
Frequently Asked Questions
Is Vantide custodial? Does the protocol hold my funds?
Vault.sol smart contract on BNB Smart Chain — not by the Vantide team or any centralized entity. You can verify vault holdings at any time on BscScan. The only party with authority to move your collateral is the smart contract logic itself, governed by open-source code.What is signal-minimized execution and how does it protect me?
How is the mark price determined? Can it be manipulated?
OracleAggregator.sol enforces a deviation limit — if the vAMM price strays too far from Chainlink's reference, certain operations are paused until convergence. Stale price protection (max 60s) is also enforced on all Chainlink reads.What happens if there isn't enough liquidity to exit my position?
What risk do LP vault depositors face?
How is Vantide different from GMX or dYdX?
Has Vantide been audited?
What are the BNB gas costs for trading on Vantide?
Further Reading
Lightpaper
Protocol overview, market context, architecture, tokenomics, and roadmap — designed for on-screen reading.
→Full Whitepaper PDF
Comprehensive 23-page technical whitepaper covering the full protocol specification, formal models, and tokenomics.
→Protocol Architecture
Full 5-layer architecture diagram, tech stack breakdown, and execution flow with annotated components.
→How It Works
Trade journey walkthrough — from wallet connection through oracle validation to on-chain settlement and indexing.
→