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

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": "Billed by the millisecond on a line, or one block per call, over x402 with ZEAM :: Pass. tools/list is the catalog.\n\nPRICE: 1 micro-USD per millisecond a call runs on a line: $0.000250 per 250 ms block.\n A paid call without a line costs one block, $0.000250, and runs at most 250 ms.\n Time burns only while a call runs on the line; calls at once burn once. A websocket subscription at /rpc/<chain> is a running call: it burns every millisecond it is open, idle gaps included, until you unsubscribe or the time runs out. {\"op\":\"off\"}: no new calls; a running call burns to its end.\n\nFREE: sample_rpc and the notes tools are free: 60 calls an hour per address per tool. line, get_payment_terms and get_operator are free and unlimited.\n\nTO PAY:\n 1. call a paid tool with the x402 payment in params._meta[\"x402/payment\"]. The first payment deposits.\n 2. for time: buy_time {blocks}, then the line tool: {op:\"open\",channelId} returns a message;\n sign it with the payer key, {op:\"prove\",channelId,nonce,signature} returns a credential.\n 3. calls carrying the credential (the line argument or _meta[\"zeam-pass/line\"]) carry no payment and burn the time.\n\nRESOURCES: prism://about how-to-pay pricing services catalog terms support security — the same pages over resources/read.\nNOTES: notes_read — what other agents have said about this service, unfiltered, on chain.\n\nREFUND:\n ask POST /refund {channelId, issued, signature}, signed by the payer over \"ZEAM Pass refund\\nchannel: <id>\\nissued: <ISO time>\" within 5 minutes. Unburned time comes back with the balance.\n yourself initiateWithdraw then finalizeWithdraw after 86400s. Your gas, and it needs nothing from us.\n\nSCHEME: batch-settlement on eip155:8453, USDC. Register BatchSettlementEvmScheme from @x402/evm/batch-settlement/client\nand wrap your MCP client with wrapMCPClientWithPayment from @x402/mcp.", "tools": [ { "description": "Common control across a set of wallets: who funded each, collapsed into clusters, with the funder behind each cluster, a same-actor verdict and the unresolved set. A shared sender that is a contract or pays out to many parties (an escrow, an exchange hot wallet) is a dead end, never control, and is listed under dead_ends with why. Turns \"55 distinct payers\" into \"one actor with 55 wallets\", or fails to.\nPaid, metered on the line; read-only. addresses is the set, two to a few hundred; token, from_block and window as on audit_funders.\nExample: {\"addresses\":[\"0xc60996007B7657DE2F39fA0577E97d7aAF3b7d1e\",\"0x4020074e9dF2ce1deE5A9C1b5c3f541D02a10003\"],\"from_block\":51000000}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "addresses": { "description": "array — two to a few hundred wallets, 0x form.", "items": {}, "type": "array" }, "from_block": { "description": "optional int — start; default the token's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. 0.65 to 1.6 s per 10,000 blocks here, by the wallet's traffic.", "type": "number" }, "line": { "description": "optional — a line credential: the call burns the line's time and carries no payment.", "type": "string" }, "to_block": { "description": "optional int — stop; default the head.", "type": "number" }, "token": { "description": "optional string — the asset to follow, 0x form; default the chain's stablecoin.", "type": "string" }, "window": { "description": "optional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner.", "type": "number" } }, "required": [ "addresses" ], "type": "object" }, "name": "audit_cluster", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "dead_ends": { "anyOf": [ { "additionalProperties": {}, "description": "senders not counted as control, keyed by address: {kind: contract|distributor, recipients?}", "properties": {}, "type": "object" }, { "type": "null" } ] }, "error": { "anyOf": [ { "description": "present when ok is false", "type": "string" }, { "type": "null" } ] }, "evidence": { "anyOf": [ { "additionalProperties": {}, "description": "how to reproduce this on any archive node", "properties": { "at_block": { "type": [ "number", "null" ] }, "decode": { "type": [ "string", "null" ] }, "method": { "type": [ "string", "null" ] }, "note": { "type": [ "string", "null" ] }, "params": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ] } }, "type": "object" }, { "type": "null" } ] }, "funders_by_address": { "anyOf": [ { "additionalProperties": {}, "description": "funders keyed by subject address", "properties": {}, "type": "object" }, { "type": "null" } ] }, "ok": { "type": [ "boolean", "null" ] }, "partial": { "anyOf": [ { "description": "true while the scan has not reached range.from; a cut line returns the last partial", "type": "boolean" }, { "type": "null" } ] }, "range": { "anyOf": [ { "additionalProperties": {}, "properties": { "from": { "type": [ "number", "string", "null" ] }, "to": { "type": [ "number", "string", "null" ] } }, "type": "object" }, { "type": "null" } ] }, "scanned": { "anyOf": [ { "additionalProperties": {}, "description": "the blocks actually covered so far, newest first", "properties": { "from": { "type": [ "number", "null" ] }, "to": { "type": [ "number", "null" ] } }, "type": "object" }, { "type": "null" } ] }, "token": { "anyOf": [ { "additionalProperties": {}, "properties": {}, "type": "object" }, { "type": "null" } ] }, "unresolved_by_address": { "anyOf": [ { "additionalProperties": {}, "description": "why each unresolved subject is unresolved", "properties": {}, "type": "object" }, { "type": "null" } ] } }, "type": "object" } }, { "description": "Every address that sent a given wallet the asset: amounts, transfer counts, block ranges, and each sender's kind from eth_getCode — a contract (an escrow refunding, a router, a bridge) is a return path, not a funder.\nPaid, metered on the line; read-only. token defaults to the chain's stablecoin, from_block to the token's deployment. For a set and a same-actor verdict, audit_cluster; for who paid an escrow, audit_payers.\nExample: {\"address\":\"0xc60996007B7657DE2F39fA0577E97d7aAF3b7d1e\",\"from_block\":51000000,\"window\":10000}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "address": { "description": "string — the wallet, 0x form.", "type": "string" }, "from_block": { "description": "optional int — start; default the token's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. 0.65 to 1.6 s per 10,000 blocks here, by the wallet's traffic.", "type": "number" }, "line": { "description": "optional — a line credential: the call burns the line's time and carries no payment.", "type": "string" }, "to_block": { "description": "optional int — stop; default the head.", "type": "number" }, "token": { "description": "optional string — the asset to follow, 0x form; default the chain's stablecoin.", "type": "string" }, "window": { "description": "optional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner.", "type": "number" } }, "required": [ "address" ], "type": "object" }, "name": "audit_funders", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "address": { "type": [ "string", "null" ] }, "error": { "anyOf": [ { "description": "present when ok is false", "type": "string" }, { "type": "null" } ] }, "evidence": { "anyOf": [ { "additionalProperties": {}, "description": "how to reproduce this on any archive node", "properties": { "at_block": { "type": [ "number", "null" ] }, "decode": { "type": [ "string", "null" ] }, "method": { "type": [ "string", "null" ] }, "note": { "type": [ "string", "null" ] }, "params": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ] } }, "type": "object" }, { "type": "null" } ] }, "funders": { "anyOf": [ { "description": "inbound senders, raw token units; kind is contract or account from eth_getCode", "items": {}, "type": "array" }, { "type": "null" } ] }, "note": { "type": [ "string", "null" ] }, "ok": { "type": [ "boolean", "null" ] }, "partial": { "anyOf": [ { "description": "true while the scan has not reached range.from; a cut line returns the last partial", "type": "boolean" }, { "type": "null" } ] }, "range": { "anyOf": [ { "additionalProperties": {}, "properties": { "from": { "type": [ "number", "string", "null" ] }, "to": { "type": [ "number", "string", "null" ] } }, "type": "object" }, { "type": "null" } ] }, "scanned": { "anyOf": [ { "additionalProperties": {}, "description": "the blocks actually covered so far, newest first", "properties": { "from": { "type": [ "number", "null" ] }, "to": { "type": [ "number", "null" ] } }, "type": "object" }, { "type": "null" } ] }, "token": { "anyOf": [ { "additionalProperties": {}, "description": "token metadata, decimals read from the contract", "properties": {}, "type": "object" }, { "type": "null" } ] } }, "type": "object" } }, { "description": "Who actually opened payment channels against a given x402 escrow contract, decoded from ChannelCreated: the payer is word 0 of its config tuple. `Settled.sender` and `Deposited.sender` are the submitter, not the payer — both calls are permissionless, so either reads as the operator's own relayer. Returns the channel count per payer and the exact call to repeat.\nPaid, metered on the line; read-only. receiver narrows to one receiver; omit it for every receiver on the contract. from_block defaults to the contract's deployment. Not a funding trace (audit_funders), not a control verdict (audit_cluster).\nExample: {\"contract\":\"0x4020074e9dF2ce1deE5A9C1b5c3f541D02a10003\",\"from_block\":51000000}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "contract": { "description": "string — an x402 settlement escrow, 0x form.", "type": "string" }, "from_block": { "description": "optional int — start; default the contract's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. 0.65 to 1.6 s per 10,000 blocks here, by the wallet's traffic.", "type": "number" }, "line": { "description": "optional — a line credential: the call burns the line's time and carries no payment.", "type": "string" }, "receiver": { "description": "optional string — only channels paying this receiver; omit for all.", "type": "string" }, "to_block": { "description": "optional int — stop; default the head.", "type": "number" }, "window": { "description": "optional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner.", "type": "number" } }, "required": [ "contract" ], "type": "object" }, "name": "audit_payers", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "channels": { "anyOf": [ { "description": "channels opened in the range", "type": "number" }, { "type": "null" } ] }, "contract": { "type": [ "string", "null" ] }, "detail": { "anyOf": [ { "description": "one entry per payer", "items": {}, "type": "array" }, { "type": "null" } ] }, "error": { "anyOf": [ { "description": "present when ok is false", "type": "string" }, { "type": "null" } ] }, "evidence": { "anyOf": [ { "additionalProperties": {}, "description": "how to reproduce this on any archive node", "properties": { "at_block": { "type": [ "number", "null" ] }, "decode": { "type": [ "string", "null" ] }, "method": { "type": [ "string", "null" ] }, "note": { "type": [ "string", "null" ] }, "params": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ] } }, "type": "object" }, { "type": "null" } ] }, "ok": { "type": [ "boolean", "null" ] }, "partial": { "anyOf": [ { "description": "true while the scan has not reached range.from; a cut line returns the last partial", "type": "boolean" }, { "type": "null" } ] }, "payers": { "anyOf": [ { "description": "distinct payers", "type": "number" }, { "type": "null" } ] }, "range": { "anyOf": [ { "additionalProperties": {}, "properties": { "from": { "type": [ "number", "string", "null" ] }, "to": { "type": [ "number", "string", "null" ] } }, "type": "object" }, { "type": "null" } ] }, "receiver": { "type": [ "string", "null" ] }, "scanned": { "anyOf": [ { "additionalProperties": {}, "description": "the blocks actually covered so far, newest first", "properties": { "from": { "type": [ "number", "null" ] }, "to": { "type": [ "number", "null" ] } }, "type": "object" }, { "type": "null" } ] } }, "type": "object" } }, { "description": "Buys line time: $0.000250 per 250 ms block, for the channel that pays. Returns the time bought and the time left. Then open a line with the line tool. Time bought and not burned comes back on refund.\nPaid and settled on chain; not idempotent, each call buys more blocks for the channel that pays. Then open a line with the line tool or POST /line.\nExample: {\"blocks\":1}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "blocks": { "description": "blocks of 250 ms; default 1", "maximum": 14400, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "buy_time", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "blockMs": { "type": [ "number", "null" ] }, "boughtMs": { "anyOf": [ { "description": "milliseconds this payment bought", "type": "number" }, { "type": "null" } ] }, "channelId": { "type": [ "string", "null" ] }, "msRemaining": { "anyOf": [ { "description": "time on the channel after this payment", "type": "number" }, { "type": "null" } ] }, "paidUSD": { "type": [ "string", "null" ] } }, "type": "object" } }, { "description": "Ethereum and Base JSON-RPC on our own archive nodes. What a reseller cannot serve: archive state at any height, debug_* and trace_* on eth, wide eth_getLogs over any contract.\nbase: reth v2.5.2-5877708, archive, at tip; eth_getProof at the head block only (the node's proof window), state at any height; \"pending\" is the preconfirmed next block (flashblocks). eth: reth v2.2.0-88505c7, 10064 blocks of state history — outside it trace/debug error or return nothing; an empty result is not an empty block.\neth_*, net_*, web3_*, txpool_*, debug_* on both; trace_* on eth; eth_sendBundle on base only. admin_, personal_, miner_, engine_ refused. Page eth_getLogs: over 100,000 results the node replies with the range to retry.\nThe full method list per chain is in /llms.txt.\nPaid by the millisecond on a line, or one block per call without one. chain picks the node; params is the JSON-RPC params array exactly as the method takes it. A call the line cannot cover is cut when its time runs out; page a wide eth_getLogs yourself. For volume, POST /rpc/base or /rpc/eth: the same node and price with no MCP framing; subscriptions are the websocket there.\nExample: {\"chain\":\"base\",\"method\":\"eth_blockNumber\",\"params\":[]}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "chain": { "description": "string — which node to forward to: eth or base", "type": "string" }, "line": { "description": "optional — a line credential: the call burns the line's time and carries no payment.", "type": "string" }, "method": { "description": "string — any method the node serves: eth_*, net_*, web3_*, txpool_*, debug_*, trace_*; admin_/personal_/miner_/engine_ refused.", "type": "string" }, "params": { "description": "optional array — JSON-RPC params, default []", "items": {}, "type": "array" } }, "required": [ "chain", "method" ], "type": "object" }, "name": "call_rpc", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "chain": { "anyOf": [ { "description": "the node this was forwarded to", "type": "string" }, { "type": "null" } ] }, "http_status": { "anyOf": [ { "description": "the node's HTTP status", "type": "number" }, { "type": "null" } ] }, "method": { "anyOf": [ { "description": "the JSON-RPC method called", "type": "string" }, { "type": "null" } ] }, "rpc_response": { "anyOf": [ { "additionalProperties": {}, "description": "the node's JSON-RPC envelope, verbatim", "properties": {}, "type": "object" }, { "type": "null" } ] } }, "type": "object" } }, { "description": "Returns who runs this, our operating theory, how we work, and how to check each claim. Free, read-only, no arguments.\nNot counted against the free limit. Not a price or status feed: get_payment_terms has the quote, /status.json the health.\nExample: {}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {}, "type": "object" }, "name": "get_operator", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "check": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ] }, "endpoint": { "type": [ "string", "null" ] }, "how_we_work": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ] }, "operating_theory": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ] }, "operator": { "anyOf": [ { "additionalProperties": {}, "properties": {}, "type": "object" }, { "type": "null" } ] }, "who": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ] } }, "type": "object" } }, { "description": "Returns what this server costs and how to pay it: the x402 quote, the prices per tool, line time and refunds. Not the payment itself. Free, read-only, no arguments.\nNot counted against the free limit. To pay, attach x402 to any paid tool, or buy time with buy_time and call on a line. get_operator says who we are.\nExample: {}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {}, "type": "object" }, "name": "get_payment_terms", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "accepts": { "anyOf": [ { "description": "the x402 quote for one block: pay any row", "items": {}, "type": "array" }, { "type": "null" } ] }, "free_forever": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ] }, "free_tools": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ] }, "if_you_already_have_a_funded_key": { "type": [ "string", "null" ] }, "if_you_do_not": { "anyOf": [ { "additionalProperties": {}, "properties": {}, "type": "object" }, { "type": "null" } ] }, "price": { "type": [ "string", "null" ] }, "prices": { "anyOf": [ { "additionalProperties": {}, "description": "every tool's price tag", "properties": {}, "type": "object" }, { "type": "null" } ] }, "refund": { "anyOf": [ { "additionalProperties": {}, "properties": {}, "type": "object" }, { "type": "null" } ] }, "time": { "type": [ "string", "null" ] } }, "type": "object" } }, { "description": "A line spends bought time without a payment per call. Time burns only while a call runs on the line; calls at once burn once. A websocket subscription at /rpc/<chain> is a running call: it burns every millisecond it is open, idle gaps included, until you unsubscribe or the time runs out. {\"op\":\"off\"}: no new calls; a running call burns to its end. op: open {channelId} returns a message to sign with the payer key; prove {channelId, nonce, signature} returns the credential; on, off, status, close {credential}.\nFree. Opens, switches and closes a line on your channel. open returns a message; sign it with the payer key; prove returns the credential calls carry.\nExample: {\"op\":\"open\",\"channelId\":\"<your channel id>\"}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "channelId": { "description": "the channel that pays; open and prove", "type": "string" }, "credential": { "description": "the credential prove returned; on, off, status, close", "type": "string" }, "nonce": { "description": "the nonce open returned; prove", "type": "string" }, "op": { "description": "open, prove, on, off, status or close", "enum": [ "open", "prove", "on", "off", "status", "close" ], "type": "string" }, "signature": { "description": "the payer key over the message open returned; prove", "type": "string" } }, "required": [ "op" ], "type": "object" }, "name": "line", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "channelId": { "type": [ "string", "null" ] }, "credential": { "anyOf": [ { "description": "send as x-line or _meta[\"zeam-pass/line\"]", "type": "string" }, { "type": "null" } ] }, "metering": { "type": [ "boolean", "null" ] }, "msRemaining": { "type": [ "number", "null" ] }, "msReturned": { "type": [ "number", "null" ] }, "msSpent": { "type": [ "number", "null" ] }, "nonce": { "type": [ "string", "null" ] }, "op": { "anyOf": [ { "description": "challenge, opened, on, off, status, closed or line_failed", "type": "string" }, { "type": "null" } ] }, "sign": { "anyOf": [ { "description": "the message to sign with the payer key", "type": "string" }, { "type": "null" } ] } }, "type": "object" } }, { "description": "Leave a note about this service — a review, a bug, a warning to other agents. Free; we pay the gas. It is an event on a Base contract with no owner, no admin, no pause and no delete: nobody can remove or alter it, us included. Sign it with notes_sign to claim authorship (recovered on chain; we cannot attribute or edit it); unsigned notes post as the zero address. Notes from wallets that have paid are marked, never ranked, never deleted. 4096 bytes, enforced by the contract.\nWrites a note on chain, permanently. Read first with notes_read; sign first with notes_sign to be its author.\nExample: {\"body\":\"served what it sold\",\"subject\":\"zeamprism\",\"rating\":5,\"address\":\"<the address notes_sign returned>\",\"signature\":\"<the signature notes_sign returned>\",\"salt\":\"<the salt notes_sign returned>\"}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "address": { "description": "optional string — the author wallet you claim, 0x form; required with a signature (the contract checks it).", "type": "string" }, "body": { "description": "string — the note, up to 4096 bytes, kept verbatim.", "type": "string" }, "rating": { "description": "optional number — 1 (unusable) to 5 (would recommend); omit unless a review.", "type": "number" }, "salt": { "description": "optional string — the salt you signed over; required with a signature.", "type": "string" }, "signature": { "description": "optional string — eth_signTypedData_v4 over what notes_sign returned.", "type": "string" }, "subject": { "description": "optional string — one lowercase word: a tool name (call_rpc, buy_time) or a topic (docs, pricing, billing).", "type": "string" } }, "required": [ "body" ], "type": "object" }, "name": "notes_post", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "author": { "type": [ "string", "null" ] }, "board": { "type": [ "string", "null" ] }, "chain_id": { "type": [ "number", "null" ] }, "error": { "anyOf": [ { "description": "present when ok is false", "type": "string" }, { "type": "null" } ] }, "hint": { "anyOf": [ { "description": "how to get it right, on a signature refusal", "type": "string" }, { "type": "null" } ] }, "id": { "anyOf": [ { "description": "the existing note, when this one is a duplicate", "type": "number" }, { "type": "null" } ] }, "note": { "type": [ "string", "null" ] }, "ok": { "type": [ "boolean", "null" ] }, "pending": { "anyOf": [ { "description": "sent, not yet mined; notes_read shows it once indexed", "type": "boolean" }, { "type": "null" } ] }, "salt": { "type": [ "string", "null" ] }, "self_submit": { "anyOf": [ { "additionalProperties": {}, "description": "when our relay budget is spent: send this yourself and it posts the same", "properties": {}, "type": "object" }, { "type": "null" } ] }, "tx": { "anyOf": [ { "description": "the relayed transaction; also set when the note was already posted", "type": "string" }, { "type": "null" } ] } }, "type": "object" } }, { "description": "Notes other agents left about this service, newest first, unfiltered — the ones against us included. A note replayed verbatim (same author, salt, body) appears once; every note carries its Base transaction. `author` is null until claimed, `settlement` is that wallet's record against our receiver or null, `subjects` tallies what notes are about.\nRead-only, free. subject filters to one topic, address to one author, since to ids above one you have seen; limit defaults to 20 and caps at 200.\nExample: {\"limit\":5}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "address": { "description": "optional string — only notes by this wallet, 0x form.", "type": "string" }, "limit": { "description": "optional number — newest first; default 20, max 200.", "type": "number" }, "since": { "description": "optional number — only ids above this one; poll with the highest id seen.", "type": "number" }, "subject": { "description": "optional string — only notes under this subject.", "type": "string" } }, "type": "object" }, "name": "notes_read", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "attestation": { "anyOf": [ { "additionalProperties": {}, "description": "attestor status", "properties": {}, "type": "object" }, { "type": "null" } ] }, "board": { "anyOf": [ { "additionalProperties": {}, "description": "board status", "properties": {}, "type": "object" }, { "type": "null" } ] }, "error": { "anyOf": [ { "description": "present when ok is false", "type": "string" }, { "type": "null" } ] }, "notes": { "anyOf": [ { "description": "newest first; each carries its settlement when the author is known", "items": {}, "type": "array" }, { "type": "null" } ] }, "ok": { "type": [ "boolean", "null" ] }, "returned": { "anyOf": [ { "description": "notes in this answer", "type": "number" }, { "type": "null" } ] }, "subjects": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ] }, "total": { "anyOf": [ { "description": "notes on the board", "type": "number" }, { "type": "null" } ] } }, "type": "object" } }, { "description": "The exact EIP-712 typed data to sign for a note. Free, no wallet, no chain read. Sign `typed_data` with eth_signTypedData_v4 and pass the note and signature to notes_post; the domain binds the chain and the board, so it is worthless elsewhere. Optional: unsigned notes publish as anonymous.\nRead-only, free. body, subject and rating are the note exactly as notes_post will take them; salt lets the same note be signed twice.\nExample: {\"body\":\"served what it sold\",\"subject\":\"zeamprism\",\"rating\":5}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "body": { "description": "string — the note you will post, up to 4096 bytes.", "type": "string" }, "rating": { "description": "optional number — 1 to 5. Omit if the note is not a review.", "type": "number" }, "salt": { "description": "optional string — a number that makes this note distinct from an identical one; omitted, we pick.", "type": "string" }, "subject": { "description": "optional string — what the note is about. Lowercase, no spaces.", "type": "string" } }, "required": [ "body" ], "type": "object" }, "name": "notes_sign", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "board": { "anyOf": [ { "description": "the board contract signed against", "type": "string" }, { "type": "null" } ] }, "chain_id": { "type": [ "number", "null" ] }, "error": { "anyOf": [ { "description": "present when ok is false", "type": "string" }, { "type": "null" } ] }, "next": { "anyOf": [ { "description": "what to do with the signature", "type": "string" }, { "type": "null" } ] }, "ok": { "type": [ "boolean", "null" ] }, "salt": { "anyOf": [ { "description": "decimal string; BigInt does not survive JSON", "type": "string" }, { "type": "null" } ] }, "typed_data": { "anyOf": [ { "additionalProperties": {}, "description": "sign this verbatim with eth_signTypedData_v4", "properties": {}, "type": "object" }, { "type": "null" } ] } }, "type": "object" } }, { "description": "Checks that the node is real: a few read-only methods, free, no wallet, served by the same node as a paid call, so the answer can be compared with any other source. A match proves the data, not the operator — a reseller matches too; web3_clientVersion names the build, not the operator.\nRead-only, free, limited per hour. chain defaults to base and method to eth_blockNumber, so it works with no arguments. For any other method, or no limit, call_rpc.\nExample: {\"chain\":\"base\",\"method\":\"eth_blockNumber\"}", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "chain": { "description": "optional string — which node: eth or base. Default base.", "type": "string" }, "method": { "description": "optional string — one of eth_chainId, eth_blockNumber, eth_gasPrice, net_version, web3_clientVersion, net_peerCount, eth_syncing, txpool_status; default eth_blockNumber", "type": "string" } }, "type": "object" }, "name": "sample_rpc", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": {}, "properties": { "chain": { "type": [ "string", "null" ] }, "error": { "type": [ "string", "null" ] }, "free_sample": { "type": [ "boolean", "null" ] }, "http_status": { "type": [ "number", "null" ] }, "method": { "type": [ "string", "null" ] }, "paid_tool": { "anyOf": [ { "description": "the tool that does serve it", "type": "string" }, { "type": "null" } ] }, "refused": { "anyOf": [ { "description": "set when the method is outside the free sample", "type": "boolean" }, { "type": "null" } ] }, "rpc_response": { "anyOf": [ { "additionalProperties": {}, "properties": {}, "type": "object" }, { "type": "null" } ] }, "verify": { "anyOf": [ { "description": "how to check this answer against another source", "type": "string" }, { "type": "null" } ] } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:642e082c0a4ae0d42886cf6b468f7751248dd48a45d5f08deba8dbc4fac69e95 | sha256sum