Servidor MCP

TWZRD Agent Intelligence

xyz.twzrd.intel/twzrd-agent-intel
Datos y analítica Pagos y fintech Seguridad Público y accesible MCP 2025-11-25

Qué hace este MCP

Evaluates x402 wallets and merchants using observed payment behavior, wash-trading signals, reputation scores, and signed trust receipts.

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

Crypto Bot Audit + Market Data (x402 paid)

io.github.kaminariouji/x402-audit-agent

Audits crypto bot source code and provides paid crypto market, token, gas, stablecoin, and DeFi TVL data.

TunnelMind Data API

ai.tunnelmind/data

Aggregates web, routing, supply-chain, tracker, threat, and agent-registry intelligence into risk verdicts, evidence, receipts, a…

Robyn — Gasless Cross-Chain for AI Agents

io.github.ox31461/robyn

Supports gasless cross-chain transfers, wallet and transaction checks, spending mandates, privacy-preserving messaging, and signe…

Polyform

org.polyform/polyform

Offers pay-per-call APIs for economic, financial, geographic, healthcare, domain, email, sanctions, blockchain, and business risk…

HubVibe: Pay-per-Call Tools for AI Agents: Web Search, Email Verify, KYC, Stocks, Crypto, News, Data

io.github.Its-fortunatefolly/hubvibe

Offers paid utilities for web audits, HTTP fetching and extraction, BigQuery analysis, LLM processing, code execution, blockchain…

AgentTools Hub

io.github.Thyphex/agenttools-hub

Offers calculators, unit and data converters, reference lookups, live crypto data, wallet utilities, and paid x402 access.

Qiniso

io.github.qinisolabs/qiniso

Provides deterministic formatting, parsing, holiday and tax lookups, address handling, and checksum or structure validation for i…

sella

io.github.sella-network/sella

Operates an agent marketplace for purchasing datasets, APIs, and products, including catalog discovery, purchase settlement, deli…