Server definition
- Hash
- sha256:d075759e1addb4d06be1f173e3f7b3ec29e9c8ab4d246e3b3a57be8d5c5bc3a8
- What it is
- What a remote MCP server returned when asked what it offers: 28 tools
The blob, as servednamed by its sha256
{
"instructions": "TWZRD is pre-spend trust for agents that buy things: the x402 SERVICE you are about to pay (seller + resource) and the product LISTING you are about to buy. It is not a payer-graph explorer. PRIMARY WORKFLOW (use these first): (1) evaluate_x402_resource(resource_url) when you have a URL — fetches 402, extracts seller, preflight; if you need to discover what is callable, use HTTP GET /v1/intel/resources (resource join SOT: listed|live_402 discovery claims separate from settlement trust) — not a new MCP tool; (2) get_merchant_card(wallet) — route on next_action.decision (refuse | insufficient_evidence | no_negative_signal); wash_flagged=true never soft-allows (refuse / preflight block); null means never evaluated (NOT clean); unlabeled leftover 0.05 / leftover=0 is not a unit price (read price_kind); (3) get_readiness_card_tool(seller_wallet|resource) — free decision allow|warn|block + reason_codes + recommended_action + maximum_recommended_spend_usdc (advisory, not legal advice); (4) verify_receipt — offline check of a signed receipt after paid trust (V7 issuance; V5, V6, and V7 still verify). verify_x402_settled_claim(settlement_tx) checks the one historical quick-settlement claim against the settlement ledger and fresh finalized Solana bytes. It returns match, mismatch, or unknown; these describe evidence and do not authorize or block payment. A match labels the merchant's self-attestation. The claim resource is twzrd://claims/x402-quick-20260917T085408. (5) twzrd_watch_add — re-check seller after recheck_after_unix (when watch lane enabled). On block / recommended_action=do_not_pay: do not pay. On warn: respect cap. On allow: proceed only under agent policy. PRODUCT LISTINGS: before buying from a store, call check_listing(product_url, declared_unit_price) - free. A price above the advertised one is refused; one below it, or a card with no advertised price, sets needs_approval (a human approves). authorizes_spend is always false. Detail at the end. Discovery: prefer HTTP GET /v1/intel/resources (HTTP-only callable catalog + settlement join). TWZRD Bazaar catalog is HTTP GET /v1/intel/bazaar/offers (not get_x402_directory, not 402 extensions.bazaar). Optional ingested-listing overlay: get_x402_directory / GET /v1/intel/marketplace (not a bazaar). First paid hop: GET /v1/intel/quick/{pubkey} ($0.001 USDC). Optional V7 receipt: GET /v1/intel/trust/{pubkey}?seller_wallet=<payTo> ($0.05 USDC). New here? twzrd_demo_gate returns a zero-setup, no-spend transcript of this gate, a recorded example, not a live run (block path aborts, no wallet, no USDC). get_top_intel_agents is secondary corpus research (who is paying), not the default start path. Streamable-http: Accept application/json, text/event-stream is optimal; plain application/json / */* / missing Accept are accepted (server normalizes). MACHINE RE-CALL: evaluateRecall(receipt) / shouldRecheckTrusted from @wzrd_sol/sdk is the consumer gate (V5/V6 freshness untrusted, not leaf-bound). shouldRecheck is compatibility-only unauthenticated advice. Paid receipts carry twzrd_receipt.preimage.{recheck_after_unix, staleness_days, score_decay_model}. These three are NOT covered by the signed leaf -- verify_receipt returns them in unauthenticated_fields -- so anyone holding a receipt can edit them and it still verifies. Treat them as a hint from the seller, never as a freshness guarantee: enforce your OWN staleness policy with verify_receipt(max_age_seconds=...), which checks preimage.timestamp_unix (signed). score_decay_model is advisory and reads 'step:<=7d=1.0,<=30d=0.8,<=90d=0.5,>90d=0.25'. Payer holds USDC for paid calls; gas is sponsored. PUSH RE-CALL (watch lane): after preflight or paid trust, register a watch with twzrd_watch_add(payer_wallet, seller_wallet, webhook_url?) - TWZRD re-checks the seller when recheck_after_unix elapses and POSTs to your webhook when the score/decision materially changes. Poll-only agents omit webhook_url and check twzrd_watch_list(payer_wallet). twzrd_watch_remove(watch_id, payer_wallet) deactivates. PRODUCT LISTINGS (detail): check_listing returns advertised | unknown_seller | expired | check_failed; without declared_unit_price only the product is checked, not the price. get_claim / get_evidence return TWZRD's published listing-claim card and its evidence (one reference card today: Vuori Kore Short, Ink, US; an observer card, not a merchant attestation). get_publication returns the Ed25519-signed publication record and verify key: pin the publisher key fingerprint sha256:903d0d041e2d82fc0dd6f5252b4e904121e113e498d00b7385cad6061b4881af (also published in skill.md), never one taken from the same response; verify the record's Ed25519 signature with that key, then check that both documents hash to the record's digests. get_shopping_check returns the Agent Shopping Check report (https://twzrd.xyz/shopping-check/vuori-kore/). Advertised means a captured page said it; purchase completion and delivery are not verified. Paid: GET /v1/intel/checkout-brief ($0.001 USDC) binds your cart_hash to the card before buyer-approved Shop Pay and carries needs_approval.",
"tools": [
{
"description": "Pre-spend check of one product against the published listing cards. Free, read-only.\n\n Returns unknown_seller when no published card covers the product (not a clean seller),\n expired when the card is past expires_at, check_failed when the card cannot be verified\n or the declared price is above the advertised one, and advertised when a current card\n matches. It never authorizes a payment: authorizes_spend is always false. needs_approval\n is true for every result except advertised, and also for an advertised card that\n advertises nothing, advertises no price, cannot check the declared price, or is\n declared below its advertised price (an unverified discount, including zero). It does\n not fetch the store page, open a checkout or move money.\n ",
"inputSchema": {
"properties": {
"declared_unit_price": {
"default": "",
"description": "Optional unit price the seller is asking, in USD. Above the card's advertised price is refused (phantom_markup_detected); below it is discount_unverified and needs approval.",
"title": "Declared Unit Price",
"type": "string"
},
"market": {
"default": "",
"description": "Optional subject market (e.g. US); must agree with the card when given.",
"title": "Market",
"type": "string"
},
"merchant": {
"default": "",
"description": "Optional subject merchant; must agree with the card when given.",
"title": "Merchant",
"type": "string"
},
"product": {
"default": "",
"description": "Optional subject product; must agree with the card when given.",
"title": "Product",
"type": "string"
},
"product_url": {
"default": "",
"description": "The store product URL the agent is about to buy from. Matched exactly against the published card's next_hop URL, the same rule as the paid checkout brief.",
"title": "Product Url",
"type": "string"
},
"variant": {
"default": "",
"description": "Optional subject variant (e.g. Ink); must agree with the card when given.",
"title": "Variant",
"type": "string"
}
},
"title": "check_listingArguments",
"type": "object"
},
"name": "check_listing",
"outputSchema": {
"additionalProperties": true,
"properties": {
"artifact_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The matching card's artifact id; null when no card covers the candidate.",
"title": "Artifact Id"
},
"authorizes_spend": {
"description": "Always false. advertised is current evidence, never permission to pay.",
"title": "Authorizes Spend",
"type": "boolean"
},
"claims": {
"description": "The card's claims (name, value, state, reason). Unknown claims stay unknown.",
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Claims",
"type": "array"
},
"digest": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "sha256 of the matching card's exact text (get_claim); null for unknown_seller.",
"title": "Digest"
},
"expires_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Earliest claim expiry on the matching card.",
"title": "Expires At"
},
"needs_approval": {
"description": "True for every result except advertised, and for an advertised card that advertises nothing, advertises no price, cannot check the declared price, or is declared below its advertised price: a human approves before any spend.",
"title": "Needs Approval",
"type": "boolean"
},
"price_check": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "verified | discount_unverified | unverified | absent | above_advertised | invalid, when a price was declared or checked.",
"title": "Price Check"
},
"reason": {
"description": "Why: e.g. no_card_for_product_url, expired_claim, phantom_markup_detected, current_card.",
"title": "Reason",
"type": "string"
},
"result": {
"description": "unknown_seller | expired | check_failed | advertised.",
"title": "Result",
"type": "string"
}
},
"required": [
"result",
"reason",
"needs_approval",
"authorizes_spend"
],
"title": "ListingCheckOut",
"type": "object"
}
},
{
"description": "\n Free discovery: side-by-side intel for two wallets (e.g. choosing between two\n candidate providers). Returns both full score objects and which ranks higher by\n the wash-discounted effective_score (\"tie\" on equal, null if a side is unavailable).\n ",
"inputSchema": {
"properties": {
"wallet_a": {
"description": "First wallet (Solana base58 or Base 0x) to compare.",
"title": "Wallet A",
"type": "string"
},
"wallet_b": {
"description": "Second wallet (Solana base58 or Base 0x) to compare.",
"title": "Wallet B",
"type": "string"
}
},
"required": [
"wallet_a",
"wallet_b"
],
"title": "compare_walletsArguments",
"type": "object"
},
"name": "compare_wallets",
"outputSchema": {
"additionalProperties": true,
"properties": {
"higher_effective_score": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Wallet with the higher wash-discounted score, or \"tie\", or null if a side was unavailable.",
"title": "Higher Effective Score"
},
"wallet_a": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Full score object for the first wallet.",
"title": "Wallet A"
},
"wallet_b": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Full score object for the second wallet.",
"title": "Wallet B"
}
},
"title": "CompareWalletsOut",
"type": "object"
}
},
{
"description": "\n One-shot x402 guard. Fetches resource_url, extracts the seller wallet from the 402 accepts\n array (prefers Solana network entries), runs TWZRD preflight, and returns a spending decision.\n wash_flagged=true never soft-allows. Unlabeled leftover 0.05 / leftover=0 is not a unit price.\n\n Decision:\n \"allow\" -> proceed only under agent policy. Never when wash_flagged=true.\n \"warn\" -> proceed with caution up to the cap; first paid hop is teaser_url ($0.001 /quick). Optional V7 receipt_url is $0.05.\n \"block\" -> DO NOT PAY. Stop immediately.\n \"unknown\" -> is_x402 == False: no 402 challenge was issued at all, so nothing was\n evaluated -- this is NOT a trust verdict. A seller can trivially make\n this happen by returning a non-402 status to this probe while charging\n through a different path for a real caller. Never treat \"unknown\" as\n a green light; if the caller actually intends to pay this resource_url,\n that separate payment path needs its own evaluation.\n\n Hard-stops:\n wash_flagged=true never soft-allows (decision=block).\n price_usdc is a unit price only when price_kind=exact. Unlabeled leftover 0.05 /\n leftover=0 and scheme=upto leftover defaults are not a per-request price.\n\n Revenue path: when decision is \"warn\", fetch teaser_url first ($0.001 USDC to TWZRD,\n GET /v1/intel/quick/{seller}). Optional receipt_url is the $0.05 V7 signed credential.\n ",
"inputSchema": {
"properties": {
"agent_intent": {
"default": null,
"description": "Natural-language description of what the agent intends to purchase.",
"title": "Agent Intent",
"type": "string"
},
"method": {
"default": "GET",
"description": "HTTP method to use when probing the resource. Default: GET.",
"title": "Method",
"type": "string"
},
"price_usdc": {
"default": null,
"description": "Caller-supplied exact unit price in USDC — overrides a 402 exact quote. Leave unset to use the 402-reported amount when price_kind=exact. Unlabeled leftover 0.05 / leftover=0 is not a unit price.",
"title": "Price Usdc",
"type": "number"
},
"resource_url": {
"description": "URL of the x402 resource to evaluate before paying. Will be fetched to extract 402 payment requirements.",
"title": "Resource Url",
"type": "string"
}
},
"required": [
"resource_url"
],
"title": "evaluate_x402_resourceArguments",
"type": "object"
},
"name": "evaluate_x402_resource",
"outputSchema": {
"additionalProperties": true,
"properties": {
"decision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Spend decision: \"allow\" | \"warn\" | \"block\" | \"unknown\". wash_flagged=true never soft-allows — this field is block. \"unknown\" means is_x402 is False -- no 402 challenge was issued, so no trust evaluation happened. Never treat \"unknown\" as a green light.",
"title": "Decision"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Error or info message; present on non-402 and degraded paths.",
"title": "Error"
},
"is_x402": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True if the resource returned HTTP 402 with x402 payment requirements.",
"title": "Is X402"
},
"max_price_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Advertised maximum USDC when price_kind is upto_cap.",
"title": "Max Price Usdc"
},
"price_kind": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "exact | upto_cap | unknown. upto_cap means price_usdc is not a unit price.",
"title": "Price Kind"
},
"price_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Quoted unit price in USDC from the 402 response. Null when the accept is scheme=upto / price_kind=upto_cap, or the figure is unlabeled leftover 0.05 / leftover=0 (not a unit price).",
"title": "Price Usdc"
},
"readiness_card": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Full readiness card from the preflight evaluation.",
"title": "Readiness Card"
},
"receipt_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional $0.05 V7 portable receipt URL.",
"title": "Receipt Url"
},
"receipt_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Cost of the optional V7 receipt in USDC (0.05).",
"title": "Receipt Usdc"
},
"seller_wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Seller wallet extracted from the 402 accepts array (Solana preferred).",
"title": "Seller Wallet"
},
"teaser_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "First paid hop: $0.001 score-only teaser URL.",
"title": "Teaser Url"
},
"trust_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Composite trust signal, 0-100.",
"title": "Trust Score"
},
"upsell_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Cost of the first paid hop in USDC (0.001 teaser).",
"title": "Upsell Usdc"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The evaluated resource URL.",
"title": "Url"
}
},
"title": "EvaluateX402ResourceOut",
"type": "object"
}
},
{
"description": "Read the Vuori Kore Short listing-claim artifact (com.twzrd.shopping.listing_claims/1.1).\n\n Tool twin of the twzrd://claims/vuori-kore resource: what is claimed about this\n checkout, by whom, in what state, on what evidence. Verified on every read\n (publication signature, artifact digest, schema, evidence binding); a read that\n fails any check is refused, never served. `unknown` claims stay unknown. Each claim\n carries expires_at; after it, treat the claim as historical. Read-only; this never\n starts a payment or checkout.\n ",
"inputSchema": {
"properties": {},
"title": "get_claimArguments",
"type": "object"
},
"name": "get_claim",
"outputSchema": {
"additionalProperties": true,
"properties": {
"artifact_id": {
"description": "Artifact id of the signed publication that was read.",
"title": "Artifact Id",
"type": "string"
},
"digest": {
"description": "sha256 of the exact bytes in `json`, as bound in the signed publication.",
"title": "Digest",
"type": "string"
},
"text": {
"description": "The artifact or evidence bundle, byte-for-byte as the resource serves it. Parse it after checking `digest`.",
"title": "Text",
"type": "string"
},
"uri": {
"description": "The MCP resource this tool mirrors.",
"title": "Uri",
"type": "string"
}
},
"required": [
"uri",
"artifact_id",
"digest",
"text"
],
"title": "ListingClaimsReadOut",
"type": "object"
}
},
{
"description": "\n Free discovery (capped teaser): the top-N merchants a wallet actually pays, by\n event count, with per-edge tx_count / total_usdc / first+last timestamps.\n\n See WHO a counterparty transacts with before trusting it. The list is capped\n (default 10, max 25) and `capped`/`total_distinct_merchants` disclose how much\n is withheld; the FULL deduped payment graph and numeric edge weights are part\n of the paid intel surface (GET /v1/intel/trust/{wallet}). Fail-open.\n ",
"inputSchema": {
"properties": {
"limit": {
"default": 10,
"description": "Max counterparties to return (default 10, hard cap 25 - this is a capped teaser).",
"maximum": 25,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"wallet": {
"description": "Payer Solana wallet public key (32-44 base58 chars) whose counterparties (merchants paid) to list.",
"title": "Wallet",
"type": "string"
}
},
"required": [
"wallet"
],
"title": "get_counterpartiesArguments",
"type": "object"
},
"name": "get_counterparties",
"outputSchema": {
"additionalProperties": true,
"properties": {
"capped": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True if the full merchant set exceeds the returned list.",
"title": "Capped"
},
"counterparties": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Capped top-N merchants paid, each with tx_count, total_usdc, first_at, last_at.",
"title": "Counterparties"
},
"data_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "False when the corpus/DB was unavailable.",
"title": "Data Available"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Present only on the degraded path.",
"title": "Error"
},
"returned": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of counterparties returned (<= limit).",
"title": "Returned"
},
"teaser_note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "States that the full deduped graph + edge weights are paid.",
"title": "Teaser Note"
},
"total_distinct_merchants": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total distinct merchants this payer has paid (full, uncapped).",
"title": "Total Distinct Merchants"
},
"total_events": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total observed payment events for this payer.",
"title": "Total Events"
},
"wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The payer wallet looked up.",
"title": "Wallet"
}
},
"title": "CounterpartiesOut",
"type": "object"
}
},
{
"description": "Read the evidence bundle behind the Vuori Kore Short listing claims.\n\n Tool twin of the twzrd://claims/vuori-kore/evidence resource: canonical_evidence/1\n envelopes and capture records. A claim's evidence digest is the RFC 8785 SHA-256 of\n its envelope; recompute it to check. Verified with the artifact on every read and\n refused on any mismatch. Raw page bytes are not served. Read-only.\n ",
"inputSchema": {
"properties": {},
"title": "get_evidenceArguments",
"type": "object"
},
"name": "get_evidence",
"outputSchema": {
"additionalProperties": true,
"properties": {
"artifact_id": {
"description": "Artifact id of the signed publication that was read.",
"title": "Artifact Id",
"type": "string"
},
"digest": {
"description": "sha256 of the exact bytes in `json`, as bound in the signed publication.",
"title": "Digest",
"type": "string"
},
"text": {
"description": "The artifact or evidence bundle, byte-for-byte as the resource serves it. Parse it after checking `digest`.",
"title": "Text",
"type": "string"
},
"uri": {
"description": "The MCP resource this tool mirrors.",
"title": "Uri",
"type": "string"
}
},
"required": [
"uri",
"artifact_id",
"digest",
"text"
],
"title": "ListingClaimsReadOut",
"type": "object"
}
},
{
"description": "\n Free discovery: which x402 facilitators a payer has settled through, and how many.\n\n unique_facilitators = 1 is a thin/captive agent (locked to one rail); breadth\n across facilitators indicates a more established cross-rail agent. Returns the\n facilitator_ids list plus tx/merchant context. Fail-open: a DB gap returns\n data_available=false rather than erroring.\n ",
"inputSchema": {
"properties": {
"wallet": {
"description": "Solana wallet public key (32-44 base58 chars) to look up its x402 facilitator footprint.",
"title": "Wallet",
"type": "string"
}
},
"required": [
"wallet"
],
"title": "get_facilitator_footprintArguments",
"type": "object"
},
"name": "get_facilitator_footprint",
"outputSchema": {
"additionalProperties": true,
"properties": {
"data_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "False when the corpus/DB was unavailable.",
"title": "Data Available"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Present only on the degraded path.",
"title": "Error"
},
"facilitator_ids": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "The facilitator identifiers observed for this payer.",
"title": "Facilitator Ids"
},
"first_seen": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO timestamp of first observed activity.",
"title": "First Seen"
},
"found": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True if the wallet has observed corpus activity.",
"title": "Found"
},
"last_seen": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO timestamp of last observed activity.",
"title": "Last Seen"
},
"tx_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total observed paid calls.",
"title": "Tx Count"
},
"unique_facilitators": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Distinct x402 facilitators this payer has settled through (1 = thin/captive).",
"title": "Unique Facilitators"
},
"unique_merchants": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Distinct merchants paid.",
"title": "Unique Merchants"
},
"wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The wallet looked up.",
"title": "Wallet"
}
},
"title": "FacilitatorFootprintOut",
"type": "object"
}
},
{
"description": "\n Free merchant card: observed inbound payment-graph quality around a Solana\n receive wallet.\n\n Dual input (PR-3): pass ``wallet`` and/or ``resource_id``. Resource resolves via\n the first-party registry (TWZRD seed) to a pay_to, then the same graph card.\n Does NOT claim service quality (resource_listing_only / catalog_listing_only).\n\n HTTP twin: GET /v1/intel/merchant_card/{wallet_or_resource_id}.\n Compact (default) includes observed_at, stale, corpus_complete_day,\n corpus_age_days. Catalog services stay behind full=true.\n\n wash_flagged is tri-state: true (flagged) | false (evaluated clean) |\n null (never evaluated - NOT clean). wash_flagged=true never soft-allows\n (next_action.decision=refuse; no warn/allow/quick). Unlabeled leftover\n 0.05 / leftover=0 is not a unit price; cheapest_listed_price_usdc omits\n leftover and upto_cap amounts. Route on next_action.decision\n (refuse | insufficient_evidence | no_negative_signal); the card is\n down-only and never returns allow. `reason` carries the specific\n finding (e.g. a soft wash risk collapsed into \"refuse\", or a corpus\n outage collapsed into \"insufficient_evidence\") when the 3-value\n decision alone is not enough context.\n ",
"inputSchema": {
"properties": {
"full": {
"default": false,
"description": "If true, include catalog services. Default is the compact decision surface.",
"title": "Full",
"type": "boolean"
},
"resource_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional registry resource_id (HTTP path template or mcp:tool). Resolved to merchant_wallet via PR-3 seed; claim resource_listing_only.",
"title": "Resource Id"
},
"wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Receive wallet (x402 pay_to / merchant pubkey). Observed payment-graph card only — not a business, demand, or identity attestation.",
"title": "Wallet"
}
},
"title": "get_merchant_cardArguments",
"type": "object"
},
"name": "get_merchant_card",
"outputSchema": {
"additionalProperties": true,
"description": "Loose JSON object model used to expose outputSchema on all discovery tools.",
"properties": {},
"title": "ToolJsonObject",
"type": "object"
}
},
{
"description": "\n Free preview: PoEC v0 (Proof of Economic Contribution) for a payer wallet,\n computed from the same observed x402 snapshot score_wallet_for_intel returns.\n\n poec_score = log10(1 + observed USDC sent) x success_quality x diversity\n x wash_cleanliness, behind hard floors (>=5 paid calls, >=3 distinct\n counterparties, wash_factor >= 0.5, not single-counterparty, wash_flag\n clean). Any failed floor, or an unobservable corpus, scores 0.0 with\n floors_passed=false - the floors fail closed, never open. wash_factor is a\n cleanliness multiplier (1.0 = clean) and is never inverted.\n\n Honesty contract: `claimable` is ALWAYS false. Volume here is\n corpus-observed, not a payout unlock. `success_quality` comes from the\n payer join onto signed `receipt_settlement_leaves` (0211); if that join\n is unobservable, `success_rate` stays in evidence_gaps and the score\n reads 0.0. What this surface already shows honestly is the floor filter\n (eligible_v0) and every component the score is built from. Self-reported\n settlements go through submit_contribution_claims.\n\n Base (EVM) 0x wallets are scored from the relayer-attributed x402_base_daily\n rollup (90d) with the same shape, but no wash/sybil graph exists for Base\n payers yet, so their wash_flag reads \"unknown\" (never \"clean\"), the wash\n floor stays closed, and poec_score stays 0.0 regardless of real volume.\n A wallet the corpus could not observe at all returns `error` set; on that\n path any real observed Base volume is attached under `base_observed`.\n ",
"inputSchema": {
"properties": {
"wallet": {
"description": "Payer wallet (Solana base58 or Base 0x) to score for Proof of Economic Contribution.",
"title": "Wallet",
"type": "string"
}
},
"required": [
"wallet"
],
"title": "get_poec_scoreArguments",
"type": "object"
},
"name": "get_poec_score",
"outputSchema": {
"additionalProperties": true,
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO timestamp the snapshot was scored at.",
"title": "As Of"
},
"base_observed": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Present only for a Base (EVM) wallet TWZRD has independently observed paid calls from: real paid_calls/total_usdc/distinct_counterparties (90d, high-confidence, x402_base_daily). Informational only -- no wash/sybil evaluation exists for Base payers yet, so poec_score and floors_passed are unaffected by this field.",
"title": "Base Observed"
},
"claimable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Always false: volume is corpus-observed, not facilitator-attested or joined to a settlement leaf.",
"title": "Claimable"
},
"components": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "observed_volume, success_quality, diversity, hop_multiplier, wash_cleanliness, solana_boost.",
"title": "Components"
},
"distinct_counterparties": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Distinct counterparties observed.",
"title": "Distinct Counterparties"
},
"eligible_v0": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Floors passed and observed volume > 0. A floor filter, not an unlock.",
"title": "Eligible V0"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Present only when the wallet could not be observed at all (e.g. not a valid Solana pubkey, upstream unavailable) -- distinguishes 'not scoreable' from a genuinely inactive wallet, both of which otherwise read as poec_score 0.0.",
"title": "Error"
},
"evidence_gaps": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Inputs with no live source. Empty plus success_rate 0.0 means the 0211 join ran and this wallet has no signed settlement leaf — not a missing join.",
"title": "Evidence Gaps"
},
"floors_passed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "All hard floors held: >=5 paid calls, >=3 distinct counterparties, wash_factor >= 0.5, not single-counterparty, wash_flag clean, corpus observable.",
"title": "Floors Passed"
},
"paid_calls": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Observed x402 paid calls sent.",
"title": "Paid Calls"
},
"poec_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "log10(1 + observed USDC sent) x success_quality x diversity x wash_cleanliness; 0.0 when any floor fails.",
"title": "Poec Score"
},
"score_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "PoEC contract version, e.g. \"poec_v0\".",
"title": "Score Version"
},
"source_effective_score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "effective_score of the underlying snapshot.",
"title": "Source Effective Score"
},
"source_intel_score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "intel_score of the underlying snapshot.",
"title": "Source Intel Score"
},
"success_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Signed receipt_settlement_leaves for this payer / observed paid_calls, capped at 1.0. None = join unobservable; 0.0 = join ran, zero attested leaves. Never implies claimable.",
"title": "Success Rate"
},
"wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The scored payer wallet.",
"title": "Wallet"
},
"wash_flag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"clean\" | \"single_counterparty\" | \"unknown\", from the intel snapshot.",
"title": "Wash Flag"
}
},
"title": "PoecScoreOut",
"type": "object"
}
},
{
"description": "\n Free discovery: corpus-backed SELLER reputation for a merchant/provider wallet.\n\n Answers \"is this provider organic, narrow, or a wash fleet?\" from the merchant's\n inbound payment graph over the last 90 days: unique payers, repeat-payer %,\n heavy-fleet revenue concentration, captive-payer % (onboarding-sink proxy), and\n a scripted-fleet uniformity signal, and top_payer_tx_pct (captive\n concentration). Returns wash_label + reputation tier + wash_flagged\n (tri-state: true | false | null; null = never evaluated, not clean).\n\n Complements score_wallet_for_intel (payer side) with the seller side.\n wash_flagged=true never soft-allows (buyer refuse; preflight block). Fail-open:\n a DB gap returns wash_label/tier \"unknown\" AND wash_flagged=null (plus\n wash_confidence) - an unevaluated verdict, never a clean one. This is the free\n seller signal. First paid hop is GET /v1/intel/quick/{wallet} (0.001 USDC).\n Optional V7 renorm + signed receipt is GET /v1/intel/trust/{wallet} (0.05 USDC).\n ",
"inputSchema": {
"properties": {
"merchant": {
"description": "Seller/merchant Solana wallet public key (the pay_to address) to score on inbound corpus reputation.",
"title": "Merchant",
"type": "string"
}
},
"required": [
"merchant"
],
"title": "get_provider_reputationArguments",
"type": "object"
},
"name": "get_provider_reputation",
"outputSchema": {
"additionalProperties": true,
"properties": {
"avg_tx_per_payer": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Average inbound tx per payer.",
"title": "Avg Tx Per Payer"
},
"captive_payer_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Percent of payers who pay ONLY this merchant (captive/onboarding-sink proxy).",
"title": "Captive Payer Pct"
},
"heavy_fleet_payers": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Count of heavy single-counterparty fleet payers.",
"title": "Heavy Fleet Payers"
},
"heavy_fleet_revenue_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Percent of revenue from heavy-fleet payers.",
"title": "Heavy Fleet Revenue Pct"
},
"heavy_fleet_tx_cv": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Tx-count uniformity across heavy-fleet payers; near-zero = scripted sybil fleet.",
"title": "Heavy Fleet Tx Cv"
},
"merchant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The seller/merchant Solana wallet looked up.",
"title": "Merchant"
},
"provider_reputation_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Tier: \"tier_a_provider\" | \"tier_b_provider\" | \"tier_tail\" | \"tier_wash_demo\" | \"unknown\".",
"title": "Provider Reputation Tier"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Degraded-path reason (e.g. db_unavailable, no_corpus_inbound).",
"title": "Reason"
},
"repeat_payer_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Percent of payers who paid more than once.",
"title": "Repeat Payer Pct"
},
"score_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "provider_reputation_v1.",
"title": "Score Version"
},
"top_payer_tx_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Percent of inbound settles supplied by the single largest payer (captive concentration; >=90 with volume floor flags wash; null = not computed).",
"title": "Top Payer Tx Pct"
},
"total_revenue_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Total inbound USDC revenue (90d).",
"title": "Total Revenue Usd"
},
"total_tx": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total inbound paid calls (90d).",
"title": "Total Tx"
},
"unique_payers": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Distinct payers observed paying this merchant (90d).",
"title": "Unique Payers"
},
"wash_confidence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"full\" when self+reciprocal+ring ran; \"base_2cycle\" when the Base 2-cycle overlay ran but the live 3-cycle ring query did not return (not a full screen); \"partial_inbound_only\" when the circular-flow overlay did not run.",
"title": "Wash Confidence"
},
"wash_flagged": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "true = fleet/wash/captive/scripted-fleet signals tripped — never soft-allow (refuse / preflight block); false = evaluated and clean; null = never evaluated (unknown - do NOT coerce to false).",
"title": "Wash Flagged"
},
"wash_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Seller class: \"provider_organic_broad\" | \"provider_mixed\" | \"provider_narrow_or_unknown\" | \"wash_shaped\" | \"fleet_dominated\" | \"unknown\".",
"title": "Wash Label"
}
},
"title": "ProviderReputationOut",
"type": "object"
}
},
{
"description": "Read the signed publication record behind the current Vuori Kore Short claims.\n\n Tool twin of the twzrd://claims/vuori-kore/publication resource. Returns the\n Ed25519 publication record, the verify key and its sha256 fingerprint. Verify the\n signature over the signed message, then compare sha256 of each get_claim /\n get_evidence text with artifact_digest / evidence_digest. With the key fingerprint\n pinned from a second source (the published fingerprint in the connector packet),\n that check does not trust this server; without it, it shows only that the record\n and the served bytes agree. The signature admits bytes to the resource; it is not\n a merchant attestation. Read-only.\n ",
"inputSchema": {
"properties": {},
"title": "get_publicationArguments",
"type": "object"
},
"name": "get_publication",
"outputSchema": {
"additionalProperties": true,
"properties": {
"artifact_id": {
"description": "Artifact id named by the signed publication record.",
"title": "Artifact Id",
"type": "string"
},
"digest": {
"description": "sha256 of the exact bytes in `text` (the proof document itself).",
"title": "Digest",
"type": "string"
},
"text": {
"description": "claim_publication_proof/1 JSON: the signed publication record, verify_key, key_fingerprint and the signed-message construction.",
"title": "Text",
"type": "string"
},
"uri": {
"description": "The MCP resource this tool mirrors.",
"title": "Uri",
"type": "string"
}
},
"required": [
"uri",
"artifact_id",
"digest",
"text"
],
"title": "ListingClaimsPublicationOut",
"type": "object"
}
},
{
"description": "\n PRIMARY free pre-spend gate (advisory). Pass seller_wallet OR resource_name.\n wash_flagged=true never soft-allows. Unlabeled leftover 0.05 / leftover=0 is not a unit price.\n\n When to use: before any x402 payment to a seller/resource.\n When not to use: after you already decided to refuse; use verify_receipt for signed receipts only.\n\n Pricing: free. Result is advisory (buyer policy still applies).\n\n Hard-stops:\n wash_flagged=true never soft-allows (decision=block / do_not_pay; no warn/allow/quick).\n Unlabeled leftover 0.05 / leftover=0 is not a unit price; read price_kind.\n Caller-supplied or scheme/price_kind=exact 0.05 stays a unit price.\n\n Decision semantics (top-level, no nesting via MCP):\n decision=block / recommended_action=do_not_pay -> DO NOT PAY.\n decision=warn / recommended_action=proceed_with_cap -> pay only up to maximum_recommended_spend_usdc.\n decision=allow / recommended_action=proceed_for_small_spend -> proceed under agent policy (no free-tier cap).\n\n next_action (enrollment handoff — do not stop after free card):\n next_step_type / payment_required / executable / command describe an\n optional next step. A host may use command only under its own policy.\n Never paste path templates (:pubkey / {pubkey}) as seller_wallet.\n\n Also returns reason_codes[], confidence, model_version, decision_envelope.\n\n No counterparty named (seller_wallet missing / a template / not a wallet, and\n no resource_name or resource_url): decision=block, trust_score null, score null,\n null_reason=no_subject, reason_codes NO_COUNTERPARTY (+ PLACEHOLDER_SELLER_WALLET),\n seller_wallet_rejected echoes what you sent. That is an input bug, not a seller\n verdict: fix the input and re-run.\n\n trust_score is a free heuristic, NOT the full corpus.\n Next: on allow/warn for material spend, next_action.command is the\n optional AgentCash paid-trust or AutoGate install string, then verify_receipt\n on the signed V7 receipt.\n Optional: twzrd_watch_add for re-check after recheck_after_unix.\n\n Additive: top-level aop_bind program registry (evidence hierarchy) when enabled;\n never mutates decision / can_spend.\n ",
"inputSchema": {
"properties": {
"agent_intent": {
"default": null,
"description": "Natural-language intent describing the planned paid action.",
"title": "Agent Intent",
"type": "string"
},
"buyer_wallet": {
"default": null,
"description": "Buyer's Solana wallet public key used for spend-context checks.",
"title": "Buyer Wallet",
"type": "string"
},
"marketplace_score": {
"default": null,
"description": "Optional upstream marketplace trust score (0-100) to blend into preflight context.",
"title": "Marketplace Score",
"type": "integer"
},
"price_usdc": {
"default": null,
"description": "Caller-supplied exact unit price in USDC. Leave unset unless you have an exact quote. Unlabeled leftover 0.05 / leftover=0 is not a unit price.",
"title": "Price Usdc",
"type": "number"
},
"queried_pubkey": {
"default": null,
"description": "Consumer pubkey, echoed on output when provided (attribution only).",
"title": "Queried Pubkey",
"type": "string"
},
"resource_name": {
"default": null,
"description": "Provider or resource label in a marketplace (for example marketplace:agent-name). Provide this OR seller_wallet.",
"title": "Resource Name",
"type": "string"
},
"resource_url": {
"default": null,
"description": "Canonical endpoint URL for the resource, if available.",
"title": "Resource Url",
"type": "string"
},
"seller_wallet": {
"default": null,
"description": "Seller's Solana base58 wallet (32-44 chars) for the listing or endpoint. Provide this OR resource_name. CRITICAL: never pass OpenAPI templates (:pubkey, {pubkey}, {seller_wallet}, SELLER_WALLET, PAY_TO_WALLET) — use accepts[].payTo from a 402 challenge.",
"title": "Seller Wallet",
"type": "string"
}
},
"title": "get_readiness_card_toolArguments",
"type": "object"
},
"name": "get_readiness_card_tool",
"outputSchema": {
"additionalProperties": true,
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO-8601 of data_as_of_unix. Null when the subject was never measured.",
"title": "As Of"
},
"basis": {
"anyOf": [
{
"items": {},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Typed evidence entries {class, kind, source, observed_at, weight, ...}; observed_at is null with observed_at_null_reason on an honest-null card.",
"title": "Basis"
},
"can_spend": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Price-aware proceed flag (not 'true only on allow'). block → false; allow → true (unless known price exceeds free-tier ceiling); warn → true only when price_usdc is known and fits under recommended_cap_usdc, else false. Free card is advisory; AutoGate on the pay path enforces.",
"title": "Can Spend"
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Resource category (e.g. defi, defi_intelligence).",
"title": "Category"
},
"caveats": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Risk factors and the always-on trust_score_basis caveat.",
"title": "Caveats"
},
"corpus_age_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Whole days since corpus_complete_day. Null when the ledger head is missing.",
"title": "Corpus Age Days"
},
"corpus_complete_day": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ledger head complete day (YYYY-MM-DD) from x402_ledger_head. Null when that row is missing. Not the 2026-07-09 copy floor.",
"title": "Corpus Complete Day"
},
"corpus_complete_through_unix": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Behavioral corpus coverage watermark, or null when none is plumbed.",
"title": "Corpus Complete Through Unix"
},
"data_as_of_unix": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Seller last-activity unix when known. Null on unknown_subject / insufficient_signal / evaluation_failed — never card-build time. Card TTL is recheck_after_unix.",
"title": "Data As Of Unix"
},
"decision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Spend decision: \"allow\" | \"warn\" | \"block\". wash_flagged=true never soft-allows — this field is block (no warn/allow/quick).",
"title": "Decision"
},
"expires_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO-8601 card validity end (an expired card is an absent card).",
"title": "Expires At"
},
"issued_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO-8601 card issue time.",
"title": "Issued At"
},
"ledger_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ledger head basis, for example exact or mixed_estimated.",
"title": "Ledger Basis"
},
"ledger_exact_through": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Last day of exact event capture on the ledger head. Later days may be estimates.",
"title": "Ledger Exact Through"
},
"max_price_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Advertised maximum USDC when price_kind is upto_cap. Not a unit price.",
"title": "Max Price Usdc"
},
"next_fixes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Actionable steps the provider can take to raise trust.",
"title": "Next Fixes"
},
"null_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Why score is null: \"unknown_subject\" | \"insufficient_signal\" | \"evaluation_failed\" | \"no_subject\" (no counterparty was named at all). Null when scored.",
"title": "Null Reason"
},
"observed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO-8601 of the seller's last settle, else the ledger head day. Null when neither exists. Not card-build time.",
"title": "Observed At"
},
"paid_deep_dive": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional Path A V7 receipt surface (/v1/intel/trust/{wallet}).",
"title": "Paid Deep Dive"
},
"paid_price_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Price of the optional V7 receipt in USDC (0.05).",
"title": "Paid Price Usdc"
},
"paid_teaser": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "First paid hop: $0.001 score-only teaser (/v1/intel/quick/{wallet}).",
"title": "Paid Teaser"
},
"paid_teaser_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Price of the first paid hop in USDC (0.001).",
"title": "Paid Teaser Usdc"
},
"price_kind": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "exact | upto_cap | unknown. upto_cap means price_usdc is not a unit price.",
"title": "Price Kind"
},
"price_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Quoted unit price in USDC. Null when price_kind is upto_cap or the figure is unlabeled leftover 0.05 / leftover=0 (scheme=upto leftover defaults, including stale 0.05, are not a unit price).",
"title": "Price Usdc"
},
"proof": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Proof block: v5_receipt_upsell_available, has_v5_receipts, receipt_endpoint, known_seller_wallets, provider_reputation.",
"title": "Proof"
},
"queried_pubkey": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Consumer pubkey echoed when provided on input (attribution only; not a settle gate).",
"title": "Queried Pubkey"
},
"recheck_after_unix": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "UNIX timestamp after which this intel is stale. ADVISORY AND UNSIGNED on a paid receipt -- it is outside the signed leaf, so a receipt holder can extend it and the receipt still verifies. Enforce your own policy via verify_receipt(max_age_seconds=...), which checks the SIGNED preimage.timestamp_unix.",
"title": "Recheck After Unix"
},
"recheck_hint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "One-line hint: re-verify via GET /v1/intel/trust/{pubkey}. Do not gate solely on recheck_after_unix -- it is unsigned on a paid receipt; use your own max_age_seconds.",
"title": "Recheck Hint"
},
"resource_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Resolved resource/provider label.",
"title": "Resource Name"
},
"root_provenance": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "WZRD protocol root metadata (for deposit/claim/settle resources): latest_root_seq, dataset_hash (if known), leaf_version (GLOBAL_V5), verification_status, onchain_match (null = call verify_root_inputs before on-chain action), market_velocity (when the market data service is configured, for cross-referencing on-chain velocity/attention signals with the root's attention_bonus). Auto-populated on protocol keywords/mints/categories. Complements the verify_root_inputs tool for independent GLOBAL_V5 leaf + dataset + sorted-pair root recompute from public leaves. Null/absent on non-protocol resources.",
"title": "Root Provenance"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Draft-02 score 0..1, or null when no evidence was measured (see null_reason). An assessor never fabricates this; the legacy trust_score keeps a cautious default for old consumers.",
"title": "Score"
},
"score_decay_model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "step:<=7d=1.0,<=30d=0.8,<=90d=0.5,>90d=0.25 (the recency decay on paid scores). ADVISORY AND UNSIGNED on a paid receipt.",
"title": "Score Decay Model"
},
"seller_wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Seller Solana wallet, if known.",
"title": "Seller Wallet"
},
"seller_wallet_rejected": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Set when the seller_wallet you sent was discarded: {\"value\", \"reason\": \"template_placeholder\" | \"not_a_wallet_address\"}. With no resource_name/resource_url the card is decision=block, null_reason=no_subject, reason_codes NO_COUNTERPARTY (+ PLACEHOLDER_SELLER_WALLET). Fix the input; this is not a verdict about any seller.",
"title": "Seller Wallet Rejected"
},
"stale": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True when the seller's last settle is older than 7 days, or when there is no settle and the ledger head is older than 7 days or missing. Warning only; not a wash refuse.",
"title": "Stale"
},
"staleness_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Recommended re-check cadence in days (7 high-quality, 3 partial/stale). ADVISORY AND UNSIGNED on a paid receipt.",
"title": "Staleness Days"
},
"trust_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Composite trust signal, 0-100.",
"title": "Trust Score"
},
"trust_score_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Provenance of the score; ALWAYS the free heuristic, never the paid corpus model.",
"title": "Trust Score Basis"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Card schema version, e.g. readiness_card_v1.",
"title": "Version"
}
},
"title": "ReadinessCardOut",
"type": "object"
}
},
{
"description": "Read the free Agent Shopping Check for Vuori Kore Short, Ink, US.\n\n Same report as https://twzrd.xyz/shopping-check/vuori-kore/: product\n context, advertised claims with exact sources and observation times,\n unverified purchase completion and other gaps, and three editorial\n merchant fixes. Built from the verified signed publication on every read.\n Expired observations are historical. Never pays or starts checkout.\n ",
"inputSchema": {
"properties": {},
"title": "get_shopping_checkArguments",
"type": "object"
},
"name": "get_shopping_check",
"outputSchema": {
"additionalProperties": true,
"title": "get_shopping_checkDictOutput",
"type": "object"
}
},
{
"description": "\n Health probe for the Solana Market API data backend.\n\n Call this to gate or degrade gracefully BEFORE the other get_solana_market_*\n tools: it does a short-timeout hit on the data service and reports whether it\n is reachable, so an agent can tell \"market has no data\" from \"service is down\"\n without failing a real query.\n\n Free discovery tool. When the market data service exposes /status, the response\n includes prod_key_configured, data_first_available, and an actionable note\n describing what to configure for full on-chain visibility.\n ",
"inputSchema": {
"properties": {},
"title": "get_solana_market_statusArguments",
"type": "object"
},
"name": "get_solana_market_status",
"outputSchema": {
"additionalProperties": true,
"properties": {
"available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True if the Solana Market data service responded.",
"title": "Available"
},
"base_url_configured": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether the market data-service base URL is explicitly configured.",
"title": "Base Url Configured"
},
"detail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Human-readable status or error detail.",
"title": "Detail"
},
"market_velocity": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Full velocity payload when present (rank/trend/score/last_updated). Populated into ReadinessCard.root_provenance.market_velocity for WZRD protocol resources.",
"title": "Market Velocity"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Normalized velocity score 0.0-1.0.",
"title": "Score"
},
"trend": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Velocity trend: rising | stable | declining.",
"title": "Trend"
},
"velocity_rank": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Velocity rank from market signals (higher better).",
"title": "Velocity Rank"
}
},
"title": "MarketStatusOut",
"type": "object"
}
},
{
"description": "\n Leaderboard of observed payer wallets in the x402 settlement graph, each\n with its intel score. This is behavioral corpus research, not identity\n proof or evidence that the wallet is a TWZRD customer.\n\n Ranks by the wash-discounted effective_score (single-counterparty fleets are\n demoted, not hidden) with a deterministic tiebreaker. Set min_paid_calls to\n suppress one-shot wallets and max_days_since_last to suppress dormant ones.\n ",
"inputSchema": {
"properties": {
"limit": {
"default": 10,
"description": "Maximum number of ranked payer wallets to return (default 10).",
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"max_days_since_last": {
"default": null,
"description": "Only include wallets active within this many days (default null = no recency filter). Use e.g. 14 to exclude dormant or historical payers.",
"minimum": 0,
"title": "Max Days Since Last",
"type": "number"
},
"min_paid_calls": {
"default": 0,
"description": "Filter out wallets with fewer than this many observed paid calls (default 0 = no filter). Use to get credible *active* counterparties, not a raw dump.",
"minimum": 0,
"title": "Min Paid Calls",
"type": "integer"
}
},
"title": "get_top_intel_agentsArguments",
"type": "object"
},
"name": "get_top_intel_agents",
"outputSchema": {
"additionalProperties": true,
"properties": {
"agents": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Ranked agent rows, each with intel_score, effective_score, wash fields, and rank.",
"title": "Agents"
},
"count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of rows returned.",
"title": "Count"
},
"data_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "False when the corpus/DB was unavailable.",
"title": "Data Available"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Present only on the degraded path.",
"title": "Error"
},
"score_model": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Self-describing scoring contract.",
"title": "Score Model"
},
"score_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Scoring contract version.",
"title": "Score Version"
}
},
"title": "TopIntelAgentsOut",
"type": "object"
}
},
{
"description": "Wash overlay on ingested PayAI/CDP/Agentic listings (PayAI not_indexed).\n\n Prefer HTTP GET /v1/intel/resources for the resource join SOT (callable URL +\n discovery claim listed|live_402 + settlement reputation on pay_to). That\n surface is HTTP-only. Use this tool when you need\n the ingested listing overlay indexed by payTo. Not GET /v1/intel/bazaar/offers\n (TWZRD Bazaar catalog) and not 402 extensions.bazaar.\n\n Solana wash overlay is the only wash graph. Base listings additionally\n carry high-confidence EIP-3009 corpus membership from x402_base_daily;\n they remain wash_unknown. Polygon listings carry wash_unknown.\n\n Query params — flagged_only, limit, source — mirror GET /v1/intel/x402-directory.\n ",
"inputSchema": {
"properties": {
"flagged_only": {
"default": false,
"description": "Return only wash-flagged listings.",
"title": "Flagged Only",
"type": "boolean"
},
"limit": {
"default": 100,
"description": "Max directory rows to return (1-500).",
"title": "Limit",
"type": "integer"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Source filter: payai_bazaar, cdp_bazaar, agentic_market, or None for all.",
"title": "Source"
}
},
"title": "get_x402_directoryArguments",
"type": "object"
},
"name": "get_x402_directory",
"outputSchema": {
"additionalProperties": true,
"description": "Loose JSON object model used to expose outputSchema on all discovery tools.",
"properties": {},
"title": "ToolJsonObject",
"type": "object"
}
},
{
"description": "\n Free discovery: cheap circular-flow (wash) check for a payer wallet.\n\n Returns the CATEGORICAL classification (clean / self_pay / reciprocal /\n self+reciprocal), an is_circular bool, and the observed event counts +\n distinct_merchants from the wallet's corpus edges. Use as a fast Sybil/wash\n gate before trusting a counterparty.\n\n Accepts a Solana public key or a Base/EVM address. On Base the signal reads\n the high-confidence x402 rollup only, and 3-cycle ring detection does not run\n (Solana-only precomputed matview), so ring_events=0 there means NOT EVALUATED,\n never \"no rings observed\".\n\n Fail-open: a DB gap returns classification \"unknown\". The numeric wash discount\n (wash_factor / wash_ratio) and the full renormalized model stay paid — they are\n NOT returned here.\n ",
"inputSchema": {
"properties": {
"wallet": {
"description": "Wallet to check for circular-flow / wash behavior: a Solana public key (32-44 base58 chars) or a Base/EVM address (0x + 40 hex).",
"title": "Wallet",
"type": "string"
}
},
"required": [
"wallet"
],
"title": "is_wash_fleetArguments",
"type": "object"
},
"name": "is_wash_fleet",
"outputSchema": {
"additionalProperties": true,
"properties": {
"chain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Which corpus answered: \"solana\" or \"base\". Base reads the high-confidence x402 rollup only.",
"title": "Chain"
},
"classification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Circular-flow class: \"clean\" | \"self_pay\" | \"reciprocal\" | \"self+reciprocal\" | \"unknown\".",
"title": "Classification"
},
"distinct_merchants": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Distinct merchants this wallet paid.",
"title": "Distinct Merchants"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Present only on the degraded path.",
"title": "Error"
},
"is_circular": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True if any self-pay or reciprocal (2-cycle) flow was observed.",
"title": "Is Circular"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Degraded-path reason, if any.",
"title": "Reason"
},
"reciprocal_events": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Events forming a 2-cycle (counterparty also pays this wallet).",
"title": "Reciprocal Events"
},
"ring_evaluated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True only when the ring axis actually ran for this wallet: the precomputed Solana ring aggregate was read, or the live Base 3-cycle query returned. False when the ring lookup failed or the Solana wallet has no aggregate row yet - in both of which ring_events=0 means not evaluated, never none found.",
"title": "Ring Evaluated"
},
"ring_events": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Events forming a 3-cycle ring. Meaningless unless ring_evaluated is true: 0 with ring_evaluated false means NOT LOOKED FOR, not none found.",
"title": "Ring Events"
},
"self_events": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Events where the wallet paid itself.",
"title": "Self Events"
},
"total_events": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Total observed payment events.",
"title": "Total Events"
},
"wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The wallet checked.",
"title": "Wallet"
}
},
"title": "WashCheckOut",
"type": "object"
}
},
{
"description": "\n Low-level preflight check. Returns a richer result object including\n paid_quick_endpoint ($0.001 first hop) and optional paid_trust_endpoint ($0.05 V7).\n wash_flagged=true never soft-allows. Unlabeled leftover 0.05 / leftover=0 is not a unit price.\n\n Prefer get_readiness_card_tool for most callers. Use this when you need\n max_spend_recommendation_usdc, full_report_hint, or the suggest_full_report\n flag. The embedded `readiness_card` carries the SAME full shape as\n get_readiness_card_tool (see the outputSchema).\n\n Hard-stops:\n wash_flagged=true never soft-allows (decision=block; no warn/allow/quick).\n Unlabeled leftover 0.05 / leftover=0 is not a unit price; read readiness_card.price_kind.\n ",
"inputSchema": {
"properties": {
"agent_intent": {
"default": null,
"description": "What the agent intends to do with the purchased response or tool.",
"title": "Agent Intent",
"type": "string"
},
"buyer_wallet": {
"default": null,
"description": "Buyer's Solana wallet public key; enables buyer-context evidence in scoring.",
"title": "Buyer Wallet",
"type": "string"
},
"marketplace_score": {
"default": null,
"description": "Optional marketplace-provided score (0-100) for blend-in scoring context.",
"title": "Marketplace Score",
"type": "integer"
},
"price_usdc": {
"default": null,
"description": "Caller-supplied exact unit price in USDC. Leave unset unless you have an exact quote. Unlabeled leftover 0.05 / leftover=0 is not a unit price.",
"title": "Price Usdc",
"type": "number"
},
"resource_name": {
"default": null,
"description": "Provider or listing identifier to evaluate before payment.",
"title": "Resource Name",
"type": "string"
},
"resource_url": {
"default": null,
"description": "Canonical endpoint URL for the resource, if available.",
"title": "Resource Url",
"type": "string"
},
"seller_wallet": {
"default": null,
"description": "Seller's Solana wallet public key for reputation and spend checks.",
"title": "Seller Wallet",
"type": "string"
}
},
"title": "low_level_preflightArguments",
"type": "object"
},
"name": "low_level_preflight",
"outputSchema": {
"additionalProperties": true,
"properties": {
"decision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Spend decision: \"allow\" | \"warn\" | \"block\". wash_flagged=true never soft-allows — this field is block (no warn/allow/quick).",
"title": "Decision"
},
"evidence": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Evidence bullets behind the decision.",
"title": "Evidence"
},
"full_report_hint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "How to fetch the paid full report.",
"title": "Full Report Hint"
},
"max_spend_recommendation_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Suggested per-call spend ceiling for this decision.",
"title": "Max Spend Recommendation Usdc"
},
"paid_quick_endpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "First paid hop: $0.001 score-only teaser, if seller identity is known.",
"title": "Paid Quick Endpoint"
},
"paid_trust_endpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional $0.05 V7 receipt path, if seller identity is known.",
"title": "Paid Trust Endpoint"
},
"readiness_card": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "The full ReadinessCard shape (same keys as get_readiness_card_tool).",
"title": "Readiness Card"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Decision-consistent one-line rationale.",
"title": "Reason"
},
"suggest_full_report": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether to upsell the paid V7 receipt report.",
"title": "Suggest Full Report"
},
"trust_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Composite trust signal, 0-100.",
"title": "Trust Score"
}
},
"title": "LowLevelPreflightOut",
"type": "object"
}
},
{
"description": "\n Free discovery: PAYER-side 0-100 intel score for a wallet from the x402\n payments it SENT (paid calls, distinct counterparties, volume, recency).\n Not a seller check: to vet a seller/payTo before paying, use\n get_readiness_card_tool (gate) or get_provider_reputation / get_merchant_card\n (seller reputation). A pure seller scores 0 here by construction and the\n response says so in seller_side_hint. A Base 0x wallet is scored from the\n relayer-attributed x402_base_daily rollup (90d) with the same shape; no Base\n wash graph exists yet, so its wash_flag is \"unknown\" unless single-counterparty.\n\n Uses a simple transparent heuristic (volume log + breadth + spend log + recency\n decay) — the exact formula is returned inline as `score_model`. Returns\n intel_score, the wash-discounted effective_score + wash_flag/wash_factor\n (cheap Sybil signal), counts, component breakdown, and a data_available flag.\n Malformed pubkeys are rejected cleanly; the failure path returns the same\n shape as success.\n\n Sourced from the cross-facilitator corpus via the public Rust HTTP endpoint\n GET /v1/agents/{wallet}/x402 (backed by the x402_solana_payer_agg matview).\n First paid hop is the score-only teaser GET /v1/intel/quick/{wallet} (0.001 USDC).\n Optional V7 signed receipt (intel_renorm_v1_1: score_raw, confidence,\n breadth_factor, wash_factor) is GET /v1/intel/trust/{wallet} (0.05 USDC).\n ",
"inputSchema": {
"properties": {
"wallet": {
"description": "Wallet to score: a Solana base58 pubkey or a Base 0x address, using x402 payment-history intelligence.",
"title": "Wallet",
"type": "string"
}
},
"required": [
"wallet"
],
"title": "score_wallet_for_intelArguments",
"type": "object"
},
"name": "score_wallet_for_intel",
"outputSchema": {
"additionalProperties": true,
"properties": {
"basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Human-readable basis line.",
"title": "Basis"
},
"chain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"base\" when scored from the Base corpus; null on the Solana path.",
"title": "Chain"
},
"data_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "False when the corpus could not be observed (vs genuinely inactive).",
"title": "Data Available"
},
"distinct_counterparties": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Distinct counterparties (merchants paid + payers received from).",
"title": "Distinct Counterparties"
},
"effective_score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Wash-discounted score (single-counterparty fleets demoted).",
"title": "Effective Score"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Present only on the degraded path.",
"title": "Error"
},
"first_seen": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO timestamp of first observed activity.",
"title": "First Seen"
},
"intel_score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Raw activity-reputation score, 0-100.",
"title": "Intel Score"
},
"is_single_counterparty": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True if all payments went to one counterparty (Sybil signal).",
"title": "Is Single Counterparty"
},
"last_seen": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO timestamp of last observed activity.",
"title": "Last Seen"
},
"network": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "CAIP-2 network of the corpus used, e.g. \"eip155:8453\"; null on the Solana path.",
"title": "Network"
},
"paid_calls": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Observed x402 paid calls SENT (payer side).",
"title": "Paid Calls"
},
"payments_received": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Observed x402 paid calls RECEIVED (merchant side).",
"title": "Payments Received"
},
"role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Observed role: \"payer\" | \"merchant\" | \"both\" | \"unknown\".",
"title": "Role"
},
"score_components": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Per-component breakdown: volume, breadth, spend, recency_factor.",
"title": "Score Components"
},
"score_model": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Self-describing scoring contract (scale, formula, component maxes, recency tiers).",
"title": "Score Model"
},
"score_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Scoring contract version.",
"title": "Score Version"
},
"seller_side_hint": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Set when this wallet reads as a SELLER (role merchant, or payments received with no paid calls sent). intel_score here is the PAYER-side score and is 0 for a pure seller by construction; it is not a verdict about the seller. Points at get_provider_reputation / get_merchant_card (seller side) and get_readiness_card_tool (the pre-spend gate).",
"title": "Seller Side Hint"
},
"total_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Total observed USDC sent.",
"title": "Total Usdc"
},
"total_usdc_received": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Total observed USDC received (merchant side).",
"title": "Total Usdc Received"
},
"wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The scored wallet: Solana base58 pubkey or Base 0x address (lowercased).",
"title": "Wallet"
},
"wash_coverage": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Which wash signals exist for this chain. Base: single-counterparty only, so wash_flag is \"unknown\" (never \"clean\") for multi-counterparty wallets.",
"title": "Wash Coverage"
},
"wash_factor": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Multiplier applied to intel_score for effective_score.",
"title": "Wash Factor"
},
"wash_flag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"clean\" | \"single_counterparty\" | \"unknown\".",
"title": "Wash Flag"
},
"window_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Observation window in days when the corpus is windowed (Base: 90); null on the Solana path.",
"title": "Window Days"
}
},
"title": "WalletIntelScoreOut",
"type": "object"
}
},
{
"description": "\n Free discovery: score up to 25 wallets in a single call (each via the same\n transparent model as score_wallet_for_intel). Convenience for triaging a set of\n candidate counterparties at once; `requested`/`capped` disclose any truncation.\n ",
"inputSchema": {
"properties": {
"wallets": {
"description": "List of wallets (Solana base58 or Base 0x) to score in one call (hard cap 25; extras are dropped).",
"items": {},
"title": "Wallets",
"type": "array"
}
},
"required": [
"wallets"
],
"title": "score_wallets_batchArguments",
"type": "object"
},
"name": "score_wallets_batch",
"outputSchema": {
"additionalProperties": true,
"properties": {
"capped": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True if the request exceeded max_per_call.",
"title": "Capped"
},
"count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of wallets scored.",
"title": "Count"
},
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Present only on the degraded path.",
"title": "Error"
},
"max_per_call": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Hard cap on wallets per batch call.",
"title": "Max Per Call"
},
"requested": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of valid wallets requested.",
"title": "Requested"
},
"results": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Per-wallet score objects (same shape as score_wallet_for_intel).",
"title": "Results"
}
},
"title": "BatchScoreOut",
"type": "object"
}
},
{
"description": "\n PoECX bridge: report settlements from your OWN rails (not TWZRD's paid\n routes) for cross-check against TWZRD's independently-ingested x402\n corpus, by on-chain signature.\n\n A claim whose tx_signature, payer/merchant, and amount all match what\n TWZRD's own ingest independently observed is materially stronger evidence\n than either a bare self-report or the anonymous corpus alone — the\n signature is real and on-chain, and a mismatch can't be forged to pass.\n Unmatched claims are returned too, with a reason, never silently dropped.\n\n This is a preview, not an unlock: `claimable` is always false. It exists\n to let a real counterparty with its own settlement volume start feeding\n PoECX before any on-chain payout path exists — see the PoECX plan.\n\n Capped at 25 claims per call (discovery convenience, not bulk export);\n extras are dropped, never silently ignored — see `capped`/`claims_requested`.\n Within that cap, only the first claim per (chain, tx_signature,\n transfer_index) is checked. Omitted transfer_index is the first leg\n (dedup key 0). Later copies of the same leg appear in `unverified`\n with reason_code `duplicate_claim` and `duplicate_of` pointing to the\n zero-based first input index. Two legs of one tx count twice. This\n deduplicates one preview report, not claims across separate calls.\n ",
"inputSchema": {
"properties": {
"claims": {
"description": "Self-reported settlements to cross-check. Each item: {\"tx_signature\": str, \"chain\": \"solana\"|\"base\", \"amount_usdc\": float (optional), \"transfer_index\": int (optional, Solana transfer_index / Base log_index; omitted is first leg)}. Any other chain value is rejected before it ever reaches a query.",
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Claims",
"type": "array"
},
"wallet": {
"description": "The wallet these settlement claims are being reported for.",
"title": "Wallet",
"type": "string"
}
},
"required": [
"wallet",
"claims"
],
"title": "submit_contribution_claimsArguments",
"type": "object"
},
"name": "submit_contribution_claims",
"outputSchema": {
"additionalProperties": true,
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO timestamp this report was built. Two reports of the same claims that differ only in tier after a backfill are distinguishable by as_of + classification_version.",
"title": "As Of"
},
"attestation_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"CORPUS_CROSS_CHECKED\" when the corpus was observed; \"CORPUS_UNAVAILABLE\" when lookup could not run (not a miss). Not TWZRD-attested settlement.",
"title": "Attestation Class"
},
"capped": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True if claims_requested exceeded max_per_call and extras were dropped.",
"title": "Capped"
},
"claimable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Always false today — this is a preview, not an on-chain payout unlock.",
"title": "Claimable"
},
"claims_duplicates": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Repeated chain/transaction/leg claims within the capped input; included in claims_unverified and excluded from value totals.",
"title": "Claims Duplicates"
},
"claims_requested": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of claims in the original request, before any cap.",
"title": "Claims Requested"
},
"claims_submitted": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of claims actually processed (after cap).",
"title": "Claims Submitted"
},
"claims_unverified": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Claims not found, with a mismatched wallet or amount, or duplicated within this report.",
"title": "Claims Unverified"
},
"claims_verified": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Unique chain/transaction/leg claims whose wallet and amount matched TWZRD's independently-observed corpus.",
"title": "Claims Verified"
},
"classification_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Base cluster-pin / KNOWN_CLUSTERS snapshot id. Moves when corpus reclassify changes high/unknown/excluded meaning; distinct from score_version.",
"title": "Classification Version"
},
"corpus_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "False when DSN/query failed so claims were not corpus-checked. Distinct from a genuine miss.",
"title": "Corpus Available"
},
"max_per_call": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Hard cap on claims per call.",
"title": "Max Per Call"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Plain-language caveat on what this report does and doesn't prove.",
"title": "Note"
},
"score_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Report contract version, e.g. \"poecx_bridge_v0\".",
"title": "Score Version"
},
"unverified": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Per-claim detail for unverified claims, each with a reason.",
"title": "Unverified"
},
"verified": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Per-claim detail for verified claims, each carrying observed_x402_confidence and observed_facilitator_id.",
"title": "Verified"
},
"verified_usdc": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Sum of observed USDC for verified claims across all tiers, including excluded. Use verified_usdc_x402_high for allowlist-attributed Base volume.",
"title": "Verified Usdc"
},
"verified_usdc_by_confidence": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Verified USDC split by evidence tier: \"high\" = relayer funding-cluster is on TWZRD's x402 operator allowlist (attribution, not protocol-level confirmation); \"unknown\" = observed on-chain transfer TWZRD could not confirm as x402; \"excluded\" = TWZRD affirmatively classified the settlement as not x402; \"untiered\" = chain ingest has no confidence tier (Solana).",
"title": "Verified Usdc By Confidence"
},
"verified_usdc_x402_high": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Sum of observed USDC for verified claims whose observed_x402_confidence is high (allowlist attribution, not protocol confirmation). Excluded/unknown/untiered are omitted.",
"title": "Verified Usdc X402 High"
},
"wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The wallet the claims were submitted for.",
"title": "Wallet"
}
},
"title": "ContributionReportOut",
"type": "object"
}
},
{
"description": "\n No-spend transcript of the TWZRD buyer-side x402 trust gate, a recorded example,\n not a live run - discoverable at runtime with no install and no human.\n\n Returns a deterministic transcript showing the gate's behaviour on a fixture\n counterparty: the block path ABORTS and a wallet/signer is never contacted, the\n allow path would proceed, and ok=true. Spends no USDC, contacts no wallet.\n\n This call surfaces an EXTERNAL_RUN *candidate* in TWZRD's honest attribution\n ledger (it carries a non-internal integration id + your run_id, tagged with your\n real inbound IP). A candidate is NOT an EXTERNAL_RUN: proof still requires a\n non-VPS source_ip and matching your run_id to your own transcript via\n packages/twzrd-agent-intel/scripts/count_attributed_runs.py --confirm.\n See the returned not_external_run_proof.\n ",
"inputSchema": {
"properties": {
"integration": {
"default": "mcp-agent-discovery",
"description": "Stable label for your integration (e.g. your agent/app name). Echo it plus the returned run_id in your own transcript so a run can later be confirmed. Defaults to a generic MCP-discovery label.",
"title": "Integration",
"type": "string"
},
"run_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional caller-supplied run id to correlate with your transcript. Omit to have one generated for this call.",
"title": "Run Id"
}
},
"title": "twzrd_demo_gateArguments",
"type": "object"
},
"name": "twzrd_demo_gate",
"outputSchema": {
"additionalProperties": true,
"description": "Loose JSON object model used to expose outputSchema on all discovery tools.",
"properties": {},
"title": "ToolJsonObject",
"type": "object"
}
},
{
"description": "Register a re-call watch on a seller wallet.\n\n After registration, TWZRD will proactively re-check the seller's trust intel\n when `recheck_after_unix` elapses and POST a notification to your webhook_url\n if the score/decision materially changes.\n\n Returns the watch row with the computed recheck_after_unix timestamp so your\n agent knows exactly when to expect a re-call or proactively re-check itself.\n ",
"inputSchema": {
"properties": {
"payer_wallet": {
"description": "Your agent wallet address (the watcher).",
"title": "Payer Wallet",
"type": "string"
},
"seller_wallet": {
"description": "The seller/merchant wallet to watch.",
"title": "Seller Wallet",
"type": "string"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional HTTPS URL to POST when intel goes stale.",
"title": "Webhook Url"
}
},
"required": [
"payer_wallet",
"seller_wallet"
],
"title": "twzrd_watch_addArguments",
"type": "object"
},
"name": "twzrd_watch_add",
"outputSchema": {
"additionalProperties": true,
"description": "Loose JSON object model used to expose outputSchema on all discovery tools.",
"properties": {},
"title": "ToolJsonObject",
"type": "object"
}
},
{
"description": "List active re-call watches for your agent wallet.\n\n Each watch shows the seller, current score/decision, and recheck_after_unix\n timestamp (untrusted V5/V6 hint). evaluateRecall / shouldRecheckTrusted is\n the consumer gate; do not treat due / shouldRecheck as a trusted allow.\n ",
"inputSchema": {
"properties": {
"payer_wallet": {
"description": "Your agent wallet address.",
"title": "Payer Wallet",
"type": "string"
}
},
"required": [
"payer_wallet"
],
"title": "twzrd_watch_listArguments",
"type": "object"
},
"name": "twzrd_watch_list",
"outputSchema": {
"additionalProperties": true,
"description": "Loose JSON object model used to expose outputSchema on all discovery tools.",
"properties": {},
"title": "ToolJsonObject",
"type": "object"
}
},
{
"description": "Deactivate a re-call watch by ID. payer_wallet must match the owner.",
"inputSchema": {
"properties": {
"payer_wallet": {
"description": "Your agent wallet address (must match the watch owner).",
"title": "Payer Wallet",
"type": "string"
},
"watch_id": {
"description": "Watch ID from twzrd_watch_list.",
"title": "Watch Id",
"type": "integer"
}
},
"required": [
"watch_id",
"payer_wallet"
],
"title": "twzrd_watch_removeArguments",
"type": "object"
},
"name": "twzrd_watch_remove",
"outputSchema": {
"additionalProperties": true,
"description": "Loose JSON object model used to expose outputSchema on all discovery tools.",
"properties": {},
"title": "ToolJsonObject",
"type": "object"
}
},
{
"description": "\n Free utility: offline-verify a portable V7 trust receipt (earlier V5/V6 receipts\n still verify), the \"after you pay\" half of the loop.\n\n Recomputes the Keccak256 leaf from the receipt's preimage (tamper-evidence) AND\n verifies the Ed25519 signature against the published TWZRD receipt-signing key\n (authenticity). Returns valid/leaf_valid/signature_valid plus the recomputed\n leaf and any errors. Pure and offline — no DB, no network, no payment.\n\n Pass the entire PaidReceipt object you were issued. Trust is anchored on the\n published key (or expected_pubkey), NOT on whatever pubkey the receipt carries.\n\n max_age_seconds: optional freshness gate (replay protection). Same semantics\n as the Python library verify_paid_receipt(..., max_age_seconds=...) and the\n standalone CLI --max-age.\n ",
"inputSchema": {
"properties": {
"expected_pubkey": {
"default": null,
"description": "Override the trusted signing pubkey to verify against (default: the published TWZRD receipt key).",
"title": "Expected Pubkey",
"type": "string"
},
"max_age_seconds": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "If > 0, reject the receipt if its preimage.timestamp_unix is older than this many seconds (replay/freshness protection, same as CLI --max-age and library).",
"title": "Max Age Seconds"
},
"receipt": {
"additionalProperties": true,
"description": "The full signed receipt object (leaf + preimage + signature + signing_pubkey) returned by the paid /v1/intel/trust surface (V7; earlier V5/V6 receipts still verify).",
"title": "Receipt",
"type": "object"
},
"require_signature": {
"default": true,
"description": "Require and verify the Ed25519 signature (default true). Set false only to inspect an unsigned preview.",
"title": "Require Signature",
"type": "boolean"
}
},
"required": [
"receipt"
],
"title": "verify_receiptArguments",
"type": "object"
},
"name": "verify_receipt",
"outputSchema": {
"additionalProperties": true,
"properties": {
"domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The V5 domain detected in the preimage.",
"title": "Domain"
},
"errors": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Issues found; empty on success.",
"title": "Errors"
},
"leaf_valid": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True iff the Keccak256 leaf recomputes from the preimage.",
"title": "Leaf Valid"
},
"provided_leaf": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The normalized leaf supplied in the receipt.",
"title": "Provided Leaf"
},
"recomputed_leaf": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The leaf recomputed from the preimage (0x...).",
"title": "Recomputed Leaf"
},
"signature_checked": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Whether the signature was checked (require_signature).",
"title": "Signature Checked"
},
"signature_valid": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True iff the Ed25519 signature verifies; None if the signature check was skipped.",
"title": "Signature Valid"
},
"signing_pubkey": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The pubkey carried by the receipt.",
"title": "Signing Pubkey"
},
"trusted_pubkey": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The published key authenticity was checked against.",
"title": "Trusted Pubkey"
},
"valid": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True iff the leaf recomputes AND the signature verifies against the trusted key.",
"title": "Valid"
}
},
"title": "VerifyReceiptOut",
"type": "object"
}
},
{
"description": "Independent root verification (see tools/root_verifier.py for the recompute logic).",
"inputSchema": {
"properties": {
"resource_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "WZRD protocol resource (deposit/claim/settle etc.) for auto-detection and seq hints.",
"title": "Resource Name"
},
"root_seq": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Specific root sequence to verify. If omitted, best-effort resolution via resource metadata or latest.",
"title": "Root Seq"
},
"seller_wallet": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Seller wallet for WZRD protocol resource detection.",
"title": "Seller Wallet"
}
},
"title": "verify_root_inputsArguments",
"type": "object"
},
"name": "verify_root_inputs",
"outputSchema": {
"additionalProperties": true,
"properties": {
"error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Error message on the ERROR path; null on PASS/FAIL.",
"title": "Error"
},
"leaf_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of leaves (users) in the verified root.",
"title": "Leaf Count"
},
"leaf_hash_match": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True iff every server-provided leaf_hash matches the locally recomputed value.",
"title": "Leaf Hash Match"
},
"onchain_match": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Always null: this tool does NOT read Solana/the AO program. Use server_consistent for the recompute result; do not gate on-chain actions on this field expecting a chain anchor.",
"title": "Onchain Match"
},
"recomputed_dataset_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Independently recomputed keccak-concat dataset_hash (hex).",
"title": "Recomputed Dataset Hash"
},
"recomputed_root": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Independently recomputed sorted-pair keccak256 merkle root (hex).",
"title": "Recomputed Root"
},
"root_seq": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Root sequence number that was verified.",
"title": "Root Seq"
},
"server_consistent": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True iff the recomputed root/dataset_hash matches the value the SERVER published alongside its own leaves (self-consistency). NOT an on-chain check. Null when not comparable.",
"title": "Server Consistent"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"PASS\" = recomputed GLOBAL_V5 leaves + dataset_hash + sorted-pair root match the published values. \"FAIL\" = mismatch (do not trust the root). \"ERROR\" = could not run (fetch failure / missing data).",
"title": "Status"
}
},
"title": "VerifyRootInputsOut",
"type": "object"
}
},
{
"description": "Verify a receipts-ledger settlement; this is evidence, not a spend decision.",
"inputSchema": {
"properties": {
"settlement_tx": {
"description": "Solana transaction signature only. No claim body is accepted. Verifies that signature against x402_payment_receipts and a freshly fetched finalized transaction: match requires the only positive USDC balance change to credit that row's merchant for that row's amount, and the only USDC debit to be that amount from that row's payer, which match returns as payer. Returns match, mismatch, or unknown. Unknown does not block payment.",
"title": "Settlement Tx",
"type": "string"
}
},
"required": [
"settlement_tx"
],
"title": "verify_x402_settled_claimArguments",
"type": "object"
},
"name": "verify_x402_settled_claim",
"outputSchema": {
"additionalProperties": true,
"properties": {
"artifact_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Artifact Id"
},
"digest": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Digest"
},
"finalized": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Finalized"
},
"merchant_credit_verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Merchant Credit Verified"
},
"payer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "On match, the wallet whose USDC paid: the transaction's only USDC debit, equal to the ledger payer. Reimburse this wallet, never one a claimant names.",
"title": "Payer"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Reason"
},
"self_attested_merchant": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "On match, whether the verified USDC credit owner is intel's pay_to.",
"title": "Self Attested Merchant"
},
"session_binding": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Session Binding"
},
"settlement_tx": {
"title": "Settlement Tx",
"type": "string"
},
"status": {
"description": "Witness comparison only. Unknown is unavailable evidence; no status is a payment decision.",
"enum": [
"match",
"mismatch",
"unknown"
],
"title": "Status",
"type": "string"
}
},
"required": [
"status",
"settlement_tx"
],
"title": "VerifySettledClaimOut",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:d075759e1addb4d06be1f173e3f7b3ec29e9c8ab4d246e3b3a57be8d5c5bc3a8 | sha256sum