Server definition
- Hash
- sha256:00acc9d84fb56eb22882b1b8022010eff180f8987bc4babe8166d9675265740c
- What it is
- What a remote MCP server returned when asked what it offers: 9 tools
The blob, as servednamed by its sha256
{
"instructions": "GammaRips serves read-only options-flow data primitives. It never returns a pick. Your agent reasons to its own contract and exit. First call get_playbook(name='start-here'). Free, no credential: get_pool(view='preview'), get_daily_report, get_playbook, get_regime_context, get_market_calendar_status. Pro ($29/month, 30-day free trial) unlocks the full pool (enriched / raw / features views) plus get_signal, get_liquidity, query_outcomes, and replay_contract. To subscribe: a human starts the trial at https://gammarips.com/pricing?utm_source=mcp_instructions , then either signs in through OAuth when adding this server, or creates an API key at https://gammarips.com/account?utm_source=mcp_instructions (shown once) and sends it as an 'Authorization: Bearer gr_live_...' header. If a tool returns subscription_required, relay its message and next_steps to your human operator. All data is paper-traded research. Educational only. Not investment advice.",
"tools": [
{
"description": "\n The daily intelligence report. Two `view`s:\n\n * view=\"report\" (DEFAULT) — the full report (title, markdown content,\n scan_date) for `date`, or the most recent report if `date` is omitted.\n * view=\"list\" — recent reports, most recent first (scan_date, title,\n created_at), titles deduped. Use `limit`.\n\n Args:\n date: report date YYYY-MM-DD (report view; default: most recent).\n view: \"report\" (default) | \"list\".\n limit: list view — how many reports (default 10, clamped 1-30).\n ",
"inputSchema": {
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Date"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
},
"view": {
"default": "report",
"title": "View",
"type": "string"
}
},
"title": "get_daily_reportArguments",
"type": "object"
},
"name": "get_daily_report",
"outputSchema": null
},
{
"description": "\n FRESH (entry-day) liquidity — the read the pool's session-frozen\n `recommended_oi`/`recommended_volume` cannot give you (the overnight sweep\n only becomes OI the next morning). Two modes, chosen by whether you pass a\n single `contract`:\n\n * `contract` given — ONE contract's snapshot: open interest, session\n volume, last trade, day range, underlying price, greeks. Cache-first\n (the engine re-reads the pool every ~10 min in market hours); pass\n live=true to force a fresh upstream fetch or read a contract NOT in\n today's pool.\n * `contract` omitted — the WHOLE current pool (or your `contracts`\n shortlist, max 60) in ONE call — the batch companion for the ~10:00 ET\n decision window. Most-recent read per contract with explicit `as_of`.\n\n Deliberately serves NO bid/ask/mid/spread (not available on the current\n data plan — absent, not NULL). Judge fill risk from open_interest (updates\n once each morning), day_volume (live session), last_trade recency, and the\n day range.\n\n Args:\n contract: OCC ticker for the single-contract mode (verbatim from the\n pool's `recommended_contract`). Omit for the whole-pool batch.\n scan_date: pool date YYYY-MM-DD (batch mode; default: latest pool).\n contracts: optional shortlist filter for the batch mode (max 60).\n live: single-contract mode — force a fresh upstream fetch.\n ",
"inputSchema": {
"properties": {
"contract": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Contract"
},
"contracts": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Contracts"
},
"live": {
"default": false,
"title": "Live",
"type": "boolean"
},
"scan_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scan Date"
}
},
"title": "get_liquidityArguments",
"type": "object"
},
"name": "get_liquidity",
"outputSchema": {
"additionalProperties": true,
"title": "get_liquidityDictOutput",
"type": "object"
}
},
{
"description": "\n Market-calendar reference. Three `view`s:\n\n * view=\"status\" (DEFAULT) — is the US equity market open today, plus the\n next open/close, holiday, and early-close flags (NYSE calendar,\n deterministic — no \"is the market open?\" hallucination).\n * view=\"scan_dates\" — which recent scan dates have GammaRips data, with\n per-date signal counts (the raw scan's data-availability calendar).\n * view=\"freshness\" — is the pool you are about to trade the right pool?\n Returns schema \"pool-freshness/1\": expected_scan_date (the last NYSE\n session before today), each pipeline stage (scan, enrichment,\n liquidity) with its latest date, row count for the expected date,\n and ok (true / false = overdue / null = could not check); the\n enrichment stage also gives expected_rows (the rows the enrichment\n filter must produce, so rows < expected_rows is a partial pool); the\n scan_date get_pool(view=\"enriched\") serves by default\n (pool_scan_date) and its row count (pool_rows), `fresh`, and machine\n `reasons` (scan-stale, enrichment-stale, liquidity-stale, pool-stale,\n pool-empty, unknown-<stage|pool>). Fail-closed: an unknown is never\n fresh. A stage not yet due reports ok=true, due=false; before the\n 06:00 ET enrichment, fresh is false with reason pool-stale because\n the next pool does not exist yet. No row floor is applied; apply\n your own to pool_rows. Cached up to 60 s.\n\n Args:\n view: \"status\" (default) | \"scan_dates\" | \"freshness\".\n ",
"inputSchema": {
"properties": {
"view": {
"default": "status",
"title": "View",
"type": "string"
}
},
"title": "get_market_calendar_statusArguments",
"type": "object"
},
"name": "get_market_calendar_status",
"outputSchema": null
},
{
"description": "\n Methodology + reference, versioned server-side (re-fetch rather than\n caching long-term). Arg-driven:\n\n * `field` given — the plain-English DEFINITION + role of a signal field\n (deterministic lookup, no LLM). e.g. field=\"mom_60\". The response's\n `available_fields` lists every documented field.\n * `name` given — a methodology playbook (markdown) by name, OR two\n special reference pages:\n - name=\"schema\" (or \"data-contract\") -> the machine-readable\n substrate DATA CONTRACT: every outcome/label column with its\n leakage classification (feature|label|opportunity|\n regime_telemetry|identity) and as-of boundary. Only `feature`\n columns are safe as selection inputs.\n - any other name -> the playbook markdown (start-here,\n daily-workflow, run-your-own-tournament, exit-lab,\n leakage-and-data-contract, changelog).\n * neither — the CATALOG of published playbooks (name/title/summary),\n plus a pointer to the field dict (`field=`) and schema page.\n\n Args:\n name: playbook name, or \"schema\"/\"data-contract\" for the data contract.\n field: a signal field name to explain (overrides `name`).\n ",
"inputSchema": {
"properties": {
"field": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Field"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
}
},
"title": "get_playbookArguments",
"type": "object"
},
"name": "get_playbook",
"outputSchema": null
},
{
"description": "\n The GammaRips candidate pool for a scan date. One tool, four `view`s:\n\n * view=\"enriched\" (DEFAULT) — the AI-enriched pool: news, technicals,\n catalyst, the recommended contract (an OTM call chosen on contract\n liquidity), and the 60-day momentum feature `mom_60`. Funnel for\n scan_date >= 2026-08-24 (liquid-universe era): the 100 most liquid\n optionable names, BULLISH only, one call each, roughly 40-50 rows.\n Liquidity decides membership, not unusual activity; the $500K UOA\n floor is retired and `overnight_score>=1` is a cosmetic floor.\n Earlier scan dates come from the prior UOA-gated funnel (UOA>$500K,\n top-50 BULLISH); the two eras are not one population.\n This is the daily candidate set your agent reasons over to its OWN\n contract (see get_playbook(\"run-your-own-tournament\")). Served from a\n leakage-safe view (forward-outcome columns physically stripped);\n `summary=True` gives ~21 decision columns, `fields=[...]` a strict\n projection, `summary=False` full rows, `offset` pages.\n * view=\"raw\" — the wide overnight scan BEFORE the pool cut (the ranked\n liquid universe for scan_date >= 2026-08-24; the market-wide\n unusual-activity scan for earlier dates). Honors `direction`,\n `min_score`, `ticker`, `limit`.\n * view=\"features\" — point-in-time FEATURE VECTORS from the leakage-safe\n allowlist view `enriched_features_v1` (identity + features + cohort\n metadata only; no outcome/label/telemetry column can appear). The\n quantitative substrate for joining against query_outcomes. Lags the\n live pool by ~1-2 trading days.\n * view=\"preview\" — a minimal public teaser (ticker, direction, score,\n headline, directional UOA) for the most recent scan; no contract\n specifics or thesis.\n\n TIER: view=\"preview\" is FREE (no key). The enriched / raw / features views\n are the paid product — they require an active pro subscription key; an anon\n call to them returns `subscription_required` (get_pool(view='preview') is\n named as the free entry point).\n\n Liquidity caveat (all views): `recommended_oi`/`recommended_volume` are\n scan-time snapshots, not live values; `recommended_spread_pct` is\n permanently NULL on the current data plan — re-check with get_liquidity.\n\n Args:\n view: \"enriched\" (default) | \"raw\" | \"features\" | \"preview\".\n scan_date: YYYY-MM-DD (default: latest available scan for the view).\n direction: \"bull\"/\"bear\" prefix filter (enriched / raw).\n ticker: exact ticker filter (enriched / raw / features).\n min_score: overnight_score floor (raw view only; clamped 0-10).\n limit: max rows (enriched/raw clamp 1-50, features 1-100, preview 1-20).\n summary: enriched only — True=compact columns, False=full rows.\n fields: enriched only — explicit strict column projection.\n offset: enriched only — pagination offset.\n ",
"inputSchema": {
"properties": {
"direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Direction"
},
"fields": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Fields"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
},
"min_score": {
"default": 0,
"title": "Min Score",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
},
"scan_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scan Date"
},
"summary": {
"default": true,
"title": "Summary",
"type": "boolean"
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Ticker"
},
"view": {
"default": "enriched",
"title": "View",
"type": "string"
}
},
"title": "get_poolArguments",
"type": "object"
},
"name": "get_pool",
"outputSchema": null
},
{
"description": "\n Point-in-time market-regime context for a scan date: VIX close, VIX3M,\n SPY trend state, and the 5-day VIX delta — all as-of <= scan_date (the\n selection point, leakage-safe), plus the engine's regime safety rail\n evaluated on those values.\n\n The rail: the engine fail-closes (no trade) when spot VIX > VIX3M\n (backwardation — the market pricing imminent volatility is an adverse\n regime for short-dated directional longs).\n\n Served from the labeled substrate, which lags the live pool by ~1-2\n trading days. Values are constant per scan_date.\n\n Args:\n scan_date: YYYY-MM-DD. Defaults to the latest scan date carrying\n regime features.\n\n Returns:\n {scan_date, vix_at_scan, vix3m_at_enrich, spy_trend_at_scan,\n vix_5d_delta_at_scan, regime_rail_pass, rail_definition}\n ",
"inputSchema": {
"properties": {
"scan_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scan Date"
}
},
"title": "get_regime_contextArguments",
"type": "object"
},
"name": "get_regime_context",
"outputSchema": {
"additionalProperties": true,
"title": "get_regime_contextDictOutput",
"type": "object"
}
},
{
"description": "\n Deep dive on a single ticker/contract. Two `view`s:\n\n * view=\"detail\" (DEFAULT) — the full enriched signal for one ticker:\n thesis, catalyst, the recommended contract, and point-in-time\n features (leakage-safe view). `full=true` includes the long narrative\n (news_summary, flow_intent_reasoning). If the ticker isn't in the\n pool for the date, the error lists the dates on which it does appear.\n * view=\"earnings\" — the doctrine earnings-window check (RM-003): the\n next scheduled earnings date and whether it lands ON OR BEFORE the\n contract expiration (`earnings_in_window`). The engine applies this\n rail only at its own pick time, NOT in the pool, so pool rows CAN\n carry earnings-window names — check every candidate yourself. Pass\n the pool's `recommended_contract` and both ticker and expiration are\n derived. FAIL-CLOSED: unknown date -> earnings_in_window=null, treat\n as in-window.\n\n Args:\n ticker: underlying symbol (required for detail; optional for earnings\n if `contract` is given).\n view: \"detail\" (default) | \"earnings\".\n scan_date: detail only — YYYY-MM-DD (default: latest for the ticker).\n full: detail only — include the long narrative fields.\n expiration: earnings only — option expiration YYYY-MM-DD to test.\n contract: earnings only — OCC ticker supplying ticker+expiration.\n ",
"inputSchema": {
"properties": {
"contract": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Contract"
},
"expiration": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Expiration"
},
"full": {
"default": false,
"title": "Full",
"type": "boolean"
},
"scan_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scan Date"
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Ticker"
},
"view": {
"default": "detail",
"title": "View",
"type": "string"
}
},
"title": "get_signalArguments",
"type": "object"
},
"name": "get_signal",
"outputSchema": {
"additionalProperties": true,
"title": "get_signalDictOutput",
"type": "object"
}
},
{
"description": "\n The realized-outcome history behind the pool: use it to set a target and\n a stop from what past pool contracts actually did. One tool, nine\n `view`s. A pool-wide result under one fixed exit describes that one rule,\n not a forecast for the plan you build.\n\n * view=\"labels\" (DEFAULT) — row-level realized bracket LABELS joined to\n point-in-time features. horizon \"same_day\" (live V7.1 GIGO +40/-30) or\n \"3d\" (legacy +80/-60) — never pooled. NULL-label and illiquid rows\n excluded (counts in meta). `aggregate_only=True` returns summary stats\n instead of rows. Filters: scan_date_from/to, ticker, delta_min/max,\n min_overnight_score, exit_reason.\n * view=\"summary\" — grouped aggregates over the labeled pool. `group_by`\n one of none|delta_bucket|overnight_score|premium_score|exit_reason|\n day_of_week|moneyness_bucket.\n * view=\"surface\" — the OPPORTUNITY SURFACE: per-contract realized MFE/MAE\n excursions with NO exit applied (profit potential, exit free). Uses\n scan_date OR a `days` lookback, `ticker`, `delta_min/max`,\n `include_open`. `aggregate_only=True` returns MFE/MAE quantiles over\n the FULL filtered set — use it for exit design. The row mode is capped\n at 200 and truncates oldest-first WITHIN a scan_date, so its oldest\n date is a highest-MFE-only slice; it reports `truncated`,\n `matched_rows`, and `partial_scan_date` so you can see that happen.\n * view=\"harvest\" — the touch-probability curve: P(premium touched +X%)\n with CIs, day-of-peak buckets, stop-touch rates. `targets`, `stops`,\n date range, delta band.\n * view=\"exit_rule\" — RESEARCH-ONLY \"bring your exit, we score it\":\n rule=\"bracket\" (target_pct/stop_pct) or rule=\"trailing\" (trail_pct,\n activation_pct) scored against the surface / minute tape.\n * view=\"signal_performance\" — UNDERLYING-STOCK direction outcomes for\n the broad pool (NOT option PnL). Filters scan_date, ticker, direction,\n outcome.\n * view=\"win_rate\" — aggregate UNDERLYING-direction win rate over `days`\n (NOT option PnL; headline key carries its universe).\n * view=\"positions\" — history of a RETIRED engine test: closed paper\n trades from the engine's former one-pick-a-day tournament under one\n fixed exit (retired 2026-09-28). Not the product and not the pool; do\n not use it to judge the pool. Row-level, over `days`, `limit`.\n * view=\"performance\" — aggregate of that retired test over `days`\n (`direction`, `min_premium_score`, `policy_version`). Same caveat:\n history of one retired rule, not a GammaRips result. When it has no\n closed trades, every aggregate is `null` and `total_trades` is 0.\n\n All returns are FRACTIONS (0.40 = +40%). Realized data serves closed\n windows only. Paper-traded research data; not investment advice.\n\n Args:\n view: which surface (see above). Default \"labels\".\n horizon: \"same_day\" | \"3d\" (labels/summary/exit_rule). If omitted, the\n native default per view is used: labels/summary => \"same_day\" (the\n live GIGO policy), exit_rule => \"3d\" (its excursion window).\n group_by: summary grouping dimension.\n scan_date / scan_date_from / scan_date_to: date filters (per view).\n ticker / direction / delta_min / delta_max / min_overnight_score /\n exit_reason / outcome: row/aggregate filters (per view).\n days: lookback window (surface/win_rate/positions/performance).\n limit: max rows (labels 1-200, signal_performance 1-50, positions 1-200).\n aggregate_only: labels/surface views — summary stats instead of rows.\n On `surface` this is also the only mode immune to the 200-row cap.\n include_open: surface view — include not-yet-closed windows.\n targets / stops: harvest view — PERCENT grids.\n target_pct / stop_pct / rule / trail_pct / activation_pct: exit_rule view.\n policy_version: positions/performance cohort filter. The live default\n is the PAIR (policy label + cohort start date) — the label alone\n does not define the cohort, since disowned cohorts remain in the\n ledger under the same label. Responses carry `cohort_start`; a zero\n row_count under the live cohort means it has not accrued closed\n trades yet, not that there is no track record, and the aggregates\n come back `null` rather than 0.0. Pass \"all\" for every era, but\n note that \"all\" returns cohorts the engine has REPUDIATED — not\n merely older exit mechanics — so it is not a track record and must\n not be aggregated into one. Read the response `note` before\n quoting any number from it.\n min_premium_score: performance view floor.\n ",
"inputSchema": {
"properties": {
"activation_pct": {
"default": 0,
"title": "Activation Pct",
"type": "number"
},
"aggregate_only": {
"default": false,
"title": "Aggregate Only",
"type": "boolean"
},
"days": {
"default": 30,
"title": "Days",
"type": "integer"
},
"delta_max": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Delta Max"
},
"delta_min": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Delta Min"
},
"direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Direction"
},
"exit_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Exit Reason"
},
"group_by": {
"default": "none",
"title": "Group By",
"type": "string"
},
"horizon": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Horizon"
},
"include_open": {
"default": false,
"title": "Include Open",
"type": "boolean"
},
"limit": {
"default": 100,
"title": "Limit",
"type": "integer"
},
"min_overnight_score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Overnight Score"
},
"min_premium_score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Premium Score"
},
"outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Outcome"
},
"policy_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "V7_1_TILTED_GIGO",
"title": "Policy Version"
},
"rule": {
"default": "bracket",
"title": "Rule",
"type": "string"
},
"scan_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scan Date"
},
"scan_date_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scan Date From"
},
"scan_date_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Scan Date To"
},
"stop_pct": {
"default": 30,
"title": "Stop Pct",
"type": "number"
},
"stops": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Stops"
},
"target_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target Pct"
},
"targets": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Targets"
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Ticker"
},
"trail_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Trail Pct"
},
"view": {
"default": "labels",
"title": "View",
"type": "string"
}
},
"title": "query_outcomesArguments",
"type": "object"
},
"name": "query_outcomes",
"outputSchema": {
"additionalProperties": true,
"title": "query_outcomesDictOutput",
"type": "object"
}
},
{
"description": "\n Raw option price data for YOUR OWN entry/exit rule. This server does NOT\n simulate or validate exits — it returns bars (the RM-002/RM-004 boundary).\n Two `granularity` modes:\n\n * granularity=\"minute\" (DEFAULT) — the intraday minute path for one\n session (`date` required). Optionally pass a bracket (target_pct/\n stop_pct, PERCENT of the 10:00 ET anchor) and the response also reports\n the exact FIRST-CROSSING sequence measured from the tape. Pool\n excursion windows are served from the engine's minute-path table;\n anything else falls back to an upstream minute fetch.\n * granularity=\"day\" — the DAILY mark series (OHLCV) over a date range,\n to mark a live paper position day by day or replay a closed one. Uses\n `from_date`/`to_date` (span capped at 120 days); `date` is ignored.\n\n Option tape is THIN — minutes/days with no prints have no bar; treat\n touch times as evidence, not tick-perfect truth. Paper-trade research\n data; not investment advice.\n\n Args:\n contract: OCC option ticker (e.g. \"O:UNIT260717C00030000\").\n date: minute mode — ET session date YYYY-MM-DD (required).\n granularity: \"minute\" (default) | \"day\".\n target_pct: minute mode — optional +X% level for first-crossing.\n stop_pct: minute mode — optional -Y% level for first-crossing.\n from_date: day mode — start YYYY-MM-DD (default: 30d before to_date).\n to_date: day mode — end YYYY-MM-DD inclusive (default: today ET).\n ",
"inputSchema": {
"properties": {
"contract": {
"title": "Contract",
"type": "string"
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Date"
},
"from_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "From Date"
},
"granularity": {
"default": "minute",
"title": "Granularity",
"type": "string"
},
"stop_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Stop Pct"
},
"target_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target Pct"
},
"to_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "To Date"
}
},
"required": [
"contract"
],
"title": "replay_contractArguments",
"type": "object"
},
"name": "replay_contract",
"outputSchema": {
"additionalProperties": true,
"title": "replay_contractDictOutput",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:00acc9d84fb56eb22882b1b8022010eff180f8987bc4babe8166d9675265740c | sha256sum