Building a 1 DTE Ethereum Options Bot: Early Results, Design Choices, and Risk Considerations

| Terramatris | 22 seen

Since late April 2026, I have been developing and testing an automated trading system for selling one-day-to-expiration Ethereum put options on Bybit.

The system is currently indicating an annualized return of approximately 23%. This result is encouraging, but it should be interpreted carefully. The number is based on a relatively small sample, and the strategy has not yet been tested through enough severe market declines, assignments, or prolonged periods of unfavorable liquidity.

At this stage, I consider the 23% figure an early observation rather than a reliable forecast.

From Manual Trading to Automation

The trading logic itself is not new.

During the early period of the TerraMatris Ethereum strategy, I manually opened approximately one short-dated ETH options trade per day for close to a year. The basic approach was to sell one-day put options with relatively low delta and allow rapid time decay to work in favor of the position.

The original strategy generally targeted put options with delta below approximately -0.10.

From today’s perspective, that threshold appears relatively aggressive. Delta is not a precise probability of assignment, but it is often used as a rough approximation of how likely an option is to finish in the money. A -0.10 delta therefore still represents a meaningful level of short-term downside exposure.

When designing the automated version, I wanted to test a more conservative configuration.

I initially reduced the maximum delta to approximately -0.07 and later tightened it further to around -0.06.

The current objective is to sell far out-of-the-money ETH puts while maintaining a wider distance between the market price and the strike price.

This reduces expected premium income, but it also lowers the frequency of challenged trades. It does not eliminate assignment risk.

Why Automation Makes the Strategy More Complex

The manual version of the strategy was operationally simple. I reviewed the market, selected a contract, placed the trade, and decided how to respond if market conditions changed.

A bot must formalize all of those decisions.

It must determine:

  • which expiration qualifies as one day to expiration;
  • which contracts satisfy the delta threshold;
  • whether the bid and ask prices are usable;
  • whether the spread is acceptable;
  • whether there is sufficient liquidity;
  • whether an existing position has expired;
  • whether a replacement trade should be opened;
  • what to do when no suitable contract is available;
  • and how to respond if the option finishes in the money.

This is where automation becomes significantly more difficult than simply writing an order-placement script.

The code must manage the full trade lifecycle rather than only the initial entry.

Current Technical Structure

The bot is connected to the Bybit API and scans the ETH options chain for eligible put contracts.

Its current filters include:

  • Ethereum put options only;
  • approximately one day remaining until expiration;
  • a maximum delta near -0.06;
  • valid bid and ask prices;
  • acceptable bid-ask spread;
  • sufficient market data;
  • and no automatic fallback to a riskier strike when no candidate satisfies the rules.

The current trade size is only 0.1 ETH per position.

This is intentional.

The goal is not to maximize nominal income. The goal is to test reliability, execution quality, lifecycle behavior, and assignment handling using limited capital.

At this size, the daily premium is typically small. Most trades generate approximately $0.10 to $0.15, while occasional fills may reach around $0.33.

The strategy therefore depends on repetition, consistency, and controlled downside rather than large individual gains.

Interpreting the Return

The current annualized return of approximately 23% is derived from the observed premium collected relative to the capital allocated to the strategy.

Annualization can be useful for comparison, but it can also exaggerate early performance.

Several factors may reduce the eventual realized return:

  • assignment losses;
  • slippage;
  • trading fees;
  • widening bid-ask spreads;
  • missed trades;
  • inactive periods;
  • capital tied up after assignment;
  • losses during rolling;
  • and unfavorable execution during volatile markets.

The most important risk is structural.

The strategy collects many small premiums in exchange for accepting the possibility of a much larger loss during a sharp ETH decline.

A high win rate does not necessarily imply a high-quality strategy. The distribution of losses matters more than the percentage of winning trades.

Why I Temporarily Stopped the Bot

After approximately 20 days of initial live testing, I turned the bot off.

The reason was not a major software failure. ETH prices were declining, and I became uncomfortable with continuously selling short-dated puts into a weakening market.

This decision highlighted an important issue in systematic trading.

A bot executes rules consistently, but the human operator still decides whether the rules remain appropriate under changing market conditions.

In theory, a fully systematic strategy should continue operating unless a predefined risk condition is triggered. In practice, I had not yet completed the necessary market-regime and assignment-management rules.

Turning the bot off was therefore a discretionary risk-management decision.

Restarting the Strategy in July 2026

I restarted the bot in the middle of July 2026, but with a different portfolio role.

It is no longer treated as a standalone strategy.

Instead, it now operates as a supplementary component of the main Terramatris Ethereum portfolio, which already includes longer-duration puts, covered calls, and rolling strategies.

This integration changes the economic interpretation of assignment.

Previously, assignment was mainly treated as an outcome to avoid. Under the current structure, assignment may also contribute to the portfolio’s long-term objective of accumulating ETH.

If a 0.1 ETH put is assigned, the acquired ETH can be added to the long portfolio and later used in a covered-call strategy.

