Skip to main content

Pricing Models

Understand how options are priced on MegaFi. Learn the factors that determine option values, how on-chain pricing works, and how to evaluate fair value.

At a Glance

  • Black-Scholes model implemented in strategy contracts
  • On-chain premium calculation with transparent parameters
  • Real-time pricing updates from Chainlink oracles
  • Implied volatility configured per strategy
  • Pool liquidity determines available sizes
  • Instant quote generation (< 50ms)

Option Value Components

Options have two value components:

Intrinsic Value

Value if exercised immediately:

Call Option:

Intrinsic Value = max(0, Underlying Price - Strike Price)

Example:
ETH at $2,100
Strike: $2,000
Intrinsic Value: $2,100 - $2,000 = $100

Put Option:

Intrinsic Value = max(0, Strike Price - Underlying Price)

Example:
ETH at $1,900
Strike: $2,000
Intrinsic Value: $2,000 - $1,900 = $100

Intrinsic value is always ≥ 0. Options with intrinsic value are "in-the-money."

Time Value

Value from possibility of favorable price movement before expiration:

Total Option Value = Intrinsic Value + Time Value

Example:
ETH at $2,000
$2,000 call trading at $120

Intrinsic: $0 (at-the-money)
Time Value: $120
Total Value: $120

Time value decreases as expiration approaches

Black-Scholes Model

Core pricing model implemented in strategy contracts:

Formula

Call Option Price:

C = S × N(d1) - K × e^(-r×T) × N(d2)

Where:
C = Call price
S = Current underlying price
K = Strike price
r = Risk-free rate
T = Time to expiration (years)
N() = Cumulative normal distribution
σ = Implied volatility

d1 = [ln(S/K) + (r + σ²/2) × T] / (σ × √T)
d2 = d1 - σ × √T

Put price derived via put-call parity.

On-Chain Implementation

Strategy contracts implement Black-Scholes:

Premium Calculation Flow:

1. User requests quote with parameters:
- Amount (e.g., 1 ETH)
- Period (e.g., 7 days)
- Additional params (e.g., spread for strangles)

2. Strategy contract executes:
- Query Chainlink for current price
- Get configured implied volatility
- Calculate time to expiration
- Execute Black-Scholes formula
- Return premium (positivePNL) and max loss (negativePNL)

3. Result returned to user:
- Premium in USDC (6 decimals)
- Max potential loss
- Calculated on-chain, transparent

Pricing Inputs

Underlying Price (S): Real-time from Chainlink oracles.

Chainlink Price Feeds:
- ETH/USD: 8 decimal precision
- BTC/USD: 8 decimal precision
- Updates: Multiple times per block
- Source: Aggregated from multiple data providers

Strike Price (K): Current spot price at option creation.

Strike = Current Chainlink Price
All options are at-the-money at creation

Time to Expiration (T): User-selected duration.

Minimum: 1 day (86,400 seconds)
Maximum: 30 days (2,592,000 seconds)
Typical: 7 days, 14 days, 30 days

Converted to years: seconds / 31,536,000

Risk-Free Rate (r): DeFi lending rate.

Typical: 0-5% annually
Impact: Minimal in crypto options
Usually approximated as 0 for simplicity

Implied Volatility (σ): Configured per strategy.

Strategy Parameter: K (volatility coefficient)
Example: K = 85000000 (represents ~85% annual volatility)

Admin configurable per strategy
Affects premium amount significantly

On-Chain Pricing

Strategy Contract Calculation

Each strategy implements pricing:

// Pseudo-code for strategy pricing

function calculateNegativepnlAndPositivepnl(
uint256 amount, // Option size (e.g., 1e18 for 1 ETH)
uint256 period, // Duration in seconds
bytes[] calldata additional // Extra params
) public view returns (
uint128 negativepnl, // Max loss / locked liquidity
uint128 positivepnl // Premium to pay
) {
// 1. Get current price from Chainlink
uint256 currentPrice = priceProvider.latestRoundData();

// 2. Calculate time factor
uint256 timeInYears = period / 31536000;

// 3. Get volatility parameter
uint256 volatility = K; // Strategy-specific

// 4. Execute Black-Scholes
// ... mathematical calculation ...

// 5. Return premium and max loss
return (negativepnl, positivepnl);
}

