Skip to content

Releases: Prashant-thakur77/Strike

Strike v1.2.0

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 03 Oct 20:24

Strike v1.2.0 adds work built after the buildathon submission, organised around the Arbitrum Open House workshop themes.

Start here: docs/JUDGES.md, section "How Strike maps to the workshop themes" · live app

Added

Agent payments with x402 (D48). AI agents pay per call for a premium Strike risk report at /api/agent/risk-report: 0.01 USDC on Arbitrum Sepolia or 0.01 USDG on Robinhood Chain testnet. Strike verifies and settles payments itself. The MCP tool paid_risk_report pays automatically, within a per-run cap, and records each payment in the agent's decision record. Three real payments are settled on chain.

Onboarding without test ETH (D49). "Get started" gives a brand-new wallet a little gas, then 10 USDG, then points it to a vault.

  • It runs on GasDrip, deployed and verified on both testnets: 0.0001 ETH once per address, at most 20 a day.
  • The relayer route checks a proof of work, a rate limit and a balance floor.
  • It has been checked live through the deployed site.

Governance page (D50). /app/governance shows every privileged role holder on every contract, read live from the chain, with no unknown holders. It also shows the last admin actions and the staged path to a Safe behind the 73-day timelock.

Wallet statements, per-wallet alerts and record Q&A (D51).

  • /api/statement (CSV or JSON) has every row linked to its transaction, with the cast command to check it.
  • The Telegram bot's /watch <address> sends only that wallet's actionable items.
  • explain_decision answers questions about a decision only from the hash-checked record, citing the fields it used.

Portfolio dashboard (D52). /app/portfolio shows, for any address:

  • value, net P&L and premium earned;
  • a value-over-time chart;
  • "Needs your action", with one-tap claims;
  • week-by-week results, with a comparison against holding for calls;
  • what you can do with what you hold;
  • options, agent and activity views.

History is rebuilt from the vaults' settlement events, and it matches the chain exactly.

A simpler app (D53).

  • Navigation: Vaults · Portfolio · Agents · Proof · Learn, with a tab bar on phones.
  • The /app home: three clear choices.
  • The vault page: a plain-English "This week's call" card, "Your amount this week", and expert details folded away.
  • Filtering and network: an optional risk profile filters vaults by their on-chain limits, and a one-click network switch.

Pendle collateral yield, prototype (D47). A design and a fork-tested adapter that would put idle put-vault USDG into Pendle PT-USDG on Robinhood Chain mainnet, keeping a settlement reserve. It is not deployed.

Positioning and roadmap. RWA, the wedge, security and governance in the README and JUDGES, a workshop-themes table, a "Roadmap after the buildathon" section, and Dune queries for the Robinhood Chain stock-token market (not yet published).

Fixed

  • Slither reentrancy-balance in the Pendle prototype: it now uses the router's returned amounts, with a reentrancy guard on every state-changing function.
  • The faucet page makes far fewer browser RPC reads.
  • The risk panel reads Chainlink rounds in chunks.
  • The QA and relayer wallets are labelled as team wallets, so outside users still reads 0.

Evidence

  • 1,811 tests and proofs.
  • 193 of 193 cited transactions verified on chain.
  • 0 open code-scanning alerts.
  • CI green on every job.

Known state

The 2 October series expired unsettled. Mainnet's last TSLA print before expiry was 19:55:31 UTC on 2 October, so they settle at the first print after NYSE reopens on Monday 5 October, via the keeper on GitHub Actions.

Strike v1.1.0

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 03 Oct 11:49

Strike v1.1.0 adds the mainnet waitlist and the results of an end-to-end QA pass and a mobile pass of the live app, all made on 3 October 2026, after v1.0.0.

Start here: docs/JUDGES.md · live app · mainnet waitlist

Added

Mainnet waitlist (/waitlist, D46). The page covers:

  • the staged launch plan: a capped first vault, a Safe behind the 73-day timelock, an external audit, real Chainlink feeds;
  • what joining gives you;
  • an FAQ on who can join, where your details go, audit status and risks;
  • a disclaimer.

Sign-up is an animated, one-question-at-a-time form on the page itself. The sign-up API encrypts each entry with a per-entry AES key wrapped by the team's public key, stored in a private Vercel Blob store, and readable only with the team's private key. No plaintext email is stored; a repeat email updates its entry; spam protection and a rate limit are built in.

End-to-end QA report (log). Three fresh wallets, listed as team QA wallets so the outside-user count stays at 0, went through every flow on the live site. That produced 17 transactions, all verified by CI.

Fixed

  • Vault links across networks. An Arbitrum Sepolia vault link could open a superseded v1 vault on Robinhood Chain testnet. Links now follow ?chain=, and an unknown vault offers to switch to the network it is on.
  • The epoch trace now lists depositors' own deposits and withdrawals.
  • After a deposit or withdrawal, the panel says what happens next.
  • The faucet names the time zone of the next drip.
  • The activity feed says which deployment it reads.
  • Telegram bot. /vaults, /quote, /agent, /status and the alerts now cover every deployment (v2 and v3 on Robinhood Chain testnet, v3 on Arbitrum Sepolia). Expired series read "Expired, settling" instead of "Selling".

Mobile

Every page was checked at 360, 390, 414 and 768 px:

  • No page scrolls sideways.
  • Wide tables become labelled cards on phones.
  • Body text is at least 16 px, small labels at least 12 px.
  • Tap targets are at least 44 px.
  • Chart labels stay on screen.

A new test checks every route at 360 px.

Evidence

  • 1,607 tests and proofs.
  • 177 of 177 cited transactions verified on chain.
  • The price mirror audit matches mainnet Chainlink round for round.
  • 0 open code-scanning alerts.

Videos

Demo 6:04 and pitch 2:13, re-rendered against the live site (they state 1,574 tests and proofs, the count when they were recorded).

Known state

The three 2 October series expired at 20:00 UTC. Mainnet's last TSLA print before expiry was at 19:55:31 UTC, and settlement waits for the first print at or after expiry, expected after NYSE opens on Monday 5 October. The keeper on GitHub Actions settles them when it arrives.

Strike v1.0.0

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 03 Oct 08:35

Strike v1.0.0 is the buildathon submission build for the Arbitrum Open House Singapore Online Buildathon.

It contains weekly covered-call and cash-secured-put vaults on Robinhood Chain stock tokens, paid in Paxos USDG. An AI agent proposes the strike, and the contract checks the proposal against the vault's immutable mandate. When a proposal breaks the mandate, the contract rejects it and pays 10 USDG of the agent's bond to the depositors.

The project is live on Robinhood Chain testnet (46630; v2 and v3) and on Arbitrum Sepolia (421614; v3). It is unaudited.

Start here: docs/JUDGES.md · live app · demo video, 5:59 · pitch, 2:12

Since v0.9.0 (283 commits)

Specialist agent pipeline (D45): a market analyst, risk analyst, strike planner and critic (PASS / MODIFY / FAIL, rules P0 to P4) run before the contract, and every stage's inputs, verdict and sources go into the anchored record. A closed market or a vetoed plan is recorded as a no-trade. Claude's token usage is recorded when it plans.

Decision page per agent decision (/app/decision/<chain>/<record>). Each page has:

  • a stage strip showing every specialist stage, including stages that did not run
  • a mandate scorecard with the headroom left on every rule
  • the strikes the agent did not choose and why: recomputed from anchored inputs with a self-check, or taken from the agent's own recorded dry runs
  • the break-even and the model's odds of exercise
  • after settlement, a hindsight grade at the settlement price

More pages: /app/lessons (9 lessons from the live run, each with evidence), /app/portfolio, "Run the agent" in the playground, and on the agents page the series health, alerts, week-by-week view and no-sale runs.

Price mirror audit. Every testnet price round is checked against Robinhood Chain mainnet Chainlink, in the app, the API and a command-line tool. It matched 84 of 84 rounds on 46630 and 32 of 32 on 421614.

Running by itself.

  • The keeper and the weekly agent run on GitHub Actions. The keeper uses a keeper-only key that holds KEEPER_ROLE on the six MirrorFeeds and no admin role.
  • An hourly live smoke test checks production.
  • A liveness card on /app/proof shows the state.
  • The vault page shows market hours, an epoch trace, and an "Expired, settling" state for series that have expired but not yet settled.

Evidence.

  • 1,498 tests and proofs.
  • An adversarial suite: 30 attacks; mutation checks caught 16 of 16 on v2 and 7 of 7 on v3.
  • 12 timelock tests, with a 73-day admin delay planned for mainnet (D43).
  • Every cited transaction is checked by CI (160 of 160).
  • A numbers gate keeps the docs in line with the measured figures.
  • 0 open code-scanning alerts.

Infrastructure.

  • A Postgres indexer with Docker. Its figures match /api/stats on all 19 counts.
  • One config file, strike.config.json.
  • CI runs every suite: Foundry, Stylus, differential, fork, formal, Playwright on a devnet, Postgres and Docker.

Packages. @strike-options/sdk and @strike-options/mcp 0.10.0 are on npm. The remote MCP reads every deployment.

Docs.

Known state at release

The three 2 October series expired at 20:00 UTC. Settlement waits for the first mainnet Chainlink TSLA print at or after expiry, and the contract rejects any other round. Mainnet's last print before expiry came at 19:55:31 UTC, so settlement is expected after NYSE reopens on Monday. The GitHub keeper will settle the series when that print arrives.

v0.9.0

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 30 Sep 15:53

Added

  • Live risk panel from the v3 Stylus (Rust) risk engine (0x61158d98…a4ec, deployed with v3 on Robinhood Chain testnet), reading the live v2 TSLA covered-call series. SDK seriesRisk(seriesId | series): greeks at the live spot and the epoch's sigma (and the current sigma when it differs), the depositors' exposure (−greeks × sold), the payout over the RiskLens grid (−30%…+30% in 5% steps) with the worst case against the locked collateral, and the implied volatility of the last buy solved by the engine's impliedVol; zero greeks after expiry, the last print flagged when the feed is unsafe. IRiskEngine and RiskLens ABIs and riskEngine in the 46630 map. The fixed test vector (the live series) matches an independent scipy Black-Scholes to ~5e-15 and the last buy's implied vol recovers the 60% the contract priced it with. MCP tool series_risk (also on /api/mcp); a Risk rail on the vault page (four greeks in plain words, stress-test columns with a table view, engine footnote); a v3 card on /app/proof.

  • SafeStockFeed conformance suite (contracts/test/conformance/): an abstract Foundry test, SafeStockFeedConformance, that any oracle wrapper inherits by implementing a few hooks (deploy a token/feed pair, push rounds, pause, schedule a multiplier change, warp, read the price). 21 rules, one test each: the multiplier is never applied, staleness, both pause layers, a missing oraclePaused(), corporate-action windows, non-positive and future-dated answers, sequencer down and grace, and the settlement round (first at or after the target, phase changes, corporate-action hints). Rules a wrapper does not implement are reported as skipped. StockOracle passes 21 of 21; the StockCollateral example passes 14 and skips the 7 settlement rules. SafeStockFeedConformanceWithMocks wires the hooks to Strike's mocks; docs/safestockfeed.md explains how another protocol runs it (@strike-test/ remapping, checked in a fresh Foundry project).

  • DecisionLog (contracts/src/agents/DecisionLog.sol), deployed separately on Robinhood Chain testnet at 0xbF94f54fd0258ac59e2f54B70754dFAfFd245D93 (verified on Blockscout): agents anchor the keccak256 hash and URL of each decision record on-chain. Only the agent's current AgentRegistry signer may record; a rotated signer loses access. 10 tests, script/DeployDecisionLog.s.sol, decisionLog in 46630.json and the SDK ABIs. v2 is unchanged (decisions.md D35).

  • Example agent --anchor (with --log): hashes the JSON decision record, calls DecisionLog.record with its GitHub URL, and adds the transaction to the record; the weekly agent.yml runs with it. The first anchor is the 2026-09-29 live epoch log (tx 0x934ab96b…24c4).

  • docs/gas.md: "Measured on the live chain", the live proposeByDelta (574,028 L2 gas, within 0.6% of the dev node) and buy receipts next to the dev-node figures, and the Stylus cache check (Robinhood Chain testnet has no CacheManager yet, so no bid and all figures are uncached).

  • docs/DEPLOYMENTS.md: v1, v2 and the v3 branch with source and deploy commits, deploy blocks, every address with its Blockscout verification status (checked through the Blockscout API on 2026-09-30), the active pricer read with cast, the Stylus cargo stylus verify result, the live transactions with blocks and times, ERC-8004 identity #114, and a reviewer's checklist of commands.

  • Charts from committed data (scripts/charts/build_charts.py, light and dark, SVG and PNG): tests by suite, coverage by contract with the CI gate, Solidity vs Stylus gas, backtest equity curves, the live epoch timeline, a competition matrix and a positioning chart. The palette is derived from the site colours and passes the dataviz validator in both modes (scripts/charts/README.md).

  • Competition section with sources: Strike, Stonkhouse, Archer Markets, Ribbon / Aevo, Derive (Lyra) and Thetanuts, from each project's docs and repositories, with "not described" where the docs are silent.

  • Agents can join from a URL:

    • https://strike-options.vercel.app/skill.md serves docs/STRIKE_SKILL.md (embedded at build time) and /llms.txt an llms.txt index of Strike: what it is, the agent entry points, the app pages, the testnet contract addresses (from the SDK's deployment map) and the docs.
    • A read-only remote MCP server at https://strike-options.vercel.app/api/mcp (Streamable HTTP, stateless: a fresh server per request and JSON answers, so it runs on Vercel serverless). It registers only the read tools (strike_info, list_vaults, vault_state, quote, hedge_plan, risk_check, agent_stats) plus the strike://skill resource, holds no key and sends nothing. Identical chain reads are shared for 10 seconds per instance (a warm list_vaults answers in about 20 ms instead of about 2 s). CORS is open; GET and DELETE get 405.
    • MCP: createStrikeMcpServer({ readOnly: true, skillText }) and @strike/mcp/http (handleReadOnlyMcpRequest), reused by the app; node mcp/scripts/remote-check.mjs [url] checks an endpoint with the official MCP client.
    • STRIKE_SKILL.md: "Connect over HTTP" with Claude Desktop, Claude Code, URL-client and curl examples. The ERC-8004 registration file's MCP endpoint is now the remote URL.
  • App: a dismissible Season 0 banner on /app/agents: testnet agents welcome, a four-step checklist (register, bond, run one epoch, file feedback), and links to "Run your own agent" and the feedback form. Dismissal is remembered in the browser and applied before first paint.

  • CI: CodeQL for JavaScript/TypeScript (push, pull request, weekly), and a gitleaks secret scan of the whole history on every push and pull request. Its allowlist covers only public addresses and the well-known anvil and nitro devnode dev keys; on the current history it finds nothing else.

  • Tests: app/e2e/mcp.spec.ts (initialize, the read-only tool list, list_vaults and risk_check against Robinhood Chain testnet, CORS, /skill.md, /llms.txt) and mcp/test/http.test.ts (read-only registration, the embedded skill, the stateless handler).

