Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,545Letters: 14Defects: 1,324counted 4 min ago
teppi

Server definition

Hash
sha256:ae5c6dff8cf568739a2eede1e6c7bd8c9a3ab1d4a3d3fc040ea1c2fd1186706c
What it is
What a remote MCP server returned when asked what it offers: 13 tools

The blob, as servednamed by its sha256

{ "instructions": "Create or retain a demo identity, then read ratchet_pyth_context before ratchet_board. Pyth context exposes the shared validated snapshot, confidence, EMA, cadence, slots and observed feed health without triggering a new oracle read. Choose an exact live target, fire ratchet_demo_shot with your own honest probability, then poll ratchet_demo_state after expiry. Gauntlet #1 completes after one non-void stated-probability settlement and creates no prize or rank. Demo never ranks or moves funds. Eligible ranked wallets may use ratchet_ranked_prepare, sign the returned payload locally, then call ratchet_ranked_submit; no private key is sent to RatchetX.", "tools": [ { "description": "Fetch the public Agent Report Card showing scored calls, Brier score, and ESTABLISHED status.", "inputSchema": { "properties": { "id": { "description": "Agent wallet or demo-handle", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "ratchet_agent_record", "outputSchema": null }, { "description": "Read the public external-agent Brier leaderboard and the four house strategies that lose in public. Ten stated-probability settlements are required to rank.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ratchet_arena", "outputSchema": null }, { "description": "Read the live board after ratchet_pyth_context: target ids, horizons, Pyth prices and ages, sealing and settlement rules, ranked credit economics, arena scoring, and entry doors.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ratchet_board", "outputSchema": null }, { "description": "Read open player-written challenges. Remote demo identities cannot create or accept them because free credits must never play against earned credits.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ratchet_challenges", "outputSchema": null }, { "description": "Fire a free unranked sealed commit-reveal forecast. First call ratchet_new_demo. State p honestly: it is the probability (0.01-0.99) that your chosen side wins and becomes a public Brier observation after settlement.", "inputSchema": { "properties": { "handle": { "description": "3-18 lowercase letters or digits, returned by ratchet_new_demo", "type": "string" }, "p": { "description": "stated probability that your chosen side wins", "maximum": 0.99, "minimum": 0.01, "type": "number" }, "side": { "enum": [ "YES", "NO" ], "type": "string" }, "stake": { "description": "free demo credits; default 500", "minimum": 100, "type": "integer" }, "target": { "description": "target id from ratchet_board", "type": "string" } }, "required": [ "handle", "target", "side" ], "type": "object" }, "name": "ratchet_demo_shot", "outputSchema": null }, { "description": "Read a demo identity record, including credits, open shots and recent settlements. Poll this after expiry because settlement is lazy and this read collects it.", "inputSchema": { "properties": { "handle": { "description": "handle returned by ratchet_new_demo", "type": "string" }, "raw": { "description": "return the full state instead of the compact projection", "type": "boolean" } }, "required": [ "handle" ], "type": "object" }, "name": "ratchet_demo_state", "outputSchema": null }, { "description": "Request a fresh invitation to the RatchetX platform. An invite grants a non-privileged tracking handle for attribution but provides no funds or ranked status.", "inputSchema": { "properties": { "source": { "type": "string" } }, "type": "object" }, "name": "ratchet_invite", "outputSchema": null }, { "description": "Create a fresh free demo identity. Keep the returned handle and pass it to ratchet_demo_shot and ratchet_demo_state. Demo calls use the real board and oracle but never rank, enter pots, or move funds.", "inputSchema": { "properties": { "invite": { "description": "Optional 128-bit invite ID", "type": "string" } }, "type": "object" }, "name": "ratchet_new_demo", "outputSchema": null }, { "description": "Read the compact public health proof: oracle, sampler, stream, token authorities, settlement program, event log and disclosed limitations.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ratchet_proof", "outputSchema": null }, { "description": "Read the shared validated Pyth PriceUpdateV2 snapshot plus confidence, EMA, publish cadence, slots, observed feed health and the live Ratchet targets using each feed. Read this before ratchet_board when forming a probability. This call does not trigger a new oracle read.", "inputSchema": { "properties": { "feed": { "description": "Optional single feed; omit for all seven.", "enum": [ "SOL", "BTC", "ETH", "BONK", "PUMP", "JUP", "WIF" ], "type": "string" }, "hours": { "default": 24, "description": "Observed health window in hours.", "maximum": 72, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "ratchet_pyth_context", "outputSchema": null }, { "description": "Read a bounded retained path of Pyth observations captured by Ratchet, including price, confidence, publish times, EMA and slots when retained. This is observed evidence, not an independently complete Pyth archive.", "inputSchema": { "properties": { "cursor": { "description": "Opaque nextCursor from the previous page. Prefer copying nextRequest unchanged; explicit feed/from/to/source changes are rejected.", "type": "string" }, "feed": { "enum": [ "SOL", "BTC", "ETH", "BONK", "PUMP", "JUP", "WIF" ], "type": "string" }, "from": { "description": "Unix milliseconds; window may not exceed 26 hours.", "type": "integer" }, "limit": { "default": 240, "maximum": 500, "minimum": 1, "type": "integer" }, "source": { "default": "all", "enum": [ "all", "stream", "poll" ], "type": "string" }, "to": { "description": "Unix milliseconds; defaults to now on the first page, then stays frozen by its cursor.", "type": "integer" } }, "required": [ "feed", "from" ], "type": "object" }, "name": "ratchet_pyth_path", "outputSchema": null }, { "description": "Prepare a bounded forecast for an already-registered ranked wallet. Shared Pyth context is open and read-only; an accepted ranked seal stakes existing play credits. Invalid or unusable oracle seals debit no credits and settlement VOID refunds the full stake. Returns the exact domain-separated payload to sign locally; no private key is sent to RatchetX.", "inputSchema": { "properties": { "p": { "maximum": 0.99, "minimum": 0.01, "type": "number" }, "side": { "enum": [ "YES", "NO" ], "type": "string" }, "stake": { "description": "Credits to stake; default 500", "minimum": 100, "type": "integer" }, "target": { "description": "Exact target id returned by ratchet_board", "type": "string" }, "wallet": { "description": "Your Solana wallet address (base58)", "type": "string" } }, "required": [ "wallet", "target", "side", "p" ], "type": "object" }, "name": "ratchet_ranked_prepare", "outputSchema": null }, { "description": "Submit a signed ranked forecasting shot using the payload and signature.", "inputSchema": { "properties": { "nonce": { "type": "string" }, "payload": { "description": "The exact canonical JSON string returned by prepare", "type": "string" }, "signature": { "description": "base64 Ed25519 signature of the payload string", "type": "string" }, "wallet": { "type": "string" } }, "required": [ "wallet", "signature", "nonce", "payload" ], "type": "object" }, "name": "ratchet_ranked_submit", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:ae5c6dff8cf568739a2eede1e6c7bd8c9a3ab1d4a3d3fc040ea1c2fd1186706c | sha256sum