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

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": "HOGSWAP: multi-DEX swap router + universal x402 payment rail on Algorand. Quotes are free (rate-limited); transacting tools need an hsk_ API key — self-issue one with register_agent/verify_registration, no human. All transaction tools return UNSIGNED groups: sign with your own wallet and submit yourself. NEVER pass mnemonics or private keys to any tool — signing happens in YOUR wallet, never here.", "tools": [ { "description": "Unsigned transaction group for a get_quote quote_id. Sign every txn with your own wallet and submit as one group. NEVER pass mnemonics or private keys to any tool — signing happens in YOUR wallet, never here.", "inputSchema": { "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "quote_id": { "title": "Quote Id", "type": "string" }, "user_address": { "title": "User Address", "type": "string" } }, "required": [ "quote_id", "user_address" ], "title": "build_swapArguments", "type": "object" }, "name": "build_swap", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "build_swapOutput", "type": "object" } }, { "description": "Delete one of your watches by its client_key.", "inputSchema": { "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "client_key": { "title": "Client Key", "type": "string" } }, "required": [ "client_key" ], "title": "delete_watchArguments", "type": "object" }, "name": "delete_watch", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "delete_watchOutput", "type": "object" } }, { "description": "Current HOGSWAP credit balance for your API key.", "inputSchema": { "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" } }, "title": "get_balanceArguments", "type": "object" }, "name": "get_balance", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_balanceOutput", "type": "object" } }, { "description": "Create a credit top-up and get the x402 offer (HTTP 402 IS the payment instruction, not an error). Feed accepts[0] straight into pay_x402_invoice (keep the note nonce) to pay with any asset. Credits land ~1 block after payment.", "inputSchema": { "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "usdc_micro": { "title": "Usdc Micro", "type": "integer" } }, "required": [ "usdc_micro" ], "title": "get_credit_offerArguments", "type": "object" }, "name": "get_credit_offer", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_credit_offerOutput", "type": "object" } }, { "description": "HOGSWAP swap quote across every Algorand DEX. Give amount (exact input) OR amount_out (exact output — minimum input is solved). Base units (µ); asset 0 = ALGO. Returns expected_out, route legs, and a quote_id for build_swap. expected_out is NET of the 5 bps routing fee; passing sender also returns router_fee_* fields and the wallet's HOG discount (hog_discount_pct, 100 = fully waived at 100 HOG). Optional sender enables HOG-holding fee discounts. Optional max_legs (1-16) caps TOTAL route legs, splits included — slightly worse price at size, 404 if nothing fits; forward (amount) quotes only.", "inputSchema": { "properties": { "amount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Amount" }, "amount_out": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Amount Out" }, "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "asset_in": { "title": "Asset In", "type": "integer" }, "asset_out": { "title": "Asset Out", "type": "integer" }, "max_legs": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Max Legs" }, "sender": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Sender" } }, "required": [ "asset_in", "asset_out" ], "title": "get_quoteArguments", "type": "object" }, "name": "get_quote", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "get_quoteOutput", "type": "object" } }, { "description": "Assets accepted as payment inputs for pay_x402_invoice and credit top-ups (price-confidence gated; ALGO and USDC always included).", "inputSchema": { "properties": {}, "title": "list_payable_assetsArguments", "type": "object" }, "name": "list_payable_assets", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "list_payable_assetsOutput", "type": "object" } }, { "description": "List your key's active watches (spec + arming/fired state), quota, and latest event seq. Poll this from MCP to see fires; SSE at GET /watches/stream is the push alternative outside MCP.", "inputSchema": { "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" } }, "title": "list_watchesArguments", "type": "object" }, "name": "list_watches", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "list_watchesOutput", "type": "object" } }, { "description": "Pay ANY Algorand-settled x402 invoice with any 1-4 routable assets you hold, even holding none of the demanded asset. Pass the `accepts` entry you picked as `invoice` (keep its note!) plus your inputs (single input with no amount = minimum solved). Returns UNSIGNED groups — sign all in one pass, submit IN ORDER (swap first; its on-chain floor guarantees the payment is funded; holding the asset already = one direct payment). HOGSWAP credit top-up offers feed this verbatim. EVM invoices unsupported (no bridge). NEVER pass mnemonics or private keys to any tool — signing happens in YOUR wallet, never here.", "inputSchema": { "properties": { "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "inputs": { "items": { "additionalProperties": true, "type": "object" }, "title": "Inputs", "type": "array" }, "invoice": { "additionalProperties": true, "title": "Invoice", "type": "object" }, "user_address": { "title": "User Address", "type": "string" } }, "required": [ "invoice", "user_address", "inputs" ], "title": "pay_x402_invoiceArguments", "type": "object" }, "name": "pay_x402_invoice", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "pay_x402_invoiceOutput", "type": "object" } }, { "description": "Self-service HOGSWAP API key, step 1 of 2 — zero human. Returns a challenge; sign its exact bytes with the address's key in YOUR wallet tooling, then call verify_registration. NEVER pass mnemonics or private keys to any tool — signing happens in YOUR wallet, never here.", "inputSchema": { "properties": { "address": { "title": "Address", "type": "string" } }, "required": [ "address" ], "title": "register_agentArguments", "type": "object" }, "name": "register_agent", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "register_agentOutput", "type": "object" } }, { "description": "Register a standing server-side watch (FREE, needs a key; idempotent upsert by client_key — re-registering replaces the watch and resets arming). kind='price': advisory µUSD threshold (asset_id, op gte/lte, threshold_usd_micro). kind='target': size-aware surrogate — would swapping amount_in of asset_in→asset_out deliver ≥ min_out? (margin_bps haircut, default 30; NO quote is run). Edge-triggered one-shot; re-arms after rearm_bps retreat + cooldown_s; ttl_s auto-expiry (default 86400) — refresh by re-upserting. Fires are numbers-only HINTS: re-quote with get_quote. Events push over SSE at GET /watches/stream (outside MCP); from MCP, poll list_watches.", "inputSchema": { "properties": { "amount_in": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Amount In" }, "api_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Api Key" }, "asset_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Asset Id" }, "asset_in": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Asset In" }, "asset_out": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Asset Out" }, "client_key": { "title": "Client Key", "type": "string" }, "cooldown_s": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Cooldown S" }, "kind": { "title": "Kind", "type": "string" }, "margin_bps": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Margin Bps" }, "min_out": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Min Out" }, "op": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Op" }, "rearm_bps": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Rearm Bps" }, "threshold_usd_micro": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Threshold Usd Micro" }, "ttl_s": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl S" } }, "required": [ "client_key", "kind" ], "title": "set_watchArguments", "type": "object" }, "name": "set_watch", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "set_watchOutput", "type": "object" } }, { "description": "Value a liquidity-provider position. Give the LP token's asset id (free, no key) and optionally `amount` in LP BASE units — what the wallet holds — for its USD value and the redeemable amount of each underlying. Also identifies the issuing pool/DEX (and STAMM tier). Per-unit figures are per WHOLE LP token. Values are a proportional-share redemption at analytics prices: no slippage, no exit fee, NOT a market quote — fields are null rather than guessed when supply or a price is missing, so check before reporting a number.", "inputSchema": { "properties": { "amount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Amount" }, "asset_id": { "title": "Asset Id", "type": "integer" } }, "required": [ "asset_id" ], "title": "value_lp_tokenArguments", "type": "object" }, "name": "value_lp_token", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "value_lp_tokenOutput", "type": "object" } }, { "description": "Self-service key issuance, step 2 of 2. Returns your hsk_ key ONCE — store it yourself; it is not recoverable and this server does not keep it. Send it on later calls as Authorization: Bearer, X-API-Key, or the api_key argument.", "inputSchema": { "properties": { "address": { "title": "Address", "type": "string" }, "challenge": { "title": "Challenge", "type": "string" }, "signature_b64": { "title": "Signature B64", "type": "string" } }, "required": [ "address", "challenge", "signature_b64" ], "title": "verify_registrationArguments", "type": "object" }, "name": "verify_registration", "outputSchema": { "properties": { "result": { "title": "Result", "type": "string" } }, "required": [ "result" ], "title": "verify_registrationOutput", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:c18d77ef605cab21b4ded23fdcbff1c73240defc66cab3547404b00dd20c9fd5 | sha256sum