Assignment is still a loss relative to purchasing ETH at the current market price if ETH falls materially below the strike. However, it is no longer automatically incompatible with the portfolio’s broader objective.

The Most Important Current Bug

The main unresolved problem is the post-expiration retry logic.

When an existing position expires, the bot immediately scans for a new eligible one-day contract.

Under the stricter -0.06 delta rule, there may be no qualifying contract at that exact moment.

A valid contract may appear five, 15, or 25 minutes later because:

  • ETH moves;
  • market makers update prices;
  • option deltas change;
  • or liquidity improves.

The current version may fail to place a new trade if the first scan after expiration returns no candidate.

I observed this behavior on three consecutive trading days and had to enter the trades manually.

A more robust system should enter a waiting state and continue scanning until:

  • a valid contract appears;
  • a maximum waiting period expires;
  • market conditions become unsuitable;
  • or a safety condition requires manual intervention.

Without this behavior, the bot is automated but not fully autonomous.

Assignment and Rollover Logic

The easiest scenario is when the sold put expires worthless.

The bot records the result and begins searching for the next eligible contract.

The more difficult scenario occurs when ETH falls below the strike price.

Several responses are possible:

  1. Accept assignment and add the ETH to the long-term portfolio.
  2. Buy spot ETH and stop the short-put cycle.
  3. Roll the put to a later expiration.
  4. Apply additional technical or volatility filters.
  5. Require manual intervention.

This decision cannot be reduced to a single rule without testing.

For example, automatic rolling may appear attractive, but a roll can simply postpone a loss and increase exposure. Immediate spot acquisition may align with the portfolio’s long-term ETH objective, but it may also use capital at an unfavorable moment.

The rollover and assignment module is therefore more important than adding new user-facing features.

Why I Paused Multi-User Development

I briefly experimented with turning the bot into a multi-user system.

The idea was to allow selected users to connect their own Bybit API credentials and test the strategy.

Using ChatGPT, I began adding user accounts, API configuration, lifecycle management, and dashboard components.

After several hours, I decided to stop.

The resulting system was becoming more complex, but not necessarily more reliable. During rapid AI-assisted development, it is easy to add functionality faster than the underlying architecture can support it.

ChatGPT can generate large amounts of code quickly, but it can also overwrite stable components, introduce inconsistent assumptions, or solve one problem while creating another.

This experience reinforced a basic engineering principle: feature expansion should not come before operational reliability.

For now, the bot will remain an internal TerraMatris tool.

Monitoring and Observability

A trading bot must communicate its state clearly.

It should not appear inactive when it is simply waiting for the next scan.

The dashboard and event log should display:

  • the time of the most recent scan;
  • the time of the next scheduled scan;
  • whether a position is open;
  • whether no eligible candidate was found;
  • why contracts were rejected;
  • whether the bot is waiting for market conditions to change;
  • and whether manual intervention is required.

This is not only a user-interface issue.

Good observability is part of risk management. If the operator cannot determine what the bot is doing, it becomes difficult to distinguish normal inactivity from a software failure.

The Next Research Milestone

My next target is 100 completed trades.

That sample will still be too small for strong statistical conclusions, but it should provide a more useful basis for evaluation.

I plan to track:

  • average premium per trade;
  • median premium;
  • return after fees;
  • fill quality;
  • number of missed trades;
  • frequency of assignments;
  • maximum adverse move;
  • capital utilization;
  • performance during falling ETH markets;
  • performance by volatility regime;
  • and the effectiveness of rollover or assignment recovery.

I am comfortable with one or two assignments during this period.

A system that completes 100 trades without any materially challenged positions may not have experienced sufficiently diverse market conditions to reveal its weaknesses.

What Would Constitute a Successful Result?

A successful test would not simply mean achieving a 23% annualized return.

A more meaningful result would require the system to demonstrate:

  • stable execution;
  • predictable capital usage;
  • transparent logs;
  • controlled assignment frequency;
  • acceptable drawdowns;
  • consistent behavior during volatility;
  • and a clear recovery process after adverse trades.

The strategy should be evaluated as a complete portfolio process, not as a collection of small winning trades.

Conclusion

The 1 DTE ETH bot is producing promising early results, but the evidence remains preliminary.

The current annualized return of approximately 23% reflects a limited sample and has not yet been validated across multiple market regimes.

The most valuable progress so far is not the return itself. It is the gradual conversion of a manually traded idea into a structured, testable, and observable system.

The next stage is not expansion.

It is validation.

Before considering multi-user access or larger position sizes, the bot must complete a sufficiently large sample of trades, handle missing candidates reliably, manage assignment, and demonstrate that its results remain acceptable after fees, slippage, and adverse market movements.

For now, the strategy remains a small internal component of the broader TerraMatris Ethereum portfolio.

Disclaimer

This article describes the development and testing of a personal trading system. It is provided for educational and informational purposes only and should not be considered investment advice or a recommendation to trade Ethereum options.

Selling options involves substantial risk. A strategy may produce many small gains and still experience significant losses during sharp market moves. Annualized results calculated from a small sample can be misleading, and past performance does not guarantee future results.