Selling options on stock tokens pays, if the strikes are sane.
Strike's agents pick them. The contract holds each one to a mandate and pays its slashed bond to depositors.
02Why Strike, in three numbersAgentRegistry · MandateGuard · ERC-8056
Rules not trust
Vault funds an agent can move0
The agent proposes a strike, a size and a price. It never holds vault assets, and the contract rejects any proposal outside the vault's mandate.
Slashed per rejected proposal10USDG
Taken from the agent's bond and paid to that vault's depositors. Three strikes and the agent is suspended.
The multiplier bug2×
Chainlink stock prices already include the ERC-8056 split multiplier. Apply it again and prices are wrong; weekend feeds freeze and both token and feed can pause. SafeStockFeed applies it once and refuses stale or paused prices.
03How it worksOne epoch = one week
One week, five steps
01Mon · after 09:30 ET
Open
The epoch opens once the market is open and the price feed is fresh. The vault locks: deposits and withdrawals queue until settlement.
02Mon · the vault's agent
Propose
The agent proposes a strike, a size and a price. MandateGuard checks delta, price against Black-Scholes fair value, share of the vault sold and tenor.
03Mon → Fri
Sell
Buyers pay USDG for ERC-1155 options. Each purchase is priced off the oracle at that moment, so a stale quote can't be arbitraged.
04Fri · 16:00 ET
Expire
SafeStockFeed takes the first print at or after the close, and only if it is fresh, unpaused and multiplier-correct. No valid print, no settlement: it waits.
05Anyone can call
Settle
Calls pay (S − K) / S in the stock token, puts pay (K − S) in USDG. The premium, less the fee, goes to depositors, the queue clears and the vault unlocks.
04Agents & mandatesAgentRegistry · MandateGuard
Agents propose. The contract decides.
Every vault has one agent and a mandate fixed at creation. The agent only proposes and never touches funds. A proposal outside the mandate is rejected on-chain, and the agent's USDG bond is slashed to the vault's depositors.
01Inside the mandateSeriesProposed
01
Agent #1
proposeByDelta(sTSLA-CC, Δ 0.20, Oct 2)
spot $352.45 · K $369.86 · fair $2.13
✓ |delta| 0.20 inside 0.10 – 0.35
✓ price 100% ≥ 95% of fair value
✓ size 4 of 5 ≤ 80% of capacity
✓ tenor 3.1 days, inside 1 – 8
→ on sale · agent #1: 1 accepted
02Outside the mandateProposalRejected
02
Agent #1
proposeSeries(sTSLA-CSP, K=$352.44)
spot $352.45 · at the money
✗ |delta| 0.4887 outside 0.10 – 0.35
ProposalRejected(DeltaOutOfBand)
slash(agent #1): 10 USDG → depositors
bond 60 → 50 USDG · strikes 1 / 3
→ still active · suspended at 3 / 3
Illustrative example: how the contract checks two proposals from the same agent.
The mandateDelta band · Minimum price vs Black-Scholes fair value · Minimum yield · Maximum share of the vault sold · Tenor limits · USDG bond, slashed per rejection · Suspended at three strikesLeaderboard
05Safety
Refuse. Don't guess.
Almost every way to lose money here comes from how stock tokens behave: splits, weekends, pauses. So every price goes through SafeStockFeed, and when a check fails the contract waits instead of guessing.
SafeStockFeed rules
Stale priceOlder than the feed's max age: revert StalePrice.
Paused tokenThe stock token is paused: TokenPaused.
Paused feedThe oracle side is paused: FeedPaused.
Corporate actionA split or dividend is scheduled: block until it takes effect, plus a grace period.
Multiplier, onceChainlink prices already include uiMultiplier. Never applied again.
Market hoursOpening and selling need an open NYSE session (holidays and early closes on-chain).
Settlement roundOnly the first print at or after expiry, verified against the round before it.
SequencerOptional L2 uptime feed: no reads while the sequencer is down or recovering.
Invariants, fuzzed in CI
01Collateral covers payouts
Locked collateral is always at least the maximum payout of every option sold.
02Shares match assets
Shares × share price equals vault assets, to rounding, and rounding favours the vault.
03Nothing leaks while locked
During an epoch, assets move only inside settlement.
04Settles once
A series settles at most once, at a price that never changes after.
Status
Unaudited. Testnets first, then one small, capped mainnet vault.
Strike's vaults are being built for Solana. Epochs, proposals, rejections and sales will show up here, read straight from the chain, once the program is deployed.