Changed

  • Demo and pitch videos re-cut to the pattern of 12 winning hackathon videos (docs/research-winners.md): the product on screen from the first second, one continuous journey, a 15-second explorer shot with the slash transfer highlighted, the Rust risk engine on the vault page, one evidence card and the live app URL at the close. Narration by Chatterbox at about 120 words a minute (was 165), checked with Whisper (0.98 word match). Every number is read from README.md at render time (video/record.mjs, scenes in video/demo.mjs and video/pitch.mjs).
  • README: "What works, what does not yet, what we cut", a table mapping each headline claim to one test and one command, "Why only here", the put vault against USDG lending, Tilt Protocol in the competition table. New docs: docs/MILESTONES.md (grant milestones), docs/submission/qa-prep.md (20 judge questions), docs/research-winners.md.
  • README: screenshot gallery of every page (desktop and mobile), "Evidence in numbers" with the tests, coverage and gas charts and their tables, the live epoch timeline, a backtest section, the competition section in place of Prior art, an architecture diagram, and a "Versions and deployments" timeline.
  • Screenshots in docs/screenshots/ retaken from the current app on the live testnet (landing, vaults, vault, playground, backtest, agents, monitor, proof, faucet at 1440×900 and 390×844); the superseded images were removed.
  • Test counts re-measured: 477 Foundry tests passing and 7 skipped (the conformance suite's settlement rules on the StockCollateral example), SDK 109, MCP 49, example agents 44, Telegram bot 60, subgraph 10, and Playwright lists 106 tests (212 runs over two viewports): 891 tests and proofs with fork, differential, Halmos and Rust. Coverage 99.3% of lines and 98.8% of branches (SafeStockFeed now at 100%).

Fixed

  • SDK: transactions are sent with a 25% gas margin over the estimate, and a mined revert says whether it ran out of gas. The pricer's series expansions run a tenor-dependent number of terms, which is the likely cause of the intermittent CI failure where the dry run passed and the mined proposeByDelta reverted.
  • Playground: the reckless and cheap presets fall back to the funded vault, so an empty put vault no longer turns them into ZeroSize.
  • Charts: the gas chart reads only the dev-node tables in docs/gas.md, not the live-chain table.

Deployments

  • v3 on Robinhood Chain testnet (46630) next to v2, all contracts verified on Blockscout and the Stylus pricer and risk engine (0x61158d98…a4ec) with cargo stylus verify: EpochManager 0x256D4546…929F, AgentRegistry 0x1c427401…052f, RiskLens 0xFDb8Ba33…Cc6D, a v3 DecisionLog 0xa98106db…03a4; the MarketCalendar and MirrorFeeds are shared with v2. Agent #1 registered with EIP-712 signer consent and linked to ERC-8004 identity #114. No vaults yet: they need a bonded agent, which waits on testnet USDG (log, D36).
  • DecisionLog for v2 at 0xbF94f54f…5D93.
  • The v2 put vault's depositor withdrew the 20 USDG deposit and the 10 USDG slash.

v0.8.0: Open agent market, SafeStockFeed for builders

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 30 Sep 12:01

Added

  • Self-serve agent onboarding: any third-party agent can join without permission (register, bond, run a vault).
    • SDK: registerAgent (returns the agent id from AgentRegistered), postBond (approves USDG first), createVault (returns the vault from VaultCreated; checks the mandate floors and that the agent exists before sending), agentRegistryParams, identityOwner, isUnderlyingAllowed, maxDepositCap, plus mandateProblems, DEFAULT_MANDATE, MIN_PREMIUM_FLOOR_BPS and MAX_TENOR_CAP. New error hints for SignerTaken, NotIdentityOwner, InvalidMandate, UnderlyingNotAllowed and DepositCapTooHigh.
    • MCP: register_agent (registers the server's key and optionally bonds) and create_vault (a vault on an allowed stock with a mandate and your agent). Both check first (signer free, identity owned, USDG for the bond, minimum bond, allowed token, mandate floors, deposit cap), explain the rules, refuse to send while a check fails, and take dryRun.
    • Example agent: --register [--bond N] [--create-vault TSLA:call|put], safe to re-run.
    • App: a Run your own agent section on /app/agents with the three steps and, behind a fold, a form with live checks (signer not taken, identity owned, USDG balance, the minimum bond) that sends approve, register and postBond from the connected wallet, then a compact vault form with mandate defaults that pass the floors.
    • Docs: "Join as a new agent" in STRIKE_SKILL.md, "Run your own agent" in the README.
  • SafeStockFeed for other builders: forge install Prashant-thakur77/Strike plus one remapping (@strike/=lib/Strike/contracts/src/) gives any Foundry project the library from the same source as the deployed contracts (decisions.md D32).
  • Example consumer contracts/examples/StockCollateral.sol: stock-token collateral valued with SafeStockFeed.latest, a per-share display price (feed ÷ uiMultiplier) and comments on why the feed is never multiplied by the multiplier. 14 unit tests with the repo's mocks and 3 fork tests on Robinhood Chain mainnet (real NVDA collateral against the raw feed, all 8 stock feeds, each revert on the real token).

Changed

  • docs/safestockfeed.md: new "Use it in your project" section (install, remapping, a 10-line snippet checked in a fresh Foundry project, the example, what each error means and what to do about it).
  • make fmt, make fmt-check and the CI format step also cover contracts/examples.

Fixed

  • App: a Fold that starts closed now shows its toggle on wide screens too (it was unreachable above 820px).

Full notes: CHANGELOG.md

v0.7.0: Try it without a wallet, an agent that runs itself

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 30 Sep 12:01

Added

  • Re-cut 2:43 demo video on live data (playground verdicts, the real testnet epoch with Blockscout, price breakdown and payoff chart, ERC-8004 #114, Telegram alerts, mainnet monitor, proof page), with burned-in captions and an .srt for voice-over.
  • Autonomous weekly agent (.github/workflows/agent.yml): Monday proposals and Friday settlements with published decision records in docs/agent-log/.
  • Agent decision log on /app/agents: each weekly record (market inputs, target and reasoning, the contract's verdict, transactions, track record) read from docs/agent-log/.
  • On-chain: the put vault's stale epoch was closed and the slashed 10 USDG paid to its depositors (20 → 30 USDG).
  • Mandate playground (/app/playground): anyone can test a proposal against a live testnet vault's mandate without a wallet, through the read-only EpochManager.previewProposal. Presets: an honest 0.20-delta call (accepted), a reckless at-the-money put (DeltaOutOfBand), an oversized proposal (SizeTooLarge) and one at half of fair value (PremiumBelowFair); a rejection shows the bond a real proposal would lose.
  • Stock-token safety monitor (/app/monitor): live Robinhood Chain mainnet data for the 8 stock tokens with a Chainlink feed (TSLA, NVDA, AMZN, PLTR, AMD, SPY, AAPL, QQQ): ERC-8056 multiplier, pending changes, both pause flags, feed age, NYSE session, and the SafeStockFeed verdict.
  • Proof page (/app/proof): every claim with its evidence (verified contracts, the active Stylus pricer, gas, tests, coverage, invariants, formal proofs, the security review).
  • Live on-chain activity feed on the proof page and the landing page, read from the EpochManager logs on Robinhood Chain testnet.
  • Telegram bot (bots/telegram, 60 tests): alerts for epochs opened, proposals accepted and rejected (with the slash), options bought and settlements, read from contract logs; /vaults, /quote, /agent, /status; a dry run that prints the alerts without a token.
  • ERC-8004: agent #1 registered on the official identity registry on Robinhood Chain testnet as identity #114 and linked to AgentRegistry, so settled PnL and rejections post to its reputation (registration file, transactions).
  • Formal verification with Halmos: 9 properties proven for every input in range (mandate rules, fee caps, NYSE sessions, call payout) in a formal CI job; 16 more kept as unproven_* and marked not proven (formal-verification.md).
  • CI coverage job: fails below 95% line coverage (currently 99.1%).
  • Vault page: a payoff chart (buyer's and depositor's result at expiry) and a buy-price breakdown (fair value at the buffered oracle spot, times the premium factor, never below intrinsic value, next to the contract's own quote).
  • Repository files: SECURITY.md (private vulnerability reporting), CONTRIBUTING.md, CODE_OF_CONDUCT.md, CODEOWNERS, bug report and feature request issue templates (next to the testnet feedback form), a pull request template, Dependabot.
  • Tester guide, social posts, accurate prior-art comparison (Stonkhouse, Archer Markets), HackQuest answers within the 300-character limit.

Changed

  • App navigation: Vaults, Playground, Agents, Monitor, Proof, Faucet; the landing page links the playground, monitor and proof page under "Try it without a wallet".
  • README rewritten: badges, how it works, safety evidence, gas, deployments with the live epoch, try it, prior art, repository map.
  • Submission kit refreshed: HackQuest answers, pitch and demo scripts in the new video's scene order, deck outline with a "Try it" slide, social posts, tester guide starting with the playground.

Full notes: CHANGELOG.md

v0.6.0: Security review fixes, testnet v2

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 30 Sep 12:01

Security

  • Internal adversarial review of every contract: 1 High, 3 Medium, 4 Low, 3 Info, each shown by a failing test. All fixed; the 19 audit tests now run as regression tests (review).
    • H-01: a corporate action near expiry could block settlement. Settlement now moves to the first print after effectiveAt + grace.
    • M-01: Chainlink phase changes. The previous phase's last round is required as proof, with no age window.
    • M-02: premium is never below intrinsic value.
    • M-03: buys are priced at spot moved against the buyer by the feed's deviation threshold (setSpotBuffer).
    • L-01 to L-04: band-aware strike rounding, proposals judged at the epoch-open snapshot, no emergency cancel once a price is recorded, protocol mandate floors.
    • I-02, I-03: no reputation feedback on transferred identities; keeper sigma changes capped at 25% per hour.

Added

  • StockOracle.recordSettlementPriceWithHints and the SDK's findSettlementHints; the keeper falls back to it.
  • 8-year weekly backtest (TSLA, NVDA, AMZN, SPY) with the protocol's own pricer, and a litepaper.
  • First live epoch on Robinhood Chain testnet v2: a 0.20-delta call accepted, a reckless put rejected with 10 USDG slashed, 4 calls bought by a buyer agent (log).
  • Automated 2:40 demo video; audit-readiness package and operations runbook.

Changed

  • Stylus gas re-measured on v2: proposeByDelta 3.3× cheaper with the Stylus pricer, same strike.
  • EpochManager.epochs() returns openSpot and openSigma; underlyings() returns spotBufferBps and sigmaUpdatedAt.

Deployments

  • Robinhood Chain testnet (46630) v2, block 125880607: 14 contracts verified on Blockscout; the verified Stylus pricer is reused (addresses).
  • v1 (block 125866639) is superseded (addresses).

Full notes: CHANGELOG.md

v0.5.0: Live on Robinhood Chain testnet (v1)

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 30 Sep 12:01

Added

  • Buyer side for agents: MCP buy_options, redeem_options, hedge_plan; buyer mode in the example agent; a hedge planner in the app.
  • App: per-share prices for ERC-8056 tokens, a non-US-person acknowledgement, a testnet feedback form, a mobile network switcher, agent track records.
  • Stylus in the production path, measured on a Nitro dev node; reproducible Stylus builds verified with cargo stylus verify.
  • SafeStockFeed / StockOracle integration guide for other Robinhood Chain protocols.

Deployments

  • Robinhood Chain testnet (46630) v1, verified on Blockscout.

Full notes: CHANGELOG.md

v0.4.0: SDK, MCP, agents, app, subgraph

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 30 Sep 12:01

Added

  • @strike/sdk typed client; Strike MCP server and STRIKE_SKILL.md; example strike-picking agent.
  • Next.js app: landing page, vault list and detail, agent leaderboard and rejection feed, faucet, option metadata routes; Playwright checks on desktop and mobile.
  • Subgraph for vaults, epochs, series, agents, rejections and reputation.
  • One-command local demo on anvil, run in CI.

Full notes: CHANGELOG.md

v0.3.0: On-chain strike solving, reputation, threat model

Choose a tag to compare

@Prashant-thakur77 Prashant-thakur77 released this 30 Sep 12:01

Added

  • On-chain strike solving by delta (proposeByDelta) in Stylus and Solidity.
  • ERC-8004 reputation feedback for settled epochs and rejections.
  • Threat model (18 threats), risk model, Slither CI job with triage, coverage report, testnet keeper.

Full notes: CHANGELOG.md