Crypto Covered Call ETFs: Yield Explained
Crypto covered call ETFs advertise huge distribution rates. Here is what they hold, where the premium comes from, and what the capped upside costs you.
A crypto covered call ETF holds a bitcoin or ether position, or shares of a single crypto linked company, and sells call options against that holding on a monthly or weekly cycle. The option premium it collects becomes the distribution shareholders see on their statement. Advertised rates on these funds sit far above equity covered call funds, and the whole gap comes down to one input: implied volatility, the market's priced expectation of how far the underlying will move before the option expires.
Implied volatility is what an option buyer is paying for. A wider expected range means a wider set of outcomes the call seller is handing over, and a fatter price for the same contract. Crypto linked underlyings carry a multiple of the implied volatility priced into a broad market fund. The panels below measure that gap in real option prices and convert it into the monthly premium a fund can collect.
What a crypto covered call ETF actually holds
Underneath the marketing, these funds use one of a few structures.
- A spot holding: shares of a spot bitcoin or ether ETF, or the coin held directly through a subsidiary, with calls written against the position.
- A futures holding: exchange listed crypto futures, rolled forward as each contract expires. The roll carries a cost of its own, covered in contango and roll yield in ETFs.
- A single stock holding: shares of one crypto linked equity, with calls written on that same stock. This is the usual shape behind the very highest advertised rates.
- A synthetic holding: a long call paired with a short put that together mimic owning the asset, with a shorter dated call sold on top.
In every version the income mechanic is identical to a plain equity fund. The manager gives up the price above a strike and collects cash today. If that trade is new to you, read how covered call ETFs work first and then come back for the crypto specific part.
Why crypto covered call ETF yields run so high
The first panel takes near the money contracts, meaning a strike within 5% of the underlying price, with 20 to 45 days left to expiry, and reads the implied volatility the market assigned them over the last four months. Contracts whose implied volatility failed to converge to a solvable value are excluded, as are contracts that did not trade.
| symbol | median_iv_pct | p90_iv_pct |
|---|---|---|
| MSTR | 75.7 | 94.1 |
| COIN | 68.5 | 81.8 |
| IBIT | 37.7 | 44.2 |
| KO | 20 | 23.8 |
| SPY | 14.1 | 18.2 |
The exact SQL behind every number
SELECT
underlying_symbol AS symbol,
round(quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)) * 100, 1) AS median_iv_pct,
round(quantileDeterministic(0.9)(toFloat64(implied_volatility), cityHash64(ticker)) * 100, 1) AS p90_iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('MSTR', 'COIN', 'IBIT', 'SPY', 'KO')
AND date >= today() - 120
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY symbol
ORDER BY median_iv_pct DESCMSTR sits at the top of the list with a median implied volatility of 75.7%, and its ninetieth percentile day reaches 94.1%. At the other end of the same panel, SPY prints a median of 14.1%. Same option math, same expiry window, same filter. The names at the top are priced for a far wider range of outcomes than the name at the bottom, and an option seller is paid for exactly that width.
From implied volatility to monthly premium
Implied volatility is an annualized percentage, which is hard to picture as cash. The second panel does the conversion a fund performs every cycle. It prices real calls with 25 to 35 days left and expresses each contract's closing price as a percentage of the underlying price on the same day. That figure is the gross premium a fully covered position collects for one month of writing.
Two strikes are shown. The at the money column uses contracts with a delta near 0.50, roughly a coin flip of finishing in the money. The further out column uses a delta near 0.25, a strike set higher above the current price, which leaves the holder more room to participate in a rally.
Delta between 0.20 and 0.55 isolates calls on its own, since put deltas are negative. MSTR paid 8.07% of the share price for a single at the money month, and 3.1% for the strike set further away. The name at the bottom of the same panel, SPY, paid 1.48%. Collect the top figure twelve times, pay all of it out, and the advertised annual distribution rate appears without a single dollar of contribution from the asset itself. The full accounting, premium received against price change and against whatever the strike capped away, is worked through in how to calculate covered call returns.
The premium is a price, not a fixed yield
Implied volatility is quoted in a market, and market prices move. The monthly series below tracks near the money implied volatility for the two crypto linked equities against a broad market fund across the last two years.
| month | mstr_iv_pct | coin_iv_pct | spy_iv_pct |
|---|---|---|---|
| 2024-09-01 | 81.2 | 68.4 | 15.1 |
| 2024-10-01 | 101.4 | 86.2 | 16.6 |
| 2024-11-01 | 144.6 | 86.2 | 13.8 |
| 2024-12-01 | 110.8 | 74.8 | 12.7 |
| 2025-01-01 | 99.1 | 76.2 | 14.4 |
| 2025-02-01 | 79.1 | 70.6 | 14.1 |
| 2025-03-01 | 89.3 | 73.2 | 19 |
| 2025-04-01 | 83 | 77.2 | 27.2 |
| 2025-05-01 | 67.2 | 62.6 | 18.5 |
| 2025-06-01 | 51.2 | 57.1 | 15.9 |
| 2025-07-01 | 51.6 | 65.3 | 15 |
| 2025-08-01 | 54.8 | 55.3 | 13.7 |
| 2025-09-01 | 55.3 | 55.6 | 13.3 |
| 2025-10-01 | 64.8 | 68.6 | 15.7 |
| 2025-11-01 | 77.1 | 64.8 | 16.7 |
| 2025-12-01 | 73.8 | 54.9 | 13.5 |
| 2026-01-01 | 67.6 | 57 | 14 |
| 2026-02-01 | 83.2 | 73.3 | 16.4 |
| 2026-03-01 | 73.5 | 72.2 | 21 |
| 2026-04-01 | 71.5 | 76.4 | 17.2 |
The exact SQL behind every number
SELECT
toString(toStartOfMonth(date)) AS month,
round(avgIf(toFloat64(implied_volatility), underlying_symbol = 'MSTR') * 100, 1) AS mstr_iv_pct,
round(avgIf(toFloat64(implied_volatility), underlying_symbol = 'COIN') * 100, 1) AS coin_iv_pct,
round(avgIf(toFloat64(implied_volatility), underlying_symbol = 'SPY') * 100, 1) AS spy_iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('MSTR', 'COIN', 'SPY')
AND date >= toStartOfMonth(today() - 730)
AND date < toStartOfMonth(today())
AND iv_converged = 1
AND volume > 0
AND underlying_close > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY month
HAVING countIf(underlying_symbol = 'MSTR') > 0
AND countIf(underlying_symbol = 'COIN') > 0
AND countIf(underlying_symbol = 'SPY') > 0
ORDER BY month24 months are in view. In the most recent complete month, MSTR near the money contracts averaged 71.5% against 13.3% on the broad market fund. The line wanders, sometimes by tens of points inside a quarter. A fund writing calls every month collects whatever the market pays that month, and the published distribution rate on an issuer's page is a backward looking figure calculated from the most recent payment rather than a commitment about the next one. The level history for each name has its own page: MSTR implied volatility and COIN implied volatility.
What the distribution costs: the months you give up
Every premium dollar is paid for with upside. A call sold a few percent above the price hands back everything above that strike for the life of the contract. The cost only shows up in the months the underlying runs hard, so the honest question is how often those months arrive.
| symbol | months_up_over_5 | months_up_over_10 | months_up_over_20 | months_measured |
|---|---|---|---|---|
| MSTR | 17 | 15 | 10 | 36 |
| COIN | 16 | 12 | 8 | 36 |
| SPY | 5 | 0 | 0 | 36 |
The exact SQL behind every number
WITH monthly AS
(
SELECT
ticker,
toStartOfMonth(date) AS m,
argMin(toFloat64(close), date) AS first_close,
argMax(toFloat64(close), date) AS last_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('MSTR', 'COIN', 'SPY')
AND date >= toStartOfMonth(today() - 1095)
AND date < toStartOfMonth(today())
GROUP BY ticker, m
)
SELECT
ticker AS symbol,
countIf(last_close / first_close - 1 > 0.05) AS months_up_over_5,
countIf(last_close / first_close - 1 > 0.10) AS months_up_over_10,
countIf(last_close / first_close - 1 > 0.20) AS months_up_over_20,
count() AS months_measured
FROM monthly
GROUP BY symbol
ORDER BY months_up_over_20 DESCAcross 36 calendar months, MSTR closed higher by more than 20% in 10 of them, and by more than 10% in 15. SPY managed 0 months above 20% over the same span. A fund writing a strike 10% out of the money keeps its premium in all of those months and forfeits the rest of the move. The premium in the second panel is the payment for that forfeit, and the count here is the frequency of the event being sold.
Why the share price does not bounce back
Premium leaves the fund as cash on the distribution date, which means it is not retained to cushion the next decline. The underlying falls with the market it tracks, the fund's NAV falls with it, and the next month's calls are written from the lower level. The panel measures each month end close against the highest month end close of the same two year window.
| month | mstr_below_peak_pct | coin_below_peak_pct |
|---|---|---|
| 2024-09-01 | 58.3 | 52.8 |
| 2024-10-01 | 39.5 | 52.5 |
| 2024-11-01 | 4.1 | 21.6 |
| 2024-12-01 | 28.4 | 34.3 |
| 2025-01-01 | 17.2 | 22.9 |
| 2025-02-01 | 36.8 | 42.9 |
| 2025-03-01 | 28.7 | 54.4 |
| 2025-04-01 | 6 | 46.3 |
| 2025-05-01 | 8.7 | 34.7 |
| 2025-06-01 | 0 | 7.2 |
| 2025-07-01 | 0.6 | 0 |
| 2025-08-01 | 17.3 | 19.4 |
| 2025-09-01 | 20.3 | 10.7 |
| 2025-10-01 | 33.3 | 9 |
| 2025-11-01 | 56.2 | 27.8 |
| 2025-12-01 | 62.4 | 40.1 |
| 2026-01-01 | 63 | 48.4 |
| 2026-02-01 | 68 | 53.4 |
| 2026-03-01 | 69.1 | 53.8 |
| 2026-04-01 | 59.1 | 50.3 |
The exact SQL behind every number
WITH monthly AS
(
SELECT
ticker,
toStartOfMonth(date) AS m,
argMax(toFloat64(close), date) AS month_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('MSTR', 'COIN')
AND date >= toStartOfMonth(today() - 730)
AND date < toStartOfMonth(today())
GROUP BY ticker, m
),
peaks AS
(
SELECT ticker, max(month_close) AS peak_close
FROM monthly
GROUP BY ticker
)
SELECT
toString(mo.m) AS month,
round(avgIf((1 - mo.month_close / pk.peak_close) * 100, mo.ticker = 'MSTR'), 1) AS mstr_below_peak_pct,
round(avgIf((1 - mo.month_close / pk.peak_close) * 100, mo.ticker = 'COIN'), 1) AS coin_below_peak_pct
FROM monthly AS mo
INNER JOIN peaks AS pk ON pk.ticker = mo.ticker
GROUP BY month
HAVING countIf(mo.ticker = 'MSTR') > 0
AND countIf(mo.ticker = 'COIN') > 0
ORDER BY monthThe most recent month in view closed 67.1% under the window high for MSTR and 50.2% under it for COIN. A holder who took every distribution in cash along the way owns a position at the lower level with no claim on the recovery above the strikes that were sold during it.
The second half of this is tax character. A distribution is not automatically income. When a fund pays out more than it earned in premium and dividends, the excess is classified as return of capital, which lowers NAV and lowers your cost basis by the same amount. It arrives on the 1099-DIV as a nontaxable distribution and is often marketed as tax efficiency, and the mechanic is plainly that part of your own principal is being handed back. Return of capital in ETF distributions covers how to read the character breakdown. Every issuer publishes the per payment history for its own funds, and that history is the only accurate source for what a specific fund has actually paid.
Who these funds fit, and who they do not
These are income vehicles wrapped around an asset with a crypto shaped drawdown profile. Four characteristics decide whether the wrapper matches what a reader wants.
- The distribution is funded by selling upside. A holder who wants full participation in a rally will not get it here.
- The rate is variable. It moves with implied volatility month to month, as the two year series above shows.
- NAV erosion in a falling market is structural, since the premium is paid away rather than retained.
- Total return, distributions plus price change, is the only figure that compares one of these funds against simply holding the underlying.
Data notes and method
Implied volatility and greeks are per contract daily values. Contracts are included only where the solver converged and the contract traded that day. Near the money means a strike within 5% of the same day underlying close. The premium panel reads the contract's closing price against the same day underlying close and buckets by delta, which separates calls from puts without relying on a text field. Monthly returns are first close to last close inside the calendar month, computed from unadjusted daily closes. The drawdown panel measures against the highest month end close of the displayed window, not an intraday high, so it reads lower than a peak to trough figure quoted elsewhere. No distribution rate, NAV or payment history appears in any panel on this page.
FAQ
What is a crypto covered call ETF?
It is a fund that holds crypto exposure, whether spot, futures, or a single crypto linked stock, and sells call options against that holding on a set schedule. The option premium collected funds a monthly or weekly distribution to shareholders.
Why are crypto covered call ETF yields so high?
Option premium scales with implied volatility, and crypto linked underlyings carry several times the implied volatility of a broad market fund. The panels above price real one month calls at a large percentage of the share price on the crypto linked names against a low single digit percentage on the broad market name.
Are crypto covered call ETF distributions the same as income?
Not always. When a fund distributes more than it earns, the excess is classified as return of capital, which reduces NAV and your cost basis rather than representing profit. The fund's own 1099-DIV character breakdown is the place to check.
Do crypto covered call ETFs track bitcoin?
They track it on the way down more closely than on the way up. Written calls cap gains above the strike in each option cycle while the position keeps full exposure to declines, so total return lags the underlying across a strong rally.
What happens to one of these funds in a huge up month?
The fund keeps the premium and forfeits the move above its strike. The big up month count above measures how frequently that event has occurred over the last three years on each name.
Every panel here ships with the exact SQL beneath it. Open one, swap the ticker, and run the same implied volatility comparison on any underlying you follow from the Strasmore terminal.