{
  "name": "Teppi",
  "description": "The record of what happened when someone paid a machine service. Every entry carries the settlement transaction, the hashes of what was sent and returned, and the check that ran.",
  "url": "https://api.teppi.xyz/a2a",
  "documentationUrl": "https://api.teppi.xyz/docs/verification-method",
  "version": "0.1.0",
  "capabilities": {
    "streaming": true
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "checkBeforePaying",
      "name": "Returns what the record holds about any x402 endpoint url before you pay it: the grade if one exists, the price and rails its last 402 offered, and what is wrong with the listing",
      "description": "Returns what the record holds about any x402 endpoint url before you pay it: the grade if one exists, the price and rails its last 402 offered, and what is wrong with the listing. A url never seen is put in line for a free handshake, so ask again in an hour.",
      "tags": [
        "check",
        "grade",
        "x402",
        "url",
        "before-paying"
      ],
      "examples": []
    },
    {
      "id": "getGrade",
      "name": "Returns the quality grade for a paid endpoint, with the components behind it and a sample of the evidence",
      "description": "Returns the quality grade for a paid endpoint, with the components behind it and a sample of the evidence. Use before paying an endpoint you have not used.",
      "tags": [
        "grade",
        "quality",
        "x402",
        "endpoint"
      ],
      "examples": []
    },
    {
      "id": "marketIndex",
      "name": "One line per listed x402 endpoint: its band, the tier it stands on, its sample count, its defects and its signed card",
      "description": "One line per listed x402 endpoint: its band, the tier it stands on, its sample count, its defects and its signed card. Use to show the record beside every listing in a catalog.",
      "tags": [
        "index",
        "catalog",
        "grade",
        "ndjson"
      ],
      "examples": []
    },
    {
      "id": "marketRecords",
      "name": "One line per paid call the record holds: what was paid, on which chain and transaction, what came back on each check, whether a correction of ours set it aside, and where its evidence is",
      "description": "One line per paid call the record holds: what was paid, on which chain and transaction, what came back on each check, whether a correction of ours set it aside, and where its evidence is. Use to recount any figure about the market.",
      "tags": [
        "records",
        "evidence",
        "dataset",
        "ndjson"
      ],
      "examples": []
    },
    {
      "id": "gradeFeed",
      "name": "Streams every grade as it is published, newline delimited, resumable from a cursor",
      "description": "Streams every grade as it is published, newline delimited, resumable from a cursor. Use to mirror the whole record.",
      "tags": [
        "feed",
        "mirror",
        "grade",
        "ndjson"
      ],
      "examples": []
    },
    {
      "id": "archiveFiles",
      "name": "Lists every file old handshakes, server looks and free cards were moved to, with the hash each unpacks to",
      "description": "Lists every file old handshakes, server looks and free cards were moved to, with the hash each unpacks to. Use to fetch what the database no longer holds.",
      "tags": [
        "archive",
        "mirror",
        "history",
        "grade"
      ],
      "examples": []
    },
    {
      "id": "archiveManifest",
      "name": "Returns one archive manifest: the day, the row count, the hash of the unpacked file, and the command that fetches and checks it",
      "description": "Returns one archive manifest: the day, the row count, the hash of the unpacked file, and the command that fetches and checks it.",
      "tags": [
        "archive",
        "history",
        "reproduce"
      ],
      "examples": []
    },
    {
      "id": "planOutcome",
      "name": "Turns a goal and a budget into a costed chain of endpoints, before any money is spent",
      "description": "Turns a goal and a budget into a costed chain of endpoints, before any money is spent. Returns the plan and the estimate.",
      "tags": [
        "plan",
        "budget",
        "routing",
        "estimate"
      ],
      "examples": []
    },
    {
      "id": "executePlan",
      "name": "Buys every step of a plan from /v1/route/plan with one payment, and settles it only if every answer came back whole and matching the schema its seller published",
      "description": "Buys every step of a plan from /v1/route/plan with one payment, and settles it only if every answer came back whole and matching the schema its seller published.",
      "tags": [
        "buy",
        "plan",
        "pay-on-delivery",
        "x402"
      ],
      "examples": []
    },
    {
      "id": "evaluateDelivery",
      "name": "Checks an answer you already got from a listed endpoint against the schema its seller published, and signs what the checks found",
      "description": "Checks an answer you already got from a listed endpoint against the schema its seller published, and signs what the checks found. Free, and nothing is written to the record.",
      "tags": [
        "evaluate",
        "schema",
        "delivery",
        "signed"
      ],
      "examples": []
    },
    {
      "id": "fleetExposure",
      "name": "Looks up every paid endpoint your agents call at once and adds them up by the address each one pays: which are unknown, which took money and returned nothing, which list what they do not serve, and what that spend is",
      "description": "Looks up every paid endpoint your agents call at once and adds them up by the address each one pays: which are unknown, which took money and returned nothing, which list what they do not serve, and what that spend is. Free, signed, and a url never seen is put in line for a free handshake.",
      "tags": [
        "exposure",
        "dependencies",
        "payout",
        "signed"
      ],
      "examples": []
    },
    {
      "id": "policyPayouts",
      "name": "Lists payout addresses where at least three paid calls settled and brought back nothing usable, with the lower bound of that share, how many origins each address stands behind, and the evidence",
      "description": "Lists payout addresses where at least three paid calls settled and brought back nothing usable, with the lower bound of that share, how many origins each address stands behind, and the evidence. format=cdp or privy returns a rule those wallet policy engines read; format=plain one address a line.",
      "tags": [
        "policy",
        "wallet",
        "payout",
        "signed"
      ],
      "examples": []
    },
    {
      "id": "modelSellers",
      "name": "Lists sellers that name the same model, each with its listed price and card, and how far comparing their answers has got",
      "description": "Lists sellers that name the same model, each with its listed price and card, and how far comparing their answers has got. A seller is named as differing only after three control runs held. Free and signed.",
      "tags": [
        "model",
        "inference",
        "resellers",
        "signed"
      ],
      "examples": []
    },
    {
      "id": "walletSpend",
      "name": "Reads what one Base address sent in USDC over the last days and lists the sellers it paid that the record knows, with what the record holds behind each: a letter, a paid call that took the money, or nothing measured yet",
      "description": "Reads what one Base address sent in USDC over the last days and lists the sellers it paid that the record knows, with what the record holds behind each: a letter, a paid call that took the money, or nothing measured yet. Free, signed, read when asked and kept nowhere.",
      "tags": [
        "wallet",
        "spend",
        "payout",
        "signed"
      ],
      "examples": []
    },
    {
      "id": "registerWatcher",
      "name": "Registers an https receiver to be posted a signed notice whenever the card of an endpoint it names falls",
      "description": "Registers an https receiver to be posted a signed notice whenever the card of an endpoint it names falls. The receiver is sent a challenge first and must echo it; the token in the answer is shown once and reads or stops the watcher.",
      "tags": [
        "watch",
        "notice",
        "webhook",
        "signed"
      ],
      "examples": []
    },
    {
      "id": "watcherState",
      "name": "Reads a watcher back, with the token from registering as a bearer: what it follows, whether it is active, and the last fifty notices with whether each arrived",
      "description": "Reads a watcher back, with the token from registering as a bearer: what it follows, whether it is active, and the last fifty notices with whether each arrived.",
      "tags": [
        "watch",
        "notice",
        "webhook"
      ],
      "examples": []
    },
    {
      "id": "stopWatcher",
      "name": "Stops a watcher for good, with the token from registering as a bearer",
      "description": "Stops a watcher for good, with the token from registering as a bearer. A stopped watcher is sent nothing more and cannot be started again; register a new one instead.",
      "tags": [
        "watch",
        "webhook"
      ],
      "examples": []
    },
    {
      "id": "buyOnDelivery",
      "name": "Buys one call to a listed GET endpoint for you, with the query you send, and settles your payment only if the answer came back whole and matching its published schema",
      "description": "Buys one call to a listed GET endpoint for you, with the query you send, and settles your payment only if the answer came back whole and matching its published schema.",
      "tags": [
        "buy",
        "pay-on-delivery",
        "receipt",
        "x402"
      ],
      "examples": []
    },
    {
      "id": "buyOnDeliveryPost",
      "name": "Buys one call to a listed POST endpoint for you, with the json body you send, and settles your payment only if the answer came back whole and matching its published schema",
      "description": "Buys one call to a listed POST endpoint for you, with the json body you send, and settles your payment only if the answer came back whole and matching its published schema.",
      "tags": [
        "buy",
        "pay-on-delivery",
        "receipt",
        "x402"
      ],
      "examples": []
    },
    {
      "id": "orderReceipt",
      "name": "Returns the signed receipt for one purchase made on delivery: the quote, both payments with their transactions, the checks the answer met, and commitments to the bytes",
      "description": "Returns the signed receipt for one purchase made on delivery: the quote, both payments with their transactions, the checks the answer met, and commitments to the bytes.",
      "tags": [
        "receipt",
        "order",
        "signed",
        "pay-on-delivery"
      ],
      "examples": []
    },
    {
      "id": "buyerOrders",
      "name": "Lists every purchase an address made on delivery, with what it was charged and what was not charged, when the request is signed by that address",
      "description": "Lists every purchase an address made on delivery, with what it was charged and what was not charged, when the request is signed by that address.",
      "tags": [
        "ledger",
        "orders",
        "buyer",
        "pay-on-delivery"
      ],
      "examples": []
    },
    {
      "id": "extractDocument",
      "name": "Returns structured json extracted from a public pdf or html document url",
      "description": "Returns structured json extracted from a public pdf or html document url. Use when you have a document link and need typed fields.",
      "tags": [
        "pdf",
        "extract",
        "structured-json",
        "document"
      ],
      "examples": []
    },
    {
      "id": "lookupCompany",
      "name": "Returns legal entities matching a company name or lei, with jurisdiction, status and registered city, as the global lei registry publishes them",
      "description": "Returns legal entities matching a company name or lei, with jurisdiction, status and registered city, as the global lei registry publishes them.",
      "tags": [
        "company",
        "lei",
        "legal-entity",
        "lookup"
      ],
      "examples": []
    },
    {
      "id": "webEvidence",
      "name": "Returns source urls and verbatim quotations for a factual query, where every quote can be found at the url it cites",
      "description": "Returns source urls and verbatim quotations for a factual query, where every quote can be found at the url it cites.",
      "tags": [
        "search",
        "citation",
        "quote",
        "evidence"
      ],
      "examples": []
    },
    {
      "id": "researchBrief",
      "name": "Returns a brief on a factual query made only of verbatim quotes from public pages, each numbered to the url it was taken from",
      "description": "Returns a brief on a factual query made only of verbatim quotes from public pages, each numbered to the url it was taken from.",
      "tags": [
        "research",
        "brief",
        "citation",
        "quote"
      ],
      "examples": []
    }
  ],
  "registrations": [
    {
      "agentId": 94664,
      "agentRegistry": "eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432"
    }
  ],
  "x402Support": true
}