Real-Time Updates

Pricing updates continuously:

Update Frequency:

  • Chainlink prices: Continuous (sub-second updates)
  • Premium calculation: On-demand (instant)
  • User quotes: Real-time as parameters change

MegaETH Advantage: MegaETH's sub-10ms finality means pricing and execution happen nearly instantaneously with no stale price risk.

Implied Volatility

Key parameter in option pricing:

What Is IV?

Market's expectation of future price volatility:

High IV (e.g., 100%):
- Expects large price swings
- Options expensive
- Good for sellers

Low IV (e.g., 40%):
- Expects calm price action
- Options cheap
- Good for buyers

IV Configuration

Set per strategy by protocol:

Strategy Parameters:
- K (volatility): Determines IV used in pricing
- Configurable by admin
- Reflects market conditions
- Updated periodically based on realized volatility

Example:
ETH Call Strategy: K = 85000000 (~85% annualized)
ETH Put Strategy: K = 90000000 (~90% annualized)

Admin Adjustable: IV parameters can be updated to reflect changing market conditions.

IV and Premium

IV directly affects premium cost:

Example: ETH $2,000, 7-day Call

IV 40%: Premium ~$35
IV 60%: Premium ~$65
IV 80%: Premium ~$95
IV 100%: Premium ~$125

Higher volatility → Higher premiums

Traders can evaluate if premiums are relatively high or low based on recent volatility.

Pricing Factors

Underlying Price

Most significant factor:

Call options:
- Price up = Value up
- Price down = Value down

Put options:
- Price up = Value down
- Price down = Value up

Continuous Updates: Chainlink oracles provide frequent price updates, enabling precise pricing.

Time Remaining

More time = More value:

ETH at $2,000
$2,200 calls:

7 days: $30
14 days: $55
30 days: $90

Longer duration = More opportunity for moves

Time Decay: Value decreases as expiration approaches.

Volatility

Higher volatility = Higher value (both calls and puts):

ETH at $2,000
7-day ATM call

IV 40%: $45
IV 60%: $75
IV 80%: $105
IV 100%: $135

More volatility = Greater chance of large moves

Amount

Larger positions require more liquidity:

ETH Call at $2,000:

0.1 ETH: Premium $8
1 ETH: Premium $80
10 ETH: Premium $800

Linear scaling (generally)

Liquidity Constraint: Very large orders may approach pool limits.

Oracle Integration

Strategy contracts query Chainlink:

// Price feed query
(
uint80 roundId,
int256 answer, // Price (8 decimals)
uint256 startedAt,
uint256 updatedAt,
uint80 answeredInRound
) = priceProvider.latestRoundData();

uint256 currentPrice = uint256(answer);
// Example: 200000000000 = $2,000.00 (8 decimals)

Feed Characteristics

ETH/USD:

  • Decimals: 8
  • Update Frequency: Every price deviation or time threshold
  • Example: 200000000000 = $2,000.00

BTC/USD:

  • Decimals: 8
  • Update Frequency: Every price deviation or time threshold
  • Example: 6500000000000 = $65,000.00

Reliability: Chainlink aggregates from multiple data providers for accurate pricing.

Price Staleness

Safety checks prevent stale prices:

Contract Validation:
- Check updatedAt timestamp
- Require recent update (< threshold)
- Revert if price too old

Ensures pricing uses current market data

Premium Quotes

Getting a Quote

Real-time quote generation:

Quote Request Flow:

1. User inputs:
- Strategy type (Call, Put, Straddle, etc.)
- Amount (1 ETH)
- Duration (7 days)

2. Frontend calls:
strategy.calculateNegativepnlAndPositivepnl(1e18, 604800, [])

3. Contract returns:
- negativePNL: 200000000 (200 USDC max loss)
- positivePNL: 80000000 (80 USDC premium)

4. Display to user:
- Premium: $80.00 USDC
- Max Loss: $200.00 USDC

Total latency: < 50ms

Quote Validity

