Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:3a48cd1acb1d22b4f6bc7883cacfec5c84be887c23a67590b79a578c2fe90724
What it is
What a remote MCP server returned when asked what it offers: 9 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Options-implied expected move around a scheduled event (FOMC/CPI/earnings/etc.). Given spot, ATM implied vol, and days-to-event, returns the 1σ move, the straddle-implied expected ABSOLUTE move (risk-neutral E|ΔS|), and the probability of exceeding move thresholds. Given the vol term structure across the event (ATM IV of the expiry before vs after), it ISOLATES the event's own priced-in move (the Wright event-day technique). Self-checked: the straddle equals a numerical integral of |S_T−S₀|. This is the magnitude that macro calendars (which give only date + impact label) leave out.", "inputSchema": { "properties": { "T": { "description": "years (or daysToEvent)", "type": "number" }, "atmIv": { "description": "ATM IV as a decimal (alternative to atmIvPct)", "type": "number" }, "atmIvPct": { "description": "ATM IV in % (or atmIv decimal)", "type": "number" }, "daysAfter": { "description": "days to the after-event expiry", "type": "number" }, "daysBefore": { "description": "days to the before-event expiry", "type": "number" }, "daysToEvent": { "description": "days until the event", "type": "number" }, "ivAfterPct": { "description": "ATM IV (%) of the expiry just AFTER the event", "type": "number" }, "ivBeforePct": { "description": "ATM IV (%) of the expiry just BEFORE the event", "type": "number" }, "spot": { "description": "current spot price", "type": "number" }, "thresholdsPct": { "description": "move thresholds (%) for probability-of-exceeding", "type": "array" } }, "required": [ "spot" ], "type": "object" }, "name": "event_vol", "outputSchema": { "additionalProperties": true, "description": "Options-implied expected move around a scheduled event.", "properties": { "atmIvPct": { "description": "ATM IV used (%)" }, "checks": { "description": "Ground-truth self-checks; the result is untrustworthy if any fails.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "eventIsolation": { "description": "the event's own priced-in move, isolated from the term structure (when before/after IVs are given)" }, "expectedMove": { "description": "1σ move + straddle-implied expected |ΔS| (risk-neutral)" }, "horizonDays": { "description": "horizon in days" }, "method": { "description": "technique + assumptions used" }, "ok": { "description": "false when the engine rejected the input", "type": "boolean" }, "probabilityMoveBeyond": { "description": "probability of exceeding each move threshold" }, "proof": { "additionalProperties": true, "description": "Verifiability envelope: echoed inputs, engine codeHash, contentHash of this exact result, self-checks, EIP-712 signature (EAS-ready). Re-run the open engine on `inputs` to reproduce the result byte-for-byte.", "properties": { "allSelfChecksPass": { "description": "true when every ground-truth self-check passed", "type": "boolean" }, "codeHash": { "description": "build hash of the open-source engine sources (equals GET /build codeHash)", "type": "string" }, "contentHash": { "description": "hash of this exact result — recompute it to detect tampering", "type": "string" }, "engine": { "description": "engine id", "type": "string" } }, "type": "object" }, "spot": { "description": "spot the computation is anchored on" } }, "type": "object" } }, { "description": "Deterministic execution-quality / fair-fill verification. Given a completed swap (amountIn, amountOutRealized) plus either the pre-trade pool reserves+fee (constant-product) or a fair reference price, returns how many basis points the fill lost to ADVERSE execution (sandwich/MEV/stale) beyond the unavoidable fee + own price impact. Proves that a fill \"within slippage tolerance\" can still have been robbed. Call after a swap to detect being sandwiched.", "inputSchema": { "properties": { "amountIn": { "description": "input amount actually sent", "type": "number" }, "amountOutRealized": { "description": "output amount actually received", "type": "number" }, "fairPrice": { "description": "reference mode: fair out-per-in price at submit time", "type": "number" }, "feeTier": { "description": "pool fee as fraction, e.g. 0.003", "type": "number" }, "reserveIn": { "description": "pool reserve of input token, pre-trade (constant-product mode)", "type": "number" }, "reserveOut": { "description": "pool reserve of output token, pre-trade", "type": "number" }, "slippageTolerancePct": { "description": "the slippage setting used, to demonstrate within-tolerance-yet-robbed", "type": "number" } }, "required": [ "amountIn", "amountOutRealized" ], "type": "object" }, "name": "exec_verify", "outputSchema": { "additionalProperties": true, "description": "How much of a swap fill was lost to adverse execution (sandwich/MEV/stale), beyond honest costs.", "properties": { "adverseExecutionBps": { "description": "bps lost to ADVERSE execution beyond the honest cost" }, "adverseValueOut": { "description": "value lost to adverse execution, in output-token units" }, "checks": { "description": "Ground-truth self-checks; the result is untrustworthy if any fails.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "honestFillPrice": { "description": "the fill price an honest execution would have produced" }, "honestOut": { "description": "output an honest execution would have delivered" }, "midPrice": { "description": "pre-trade mid price" }, "mode": { "description": "constant-product or reference-price mode" }, "note": { "description": "interpretation guidance" }, "ok": { "description": "false when the engine rejected the input", "type": "boolean" }, "proof": { "additionalProperties": true, "description": "Verifiability envelope: echoed inputs, engine codeHash, contentHash of this exact result, self-checks, EIP-712 signature (EAS-ready). Re-run the open engine on `inputs` to reproduce the result byte-for-byte.", "properties": { "allSelfChecksPass": { "description": "true when every ground-truth self-check passed", "type": "boolean" }, "codeHash": { "description": "build hash of the open-source engine sources (equals GET /build codeHash)", "type": "string" }, "contentHash": { "description": "hash of this exact result — recompute it to detect tampering", "type": "string" }, "engine": { "description": "engine id", "type": "string" } }, "type": "object" }, "realizedFillPrice": { "description": "the fill price actually received" }, "unavoidableCostBps": { "description": "fee + own price impact — the honest, unavoidable cost (bps)" }, "verdict": { "description": "plain-language verdict" } }, "type": "object" } }, { "description": "Forward-looking liquidity-provision risk. Given a realized price ratio (for impermanent loss) and/or a volatility + horizon (for expected divergence / LVR), returns the closed-form IL, the expected −σ²T/8 divergence, and — with a fee APR — the net forecast and breakeven volatility (the vol above which fees no longer cover the bleed). Self-checked: the IL closed form is verified at the token level against explicit constant-product amounts. Call before providing liquidity to see whether the fee yield can plausibly beat the divergence loss.", "inputSchema": { "properties": { "capitalUsd": { "description": "position capital in USD — losses are also reported in USD", "type": "number" }, "concentrationFactor": { "description": "V3 amplifier ≥1 (default 1)", "type": "number" }, "feeAprPct": { "description": "annualized fee yield estimate", "type": "number" }, "horizonPeriods": { "description": "periods (default 1)", "type": "number" }, "periodsPerYear": { "description": "default 365", "type": "number" }, "priceRatio": { "description": "realized P1/P0 for realized IL", "type": "number" }, "volatility": { "description": "per-period vol (decimal) for expected divergence", "type": "number" } }, "type": "object" }, "name": "lp_risk", "outputSchema": { "additionalProperties": true, "description": "Impermanent loss / LVR vs fee yield for a liquidity position.", "properties": { "checks": { "description": "Ground-truth self-checks; the result is untrustworthy if any fails.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "concentrationFactor": { "description": "V3 concentration amplifier applied" }, "expectedDivergence": { "description": "expected divergence loss / LVR over the horizon (−σ²T/8 law)" }, "feeVsDivergence": { "description": "net forecast and breakeven volatility vs the fee APR" }, "model": { "description": "model assumptions used" }, "ok": { "description": "false when the engine rejected the input", "type": "boolean" }, "proof": { "additionalProperties": true, "description": "Verifiability envelope: echoed inputs, engine codeHash, contentHash of this exact result, self-checks, EIP-712 signature (EAS-ready). Re-run the open engine on `inputs` to reproduce the result byte-for-byte.", "properties": { "allSelfChecksPass": { "description": "true when every ground-truth self-check passed", "type": "boolean" }, "codeHash": { "description": "build hash of the open-source engine sources (equals GET /build codeHash)", "type": "string" }, "contentHash": { "description": "hash of this exact result — recompute it to detect tampering", "type": "string" }, "engine": { "description": "engine id", "type": "string" } }, "type": "object" }, "realizedIL": { "description": "closed-form impermanent loss at the realized price ratio" } }, "type": "object" } }, { "description": "Portfolio greeks (delta/gamma/vega/theta/vanna/volga) + SPAN-style scenario margin for an options book on Black-76. Given a list of legs {type, strike, expiryDays, iv, quantity(signed)} and a forward, returns aggregate greeks, first-order P&L per underlying move, and the worst-case loss over a price×vol grid. Self-checked: analytic greeks are verified against finite-difference derivatives of the repriced book. Call to size an options book's true net risk and margin — not the sum of per-leg notionals.", "inputSchema": { "properties": { "forward": { "description": "shared forward price (or set per position)", "type": "number" }, "positions": { "description": "option legs of the book", "items": { "properties": { "T": { "description": "years (or expiryDays)", "type": "number" }, "expiryDays": { "description": "days to expiry (or pass T in years)", "type": "number" }, "forward": { "description": "per-position forward (else shared)", "type": "number" }, "iv": { "description": "implied vol decimal, e.g. 0.6", "type": "number" }, "quantity": { "description": "signed: + long, − short", "type": "number" }, "strike": { "description": "strike price", "type": "number" }, "type": { "description": "call | put", "enum": [ "call", "put" ], "type": "string" } }, "required": [ "type", "strike", "iv", "quantity" ], "type": "object" }, "type": "array" }, "r": { "description": "discount rate, default 0", "type": "number" }, "scanRangePct": { "description": "SPAN price scan range, default 0.15", "type": "number" }, "volShiftVolPts": { "description": "SPAN vol shift in vol-points, default 10", "type": "number" } }, "required": [ "positions" ], "type": "object" }, "name": "options_risk", "outputSchema": { "additionalProperties": true, "description": "Aggregate greeks and SPAN-style scenario margin for an options book.", "properties": { "checks": { "description": "Ground-truth self-checks; the result is untrustworthy if any fails.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "greeks": { "description": "aggregate delta/gamma/vega/theta/vanna/volga — each verified vs finite differences" }, "model": { "description": "Black-76 assumptions used" }, "ok": { "description": "false when the engine rejected the input", "type": "boolean" }, "pnlPerUnderlyingPctMove": { "description": "first-order P&L per % move of the underlying" }, "portfolioValue": { "description": "mark-to-model value of the book" }, "positions": { "description": "per-leg pricing breakdown" }, "positionsCount": { "description": "number of legs priced" }, "proof": { "additionalProperties": true, "description": "Verifiability envelope: echoed inputs, engine codeHash, contentHash of this exact result, self-checks, EIP-712 signature (EAS-ready). Re-run the open engine on `inputs` to reproduce the result byte-for-byte.", "properties": { "allSelfChecksPass": { "description": "true when every ground-truth self-check passed", "type": "boolean" }, "codeHash": { "description": "build hash of the open-source engine sources (equals GET /build codeHash)", "type": "string" }, "contentHash": { "description": "hash of this exact result — recompute it to detect tampering", "type": "string" }, "engine": { "description": "engine id", "type": "string" } }, "type": "object" }, "spanMargin": { "description": "worst-case loss over the price×vol scenario grid (SPAN-style margin)" } }, "type": "object" } }, { "description": "Deterministic perpetual-futures risk. Given a position (entry, size, margin/leverage, maint-margin/maxLeverage), returns the exact liquidation price, the % adverse move to liquidation, effective leverage, and (if a funding rate is given) the funding drag. Pass a Hyperliquid `symbol` (e.g. BTC) to auto-fill live mark price, funding, and max leverage. Includes a self-check proving the liquidation invariant. Call this BEFORE opening or sizing any leveraged perp position — an agent that knows its true liquidation distance does not get surprise-liquidated.", "inputSchema": { "properties": { "entryPrice": { "description": "defaults to live mark if a symbol is given", "type": "number" }, "fundingRateHourly": { "description": "hourly funding rate (Hyperliquid funds hourly)", "type": "number" }, "horizonHours": { "description": "horizon for the funding-drag estimate, in hours", "type": "number" }, "leverage": { "description": "position leverage (alternative to margin)", "type": "number" }, "maintMarginRate": { "description": "e.g. 0.0125; or pass maxLeverage (mmr = 0.5/maxLeverage)", "type": "number" }, "margin": { "description": "isolated margin posted (or pass leverage)", "type": "number" }, "markPrice": { "description": "current mark; distance-to-liq measured from here", "type": "number" }, "maxLeverage": { "description": "venue max leverage for the asset", "type": "number" }, "notional": { "description": "position notional in quote/USD", "type": "number" }, "side": { "description": "long | short (buy | sell are accepted synonyms, as is -1 for short); default long", "enum": [ "long", "short", "buy", "sell", "-1" ], "type": "string" }, "size": { "description": "position size in base units (or pass notional)", "type": "number" }, "symbol": { "description": "perp symbol (e.g. BTC) — auto-fills live markPrice, fundingRateHourly, and the margin source (Hyperliquid notional tiers or dYdX maintenance rate); also defaults entryPrice to the live mark", "type": "string" }, "venue": { "description": "live-data venue (default hyperliquid). The maths is venue-agnostic — for any other venue omit this and pass maxLeverage/markPrice/fundingRateHourly yourself.", "enum": [ "hyperliquid", "dydx" ], "type": "string" } }, "type": "object" }, "name": "perp_gate", "outputSchema": { "additionalProperties": true, "description": "Liquidation risk of one perpetual-futures position.", "properties": { "checks": { "description": "Ground-truth self-checks; the result is untrustworthy if any fails.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "effectiveLeverage": { "description": "notional / margin actually run" }, "funding": { "description": "funding drag over the horizon (when a funding rate is given)" }, "initialMarginRatePct": { "description": "initial margin rate applied (%)" }, "liquidationPrice": { "description": "exact price at which the position liquidates" }, "maintenanceMarginRatePct": { "description": "maintenance margin rate applied (%)" }, "marginTier": { "description": "venue margin tier the notional falls into" }, "model": { "description": "model assumptions used" }, "moveToLiquidationPct": { "description": "adverse % move (from mark) that triggers liquidation" }, "ok": { "description": "false when the engine rejected the input", "type": "boolean" }, "proof": { "additionalProperties": true, "description": "Verifiability envelope: echoed inputs, engine codeHash, contentHash of this exact result, self-checks, EIP-712 signature (EAS-ready). Re-run the open engine on `inputs` to reproduce the result byte-for-byte.", "properties": { "allSelfChecksPass": { "description": "true when every ground-truth self-check passed", "type": "boolean" }, "codeHash": { "description": "build hash of the open-source engine sources (equals GET /build codeHash)", "type": "string" }, "contentHash": { "description": "hash of this exact result — recompute it to detect tampering", "type": "string" }, "engine": { "description": "engine id", "type": "string" } }, "type": "object" } }, "type": "object" } }, { "description": "Cross-venue portfolio risk. Given positions across venues [{venue, asset|symbol, side, size, entryPrice, margin|leverage, maxLeverage|marginTiers}] — OR just account: a Hyperliquid 0x address, whose FULL live book (positions, margins, account equity, the venue's own liquidation prices) is pulled keylessly — returns TRUE net exposure per underlying, the leg that liquidates FIRST (the binding constraint), concentration (HHI / effective independent bets), and a correlated-crash stress counting how many legs liquidate SIMULTANEOUSLY when the market moves ±X% (correlation→1, the Oct-10-2025 crash regime). Pass Hyperliquid symbols to auto-fill live mark/leverage/margin-tiers. Self-checked (exposure reconciliation, per-leg liquidation invariant, nearest=min, monotone stress, venue-liquidation cross-check). Call to see whether independently-sized bets are secretly ONE bet that blows up together.", "inputSchema": { "properties": { "account": { "description": "OR: a Hyperliquid account address (0x…) — the full live book (positions, margins, equity, venue liquidation prices) is pulled keylessly; explicit positions take precedence.", "type": "string" }, "betaTier": { "description": "beta regime for the factor stress: mild | moderate | severe — cross-event validated tiers (pre-registered). Default = worst-case single-event table; explicit betas override.", "enum": [ "mild", "moderate", "severe" ], "type": "string" }, "positions": { "description": "legs: {venue, asset|symbol, side long|short, size, entryPrice, markPrice?, margin|leverage, maxLeverage|maintMarginRate|marginTiers}. A Hyperliquid symbol auto-fills live mark/leverage/tiers.", "items": { "description": "one leg; see the array description for the full field list", "properties": { "side": { "description": "long | short (buy | sell are accepted synonyms); a negative size also reads as short", "enum": [ "long", "short", "buy", "sell" ], "type": "string" } }, "type": "object" }, "type": "array" }, "shockScenariosPct": { "description": "correlated market moves (%) to stress; default [5,10,20,30]", "type": "array" } }, "type": "object" }, "name": "portfolio_gate", "outputSchema": { "additionalProperties": true, "description": "Portfolio-level risk across venues: net exposure, binding liquidation, concentration, correlated stress.", "properties": { "checks": { "description": "Ground-truth self-checks; the result is untrustworthy if any fails.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "concentration": { "description": "HHI + effective number of independent bets" }, "correlatedShockStress": { "description": "per-scenario: how many legs liquidate simultaneously at a correlated ±X% move" }, "model": { "description": "model assumptions used" }, "nearestLiquidation": { "description": "the leg that liquidates FIRST — the binding constraint" }, "netExposureByAsset": { "description": "TRUE net exposure per underlying (longs netted against shorts)" }, "ok": { "description": "false when the engine rejected the input", "type": "boolean" }, "positions": { "description": "per-leg breakdown with each liquidation price" }, "positionsCount": { "description": "number of legs analyzed" }, "proof": { "additionalProperties": true, "description": "Verifiability envelope: echoed inputs, engine codeHash, contentHash of this exact result, self-checks, EIP-712 signature (EAS-ready). Re-run the open engine on `inputs` to reproduce the result byte-for-byte.", "properties": { "allSelfChecksPass": { "description": "true when every ground-truth self-check passed", "type": "boolean" }, "codeHash": { "description": "build hash of the open-source engine sources (equals GET /build codeHash)", "type": "string" }, "contentHash": { "description": "hash of this exact result — recompute it to detect tampering", "type": "string" }, "engine": { "description": "engine id", "type": "string" } }, "type": "object" }, "totalGrossNotional": { "description": "sum of |notional| across legs" }, "totalNetNotional": { "description": "net notional after long/short netting" } }, "type": "object" } }, { "description": "Batch the content-hashes from many Quiver proof envelopes into ONE Merkle root plus per-item inclusion proofs, so a single on-chain anchor (your wallet's tx) attests all of them at once. Self-checked for completeness (every item verifies) and soundness (a non-member does not). Use to make a batch of risk computations cheaply and permanently attestable for audit/liability, without a chain write per computation.", "inputSchema": { "properties": { "contentHashes": { "description": "alternatively, raw content-hashes", "type": "array" }, "items": { "description": "proof envelopes (uses proof.contentHash) or raw content-hashes (hex)", "type": "array" } }, "type": "object" }, "name": "risk_attest", "outputSchema": { "additionalProperties": true, "description": "One Merkle root + inclusion proofs attesting a batch of Quiver computations.", "properties": { "algorithm": { "description": "hash/tree construction used" }, "anchor": { "description": "EIP-712 (EAS-ready) attestation payload for the single on-chain anchor" }, "attestations": { "description": "per-item inclusion proofs" }, "checks": { "description": "Ground-truth self-checks; the result is untrustworthy if any fails.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "duplicateLeaves": { "description": "duplicate content-hashes detected in the batch" }, "leafCount": { "description": "number of items batched" }, "merkleRoot": { "description": "the single root that attests every item" }, "ok": { "description": "false when the engine rejected the input", "type": "boolean" }, "proof": { "additionalProperties": true, "description": "Verifiability envelope: echoed inputs, engine codeHash, contentHash of this exact result, self-checks, EIP-712 signature (EAS-ready). Re-run the open engine on `inputs` to reproduce the result byte-for-byte.", "properties": { "allSelfChecksPass": { "description": "true when every ground-truth self-check passed", "type": "boolean" }, "codeHash": { "description": "build hash of the open-source engine sources (equals GET /build codeHash)", "type": "string" }, "contentHash": { "description": "hash of this exact result — recompute it to detect tampering", "type": "string" }, "engine": { "description": "engine id", "type": "string" } }, "type": "object" }, "verify": { "description": "how to verify inclusion against the root" } }, "type": "object" } }, { "description": "Deterministic position sizing (fractional Kelly) + risk-of-ruin. Given an edge — discrete {winProb, winLossRatio} or continuous {expectedReturn, volatility} — and a bankroll, returns the fractional-Kelly size and the probability of ever drawing down to 50/75/90%. The direct antidote to over-betting: full Kelly rides thin edges to ruin; this defaults to quarter-Kelly. Call before sizing ANY position.", "inputSchema": { "properties": { "bankroll": { "description": "bankroll in account units — recommended sizes are returned in the same units", "type": "number" }, "expectedReturn": { "description": "continuous mode: excess return per period (mu)", "type": "number" }, "kellyFraction": { "description": "fraction of full Kelly to bet (default 0.25)", "type": "number" }, "volatility": { "description": "continuous mode: volatility per period (sigma)", "type": "number" }, "winLossRatio": { "description": "discrete mode: net win/loss odds b", "type": "number" }, "winProb": { "description": "discrete mode: win probability in (0,1)", "type": "number" } }, "type": "object" }, "name": "size_gate", "outputSchema": { "additionalProperties": true, "description": "Fractional-Kelly position size with drawdown (risk-of-ruin) probabilities.", "properties": { "checks": { "description": "Ground-truth self-checks; the result is untrustworthy if any fails.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "expectedLogGrowth": { "description": "expected log-growth rate at the recommended size" }, "fullKellyFraction": { "description": "full-Kelly fraction of bankroll (the ruinous ceiling, not the recommendation)" }, "hasEdge": { "description": "false when the edge is non-positive (bet nothing)" }, "impliedPortfolioVolPct": { "description": "portfolio volatility implied by the recommended size (%)" }, "kellyFractionUsed": { "description": "fraction of full Kelly applied (default 0.25)" }, "leverage": { "description": "implied leverage of the recommended size" }, "mode": { "description": "discrete or continuous" }, "model": { "description": "model assumptions used" }, "note": { "description": "plain-language guidance" }, "ok": { "description": "false when the engine rejected the input", "type": "boolean" }, "proof": { "additionalProperties": true, "description": "Verifiability envelope: echoed inputs, engine codeHash, contentHash of this exact result, self-checks, EIP-712 signature (EAS-ready). Re-run the open engine on `inputs` to reproduce the result byte-for-byte.", "properties": { "allSelfChecksPass": { "description": "true when every ground-truth self-check passed", "type": "boolean" }, "codeHash": { "description": "build hash of the open-source engine sources (equals GET /build codeHash)", "type": "string" }, "contentHash": { "description": "hash of this exact result — recompute it to detect tampering", "type": "string" }, "engine": { "description": "engine id", "type": "string" } }, "type": "object" }, "recommendedBetFraction": { "description": "recommended bet as a fraction of bankroll" }, "recommendedSize": { "description": "recommended bet size in bankroll units" }, "riskOfRuin": { "description": "probability of ever drawing down to 50/75/90% of bankroll" } }, "type": "object" } }, { "description": "Stablecoin / on-chain treasury risk. Given a book of positions [{asset, amountUsd, apyPct, venue, chain, pegTarget, depegProbAnnual}], returns concentration (Herfindahl by asset/venue/chain + breaches over a limit), depeg stress (explicit scenarios + a worst-single-depeg scan), weighted and risk-adjusted yield. Self-checked: HHI == Σw², weights sum to 1, depeg-loss identity. Call to size a treasury's real risk — issuer/venue/chain concentration and depeg exposure — not just its headline APY.", "inputSchema": { "properties": { "concentrationLimitPct": { "description": "flag any single exposure above this (default 25)", "type": "number" }, "depegFloor": { "description": "worst-single-depeg stress floor (default 0.90)", "type": "number" }, "depegScenarios": { "description": "[{asset, price}] explicit depeg stresses", "type": "array" }, "positions": { "description": "treasury holdings", "items": { "properties": { "amountUsd": { "description": "position size in USD", "type": "number" }, "apyPct": { "description": "headline APY (%)", "type": "number" }, "asset": { "description": "stablecoin / asset symbol", "type": "string" }, "chain": { "description": "chain it lives on", "type": "string" }, "depegProbAnnual": { "description": "annualized depeg probability estimate", "type": "number" }, "pegTarget": { "description": "peg price (default 1.0)", "type": "number" }, "venue": { "description": "custodian / protocol holding it", "type": "string" } }, "required": [ "asset", "amountUsd" ], "type": "object" }, "type": "array" } }, "required": [ "positions" ], "type": "object" }, "name": "treasury_risk", "outputSchema": { "additionalProperties": true, "description": "Concentration, depeg stress, and risk-adjusted yield of a stablecoin treasury.", "properties": { "checks": { "description": "Ground-truth self-checks; the result is untrustworthy if any fails.", "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, "concentration": { "description": "Herfindahl (HHI) by asset/venue/chain + limit breaches" }, "depegStress": { "description": "explicit depeg scenarios + worst-single-depeg scan" }, "expectedAnnualDepegLossUsd": { "description": "expected annual loss from depeg probabilities (USD)" }, "model": { "description": "model assumptions used" }, "ok": { "description": "false when the engine rejected the input", "type": "boolean" }, "proof": { "additionalProperties": true, "description": "Verifiability envelope: echoed inputs, engine codeHash, contentHash of this exact result, self-checks, EIP-712 signature (EAS-ready). Re-run the open engine on `inputs` to reproduce the result byte-for-byte.", "properties": { "allSelfChecksPass": { "description": "true when every ground-truth self-check passed", "type": "boolean" }, "codeHash": { "description": "build hash of the open-source engine sources (equals GET /build codeHash)", "type": "string" }, "contentHash": { "description": "hash of this exact result — recompute it to detect tampering", "type": "string" }, "engine": { "description": "engine id", "type": "string" } }, "type": "object" }, "riskAdjustedApyPct": { "description": "yield after expected depeg loss (%)" }, "totalUsd": { "description": "total treasury size in USD" }, "verdict": { "description": "plain-language verdict" }, "weightedApyPct": { "description": "holdings-weighted headline APY (%)" } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:3a48cd1acb1d22b4f6bc7883cacfec5c84be887c23a67590b79a578c2fe90724 | sha256sum