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

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": "Tollkit Extract — paid web tools over x402. No account, no API key. Two jobs: READ a product page (get_product_details, $0.05; compare_products, $0.15 for up to 5) and PROVE what any page said (attest_page, $0.25 — a signed, timestamped record for disputes). Start with try_it_free: it is free and shows the real extraction output. verify_attestation is free too, and works on attestations from anywhere. Plain web tools too: read_page ($0.005, any page as clean text) and screenshot_page ($0.01, a 1280x800 JPEG). Also: wallet_balance ($0.002), token_info ($0.002), transaction_lookup ($0.003), token_price ($0.003), sec_company ($0.005), sec_financials ($0.01), ip_lookup ($0.002), weather_forecast ($0.003), exchange_rate ($0.001). Weigh Station (find_service, check_service) is free and covers ANY x402 seller, not only this one. Every paid tool called WITHOUT a `payment` argument returns a quote rather than an error; sign it and call again.", "tools": [ { "description": "Prove what a web page said, at a time, in a way someone who distrusts you can check.\n\nRenders the page and returns a signed, timestamped record of it: the text and its SHA-256, the HTTP status, the response headers, the serving IP, and the TLS certificate the site presented. Optionally a screenshot and its hash. All of it hashed into one claim and signed, so any single altered byte breaks the signature.\n\nUse it when a page might change or be denied later: terms of service before you agree, a price before you act on it, a policy you are relying on, a claim a competitor published, a listing that can be edited.\n\nVerification is free, needs no account, and does not depend on this service continuing to exist — the math is public and `verify_attestation` explains how to redo it yourself. We keep no copy, so the response you receive IS the evidence. Store it.\n\n$0.25 USDC per call over x402. A render that fails costs nothing.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote instead of an attestation; sign that and call again.", "type": "string" }, "screenshot": { "description": "Default false in MCP. A screenshot makes the evidence much stronger, but the image comes back inline as roughly 55,000 characters of base64. With it false the attestation is text-only and internally complete: it claims no screenshot and commits to no hash you cannot check. Set true when the visual appearance is the thing in dispute and you can afford the bytes.", "type": "boolean" }, "url": { "description": "Absolute https:// URL of the page to attest to. Anything a dispute could turn on: terms of service, a price, a published policy, a competitor's claim, a listing that may be edited later.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "attest_page", "outputSchema": null }, { "description": "Free. Check how much USDC is left in your own wallet on Base, so you can tell your human before you run out. Returns the balance and a link your human can use to refill you from their own wallet. Tollkit never holds anyone's funds or keys.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "address": { "description": "Your wallet address (0x...). The address you pay from.", "type": "string" }, "low_below": { "description": "USDC amount you consider low. Default 1.", "exclusiveMinimum": 0, "type": "number" }, "network": { "description": "Default base. Use sepolia for test money.", "enum": [ "base", "sepolia" ], "type": "string" } }, "required": [ "address" ], "type": "object" }, "name": "check_my_balance", "outputSchema": null }, { "description": "Free. Probes any x402 endpoint WITHOUT paying and reports what it actually charges, to which wallet, on which network, and how that compares with its public Coinbase Bazaar listing (price, recipient, distinct payers in the last 30 days). Returns facts and named signals such as pay_to_differs_from_listing; it does not score or recommend. Works for services that have nothing to do with Tollkit.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "method": { "description": "Force a method. By default the listed method is tried first.", "enum": [ "GET", "POST" ], "type": "string" }, "url": { "description": "The x402 endpoint, e.g. https://api.example.com/v1/thing", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "check_service", "outputSchema": null }, { "description": "Price the same product at several stores — up to 5 URLs in ONE call and ONE payment.\n\nUSE THIS WHENEVER YOU HAVE MORE THAN ONE URL. Comparing an item across stores, checking a short list, or refreshing a handful of tracked prices. It returns full details for each URL so YOU can compare them; it does not rank them or pick a winner. Through get_product_details that is one EIP-3009 signature, one settlement and one round trip PER URL; this is one of each for the whole set.\n\nRETURNS one entry per URL in the order given, each with the same product and page objects get_product_details returns, plus ok/error so a single dead URL does not cost you the rest.\n\nCOST $0.15 flat for up to 5 URLs — cheaper per page than calling get_product_details 5 times.\n\nBILLING, stated plainly: the price is flat, so a batch where only SOME URLs succeed is charged in full. A batch where NO url succeeds returns an error and is not charged. If you have one URL and are unsure it is live, get_product_details is the cheaper bet.\n\nDuplicate URLs are removed and not billed twice.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "allow_redirect": { "description": "Applies to every URL. See get_product_details for what it does.", "type": "boolean" }, "payment": { "description": "Base64-encoded x402 payment payload. Omit on the first call to receive payment requirements.", "type": "string" }, "urls": { "description": "Up to 5 absolute https:// product page URLs. Duplicates are removed and not billed twice.", "items": { "type": "string" }, "type": "array" } }, "required": [ "urls" ], "type": "object" }, "name": "compare_products", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "billing": { "description": "The billing rule, restated on every response rather than only in the docs.", "type": "string" }, "failed": { "type": "number" }, "requested": { "type": "number" }, "results": { "items": { "additionalProperties": false, "properties": { "cache_age_seconds": { "type": "number" }, "cached": { "type": "boolean" }, "error": { "type": [ "string", "null" ] }, "message": { "type": [ "string", "null" ] }, "ok": { "type": "boolean" }, "page": { "anyOf": [ { "additionalProperties": false, "properties": { "fetchedAt": { "description": "ISO timestamp of the RENDER, not of this call. On a cached result this is older than now — check it before treating a price as live.", "type": "string" }, "finalUrl": { "description": "Where it ended up after redirects.", "type": "string" }, "render_ms": { "type": [ "number", "null" ] }, "status": { "description": "HTTP status of the rendered page.", "type": "number" }, "title": { "type": [ "string", "null" ] }, "url": { "description": "The URL as submitted.", "type": "string" } }, "required": [ "url", "finalUrl", "title", "status", "fetchedAt", "render_ms" ], "type": "object" }, { "type": "null" } ] }, "product": { "anyOf": [ { "additionalProperties": false, "properties": { "availability": { "description": "`unknown` when the page does not say — never guessed.", "enum": [ "in_stock", "out_of_stock", "preorder", "unknown" ], "type": "string" }, "brand": { "type": [ "string", "null" ] }, "currency": { "description": "ISO 4217 code, e.g. USD. Always null when price is null.", "type": [ "string", "null" ] }, "description": { "description": "One to three sentences.", "type": [ "string", "null" ] }, "images": { "description": "Up to 5 absolute image URLs copied verbatim from the page. Never invented. Empty when the page carries no usable product image.", "items": { "type": "string" }, "type": "array" }, "name": { "description": "Product title as shown on the page.", "type": [ "string", "null" ] }, "price": { "description": "Numeric price. No currency symbol, no thousands separator.", "type": [ "number", "null" ] }, "sku": { "description": "SKU or model number, if the page shows one.", "type": [ "string", "null" ] }, "url": { "description": "The page the data came from, after any redirects.", "type": "string" }, "variants": { "description": "e.g. [{ name: \"Size\", values: [\"S\", \"M\", \"L\"] }]", "items": { "additionalProperties": false, "properties": { "name": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array" } }, "required": [ "name", "values" ], "type": "object" }, "type": "array" } }, "required": [ "name", "description", "brand", "sku", "price", "currency", "availability", "images", "variants", "url" ], "type": "object" }, { "type": "null" } ] }, "provenance": { "anyOf": [ { "additionalProperties": false, "properties": { "declared": { "items": { "type": "string" }, "type": "array" }, "inferred": { "items": { "type": "string" }, "type": "array" }, "source": { "enum": [ "json-ld", "meta", "json-ld+meta", "none" ], "type": "string" } }, "required": [ "source", "declared", "inferred" ], "type": "object" }, { "type": "null" } ], "description": "Per-URL: which fields the merchant declared vs the model inferred." }, "url": { "type": "string" } }, "required": [ "url", "ok", "product", "page", "provenance", "cached", "cache_age_seconds", "error", "message" ], "type": "object" }, "type": "array" }, "settlement": { "type": [ "string", "null" ] }, "status": { "const": "ok", "type": "string" }, "succeeded": { "type": "number" } }, "required": [ "status", "requested", "succeeded", "failed", "billing", "results", "settlement" ], "type": "object" } }, { "description": "Convert between currencies at European Central Bank reference rates (30 currencies), for the latest business day or any day in the last 90. These rates are published free by the ECB at ecb.europa.eu and are for information only, not for transactions.\n\n$0.001 USDC per call over x402. Failed calls cost nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "amount": { "minimum": 0, "type": "number" }, "date": { "description": "YYYY-MM-DD within the last 90 days.", "type": "string" }, "from": { "description": "3-letter currency code, e.g. \"USD\".", "type": "string" }, "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" }, "to": { "description": "3-letter currency code, e.g. \"EUR\".", "type": "string" } }, "required": [ "from", "to" ], "type": "object" }, "name": "exchange_rate", "outputSchema": null }, { "description": "Free. Searches Coinbase's public x402 discovery index for services that do a task (e.g. 'product price lookup', 'send sms', 'web page screenshot'), then checks each result live without paying. Results are ordered by whether they returned a live price quote, then by distinct paying wallets; nobody pays for placement. Descriptions are the sellers' own words.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "limit": { "description": "How many results to check, default 5.", "maximum": 8, "minimum": 1, "type": "integer" }, "query": { "description": "What you need done, in plain words.", "maxLength": 200, "minLength": 2, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "find_service", "outputSchema": null }, { "description": "Find out what a product is and what it costs, from its page URL.\n\nUSE THIS WHEN you have the URL of ONE specific product — a store listing, a marketplace item, a manufacturer's page — and you need its fields rather than its prose. Typical jobs: comparing the same item across several stores, tracking a price over time, checking whether something is in stock, ingesting a catalogue, or getting a product photo URL.\n\nDO NOT USE THIS FOR search-results or category pages (it returns one product, not a list), pages behind a login or paywall, or pages that are not about a product. It also cannot reach private or internal addresses.\n\nRETURNS name, description, brand, sku, price (a number), currency (ISO 4217), availability (in_stock | out_of_stock | preorder | unknown), images (up to 5 absolute URLs copied from the page, never invented) and variants. See the output schema for the exact shape. Any field the page does not state comes back null rather than guessed.\n\nHOW: the page is rendered in a real headless browser before extraction, so JavaScript-built pages work where a plain fetch returns an empty shell.\n\nCOST $0.05 USDC per call over x402 (the quote lists every network you can pay on: Base, and Solana where offered). No account, no API key, nothing to install, and no gas — the facilitator sponsors it. Call once WITHOUT the payment argument to get back the payment requirements, sign a payment for the quoted amount with your own wallet, base64-encode the x402 payload, and call again with that string as `payment`.\n\nEVERY RESPONSE SAYS WHERE EACH FIELD CAME FROM. `provenance.declared` lists the fields whose values match what the merchant published in schema.org JSON-LD — their own number, the one they publish for Google. `provenance.inferred` lists the ones a model read off the page, which might be a strikethrough price or a neighbouring product. Act on declared values; verify inferred ones if the decision matters.\n\nA URL that redirects to what looks like a DIFFERENT page — a discontinued item bouncing to its category listing — is refused free of charge rather than answered with the wrong product. Retry with `allow_redirect: true` if you want whatever the URL resolves to.\n\nA failed extraction is not charged. Repeat calls for the same URL within 300 seconds are re-served from a recent render and marked `cached: true` with the render's original `fetchedAt`.\n\nCall `try_it_free` first if you want to see real output before spending anything.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "allow_redirect": { "description": "Default false. By default a URL that redirects to what looks like a different page (a discontinued item bouncing to its category listing) is refused free of charge, because extracting it would return a real product that is not the one you asked for. Set true if you want whatever the URL resolves to.", "type": "boolean" }, "payment": { "description": "Base64-encoded x402 payment payload. Omit on the first call to receive payment requirements.", "type": "string" }, "url": { "description": "Absolute https:// URL of a single product page. Not a search or category page.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "get_product_details", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "cache_age_seconds": { "type": "number" }, "cached": { "description": "True when this answer was re-served from a recent render rather than produced now. Re-serving is still a paid call; it is faster, and the data is as old as cache_age_seconds says.", "type": "boolean" }, "page": { "additionalProperties": false, "properties": { "fetchedAt": { "description": "ISO timestamp of the RENDER, not of this call. On a cached result this is older than now — check it before treating a price as live.", "type": "string" }, "finalUrl": { "description": "Where it ended up after redirects.", "type": "string" }, "render_ms": { "type": [ "number", "null" ] }, "status": { "description": "HTTP status of the rendered page.", "type": "number" }, "title": { "type": [ "string", "null" ] }, "url": { "description": "The URL as submitted.", "type": "string" } }, "required": [ "url", "finalUrl", "title", "status", "fetchedAt", "render_ms" ], "type": "object" }, "product": { "additionalProperties": false, "properties": { "availability": { "description": "`unknown` when the page does not say — never guessed.", "enum": [ "in_stock", "out_of_stock", "preorder", "unknown" ], "type": "string" }, "brand": { "type": [ "string", "null" ] }, "currency": { "description": "ISO 4217 code, e.g. USD. Always null when price is null.", "type": [ "string", "null" ] }, "description": { "description": "One to three sentences.", "type": [ "string", "null" ] }, "images": { "description": "Up to 5 absolute image URLs copied verbatim from the page. Never invented. Empty when the page carries no usable product image.", "items": { "type": "string" }, "type": "array" }, "name": { "description": "Product title as shown on the page.", "type": [ "string", "null" ] }, "price": { "description": "Numeric price. No currency symbol, no thousands separator.", "type": [ "number", "null" ] }, "sku": { "description": "SKU or model number, if the page shows one.", "type": [ "string", "null" ] }, "url": { "description": "The page the data came from, after any redirects.", "type": "string" }, "variants": { "description": "e.g. [{ name: \"Size\", values: [\"S\", \"M\", \"L\"] }]", "items": { "additionalProperties": false, "properties": { "name": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array" } }, "required": [ "name", "values" ], "type": "object" }, "type": "array" } }, "required": [ "name", "description", "brand", "sku", "price", "currency", "availability", "images", "variants", "url" ], "type": "object" }, "provenance": { "additionalProperties": false, "description": "Where each field came from. `declared` matches what the merchant published in schema.org data — their own number. `inferred` was read off the page by a model. Null fields appear in neither. Treat a declared price as a fact and an inferred one as a reading.", "properties": { "declared": { "items": { "type": "string" }, "type": "array" }, "inferred": { "items": { "type": "string" }, "type": "array" }, "source": { "enum": [ "json-ld", "meta", "json-ld+meta", "none" ], "type": "string" } }, "required": [ "source", "declared", "inferred" ], "type": "object" }, "redirect": { "anyOf": [ { "additionalProperties": false, "properties": { "final": { "type": "string" }, "requested": { "type": "string" } }, "required": [ "requested", "final" ], "type": "object" }, { "type": "null" } ], "description": "Present only when the browser landed somewhere other than the URL you gave. The data describes `final`, not `requested`." }, "settlement": { "description": "Base64 x402 settlement receipt, when the facilitator returned one.", "type": [ "string", "null" ] }, "status": { "const": "ok", "type": "string" } }, "required": [ "status", "product", "page", "cached", "cache_age_seconds", "provenance", "redirect", "settlement" ], "type": "object" } }, { "description": "Free. Price, network, and what this service returns. For a sample of the actual output rather than a description of it, call try_it_free instead.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_service_info", "outputSchema": null }, { "description": "Find where an IP address is: country, region, city, continent and approximate coordinates, for IPv4 or IPv6. City-level accuracy, not a street address. Data: IP Geolocation by DB-IP (db-ip.com), CC BY 4.0.\n\n$0.002 USDC per call over x402. Failed calls cost nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "ip": { "description": "IPv4 or IPv6 address.", "type": "string" }, "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" } }, "required": [ "ip" ], "type": "object" }, "name": "ip_lookup", "outputSchema": null }, { "description": "Read any public web page and get its visible text back: the words a person would see, with navigation and boilerplate stripped, plus the title and final URL after redirects. JavaScript pages are rendered in a real browser first. Up to 50,000 characters.\n\nUse it to read an article, a doc, a policy or any page you were given a link to. Chain it with a summarizer when the page is long.\n\n$0.005 USDC per page over x402. A page that fails to load, returns an error or has no text costs nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" }, "url": { "description": "Absolute http(s) URL of a public page.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "read_page", "outputSchema": null }, { "description": "Capture how any public web page looks: a 1280x800 JPEG from a real browser, returned as base64 with its SHA-256, the title and the final URL.\n\nUse it to see a page's layout, check that something renders, or hand the image to a vision model. The image is roughly 50-150 KB of base64 in the response.\n\n$0.01 USDC per capture over x402. A page that fails to load or returns an error costs nothing. For signed, timestamped evidence of a page use attest_page instead. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" }, "url": { "description": "Absolute http(s) URL of a public page.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "screenshot_page", "outputSchema": null }, { "description": "Look up a US public company in SEC EDGAR by ticker or CIK: legal name, exchange, industry, state, fiscal year end, and its latest filings (10-K, 10-Q, 8-K, insider Form 4 and more) with direct links. Filter by form type, e.g. only 10-Ks.\n\n$0.005 USDC per call over x402. Failed calls cost nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "cik": { "type": "integer" }, "form": { "description": "Only this form type, e.g. \"10-K\".", "type": "string" }, "limit": { "maximum": 40, "minimum": 1, "type": "integer" }, "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" }, "ticker": { "description": "US stock ticker, e.g. \"AAPL\". Give this or cik.", "type": "string" } }, "type": "object" }, "name": "sec_company", "outputSchema": null }, { "description": "Get a US public company's financials as filed with the SEC: revenue, operating income, net income, diluted EPS, total assets, liabilities, equity, cash, operating cash flow and shares outstanding — last 4 fiscal years plus the latest quarter, each tied to its filing.\n\n$0.01 USDC per call over x402. Failed calls cost nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "cik": { "type": "integer" }, "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" }, "ticker": { "description": "US stock ticker, e.g. \"NVDA\". Give this or cik.", "type": "string" } }, "type": "object" }, "name": "sec_financials", "outputSchema": null }, { "description": "Look up a token on Base, Ethereum (ERC-20 contract) or Solana (SPL mint): name, symbol, decimals and total supply, plus mint and freeze authority on Solana, read live from the chain. Use it to confirm what an address actually is before acting on it.\n\n$0.002 USDC per call over x402. Failed calls cost nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "chain": { "description": "\"base\" (default), \"ethereum\" or \"solana\".", "enum": [ "base", "ethereum", "solana" ], "type": "string" }, "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" }, "token": { "description": "ERC-20 contract, or SPL mint on Solana.", "type": "string" } }, "required": [ "token" ], "type": "object" }, "name": "token_info", "outputSchema": null }, { "description": "Get a token's current USD price on Base, Ethereum or Solana, read from its deepest on-chain pool (Uniswap v3 against USDC or WETH; on Solana, Orca Whirlpools against USDC or SOL) rather than a price API. Returns the pool used, how much liquidity backs the price, and a flag when the pool is too thin to trust.\n\n$0.003 USDC per call over x402. Failed calls cost nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "chain": { "description": "\"base\" (default), \"ethereum\" or \"solana\".", "enum": [ "base", "ethereum", "solana" ], "type": "string" }, "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" }, "token": { "description": "ERC-20 contract or SPL mint to price (\"SOL\" works on Solana).", "type": "string" } }, "required": [ "token" ], "type": "object" }, "name": "token_price", "outputSchema": null }, { "description": "Look up a transaction on Base, Ethereum or Solana: did it succeed, when, who sent it, the fee, and every token movement with symbols and amounts (ERC-20 transfers; on Solana, SOL and token balance changes per owner). Use it to confirm a payment actually landed.\n\n$0.003 USDC per call over x402. Failed calls cost nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "chain": { "description": "\"base\" (default), \"ethereum\" or \"solana\".", "enum": [ "base", "ethereum", "solana" ], "type": "string" }, "hash": { "description": "0x transaction hash, or base58 signature on Solana.", "type": "string" }, "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" } }, "required": [ "hash" ], "type": "object" }, "name": "transaction_lookup", "outputSchema": null }, { "description": "Free. Run a real extraction against one fixed sample product page and return the result.\n\nUSE THIS to decide whether the paid tools are worth paying for. It returns the identical shape get_product_details returns, produced by the identical code — not a hand-written example — so what you see is what you get. It takes no arguments and costs nothing.\n\nYou cannot choose the page: pointing a free endpoint at arbitrary URLs would just be the paid tool with no toll. Use get_product_details for the URL you actually care about.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "try_it_free", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "cache_age_seconds": { "type": "number" }, "free": { "const": true, "type": "boolean" }, "note": { "type": "string" }, "page": { "additionalProperties": false, "properties": { "fetchedAt": { "description": "ISO timestamp of the RENDER, not of this call. On a cached result this is older than now — check it before treating a price as live.", "type": "string" }, "finalUrl": { "description": "Where it ended up after redirects.", "type": "string" }, "render_ms": { "type": [ "number", "null" ] }, "status": { "description": "HTTP status of the rendered page.", "type": "number" }, "title": { "type": [ "string", "null" ] }, "url": { "description": "The URL as submitted.", "type": "string" } }, "required": [ "url", "finalUrl", "title", "status", "fetchedAt", "render_ms" ], "type": "object" }, "preview": { "const": true, "type": "boolean" }, "product": { "additionalProperties": false, "properties": { "availability": { "description": "`unknown` when the page does not say — never guessed.", "enum": [ "in_stock", "out_of_stock", "preorder", "unknown" ], "type": "string" }, "brand": { "type": [ "string", "null" ] }, "currency": { "description": "ISO 4217 code, e.g. USD. Always null when price is null.", "type": [ "string", "null" ] }, "description": { "description": "One to three sentences.", "type": [ "string", "null" ] }, "images": { "description": "Up to 5 absolute image URLs copied verbatim from the page. Never invented. Empty when the page carries no usable product image.", "items": { "type": "string" }, "type": "array" }, "name": { "description": "Product title as shown on the page.", "type": [ "string", "null" ] }, "price": { "description": "Numeric price. No currency symbol, no thousands separator.", "type": [ "number", "null" ] }, "sku": { "description": "SKU or model number, if the page shows one.", "type": [ "string", "null" ] }, "url": { "description": "The page the data came from, after any redirects.", "type": "string" }, "variants": { "description": "e.g. [{ name: \"Size\", values: [\"S\", \"M\", \"L\"] }]", "items": { "additionalProperties": false, "properties": { "name": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array" } }, "required": [ "name", "values" ], "type": "object" }, "type": "array" } }, "required": [ "name", "description", "brand", "sku", "price", "currency", "availability", "images", "variants", "url" ], "type": "object" }, "sample_url": { "type": "string" }, "stale": { "description": "True if the sample could not be refreshed and is an older render.", "type": "boolean" }, "status": { "const": "ok", "type": "string" } }, "required": [ "status", "preview", "free", "sample_url", "product", "page", "stale", "cache_age_seconds", "note" ], "type": "object" } }, { "description": "Free, forever, no account. Hand back an attestation -- yours or one someone else gave you -- and find out whether the signature holds and whether we issued it. Works on attestations this service did not produce: the answer for those is a clear no, which is the point. Holds no database, so it keeps working whoever is running it.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "attestation": { "description": "The attestation as JSON text: either the whole response from attest_page or just its `attestation` object.", "type": "string" } }, "required": [ "attestation" ], "type": "object" }, "name": "verify_attestation", "outputSchema": null }, { "description": "Check a wallet's balances on Base, Ethereum or Solana: native ETH or SOL, USDC (plus USDT on Ethereum and Solana), and any token contracts or SPL mints you list (up to 20), with symbols and decimals applied. Read live from the chain.\n\n$0.002 USDC per call over x402. Failed calls cost nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "address": { "description": "0x address on Base/Ethereum, or base58 address on Solana.", "type": "string" }, "chain": { "description": "\"base\" (default), \"ethereum\" or \"solana\".", "enum": [ "base", "ethereum", "solana" ], "type": "string" }, "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" }, "tokens": { "description": "Extra ERC-20 contracts (SPL mints on Solana) to include.", "items": { "type": "string" }, "maxItems": 20, "type": "array" } }, "required": [ "address" ], "type": "object" }, "name": "wallet_balance", "outputSchema": null }, { "description": "Get the US National Weather Service forecast for a latitude/longitude: the next 7 days in day and night periods (temperature, chance of rain, wind, summary) plus any active watches, warnings or advisories. United States and territories only.\n\n$0.003 USDC per call over x402. Failed calls cost nothing. Call without `payment` to get a quote.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "lat": { "description": "Latitude, e.g. 38.98", "type": "number" }, "lon": { "description": "Longitude, e.g. -76.49", "type": "number" }, "payment": { "description": "Base64 x402 payment payload. Omit it to receive a quote; sign that and call again.", "type": "string" }, "periods": { "maximum": 14, "minimum": 1, "type": "integer" } }, "required": [ "lat", "lon" ], "type": "object" }, "name": "weather_forecast", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:3bf8abd99db3f2e66e979bccd6ec97661a12c68c6fd62a03a1cf301d9337b642 | sha256sum