Skip to main content
Glama

Sardine: Kalshi crypto settlement history

backtest_rule

Read-onlyIdempotent

Would this rule have made money? Replays recorded Kalshi quotes, second by second.

    Describe a rule for Kalshi's 15-minute crypto up/down contracts: which side
    to buy, when (minutes left), at what prices (cents), and optionally only when
    Sardine's history beats Kalshi's ask plus fee by `min_gap_cents` (side BEST
    picks whichever side has the larger gap). Sardine replays its per-second
    recordings of Kalshi's order book: one trade per window, a limit order at the
    ask landing after `latency_seconds`, filled only up to the size resting
    there, Kalshi's real fee, and Kalshi's official settlement.

    Returns profit per contract after fees with a 95% interval, win rate, fill
    behaviour, a zero-latency comparison (exposes stale-quote illusions), a
    first-half/second-half stability check, breakdowns by minutes left and
    price, and warnings. Results only; no raw data. Dates are UTC YYYY-MM-DD.
    Present results as what happened historically, never as a forecast.
    

Input Schema

NameRequiredDescriptionDefault
sideNoYES
marketNoBTC-15M
end_dateNo
contractsNo
start_dateNo
max_gap_centsNo
min_gap_centsNo
latency_secondsNo
max_price_centsNo
min_price_centsNo
max_minutes_leftNo
min_minutes_leftNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses detailed simulation mechanics: per-second replay, one trade per window, limit-order latency, fill constrained by resting size, real fees, official settlement, and warnings. It also states the result shape and the limitation 'Results only; no raw data,' giving an agent unusually rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core question and then proceeds through rule definition, simulation mechanics, and output caveats without filler. Despite its length, every sentence contributes useful context for a 12-parameter simulation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex historical simulation tool, the description covers the conceptual model, output expectations, and interpretation caveat well, and an output schema already exists. The main remaining gap is that a few input parameters are not fully described, which could affect precise invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry parameter meaning. It explains side/BEST, min_gap_cents, latency_seconds, price cents, minutes left, and date formatting, but leaves contracts and max_gap_cents unexplained and only loosely covers min/max price and minute bounds.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action — replaying recorded Kalshi quotes to backtest a rule — and scopes it to 15-minute crypto up/down contracts. It clearly distinguishes this historical simulation tool from live-board and track-record siblings by its replay/backtest framing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains how to describe a rule and how to interpret results ('what happened historically, never as a forecast'), but it does not explicitly say when to choose this over siblings like get_track_record or get_live_board. Usage is therefore implied rather than fully directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources