Strike: stock tokens that pay every week
Weekly options vaults for Robinhood Chain stock tokens. Premium paid in USDG, strikes picked by AI agents the contract keeps inside a mandate.
Open appRules
not trust
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.
Taken from the agent's bond and paid to that vault's depositors. Three strikes and the agent is suspended.
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.
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.
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.
Both proposals are from one live run on Robinhood Chain testnet, 2026-09-29, by agent #1 (ERC-8004 identity #114).
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
Locked collateral is always at least the maximum payout of every option sold.
Shares × share price equals vault assets, to rounding, and rounding favours the vault.
During an epoch, assets move only inside settlement.
A series settles at most once, at a price that never changes after.
StatusUnaudited. Testnets first, then one small, capped mainnet vault.
Live on Robinhood Chain testnet
The newest EpochManager events, read straight from the chain: epochs, proposals, rejections and sales. Each row links to its transaction on Blockscout.
On testnet so far
- wallets ( outside the team)
- vault epochs
- proposals accepted, rejected
- options bought
- USDG slashed to depositors
- decision records anchored
Counted from contract logs on every deployments, Robinhood Chain testnet and Arbitrum SepoliaPer chain, with sources
Newest first · refreshes every 30 s
Try it without a wallet
Built on Robinhood Chain, USDG and Arbitrum Stylus
ERC-8056 stock tokens and their Chainlink feeds. Testnet 46630 now (v2 and v3), a capped vault on mainnet 4663 next.
Premiums, put collateral, agent bonds and fees are all Global Dollar. No swaps at settlement.
Black-Scholes in Rust with fixed-point math, checked bit-for-bit against a Solidity twin in CI. Live on Robinhood Chain testnet and Arbitrum Sepolia.
Put your stock
tokens to work.
We're building Strike as a company, starting on these testnets.Read the plan