On-Chain Options Quote Accepted: Why Does the Transaction Still Revert After Being On-Chain?

 / 
2

You accepted an on-chain options quote, and the transaction was submitted to the blockchain. But a little later, you look again and the transaction has reverted. Everything is back to the beginning. This does not mean the platform is targeting you. It is a basic but easy-to-miss rule in on-chain options settlement: only transactions whose state changes fully succeed are finally confirmed. If anything goes wrong, the whole transaction reverts.

First, understand what an on-chain transaction revert means

Centralized exchanges handle trades through internal bookkeeping. When a trade is filled, they update a database. On-chain options are different. Every action you take is a transaction sent to a smart contract. Blockchains like Ethereum handle state changes in an atomic way: all operations in a transaction either succeed completely or fail completely. If one condition is not met—such as insufficient balance, an expired quote, or a changed contract state—the whole transaction is reverted, and the state goes back to before the transaction ran.

This is a different logic from centralized exchanges, which often match first and check risk later.

Common reasons for on-chain options reverts

1. Your account state changed between the quote and the on-chain submission

This is the most common reason. When you accepted the quote, your balance was enough. But during the time before you actually sign and submit the transaction—and before it is packed into a block—you may have done something else. For example, you moved some margin out, or used the same funds elsewhere. When the transaction executes on-chain, the contract checks and finds the balance is no longer enough, so it reverts.

2. The counterparty did not keep up

Options trading involves both a buyer and a seller. You accepted the quote, but if the counterparty did not complete their part in time—for example, the seller did not lock enough collateral—the transaction may not be able to execute fully. In the Ithaca protocol design, it clearly says that if funds are insufficient when an order is executed, the matching engine will directly reject it.

3. The quote expired

On-chain quotes usually have an expiration time. The quote was valid when you received it, but if you waited too long before submitting the transaction, the on-chain verification may find that the quote has already expired. The contract will treat the quote as invalid, and the transaction reverts.

4. The transaction collided with another one (race condition)

On options protocols like Putty, there has been a case where a user accepted a counterparty's quote, but at the same time another transaction—such as someone else filling the same order—completed first. By the time your transaction executes, the order state has already changed. The contract sees a logical conflict and reverts.

What to do after a revert

Step 1: Confirm it is a revert, not a different failure

Go to a block explorer such as Etherscan, enter the transaction hash (TxID), and check the transaction status. If it shows Fail or Reverted, it was reverted. The page usually shows the specific reason, such as insufficient balance. That is your clue.

Step 2: Check your account balance and order status

A revert means the on-chain state did not change. Your money is not lost, and your options position did not change. Check your wallet and the trading platform to confirm your balance and order status, and make sure the funds are still there.

Step 3: Submit the transaction again

If the quote is still within its valid period, you can try again. But if the quote expired, or the order was taken by someone else, you need to request a new quote.

Risk reminder: revert and failed trade are not the same

A revert does not make you lose money. The on-chain state returns to the beginning, and funds do not disappear. However, if you submit the same transaction repeatedly and it keeps failing, you will keep paying gas fees. Every failed attempt still costs miner fees. In that case, the money is not lost in the trade itself; it is lost in gas.

How to check whether an operation is complete

After submitting a transaction, go to a block explorer and check the final transaction status. If the status shows Success, the on-chain operation succeeded, and your position and balance have changed. If it shows Fail or Reverted, the transaction reverted and your account state did not change. Follow the steps above, then try again.