NutShell
Options on Thetanuts Finance V4, in a nutshell🥜
Created on 29th August 2026
•
NutShell
Options on Thetanuts Finance V4, in a nutshell🥜
The problem NutShell solves
The problem it solves
Someone holding crypto who expects a fall has two moves: sell, or ride it down. Options are the third, and almost nobody makes it, not because the idea is hard. Every options interface opens with strikes, expiries and greeks, and none of them answer the only question a beginner actually has: if I'm wrong, what does this cost me?
The fear behind that question is well founded. Options really can lose you more than you put in, but only if you sell them. Buying one has a floor: the premium, and nothing past it. Mainstream interfaces put the safe half and the dangerous half behind the same screen and leave you to work out which one you are doing.
Borrowers face a sharper version, because the first move is not available to them at all. Collateral deposited on Aave is locked, so a falling price is not something you can sell your way out of. You watch the health factor slide toward a liquidation penalty and hope. A put is the instrument that helps, but pricing one against your own loan means knowing your liquidation price, choosing a strike above it, and sizing it against your debt: three pieces of arithmetic before you have even opened an order book.
NutShell is two doors onto the same thing. Say what you think will happen, and it finds a real order on the live Thetanuts book, explains it in plain English, and states the most you can lose before you commit. Or hand it the address of an Aave loan, and it reads the position, derives the liquidation price Aave itself would use, and prices the put that pays out in USDC if the collateral falls past it. No sentence, no model, just arithmetic.
It only ever buys. That single constraint is what makes everything else honest: your maximum loss is exactly the premium you paid, it is knowable before you sign, and the interface can say so with no asterisk attached.

Challenges we ran into
Four of the six assets looked identical to the SDK. Keying the order book on underlyingToken is the obvious move and it is wrong. On the live Base book only ETH and BTC carry a real token: SOL, BNB, XRP and AVAX are cash-settled and all four report the zero address, so keyed by token they collapse into one bucket and a trader asking for SOL gets BNB strikes at XRP prices. We re-keyed the book on the Chainlink price feed each order carries, using a registry that excludes any feed nobody has verified. The same bug had a second half: the payout asset was derived as isCall ? "WETH" : "USDC", which tells a SOL call buyer they will receive WETH.
A restart during a sealed-bid auction destroyed money. Opening a request commits a reserve price on-chain and then waits, sometimes an hour. The keypair that decrypts maker offers lived in memory, so any deploy or crash in that window left a funded, live quotation whose bids nobody could ever read, with no recovery. We now persist the request before the browser is handed anything to sign, and a request already open on-chain is kept and marked cancelled instead of deleted.
Tracks Applied (2)
BEST PRODUCT BUILT ON THE THETANUTS SDK
Thetanuts Finance
AI × OPTIONS
Thetanuts Finance
