A well-designed fee structure is the economic engine of any derivatives protocol. It must align incentives between traders, liquidity providers, and the protocol itself. The primary goal is to generate sustainable revenue to fund protocol development, security, and token holder value, without creating excessive friction that drives users to competitors. Key decisions involve choosing between maker/taker models, performance-based fees, and flat percentage fees, each with distinct trade-offs for capital efficiency and user behavior.
How to Design a Fee Structure and Revenue Model for Derivatives
How to Design a Fee Structure and Revenue Model for Derivatives
A guide to designing sustainable fee structures and revenue models for on-chain derivatives protocols, balancing user incentives, protocol security, and tokenomics.
The most common model is a maker-taker fee schedule, where liquidity providers (makers) earn rebates for posting limit orders, while takers pay a fee to execute against them. Protocols like dYdX and GMX employ variations of this. An alternative is a performance-based fee, where the protocol takes a cut of a trader's profits, as seen in perpetual swap protocols. This can align protocol revenue with user success but adds accounting complexity. Flat fees are simpler but may not optimally incentivize specific behaviors like market-making.
Revenue distribution is critical for tokenomics. Protocols must decide what percentage of fees goes to the treasury, is used to buy back and burn the native token, or is distributed as staking rewards. For example, a protocol might allocate 40% of fees to stakers, 40% to the treasury, and 20% for token buybacks. This creates a value accrual mechanism for the token, transforming it from a governance instrument into a cash-flow generating asset. Transparent, on-chain distribution is essential for trust.
Integrating fees with risk management is non-negotiable. Fees must cover the cost of risk, including liquidation engine operations, insurance fund replenishment, and potential bad debt. Protocols often deduct a small liquidation fee from liquidated positions to reward keepers and bolster the insurance fund. The fee model should also discourage market manipulation; for instance, higher fees for very large positions or rapid opening/closing can mitigate oracle front-running and other exploits.
To implement a basic fee calculation in a smart contract, you need logic to deduct fees from trade amounts. Below is a simplified Solidity example for a flat fee model:
solidityfunction calculateFee(uint256 tradeAmount, uint256 feeBasisPoints) public pure returns (uint256 fee, uint256 amountAfterFee) { fee = (tradeAmount * feeBasisPoints) / 10000; // basis points (e.g., 10 = 0.1%) amountAfterFee = tradeAmount - fee; }
In practice, you would integrate this into your trading function, transferring the fee to a designated fee collector address.
Finally, successful fee models are iterative. Use on-chain analytics to monitor metrics like fee volume, user retention post-fee, and competitor fee changes. Be prepared to adjust parameters via governance if the model stifles growth or fails to generate sufficient revenue. The optimal structure evolves with market conditions, protocol maturity, and the competitive landscape, requiring a balance between immediate sustainability and long-term growth.
How to Design a Fee Structure and Revenue Model for Derivatives
A sustainable fee model is the economic engine of any derivatives protocol. This guide covers the core components and strategic considerations for designing one.
Derivatives protocols generate revenue primarily through fee extraction from user activity. The foundational model involves charging a small percentage on every trade, known as a taker fee for market orders and a maker fee for providing liquidity. For example, perpetual swap protocols like GMX and dYdX implement this model, with fees typically ranging from 0.05% to 0.1% of trade volume. This creates a direct, volume-correlated revenue stream. A secondary, critical component is the funding rate, a periodic payment between long and short positions that keeps the perpetual contract's price anchored to the spot market. The protocol often takes a small cut of this exchange, adding another revenue layer.
Beyond basic trading fees, advanced models incorporate vault or strategy fees for managed products. This is common in structured products or delta-neutral vaults, where the protocol charges a performance fee (e.g., 10-20% of profits) and sometimes a management fee (an annual percentage of assets). Protocols like Synthetix and Ribbon Finance use variations of this. Revenue must then be allocated: a portion is often directed to a protocol treasury for development and grants, while another is used for token buybacks and burns or staking rewards to align incentives with governance token holders. The split between these uses is a core governance decision.
Designing the model requires analyzing the target market. A protocol for high-frequency, low-margin trading (like perps) prioritizes ultra-low taker fees to attract volume. One offering complex exotic options might charge higher performance fees. Key metrics to model include Total Value Locked (TVL), daily volume, and fee capture rate. You must also plan for fee tiers based on user loyalty or token holdings to encourage stickiness, a tactic used by dYdX and others. The economic design must be simulated under various market conditions—bull, bear, and sideways—to ensure treasury solvency and staker rewards remain viable during low-activity periods.
Finally, the fee structure must be transparently enforced by smart contracts. All fee parameters should be adjustable via governance, with timelocks for security. For example, a FeeCollector contract might accumulate fees in a designated currency, with a distributeFees function that allocates funds to treasury, buyback, and reward contracts according to preset ratios. The code must prevent leakage and ensure all fee logic is non-upgradable without governance to build trust. A well-designed model balances attracting users, rewarding stakeholders, and funding long-term development, forming the bedrock of the protocol's sustainability.
Core Components of a Fee Model
A sustainable revenue model balances user incentives, protocol security, and long-term growth. This section breaks down the essential components.
Taker and Maker Fees
The primary revenue driver for order book or AMM-based derivatives. Taker fees are charged for executing against existing liquidity (e.g., 0.05-0.10%). Maker fees are often negative (rebates) to incentivize limit order placement (e.g., -0.02%).
- Example: dYdX uses a maker-taker model with fees based on 30-day trading volume tiers.
- Consideration: Fee tiers encourage high-frequency trading and deeper liquidity.
Position and Funding Rate Fees
Fees applied to perpetual swap positions, which have no expiry. An initial margin fee may be charged on position opening. The funding rate is a recurring fee exchanged between long and short traders every 1-8 hours to peg the perpetual price to the spot index.
- Mechanism: If funding rate is positive, longs pay shorts; if negative, shorts pay longs.
- Protocol Cut: Protocols like GMX take a percentage of the funding rate payments as protocol revenue.
Liquidation and Keeper Incentives
Fees generated from liquidating undercollateralized positions. A liquidation fee (e.g., 10% of position size) is charged to the trader, with a portion paid to the liquidator (keeper) and a portion retained by the protocol treasury.
- Purpose: Covers bad debt risk and incentivizes a decentralized keeper network.
- Example: Synthetix uses a 10% liquidation penalty, with the entire fee going to the protocol debt pool.
Protocol-Owned Liquidity & Staking
Revenue from protocol-owned vaults and staking derivatives. Protocols can deploy treasury assets into their own liquidity pools or vaults, earning swap fees and yield. Staking the protocol's native token often grants a share of protocol fees.
- Model: Gains Network (gTrade) directs 100% of platform fees to stakers of its GNS token.
- Benefit: Aligns tokenholders with protocol success and creates a sustainable treasury.
Withdrawal and Gas Subsidy Fees
Fees for specific user actions. A withdrawal fee can offset gas costs for processing transactions on L1 or L2. Some protocols implement a gas subsidy model, where a small fee on trades funds a pool that reimburses users for bridging or claiming rewards.
- Use Case: Perpetual Protocol v2 (Perp v2) on Optimism uses a small trade fee to subsidize transaction gas for users.
- Goal: Improve user experience by abstracting network costs.
Fee Structure Comparison: Major Protocols
A breakdown of fee models and revenue distribution for leading on-chain perpetual futures protocols.
| Fee Component | GMX V1 | dYdX v3 | Hyperliquid | Synthetix Perps V3 |
|---|---|---|---|---|
Taker Fee | 0.1% | 0.05% | 0.02% - 0.05% | 0.03% - 0.07% |
Maker Fee / Rebate | -0.005% (rebate) | 0.02% | 0.0% | 0.0% |
Borrowing Fee (Funding) | Dynamic (hourly) | Dynamic (hourly) | Dynamic (hourly) | Dynamic (hourly) |
Liquidation Fee | 0.5% of position | 1.25% of position | 2.0% of position | 10% of liquidation reward |
Protocol Revenue Source | 30% of fees to stakers | 100% to dYdX DAO Treasury | 100% to stakers via buyback & burn | 100% to SNX stakers (sUSD) |
Open Interest Limit | Dynamic (GLP capacity) | $50M per market (approx.) | None (on-chain orderbook) | Synthetic debt pool caps |
Gas Cost for Trading | High (Chainlink + GLP swap) | Zero (off-chain orderbook) | Low (on-chain L1) | Moderate (L2 settlement) |
Implementing Maker/Taker Trading Fees
A guide to designing a fee structure and revenue model for perpetual futures and options protocols, focusing on the mechanics and incentives of maker/taker models.
A maker/taker fee model is the standard revenue engine for order book and automated market maker (AMM) based derivatives. The core principle is to charge different rates based on a user's role in providing or consuming liquidity. The taker fee is charged when an order is executed immediately against an existing order in the book or pool. The maker fee is charged (or often rebated) when a user places an order that rests on the book, adding liquidity for others to trade against. This structure incentivizes market makers to post tight spreads, improving the trading experience for all users.
Designing the fee schedule requires balancing protocol revenue with trader and market maker incentives. For a perpetual futures DEX like dYdX or Hyperliquid, a common structure might be a 0.02% taker fee and a -0.005% maker fee (a rebate). The protocol's net revenue is the sum of positive taker fees minus the rebates paid to makers. The key variables to optimize are: the taker fee rate, the maker rebate rate, and the minimum tick size (which affects spread competitiveness). Revenue can also be augmented by funding rate payments or liquidation penalties.
Implementing this logic in a smart contract involves tracking fees per trade and managing the accounting for rebates. Below is a simplified Solidity example for a vault that calculates fees. It uses a FeeConfig struct and applies the logic in a _calculateFees internal function.
soliditystruct FeeConfig { uint24 makerFeeBps; // e.g., -5 for -0.05% uint24 takerFeeBps; // e.g., 20 for 0.20% address treasury; } function _calculateFees( uint256 notionalValue, bool isMakerOrder, FeeConfig storage config ) internal returns (uint256 feeAmount, address feeRecipient) { uint24 feeBps = isMakerOrder ? config.makerFeeBps : config.takerFeeBps; feeAmount = (notionalValue * uint256(feeBps)) / 10_000; feeRecipient = config.treasury; // If it's a maker rebate (negative fee), adjust logic if (isMakerOrder && feeBps < 0) { // Protocol pays the trader _payRebate(msg.sender, feeAmount); feeAmount = 0; } }
Beyond the base rates, advanced structures can include volume-tiered fees to reward high-frequency traders and market makers, similar to centralized exchanges. A tier might reduce the taker fee to 0.015% and increase the maker rebate to -0.008% for users whose 30-day trading volume exceeds a certain threshold. Implementing tiers requires maintaining rolling volume records on-chain or via a trusted oracle, adding complexity but fostering loyalty. Protocols must ensure the cost of rebates at higher tiers does not exceed the revenue from the increased volume they generate.
The fee model directly impacts protocol sustainability and tokenomics. Revenue is typically directed to a treasury, used for buybacks and burns of a governance token (like GMX's use of ETH and BTC for $GMX buybacks), or distributed to stakers. A well-calibrated model ensures the protocol remains competitive on price while generating sufficient yield for stakeholders. When designing, analyze competitors' fee schedules, simulate revenue under various volume and market share scenarios, and consider implementing fee switch governance allowing token holders to vote on rate adjustments.
Designing the Funding Rate Mechanism
A guide to implementing the core economic engine for perpetual swaps, balancing trader incentives with protocol revenue.
The funding rate is the periodic payment exchanged between long and short positions in a perpetual swap contract. Its primary purpose is to tether the perpetual's price to the underlying spot market index, preventing persistent divergence. When the perpetual trades at a premium to the index, longs pay shorts a funding rate, incentivizing selling pressure. When it trades at a discount, shorts pay longs, incentivizing buying pressure. This mechanism replaces the expiration and settlement of traditional futures, allowing the contract to exist 'perpetually' while maintaining price parity.
The funding rate is typically calculated using a time-weighted average of the premium or discount between the perpetual's mark price and the spot index. A common formula is: Funding Rate = Premium Index * clamp(Interest Rate, -0.05%, 0.05%). The Premium Index measures the price divergence, while the Interest Rate component (often derived from stablecoin lending rates) creates a baseline cost of carry. The clamp function (clamp) introduces a funding rate cap and floor, protecting traders from excessive payments during extreme volatility.
Protocols must decide on key parameters that define the funding rate's behavior and economic impact. The funding interval determines payment frequency (e.g., every 1, 4, or 8 hours). A shorter interval increases price peg efficiency but creates more transaction overhead. The funding rate cap limits maximum payments per interval, a critical risk management parameter. The smoothing mechanism, like an 8-hour time-weighted average price (TWAP), prevents manipulation from last-second price spikes before a funding snapshot.
A portion of the funding payment is often taken as a protocol fee, creating a sustainable revenue model. For example, if longs pay a 0.01% funding rate to shorts, the protocol might take 10% of that (0.001%) as a fee, with the remaining 0.009% going to counterparty shorts. This aligns protocol incentives with healthy market function—revenue grows with trading volume and open interest. Fees can be directed to a treasury, token buybacks, or staking rewards. Transparent fee allocation is crucial for community trust.
Implementing a funding rate mechanism requires careful on-chain logic. The contract must:
- Securely fetch off-chain index and mark prices via an oracle (e.g., Chainlink, Pyth).
- Calculate the time-weighted premium at each funding epoch.
- Apply the funding rate formula with capped parameters.
- Deduct payments from losing positions and credit winning positions, net of the protocol fee.
- Emit events for tracking and update global state for the next epoch. Inefficient gas usage in this loop can become costly for users.
Design choices directly impact user experience and market stability. An overly aggressive funding rate (high cap, short interval) can drive away market makers due to high carrying costs. A rate that's too passive can lead to sustained price dislocations. Successful implementations like dYdX, GMX, and Synthetix Perps use variations of this model, fine-tuning parameters for their specific liquidity environment. The optimal design balances peg efficiency, trader cost predictability, and protocol revenue sustainability.
Liquidation Penalties and Incentives
A well-designed fee structure is critical for the economic security and sustainability of on-chain derivatives protocols. This guide explains how to model fees, penalties, and incentives to balance protocol revenue with user experience.
The core revenue for a derivatives protocol typically comes from two primary sources: trading fees and liquidation penalties. Trading fees are a small percentage (e.g., 0.05% to 0.1%) charged on every position open or close, providing a predictable income stream. Liquidation penalties, however, are a more complex and critical component. When a user's position falls below the maintenance margin threshold, it is liquidated. The penalty is a fee (often 2-5% of the position size) charged to the user's remaining margin, which is then distributed. This penalty serves a dual purpose: it compensates the protocol and liquidators for the risk and work involved, and it disincentivizes users from operating with excessive leverage.
Designing the liquidation penalty involves careful calibration. Set it too low, and liquidators may not be sufficiently incentivized to monitor and execute liquidations, leading to undercollateralized positions and systemic risk for the protocol. Set it too high, and it becomes punitive for users, discouraging trading. A common model is a fixed percentage, but some protocols implement a dynamic penalty based on market volatility or the size of the position's deficit. The penalty is usually split between the liquidator (who executes the transaction), a protocol treasury, and sometimes a stability fund or insurance pool. For example, a 5% penalty might be distributed as 4% to the liquidator and 1% to the protocol.
Beyond penalties, protocols must design incentives to ensure a robust network of liquidators. This often involves a liquidation bounty or reward paid from the penalty. The bounty must exceed the gas costs and execution risk for the liquidator. Protocols like Aave and Compound use a Dutch auction mechanism for larger positions, where the discount (penalty) starts small and increases over time until a liquidator claims it. This ensures even "toxic" positions (those hard to liquidate) are eventually cleared. Smart contract logic must handle the entire process atomically: checking the health factor, calculating the penalty, transferring funds to the liquidator, and closing the position.
Here is a simplified Solidity snippet illustrating the core logic for calculating and distributing a fixed liquidation penalty:
solidityfunction liquidatePosition(address user, uint positionId) external { Position memory pos = positions[user][positionId]; require(isUnderwater(pos), "Position is not liquidatable"); // Calculate liquidation penalty (e.g., 5% of position size) uint penalty = (pos.collateralAmount * LIQUIDATION_PENALTY_BPS) / 10000; uint remainingCollateral = pos.collateralAmount - penalty; // Distribute penalty: 80% to liquidator, 20% to protocol treasury uint liquidatorReward = (penalty * 8000) / 10000; uint protocolFee = penalty - liquidatorReward; // Transfer funds collateralToken.transfer(msg.sender, liquidatorReward); collateralToken.transfer(treasury, protocolFee); collateralToken.transfer(user, remainingCollateral); // Close the position delete positions[user][positionId]; emit PositionLiquidated(user, positionId, penalty); }
Finally, the overall fee model must be sustainable. Protocol revenue from trading fees and liquidation penalties should cover operational costs, fund development, and contribute to a safety module. Many protocols also implement a fee switch governance mechanism, allowing token holders to vote on fee parameters or redirect a portion of revenue to token buybacks and burns. When designing your model, analyze existing protocols (e.g., dYdX, GMX, Synthetix), stress-test your assumptions under extreme market conditions, and ensure transparency so users understand the costs and risks associated with leverage and potential liquidation.
Revenue Allocation Models
A comparison of common fee distribution strategies for derivatives protocol treasuries.
| Allocation Target | Protocol-Owned Treasury | Token Buyback & Burn | Staking Rewards | Ecosystem Fund |
|---|---|---|---|---|
Primary Goal | Protocol resilience & runway | Token value accrual | Incentivize protocol security | Ecosystem growth |
Typical Allocation % | 30-50% | 20-40% | 15-30% | 10-25% |
Capital Efficiency | Low (locked capital) | High (reduces supply) | Medium (incentive cost) | Variable (grant success) |
Short-Term User Benefit | ||||
Long-Term Protocol Value | ||||
Governance Complexity | High (requires proposals) | Low (automatic) | Medium (parameter tuning) | High (grant committees) |
Example Protocol | GMX | dYdX | Synthetix | Uniswap |
Key Risk | Inefficient capital deployment | Weak price impact if volume low | Sell pressure from rewards | Misallocation of grants |
Implementing Tiered Fees and Staker Discounts
A guide to structuring transaction fees and revenue models for on-chain derivatives protocols, balancing user incentives with protocol sustainability.
A well-designed fee structure is critical for the long-term viability of any on-chain derivatives protocol. It must generate sufficient revenue to cover operational costs, fund development, and incentivize security providers, while remaining competitive for users. For perpetual futures and options protocols, the primary revenue stream is typically a taker fee charged on each trade, often paired with a smaller maker rebate to encourage liquidity provision. A common starting point is a flat fee model, such as 0.1% for takers and -0.05% for makers, but this one-size-fits-all approach fails to optimize for power users and protocol alignment.
To create stickiness and reward loyalty, protocols implement tiered fee structures based on a user's 30-day trading volume. Higher volume tiers receive progressively lower fees. This is often calculated using a user's trading volume (USD) or their time-weighted average balance of governance tokens. For example, a protocol might define tiers where users trading over $1M per month pay 0.06%, while those over $10M pay 0.04%. This incentivizes high-frequency traders and market makers to concentrate their activity on a single platform, improving liquidity depth and overall user experience.
A powerful mechanism for aligning user and protocol incentives is the staker discount. Users who stake the protocol's native token (e.g., $DYDX, $GMX, $SNX) receive a direct reduction on their trading fees. This serves multiple purposes: it creates a sustainable buy-pressure and utility for the token, decentralizes governance by encouraging ownership, and effectively shares protocol revenue with its most committed users. The discount is often proportional to the size of the stake, creating a clear value proposition for token holders beyond speculative appreciation.
Implementing this logic requires an on-chain or off-chain relayer system that can verify a user's tier and stake before order execution. A typical smart contract function for calculating a fee might look like this pseudocode:
solidityfunction calculateFee(address trader, uint256 tradeValue) public view returns (uint256 fee) { uint256 baseBps = 10; // 0.1% uint256 volumeTier = getUserTier(trader); // Returns a discount in basis points uint256 stakerDiscount = getStakerDiscount(trader); // Returns a discount in basis points uint256 totalDiscount = volumeTier + stakerDiscount; uint256 finalRate = baseBps > totalDiscount ? baseBps - totalDiscount : 0; return (tradeValue * finalRate) / 10000; }
The getUserTier and getStakerDiscount functions would query separate state variables or external contracts holding user data.
When designing your model, key parameters to calibrate include the base fee rate, tier thresholds, discount percentages, and the staking lock-up period required for discounts. These must be balanced to ensure the protocol remains profitable. A portion of the collected fees (e.g., 30-50%) is often distributed directly to stakers as an additional reward, completing the value loop. This model, used successfully by protocols like GMX and Synthetix, turns users into stakeholders, fostering a more resilient and aligned ecosystem where growth benefits all participants.
Implementation Resources and References
References, models, and protocol examples for designing a sustainable fee structure and revenue model for derivatives exchanges. Each resource focuses on implementation details used in production systems.
Core Fee Types in Derivatives Protocols
Derivatives platforms typically combine multiple fee primitives to balance liquidity incentives, protocol revenue, and trader experience. When designing your model, explicitly define each fee, its trigger, and its recipient.
Common fee categories:
- Trading fees: Percentage of notional per trade. Examples: 2–10 bps for perpetuals on-chain.
- Funding rate payments: Periodic transfers between longs and shorts to anchor price to index.
- Liquidation penalties: Fees charged on forced position closures, often 5–15% of margin.
- Borrow or interest fees: Applied to isolated margin or cross-margin borrowing.
Implementation tips:
- Separate protocol revenue from liquidity provider compensation at the contract level.
- Make fee parameters upgradeable via governance but rate-limited to prevent abuse.
- Expose fee math on-chain so traders can simulate costs before execution.
Protocols like GMX and dYdX publish full fee breakdowns, which are useful baselines when modeling competitive pricing.
Fee Model Design FAQ
Common questions and technical considerations for designing sustainable fee and revenue models for on-chain derivatives protocols.
A robust derivatives fee model typically consists of three primary components: trading fees, funding rates, and liquidation penalties. Trading fees are charged on opening and closing positions and are often the main revenue stream. They can be a flat percentage (e.g., 0.1%) or a maker-taker model. Funding rates are periodic payments between long and short traders to keep the perpetual contract's price aligned with the spot market; the protocol can take a small cut of these payments. Liquidation fees incentivize liquidators to close undercollateralized positions and protect the protocol's solvency. Protocols like dYdX and GMX combine these elements, with GMX notably using a dynamic fee structure based on swap fees from its underlying liquidity pools.
Conclusion and Next Steps
This guide has outlined the core components for building a sustainable fee and revenue model for a derivatives protocol. The next steps involve implementation, iteration, and community alignment.
A well-designed fee structure is not a one-time decision but an evolving mechanism. After deploying your initial model—whether it's a maker-taker system, a performance-based fee, or a hybrid approach—continuous monitoring is essential. Track key metrics like protocol revenue, user retention, and liquidity provider APY to assess the model's health. Use on-chain analytics platforms like Dune Analytics or your own subgraphs to gather this data. Be prepared to iterate; successful protocols like GMX and dYdX have adjusted their fee parameters multiple times based on market conditions and governance proposals.
The next critical phase is integrating your fee logic into smart contracts. This involves secure implementation of fee collection, distribution, and potential rebates. For a basic example, a fee collector contract might handle a fixed taker fee on perpetual swaps:
solidityfunction executeTrade(...) external { // ... trade logic uint256 fee = tradeValue * takerFeeBps / 10000; feeToken.safeTransfer(treasury, fee); // ... remaining logic }
Always use established libraries like OpenZeppelin's SafeERC20 for token transfers and consider implementing a timelock or multi-sig for treasury management to enhance security and trust.
Finally, align your economic model with long-term protocol incentives. Revenue should fund core functions: security (audits, bug bounties), development (grants, core team), and growth (liquidity mining, marketing). Many protocols allocate a portion of fees to buy back and burn their native token or to fund a decentralized treasury governed by token holders. Engage your community early through forums and governance platforms to discuss fee changes. A transparent and adaptable revenue model is a cornerstone of a resilient derivatives protocol poised for sustainable growth in the competitive DeFi landscape.