RWA Options Protocol · Base · Est. 2026
sans Seraph.

The first liquid, fairly-priced options market for on-chain RWA tokens. Every protocol running without it is leaving yield on the table.

Spread over fair value 10–50% util-adjusted (vs. flat ~50% elsewhere)
Secondary market AMM + RFQ; LP exits: 7-day queue
Settlement Cash-settled USDC on-chain
Integration IOptionsUnderwriter interface
Run the Calculator How it works
Scroll
Incumbent markup above BSM
~50%
Typical spread in today's market
Incumbent secondary liquidity
None
Positions locked to monthly expiry
Seraph spread target
10–50%
Utilization-adjusted above BSM
Annualized savings
~$2.6M
Per $10M notional (spec §3.3 scenario)
There is a world with Seraph and a world without it.

On-chain RWA covered calls are priced far above Black-Scholes fair value today — not because markets demand it, but because captive distribution removes the pressure to compete. Incumbents profit on spread and deliberate illiquidity.

There is no secondary market. Positions lock at inception and expire monthly. The model is closed by design — because liquidity would compress the spread, and the spread is the product.

Seraph replaces that with an open market. Fair pricing, deep option liquidity, and a secondary market that lets anyone enter or exit before expiry. LP capital redeems on a 7-day queue.

Metric
Status Quo
With Seraph
Premium markup
~50% over fair
10–50% over fair (util-adj.)
Secondary market
None
AMM + RFQ
Exit before expiry
Impossible
Any time
Pricing model
Proprietary, opaque
On-chain Black-Scholes
Liquidation handling
Force close
Position inheritance
Protocol integration
Bespoke, closed
Open adapter interface
How much is your protocol leaving on the table?

Enter your monthly covered call volume. See what fair pricing actually costs — and what you've been paying instead.

$
$1M$50M$100M
Current state — sans Seraph
Status quo market rate
$225,000
Monthly premium at ~50% above fair value
Borrower savings per month
Monthly · Annual
$52,500
$630,000 per year — lower loan costs, more borrower demand
23% cheaper
Three things the market never built.
01
Loan opens
Borrower deposits RWA collateral. Lending protocol triggers option write via adapter.
02
Option priced
Black-Scholes on-chain. SVI volatility surface. 10–50% above fair value, utilization-adjusted.
03
Premium flows
USDC premium collected by LP pool, distributed as depositor yield.
04
Market trades
ERC-1155 option tokens. AMM for retail. RFQ for blocks above $25K notional.
05
Settlement
Cash-settled USDC at expiry. Dual oracle validation, 1-hour challenge window.
01 — Pricing

Fair value, on-chain

Every option priced using Black-Scholes with a live implied volatility surface — SVI-parameterized, updated by an oracle network reading TradFi options markets. No black box.

10% base markup above BSM fair
Utilization-adjusted — more demand, higher price
Per-series skew from live trade flow
Pyth + Chainlink dual oracle, 1-hour challenge window
02 — Liquidity

A market, not a product

Positions are ERC-1155 tokens. They trade. Anyone can buy, sell, or exit before expiry through the vAMM or the RFQ system for large blocks.

Virtual AMM — delta-aware, no reserve needed
RFQ for >$25K notional, 30s quote window
Per-series skew accumulator for pool risk
ERC-4626 USDC pools, isolated per underlying
03 — Integration

Plug in, don't rebuild

Lending protocols implement one interface. Seraph handles pricing, writing, rolling, settlement, and liquidation inheritance.

IOptionsUnderwriter — open adapter standard
Auto-strike selection (20-delta targeting)
Monthly auto-roll with net premium delta
Liquidation callbacks — inheritance, not force-close

One adapter. Full market access.

Seraph ships an open IOptionsUnderwriter interface. Lending protocols call writeOption() when a loan opens, collect the premium as depositor yield, and let Seraph handle everything else.

Pricing, rolling, settlement, liquidation inheritance. Launching on Base — Ethereum mainnet expansion planned for Phase 2.

LendingProtocol.sol — integration
function onLoanCreated(
    address borrower,
    address underlying,
    uint256 collateral,
    bytes32 loanId
) external {
    // preview pricing before committing
    (, , uint256 premium, ) =
        seraph.previewWrite(WriteParams({
            underlying:  underlying,
            collateral:  collateral,
            strike: 0,  // auto: 20-delta (~15% OTM approx)
            expiry: 0,  // auto: next monthly
            isPut:  false,
            borrower:    borrower,
            loanId:      loanId
        }));

    // write the covered call
    PositionInfo memory pos =
        seraph.writeOption(...);

    // premium → USDC depositor yield
    yield.add(pos.premiumCollected);
}

Stop building
sans Seraph.

The protocol spec is public. The integration interface is open. If you're running a lending protocol on RWA tokens and overpaying for covered call coverage, the math speaks for itself.