Quotes remain valid briefly:

Quote Lifespan:
- Generated: On-demand
- Valid: Until next Chainlink update or parameter change
- Execution: Must approve and purchase quickly

Recommended: Review and purchase within 1-2 minutes

Price can change if underlying asset moves significantly.

Greeks Impact on Pricing

Delta

Option price change per $1 underlying move:

Delta 0.5:
- ETH rises $10 → Option value +$5
- ETH falls $10 → Option value -$5

Calls: Delta 0 to 1
Puts: Delta -1 to 0

Gamma

Delta change rate:

Gamma 0.02:
- ETH moves $10 → Delta changes by 0.2

High Gamma: Near ATM, short expiry
Low Gamma: Far ITM/OTM, long expiry

Theta

Time decay per day:

Theta -2:
- Option loses $2 value per day
- All else equal

Accelerates near expiration

Vega

Volatility sensitivity:

Vega 5:
- IV rises 1% → Option value +$5
- IV falls 1% → Option value -$5

Long options: Positive vega

Greeks calculated continuously on MegaETH, updated with every relevant state change.

Evaluating Fair Value

Historical vs Implied Volatility

Compare IV to recent realized volatility:

Historical Volatility (30-day): 55%
Implied Volatility (30-day options): 75%

Analysis: IV > HV suggests options expensive
Strategy: Consider selling options

Premium as % of Underlying

Relative premium cost:

ETH at $2,000
7-day call premium: $80

Premium %: $80 / $2,000 = 4%
Annualized: 4% × 52 = 208%

Evaluation: Compare to historical norms

Break-Even Analysis

Required move to profit:

Buy ETH $2,000 call for $80

Break-even: $2,080
Required move: +4% in chosen timeframe

Question: Is 4% move likely?

Pricing Transparency

On-Chain Verification

All pricing is transparent:

Verifiable Data:
- Strategy contract source code
- Chainlink price feeds (public)
- Volatility parameters (on-chain)
- Black-Scholes formula (open source)
- Historical premiums (query on-chain)

No hidden fees or opaque pricing.

Gas Efficiency

Optimized calculations:

Gas Costs:
- Premium quote: 0 gas (view function)
- Option purchase: ~250,000-350,000 gas
- On MegaETH: ~$0.005 total cost

Ultra-low overhead

Advanced Concepts

Volatility Smile

IV varies by moneyness (distance from spot):

Strike:  $1800  $1900  $2000  $2100  $2200
IV: 90% 75% 60% 75% 90%

Shape: Smile (higher at extremes)

Reason in crypto:
- Fat tails (more extreme moves than normal distribution)
- Demand for OTM protection

Volatility Term Structure

IV varies by expiration:

Expiration:  7d    14d    30d
IV: 75% 65% 55%

Shape: Downward sloping

Interpretation: Near-term uncertainty higher

Put-Call Relationships

Price relationships ensure consistency:

Put-Call Parity (theoretical):
Call - Put = Underlying - Strike × e^(-r×T)

On-chain pricing maintains consistency
Arbitrage opportunities minimal due to instant execution

FAQ

Who sets the option prices?
Prices calculated on-chain via Black-Scholes formula implemented in strategy contracts. No human intermediary.

Can prices be manipulated?
No. Prices derive from Chainlink oracles (decentralized) and transparent on-chain math.

How often do prices update?
Continuously. Chainlink provides sub-second price updates. Premiums recalculate instantly.

What if Chainlink price is wrong?
Chainlink aggregates from multiple providers with outlier detection. Circuit breakers prevent stale prices.

Do all strikes use the same IV?
Options created at-the-money at spot price. IV parameter is per-strategy, affecting all options from that strategy similarly.

Can I see historical pricing?
Yes. All on-chain transactions are recorded. Query past premium values and Greeks via blockchain explorers or indexers.

Why does my quote change?
Underlying price changes (via Chainlink updates) affect premiums. Request fresh quote if price moves.

Are there hidden fees?
No. Premium is transparent. Small protocol fee (0.03% of notional) disclosed upfront.

Next Steps

Apply pricing knowledge:


Price is what you pay. Value is what you get.