Agent Decision & Evidence Tools (MCP + x402)
Server Details
40 MCP tools: multi-chain RPC, market and transaction decisions, AI, EU compliance and US imports
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- PatrickPi1312/eucompliance-tools
- GitHub Stars
- 0
- Server Listing
- EU Compliance Tools MCP Server
TDQS
Scored across 40 tools
Multiple paid decision tools overlap heavily: must_verify_before_pay, check_counterparty_eu, and invoice_to_pay_dossier_eu all combine sanctions/VIES/IBAN/VAT checks, while standalone validate_vat, validate_iban, and screen_sanctions_eu add further ambiguity. prepare_agentllm and prepare_agentllm_micro are nearly redundant, and the cluster of market/perp/gas/spot/commodity tools is easy to confuse.
Most names are snake_case and many use useful verb prefixes like validate_, prepare_, screen_, and lookup_. However, the set mixes noun-based names (wallet_balance, contract_info, spot_price), tier suffixes (agentllm_basic/micro/plus), and irregular decision names (must_verify_before_pay, invoice_to_pay_dossier_eu) without a single consistent convention.
40 tools is well beyond the 3-15 tool well-scoped range and even above the 16-25 'heavy' band. The broad domain justifies some breadth, but there are many free/prep/paid variants and overlapping data tools that could be consolidated into a tighter set.
For the advertised domains—VAT/invoice compliance, counterparty screening, market evidence, EVM reads, x402 purchase checks, and AI disclosure—the set covers core workflows with free preflights, paid outcomes, verification, and recovery paths. Obvious lifecycle gaps such as payment submission or updat/delete operations are explicitly out of scope, so the surface is reasonably complete.
Available Tools
40 toolsagentllm_basicAgentLLM Basic inferenceARead-onlyInspect
OpenAI-compatible general chat and summaries for exactly 0.005 USDC per call. Run prepare_agentllm with tier basic first. Hard limits are 6,000 UTF-8 input bytes, 16 messages and 750 output tokens; upstream model and usage are disclosed and the result includes a signed receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| system | No | ||
| max_tokens | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| error | No | |
| model | No | |
| usage | No | |
| object | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| choices | No | |
| created | No | |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| status_code | No | |
| did_you_mean | No | |
| x402_service | No | |
| missing_checks | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and destructiveHint annotations, the description adds concrete behavioral details: fixed cost per call, hard input/message/output limits, upstream model disclosure, and a signed receipt in the result. This gives the agent useful expectations for invocation and response contents, without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences front-load purpose and cost, then cover the prerequisite, limits, disclosure behavior, and receipt. Every clause carries decision-relevant information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with an output schema, the description covers purpose, prerequisite, pricing, hard limits, and response guarantees. It would benefit from explicitly naming the parameters and briefly distinguishing when to use micro/plus, but the essential invocation context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain `prompt`, `system`, or `max_tokens` individually. The OpenAI-compatible framing and hard limits map loosely to `prompt` and `max_tokens`, but `system` is entirely unaddressed, so the description fails to compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific task ('OpenAI-compatible general chat and summaries'), the exact per-call price, and hard limits, so an agent knows what this tool produces. It identifies the basic tier and the required prepare step, but it does not explicitly contrast with agentllm_micro or agentllm_plus, so sibling differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear prerequisite: 'Run prepare_agentllm with tier basic first.' It also scopes the tool to chat and summaries and provides cost information. However, it does not state when to prefer micro/plus or when not to use this tool, so alternative selection guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agentllm_microAgentLLM Micro inferenceARead-onlyInspect
OpenAI-compatible classification, extraction, routing and short summaries for exactly 0.003 USDC per call. Validate the exact JSON for free first; no account or API key.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| system | No | ||
| max_tokens | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| error | No | |
| model | No | |
| usage | No | |
| object | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| choices | No | |
| created | No | |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| status_code | No | |
| did_you_mean | No | |
| x402_service | No | |
| missing_checks | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only and open-world behavior, and the description adds valuable context: exact cost per call, OpenAI compatibility, free JSON validation, and no required account/API key. These are meaningful behavioral traits beyond the annotations, especially the billing implication and access model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. Key information—capabilities, cost, compatibility, validation, and auth requirements—is front-loaded and each clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main purpose, cost, access, and validation workflow, and an output schema exists so return values need not be explained. However, it lacks parameter documentation and explicit guidance on when to choose micro over the sibling agentllm tools, leaving an agent with some ambiguity in a crowded tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden of explaining prompt, system, and max_tokens. It offers no direct parameter info; only the phrase 'OpenAI-compatible' hints at standard chat-completion semantics. Parameter names are somewhat self-explanatory, but this does not compensate for the complete lack of explicit descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific set of use cases (classification, extraction, routing, short summaries) with a clear resource and cost, making the tool's purpose evident. It does not explicitly name sibling tools like agentllm_basic or agentllm_plus, so differentiation relies on the 'micro' title and the fixed low price rather than an explicit comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: small, cheap, OpenAI-compatible tasks and a free JSON validation step with no account or API key. However, it does not explicitly say when to prefer this tool over agentllm_basic/plus, nor does it state any exclusions or conditions when another tool should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agentllm_plusAgentLLM Plus inferenceARead-onlyInspect
OpenAI-compatible stronger drafting, analysis and longer summaries for exactly 0.02 USDC per call. Run prepare_agentllm with tier plus first. Hard limits are 6,000 UTF-8 input bytes, 16 messages and 1,200 output tokens; upstream model and usage are disclosed and the result includes a signed receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| system | No | ||
| max_tokens | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| error | No | |
| model | No | |
| usage | No | |
| object | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| choices | No | |
| created | No | |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| status_code | No | |
| did_you_mean | No | |
| x402_service | No | |
| missing_checks | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and non-idempotent; the description adds valuable behavior beyond that: exact price per call, the mandatory prepare step, hard input/output limits, upstream-model disclosure, and a signed receipt in the result. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the core capability and price, then adds the prerequisite and limits. Every clause earns its place; there is no fluff or rephrasing of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema covers return shape and annotations cover safety, the description is complete: it states the prerequisite, cost, hard limits, model disclosure, and receipt. An agent has enough to decide and invoke correctly without further lookups.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden, but it does not systematically explain prompt, system, and max_tokens. The 'OpenAI-compatible' label supplies standard API semantics and the hard-limit sentence maps input bytes and output tokens to schema constraints, which is helpful but leaves system and the 16-message limit implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States it performs OpenAI-compatible drafting, analysis, and longer summaries — a concrete inference capability — and differentiates itself from the basic/micro siblings by branding itself 'stronger' and 'longer.' The tool name and title are reinforced rather than merely restated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: use when stronger drafting/analysis/longer summaries are needed and prepays via prepare_agentllm with tier plus first. It does not explicitly name the cheaper siblings as alternatives or state when not to use it, so it stops short of a full when/when-not guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agent_spend_statementAgent spend transfer evidenceARead-onlyInspect
Create a complete Base USDC outflow and transfer record for an agent wallet: every observed transfer, recipient, transaction reference and dated ECB EUR conversion, available as JSON or CSV. Transfers remain explicitly unclassified until invoice, supplier identity and supply type are linked; this tool does not assign VAT, reverse-charge or deductible-expense treatment by itself.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| format | No | json | |
| wallet | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| csv | No | |
| days | No | |
| gaps | No | |
| note | No | |
| tool | No | |
| error | No | |
| format | No | |
| payees | No | |
| period | No | |
| wallet | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| sources | No | |
| unknown | No | |
| accepted | No | |
| complete | No | |
| payments | No | |
| retryable | No | |
| total_eur | No | |
| total_usd | No | |
| truncated | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| media_type | No | |
| status_code | No | |
| did_you_mean | No | |
| generated_at | No | |
| payment_count | No | |
| classification | No | |
| missing_checks | No | |
| vat_assessment | No | |
| partial_evidence | No | |
| transaction_semantics | No | |
| outgoing_transfer_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a read-only, non-destructive operation; the description adds valuable context that transfers are reported unclassified and no tax treatment is applied, so an agent knows the statement is evidence rather than a compliance conclusion. The verb 'Create' could be misread as a write operation, but the rest of the description makes clear it is generating a report artifact, so there is no true contradiction with readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load the deliverable and its contents, then add the essential boundary condition about unclassified transfers and tax treatment. Every clause carries information, with no filler, repetition, or restating of annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers output content, available formats, and the classification boundary, and an output schema exists to document return structure. However, the missing semantics for the days parameter create a real ambiguity about the time window, which is important for an agent deciding whether this tool meets a request for a specific period.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description bears the burden of explaining parameters. It partially compensates by identifying the wallet as an agent wallet and mentioning JSON/CSV output, but it never explains the days parameter, its default of 30, or its maximum of 3650. The phrase 'complete ... record' may even mislead an agent into expecting all history rather than a configurable window.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific deliverable: a complete Base USDC outflow and transfer record for an agent wallet, enumerating contents (transfers, recipients, transaction references, dated ECB EUR conversion) and formats (JSON or CSV). It clearly differentiates this from sibling tools like wallet_balance or tx_status, which cover balances or individual transactions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use it—compiling spend evidence for an agent wallet—and explicitly states it does not assign VAT, reverse-charge, or deductible-expense treatment, which is a useful when-not. It does not name sibling alternatives, but the coverage and boundary conditions make the intended use fairly unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_act_disclosureEU AI Act disclosure evidenceARead-onlyInspect
Create a signed Article 50 provenance record and German/English disclosure for AI-generated content, including a privacy-first hash-only path. This attests declared origin; it does not detect AI in arbitrary content.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | text | |
| model | No | ||
| content | No | ||
| deployer | No | ||
| language | No | en | |
| content_sha256 | No | ||
| model_provider | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| standard | No | |
| retryable | No | |
| disclosure | No | |
| error_code | No | |
| extensions | No | |
| provenance | No | |
| regulation | No | |
| obligations | No | |
| status_code | No | |
| did_you_mean | No | |
| missing_checks | No | |
| partial_evidence | No | |
| penalty_exposure | No | |
| scope_and_limits | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavioral context beyond annotations: the privacy-first hash-only path and the limitation that it attests declared origin rather than detecting AI. The word 'Create' is slightly ambiguous against readOnlyHint, but it reads as generating a returned artifact rather than mutating persistent state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The primary action and resource are front-loaded, and the second sentence earns its place by preventing a common misuse case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides enough domain context for tool selection and communicates the privacy and limitation boundaries. The output schema covers return values and annotations cover read-only/idempotency, leaving only parameter-level semantics underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it names none of the seven parameters explicitly. 'German/English disclosure' hints at the language parameter and 'hash-only path' hints at content_sha256, but kind, model, deployer, content, and model_provider receive no explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete action and resource: creating a signed Article 50 provenance record and German/English disclosure for AI-generated content. It also clarifies a non-goal—this does not detect AI in arbitrary content—which meaningfully distinguishes it from other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is clear from the first sentence: use this when a provenance/disclosure record is needed for declared AI origin. The second sentence provides an explicit exclusion for arbitrary-content AI detection, though it does not name a specific sibling alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_counterparty_euCounterparty due diligence (KYB)ARead-onlyInspect
VAT ID validation (VIES) plus sanctions screening plus IBAN check in one call, condensed into a traffic-light verdict with reasons and a recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| b2b | No | ||
| vat | No | ||
| iban | No | ||
| name | No | ||
| type | No | service | |
| country | No | ||
| own_country | No | ||
| relationship | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| vat | No | |
| risk | No | |
| tool | No | |
| error | No | |
| input | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| coverage | No | |
| retryable | No | |
| sanctions | No | |
| checked_at | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| iban_result | No | |
| status_code | No | |
| did_you_mean | No | |
| legal_entity | No | |
| checks_missing | No | |
| missing_checks | No | |
| checks_performed | No | |
| partial_evidence | No | |
| compliance_workflow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and destructiveHint annotations, the description adds valuable behavioral context: it explicitly names the external VIES source, aggregates three distinct checks, and discloses that the output is condensed into a traffic-light verdict with reasons and a recommendation. This gives the agent a clear expectation of the tool's behavior and output style. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front-loads the core components and the nature of the result. Every phrase contributes meaning, and there is no padding or repetition of structured data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema covers return-value expectations, but the tool has 8 parameters with zero schema descriptions and the description does not fill that gap. It gives a good high-level summary but is insufficient for confident, correct invocation, especially for business-context parameters like b2b, own_country, and relationship.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, and the description only indirectly mentions VAT and IBAN. It provides no explanation of b2b, name, type, country, own_country, or relationship, nor their formats, requirements, or interplay. An agent cannot reliably determine how to populate most fields from this definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it combines VAT ID validation (VIES), sanctions screening, and IBAN check into a single call, producing a traffic-light verdict with reasons and a recommendation. This composition distinguishes it from sibling tools like validate_vat, screen_sanctions_eu, and validate_iban, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in one call' implies this tool should be used when a combined KYB/due-diligence check is needed, and the traffic-light verdict suggests it suits holistic assessments. However, the description does not explicitly say when to use this over the individual sibling validators, nor does it state any exclusions or conditions under which separate tools would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
coin_positioning_briefSigned coin-positioning briefARead-onlyInspect
Calculate a disclosed crowded-long/short score from current Hyperliquid funding and premium. The response also includes an at-least-two-exchange spot median, open interest, volume and the service's six-hour archive trend as separate context; a still-filling archive is labelled and does not enter this score.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | BTC |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| perp | No | |
| rule | No | |
| spot | No | |
| tool | No | |
| as_of | No | |
| error | No | |
| trend | No | |
| symbol | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| evidence | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| positioning | No | |
| status_code | No | |
| did_you_mean | No | |
| missing_checks | No | |
| partial_evidence | No | |
| positioning_score | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only and non-destructive behavior. The description adds useful behavioral context beyond annotations: the response separates the score from extra context, mentions multi-exchange median aggregation, and explicitly states that a still-filling archive is labelled and excluded from the score. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the main purpose, with no filler. However, its single long sentence with multiple embedded clauses, especially the archive caveat, is somewhat dense and could be more readable if split into two sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and the tool has only one optional parameter, the description covers the core calculation, included output context, and an important edge case about the filling archive. It is mostly complete, with the only notable gap being the lack of explicit symbol guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single symbol parameter, and the description does not mention the parameter at all. The parameter name 'symbol' is self-explanatory, but the description fails to compensate for the low schema coverage, leaving the agent without explicit guidance on what values are accepted or how the symbol relates to the calculation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Calculate a disclosed crowded-long/short score from current Hyperliquid funding and premium.' This is clearly distinct from generic market-data siblings like market_data, perp_market_data, or spot_price, so an agent can tell this tool's unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over alternatives, nor are any exclusions or sibling references provided. The intended usage is only implied by the purpose statement, leaving the agent to infer when a crowded-positioning brief is preferred over other market-data tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_infoContract or wallet classificationARead-onlyInspect
Inspect live runtime bytecode, native balance, transaction count and observed block, returning deployed_contract, eoa_or_empty or precompile_or_system_address without claiming wallet ownership.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base | |
| address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| chain | No | |
| error | No | |
| address | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| sources | No | |
| unknown | No | |
| accepted | No | |
| contract | No | |
| read_only | No | |
| retryable | No | |
| checked_at | No | |
| error_code | No | |
| extensions | No | |
| balance_wei | No | |
| is_contract | No | |
| status_code | No | |
| account_type | No | |
| did_you_mean | No | |
| native_symbol | No | |
| balance_native | No | |
| bytecode_bytes | No | |
| missing_checks | No | |
| observed_block | No | |
| partial_evidence | No | |
| transaction_count | No | |
| classification_note | No | |
| has_deployed_bytecode | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds that data is 'live' and that the tool does not claim wallet ownership, which is a behavioral limitation. It discloses what is inspected (bytecode, balance, tx count, block) without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence delivers purpose, inputs, and output classification with no filler. The caveat about ownership is appended without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key behavioral aspects and output classification, and the output schema fills in return-value details. It does not explicitly map the `chain` parameter to network selection, but the enum in the schema makes that unambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the burden falls on the description to explain parameters, but it does not mention `address` or `chain` at all. The address format and chain enum in the schema carry the semantics, but the description adds no parameter-level guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Inspect' with concrete resources (runtime bytecode, native balance, transaction count, observed block) and names the exact classification outputs. This clearly distinguishes it from sibling read-only tools like wallet_balance by focusing on classification rather than raw balances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied through the return values: an address is classified as deployed_contract, eoa_or_empty, or precompile_or_system_address. However, there is no explicit guidance on when to choose this over alternatives like token_status or rpc_read_batch, nor any 'use this instead' language.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eu_vat_rulesEU VAT decision engineARead-onlyInspect
Place of supply, reverse charge, intra-Community supply or export, the rate, plus the EN 16931 VAT category code (BT-151), exemption reason code (BT-121) and invoice wording. Supplier/customer jurisdictions are always required; customer VAT validity, transaction type and OSS-threshold evidence are conditionally required when the selected VAT rule depends on them. Missing evidence is reported, not inferred.
| Name | Required | Description | Default |
|---|---|---|---|
| b2b | No | ||
| type | No | service | |
| customer | Yes | ||
| supplier | Yes | ||
| customer_vat_valid | No | ||
| above_oss_threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| b2b | No | |
| tool | No | |
| error | No | |
| notes | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| decision | No | |
| retryable | No | |
| charge_vat | No | |
| checked_at | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| status_code | No | |
| supply_type | No | |
| did_you_mean | No | |
| customer_in_eu | No | |
| missing_checks | No | |
| invoice_note_de | No | |
| invoice_note_en | No | |
| legal_reference | No | |
| place_of_supply | No | |
| customer_country | No | |
| partial_evidence | No | |
| supplier_country | No | |
| vat_rate_percent | No | |
| standard_rate_as_of | No | |
| standard_rate_source | No | |
| supplier_country_name | No | |
| en16931_vat_category_code | No | |
| en16931_exemption_reason_code | No | |
| en16931_exemption_reason_text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context beyond annotations: it discloses that missing evidence is reported rather than inferred, and that some parameters are conditionally required depending on the selected VAT rule. This helps the agent predict the tool's handling of incomplete input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and information-dense, with no filler or repetition. The first sentence front-loads the core outputs, and the second sentence covers input requirements and behavioral policy. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description appropriately focuses on inputs and behavior rather than return structure. It covers the main decision outputs, required jurisdictions, conditional evidence, and the no-inference policy. The only notable gap is the absence of any mention of the b2b parameter, which is central to VAT treatment, though its name and default are reasonably self-explanatory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate, and it does partially: supplier/customer are characterized as jurisdictions, customer_vat_valid is mapped to 'customer VAT validity', type is glossed as 'transaction type', and above_oss_threshold is glossed as 'OSS-threshold evidence.' However, the b2b parameter is not explained, and the format or expected values of the string parameters are not described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates concrete outputs—place of supply, reverse charge, intra-Community supply/export, rate, VAT category code, exemption reason code, and invoice wording—making it clear this is a VAT decision engine. It could be stronger with an explicit verb like 'determines' or 'calculates,' but the resource and outputs are specific and distinguishable from validation-only sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states input requirements and conditional evidence needs, but it does not explicitly say when to prefer this tool over siblings such as validate_vat, check_counterparty_eu, or validate_einvoice_eu. There is no when-not-to-use guidance or reference to alternative tools, leaving the agent to infer selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gas_estimateGas and execution-fee estimateARead-onlyInspect
Return the current gas price and, when transaction fields are supplied, eth_estimateGas plus an execution-fee estimate with excluded rollup components stated explicitly.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| data | No | 0x | |
| chain | No | base | |
| sender | No | ||
| value_native | No | 0 |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| chain | No | |
| error | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| sources | No | |
| unknown | No | |
| accepted | No | |
| contract | No | |
| gas_limit | No | |
| read_only | No | |
| retryable | No | |
| checked_at | No | |
| error_code | No | |
| extensions | No | |
| status_code | No | |
| transaction | No | |
| did_you_mean | No | |
| would_revert | No | |
| gas_price_wei | No | |
| native_symbol | No | |
| revert_reason | No | |
| gas_price_gwei | No | |
| missing_checks | No | |
| observed_block | No | |
| partial_evidence | No | |
| total_fee_complete | No | |
| max_priority_fee_wei | No | |
| transaction_estimated | No | |
| estimated_execution_fee_wei | No | |
| fee_components_not_included | No | |
| estimated_execution_fee_native | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the tool is read-only and non-destructive, so the description does not need to restate safety. It adds useful behavioral context by disclosing the conditional estimate behavior and that excluded rollup components are explicitly stated in the result. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one dense, front-loaded sentence with no redundant filler. Every phrase earns its place by adding conditional behavior, scope, or output nuance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, read-only annotations, and a simple parameter list, the description covers the core behavior and the key conditional usage. It could be more explicit about which parameters constitute the 'transaction fields' and what 'excluded rollup components' means, but the available schema and annotations fill most gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate for missing parameter documentation. It only refers generically to 'transaction fields' and does not explain to, data, sender, value_native, or chain semantics, defaults, or formats. This leaves the agent to infer most parameter meaning from names and the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Return'), a clear resource ('current gas price'), and a conditional richer behavior ('eth_estimateGas plus an execution-fee estimate') when transaction fields are supplied. It also adds rollup-specific nuance, making the tool's scope distinct from generic gas tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: call it without transaction fields for the current gas price, or supply transaction fields to get the full estimate. It does not explicitly rule out alternatives or name a sibling like tx_preflight, but the conditional guidance is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoice_to_pay_dossier_euEU Invoice Payment GuardARead-onlyInspect
One signed decision before an EU invoice is paid: READY_FOR_BUYER_APPROVAL, HOLD_FOR_REVIEW or DO_NOT_PAY with evidence and safe next actions. Accepts UBL/CII XML or ZUGFeRD/Factur-X with one embedded invoice XML, not ordinary/scanned PDFs. Complete EN 16931 validation, live VIES, EU/UN/UK sanctions, VAT treatment and a buyer-trusted IBAN match. READY_FOR_BUYER_APPROVAL does not prove delivery, internal approval, duplicate-ledger status or bank-account ownership. Free input check first; 1.00 USDC per completed dossier, no subscription or paid follow-up.
| Name | Required | Description | Default |
|---|---|---|---|
| b2b | No | ||
| filename | No | invoice.xml | |
| invoice_xml | No | ||
| supply_type | No | service | |
| buyer_country | Yes | ||
| document_base64 | No | ||
| expected_amount | Yes | ||
| expected_currency | Yes | ||
| expected_buyer_vat | No | ||
| trusted_payee_iban | Yes | ||
| expected_supplier_vat | No | ||
| expected_supplier_name | No | ||
| purchase_order_reference | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| checks | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| invoice | No | |
| message | No | |
| missing | No | |
| payment | No | |
| pricing | No | |
| privacy | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| contract | No | |
| decision | No | |
| evidence | No | |
| supplier | No | |
| validity | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| limitations | No | |
| status_code | No | |
| did_you_mean | No | |
| next_actions | No | |
| missing_checks | No | |
| policy_version | No | |
| partial_evidence | No | |
| source_snapshots | No | |
| evidence_coverage | No | |
| input_fingerprint | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context: the READY_FOR_BUYER_APPROVAL outcome is explicitly limited (does not prove delivery, internal approval, duplicate-ledger status, or bank-account ownership), and the tool costs 1.00 USDC per completed dossier after a free input check. This goes beyond the schema and annotations and helps an agent set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: it leads with the decision outcome, then input formats, then validation scope, then limitations, then cost/payment. Every sentence carries meaning, though it is a bit long and could be tightened in places without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the 13 parameters are mostly self-describing, the description covers the key behavioral context an agent needs: accepted formats, validation coverage, limitations of a positive verdict, and pricing. It is complete enough for a tool of this complexity, especially with readOnlyHint=true and an output schema present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the accepted input formats (UBL/CII XML or ZUGFeRD/Factur-X with one embedded invoice XML), clarifies the oneOf between invoice_xml and document_base64, and mentions trusted IBAN match, VIES, and VAT treatment. It gives the agent enough context to understand what the key parameters mean even though it doesn't enumerate every parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it evaluates an EU invoice before payment and returns one of three decisions (READY_FOR_BUYER_APPROVAL, HOLD_FOR_REVIEW, DO_NOT_PAY). It also distinguishes its input scope (UBL/CII XML or ZUGFeRD/Factur-X with embedded XML, not ordinary/scanned PDFs) from sibling tools like validate_einvoice_eu or must_verify_before_pay.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit input requirements and scoping (accepts structured XML-based invoices, excludes PDFs), and notes a free input check first, which helps an agent decide when to call it. It does not explicitly name alternatives such as validate_einvoice_eu, but its unique decision-output and attached file requirements are sufficient for most selection contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_company_euCompany register lookupARead-onlyInspect
Live extract from official national registers in France, Norway, Czechia, Finland, Slovakia and Poland: name, registration number, status, legal form, address and registration date. Germany and Austria are not covered because their registers are not available here as an equivalent open lookup.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No | ||
| country | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| query | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| results | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| register | No | |
| retryable | No | |
| checked_at | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| not_covered | No | |
| status_code | No | |
| did_you_mean | No | |
| register_url | No | |
| result_count | No | |
| missing_checks | No | |
| partial_evidence | No | |
| available_countries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, non-destructive, open-world behavior. The description adds that the data is a 'live' extraction from official registers, which is useful, but it does not disclose rate limits, freshness behavior, or any caveats beyond country coverage. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. It front-loads the core behavior, lists countries and fields, and then adds a concise, relevant limitation. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and read-only annotations, the description covers the main lookup behavior and availability. However, because the schema has zero parameter descriptions and id/name are left unexplained, the overall package is not fully self-sufficient for an agent deciding how to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% parameter description coverage, and the description only implicitly documents the 'country' parameter by listing supported countries. The optional 'id' and 'name' parameters are not explained at all, so an agent has little guidance on how to construct a lookup beyond choosing a country.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Live extract') and a precise resource: official national registers in six named countries. It also lists the returned fields and explicitly excludes Germany and Austria, which helps an agent distinguish it from broader EU company lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear scope and explicit non-coverage: it is for company register data in France, Norway, Czechia, Finland, Slovakia and Poland, and not Germany or Austria. It does not name an alternative tool such as check_counterparty_eu, but the supported-country list and exclusion effectively guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_dataFresh market indicatorsARead-onlyInspect
Return one computed market_brief, Base gas or yield indicator with source coverage, freshness, a stable repeat URL and a do-not-repurchase-before time. Soft commodities use soft_commodity_stress.
| Name | Required | Description | Default |
|---|---|---|---|
| product | No | market_brief |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| tool | No | |
| error | No | |
| trade | No | |
| signal | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| product | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| sources | No | |
| unknown | No | |
| accepted | No | |
| coverage | No | |
| freshness | No | |
| retryable | No | |
| automation | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| status_code | No | |
| did_you_mean | No | |
| generated_at | No | |
| missing_checks | No | |
| partial_evidence | No | |
| related_resources | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the description only needs to add context beyond those. It adds useful behavioral detail: results are computed, carry source coverage and freshness, provide a stable repeat URL, and include a do-not-repurchase-before time, which clarifies the non-idempotent cache/repurchase semantics. No contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler and the main action is front-loaded. The 'Base gas' phrase creates a slight parse ambiguity, and the long tail of output attributes makes the first sentence dense, so it is not quite a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one optional enum parameter and an output schema available, the description is mostly sufficient for invocation. It covers the key exception (soft commodities) and the unusual repurchase/caching behavior. The main completeness gap is the absence of routing guidance among similarly named market tools, but this is a selection issue more than an invocation issue.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only an enum for `product` with no descriptions (0% coverage), so the description must compensate. It names all three values (market_brief, gas, yield) and adds 'Base' as context for the gas choice, but it does not explicitly mention the parameter name, default behavior, or what each indicator contains. This is partial compensation, not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete action ('Return') and names the exact resource types ('market_brief', 'gas', 'yield') that correspond to the product enum. The sentence also routes soft-commodity requests away to soft_commodity_stress, which helps differentiate from one key sibling. However, 'Base gas' is ambiguous and the description does not distinguish market_data from other market siblings such as spot_price, gas_estimate, or market_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only explicit usage rule is the final sentence: soft commodities should use soft_commodity_stress. The first sentence implies the tool is for computed fresh indicators, but it never states when to prefer market_data over spot_price, gas_estimate, market_history, or perp_market_data. This leaves selection among the many market-related siblings to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_decision_packComplete market decision packARead-onlyInspect
Return ENTER_RISK, WAIT or REDUCE_RISK with score, evidence-coverage confidence, reasons, risk flags, invalidation conditions and a 15-minute expiry. One call combines regime, gas, APY, BTC/ETH/SOL spot, top perps and seven-day history.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| rule | No | |
| spot | No | |
| tool | No | |
| error | No | |
| perps | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| product | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| coverage | No | |
| decision | No | |
| freshness | No | |
| retryable | No | |
| automation | No | |
| components | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| history_7d | No | |
| status_code | No | |
| did_you_mean | No | |
| generated_at | No | |
| missing_checks | No | |
| partial_evidence | No | |
| related_resources | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover non-destructiveness and read-only status. The description adds meaningful behavioral context beyond that: the decision has a 15-minute expiry, includes evidence-coverage confidence, risk flags, and invalidation conditions. This tells the agent the result is time-sensitive and conditional, useful context the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences. The first front-loads the decision output and key metadata; the second enumerates the combined inputs. There is no filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there are no parameters and an output schema is present, the description only needs to convey what the tool decides and what it covers. It names the decision categories, confidence component, risk flags, invalidation conditions, expiry, and the combined market inputs, so an agent can select it appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is an empty object, so there is no parameter information for the description to add. The description does not need to compensate for schema gaps because there are no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Return ENTER_RISK, WAIT or REDUCE_RISK with score, evidence-coverage confidence, reasons...' This clearly defines the tool's output and decision categories. It also differentiates itself from data-focused siblings like market_data and market_history by stating it combines regime, gas, APY, spot prices, perps, and seven-day history into one decision pack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use/when-not-to-use guidance or named alternatives. The phrase 'One call combines...' implies the tool is intended as an all-in-one decision substitute for multiple data calls, but this is left to inference rather than stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_historyArchived market historyARead-onlyInspect
Return the service's own archived gas, yield, commodity or market-brief series as raw observations or daily medians. At least two usable points must remain after the requested resolution; an empty, one-point or incompletely readable archive returns an uncharged error and is never sold as a time series.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| product | Yes | ||
| resolution | No | raw |
Output Schema
| Name | Required | Description |
|---|---|---|
| rule | No | |
| tool | No | |
| unit | No | |
| error | No | |
| stats | No | |
| points | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| product | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| retryable | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| resolution | No | |
| status_code | No | |
| window_days | No | |
| did_you_mean | No | |
| coverage_note | No | |
| missing_checks | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and destructiveHint=false; the description goes further by disclosing that fewer than two usable points produce an uncharged error, and that incomplete archives are never sold as a series. This tells the agent that failure modes are billed differently and that results are only meaningful with sufficient data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver the core behavior and the key caveat with no padding; the primary action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return shape needs no description. Error behavior and minimum-point requirements are covered, but the acceptable product strings are only loosely enumerated, which is a real gap for a string parameter with no enum.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must carry parameter meaning. It explains resolution by contrasting raw observations with daily medians and broadly scopes product to gas, yield, commodity, or market-brief. The days parameter remains unexplained, and no concrete product values are listed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Return') and a scoped resource: the service's own archived gas, yield, commodity, or market-brief series. Mentioning 'archived' and 'the service's own' separates it from live-data siblings, and 'raw observations or daily medians' states the deliverable clearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the archived-vs-live distinction implies when to reach for this tool, no sibling is named and there is no explicit 'for live prices use spot_price' style guidance. The error condition provides a threshold for when not to trust results, but not which tool to choose instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
must_verify_before_payAutonomous payment gateARead-onlyInspect
Return allow or deny before an agent pays a counterparty, using sanctions screening, live VIES validation and IBAN structure evidence. Deny is the default and the decision carries a signed receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | ||
| country | No | ||
| currency | No | EUR | |
| payee_vat | Yes | ||
| payee_iban | Yes | ||
| payee_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| payee | No | |
| amount | No | |
| checks | No | |
| detail | No | |
| policy | No | |
| allowed | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| reasons | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| currency | No | |
| decision | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| risk_level | No | |
| status_code | No | |
| did_you_mean | No | |
| missing_checks | No | |
| verify_offline | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and non-destructive. The description adds meaningful behavior beyond that: 'Deny is the default' and the decision carries a signed receipt, plus the 'live' nature of VIES validation. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the core result ('allow or deny') front-loaded before supporting detail. Every clause adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core purpose and required inputs are clear, and the output schema can carry return-value details, but optional parameters remain ambiguous and no alternative-tool routing is provided. Adequate for simple calls, yet incomplete for informed use of all six parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate for all parameters. It implicitly covers payee_name, payee_vat, and payee_iban through the screening/VIES/IBAN checks, but amount, country, and currency are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is specific: it returns an allow/deny decision before payment, backed by sanctions screening, VIES validation and IBAN evidence. This clearly separates it from sibling validators like screen_sanctions_eu, validate_vat, and validate_iban by presenting it as a composite gate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states the trigger condition: 'before an agent pays a counterparty'. It does not name alternatives or exclusions, but the context is clear enough for an agent to select it over single-check tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_social_searchOpen-network social searchARead-onlyInspect
Search Bluesky and Hacker News for every query; for a single public tag, additionally search Mastodon's anonymous tag timeline. Mastodon is not applicable to phrase search. Results are delivered only when every source promised for that query answers; a source failure is an uncharged error, never a partial paid result. Twitter/X and TikTok are deliberately excluded.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| posts | No | |
| query | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| sources_ok | No | |
| status_code | No | |
| did_you_mean | No | |
| coverage_note | No | |
| missing_checks | No | |
| sources_failed | No | |
| partial_evidence | No | |
| coverage_complete | No | |
| sources_not_applicable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, the description discloses meaningful behavior: results are returned only when every promised source answers, source failures are uncharged errors rather than partial paid results, and Twitter/X/TikTok are intentionally excluded. This materially informs an agent about failure and billing semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler. The first sentence identifies the core behavior and source coverage, the second adds critical edge-case behavior, and the third closes with exclusions. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-source search tool, the description covers source selection, query-shape constraints, failure behavior, billing implications, and exclusions. An output schema exists, so return structure need not be described. Minor ambiguity remains around the exact interpretation of 'a single public tag' and how `limit` applies across sources.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry parameter meaning. It does valuable work for `query` by distinguishing phrase search from a single public tag and mapping which sources apply to each. The `limit` parameter receives no prose explanation, but its schema constraints are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Search), concrete resources (Bluesky, Hacker News, Mastodon), and explicit exclusions (Twitter/X, TikTok). This makes the tool's purpose unmistakable and distinguishes it from any non-search sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use for open-network social search, with Mastodon only for a single public tag and not for phrase search. It also states deliberate exclusions, though it does not name an alternative tool for excluded networks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
perp_market_dataPerpetual-futures positioning dataARead-onlyInspect
Return Hyperliquid mark and oracle prices, funding, open interest, 24-hour volume, premium and maximum leverage for one coin or the top markets by volume, with source and timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| coin | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| tool | No | |
| as_of | No | |
| error | No | |
| source | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| markets | No | |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| evidence | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| status_code | No | |
| did_you_mean | No | |
| missing_checks | No | |
| partial_evidence | No | |
| market_count_total | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
ReadOnly/destructive hints already signal a safe read, so the bar is lower. The description adds useful behavior beyond the annotations: the result is sourced from Hyperliquid, carries source and timestamp, and can be returned either for one coin or for the top markets by volume. No annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, front-loaded sentence with zero filler: it states the resource, lists all data fields, explains the two selection modes, and adds return metadata (source and timestamp). Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two optional parameters, an output schema present, and annotations covering safety, this description is sufficient for an agent to invoke the tool correctly. The main ambiguity (both coin and top provided) is minor given the tool's read-only nature and the 'or' phrasing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the prose must define the parameters. It does so by mapping coin to 'one coin' and top to 'the top markets by volume', giving meaning the bare schema lacks. It does not explain interaction when both are supplied, but the either/or phrasing is reasonable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the verb 'Return' and names a concrete resource: Hyperliquid perpetual-futures market data (mark/oracle prices, funding, OI, 24h volume, premium, max leverage). The 'one coin or top markets by volume' scope makes it distinguishable from generic siblings like market_data and spot_price without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is the perp-specific market-data tool and shows how to scope by coin or by top volume, but it never states when to prefer this over siblings such as market_data, spot_price, or coin_positioning_brief, and gives no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_agentllmChoose and prepare AgentLLM tier (free)ARead-onlyIdempotentInspect
FREE deterministic validation and exact-price routing for all AgentLLM tiers. Choose Micro for classification, extraction and short summaries, Basic for general chat, or Plus for stronger drafting, analysis and longer summaries. It validates the exact arguments without calling a model or charging; continue only when ready_to_buy is true.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | micro | |
| prompt | Yes | ||
| system | No | ||
| max_tokens | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| tier | No | |
| tool | No | |
| error | No | |
| model | No | |
| price | No | No payment is required for this tool. |
| limits | No | |
| charged | No | |
| message | No | |
| missing | No | |
| payment | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| contract | No | |
| paid_tool | No | |
| retryable | No | |
| error_code | No | |
| input_bytes | No | |
| status_code | No | |
| did_you_mean | No | |
| ready_to_buy | No | |
| message_count | No | |
| missing_checks | No | |
| paid_arguments | No | |
| upstream_called | No | |
| fixed_price_usdc | No | |
| partial_evidence | No | |
| accepted_max_output_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses deterministic behavior, exact-price routing, absence of model invocation or charging, and a ready_to_buy continuation gate. This materially changes how an agent would use the tool and adds information the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences deliver the value proposition, tier guidance, and critical behavioral caveat with no filler. Key constraints are front-loaded so an agent can decide without reading deeply.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so not describing return values is acceptable, and the description covers cost, determinism, tier choice, and the ready_to_buy gate. It could be more explicit about the subsequent step (calling agentllm_* after ready_to_buy), but that is inferable from context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description explains the tier enum well (Micro for classification/extraction/short summaries, Basic for general chat, Plus for drafting/analysis/longer summaries). With 0% schema coverage, however, it leaves prompt, system, and max_tokens to be inferred from names and defaults, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific action (validates arguments, routes exact price) and resource (all AgentLLM tiers), and the tier list maps use cases. This clearly differentiates it from actual model-calling siblings like agentllm_basic and from prepare_agentllm_micro.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states this is a free pre-flight that doesn't call a model and that the caller should continue only when ready_to_buy is true, making the intended use obvious. It does not explicitly name sibling tools as the 'when not' alternative, but the no-call/no-charge framing implies the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_agentllm_microPrepare AgentLLM Micro (free)ARead-onlyIdempotentInspect
FREE validation of the exact AgentLLM prompt, system instruction and token limit before purchase. It enforces the input and output limits without calling a model or charging anything.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| system | No | ||
| max_tokens | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| tier | No | |
| tool | No | |
| error | No | |
| model | No | |
| price | No | No payment is required for this tool. |
| limits | No | |
| charged | No | |
| message | No | |
| missing | No | |
| payment | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| contract | No | |
| paid_tool | No | |
| retryable | No | |
| error_code | No | |
| input_bytes | No | |
| status_code | No | |
| did_you_mean | No | |
| ready_to_buy | No | |
| message_count | No | |
| missing_checks | No | |
| paid_arguments | No | |
| upstream_called | No | |
| fixed_price_usdc | No | |
| partial_evidence | No | |
| accepted_max_output_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior; the description adds meaningful context by stating it enforces input/output limits and does not call a model or charge anything. This goes beyond the annotations by clarifying side-effect-free validation semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the most important fact (free validation), with zero filler. The first sentence states the exact scope and the second explains the behavioral guarantee without repeating the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with an output schema and strong safety annotations, the description supplies the core operational context: what is validated, when it applies, and that it is free/no model call. It does not explain the return shape, but the output schema covers that; no critical gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description maps the three relevant concepts (AgentLLM prompt, system instruction, token limit) to the prompt/system/max_tokens parameters. It does not add details on defaults, ranges, or formatting beyond what the schema already provides, so it only partially compensates for the lack of per-parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource combination: 'FREE validation of the exact AgentLLM prompt, system instruction and token limit before purchase.' This clearly distinguishes the tool from paid or model-calling siblings like agentllm_basic/agentllm_micro by emphasizing it is a no-cost pre-purchase validation step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear context: use this before purchasing/using AgentLLM to validate limits, and it explicitly states no model call or charge occurs. It does not name sibling alternatives or state when not to use it, but the 'before purchase' condition is enough to route an agent appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_invoice_to_pay_euPrepare EU Invoice Payment Guard (free)ARead-onlyIdempotentInspect
FREE local input and safety check before purchase. Accepts UBL/CII XML or a base64 ZUGFeRD/Factur-X PDF with exactly one embedded invoice XML plus buyer country, expected amount/currency and a trusted payee IBAN. It checks format, limits and required context, but does not reveal the paid decision or query VIES/sanctions. Subject to daily abuse protection.
| Name | Required | Description | Default |
|---|---|---|---|
| b2b | No | ||
| filename | No | invoice.xml | |
| invoice_xml | No | ||
| supply_type | No | service | |
| buyer_country | Yes | ||
| document_base64 | No | ||
| expected_amount | Yes | ||
| expected_currency | Yes | ||
| expected_buyer_vat | No | ||
| trusted_payee_iban | Yes | ||
| expected_supplier_vat | No | ||
| expected_supplier_name | No | ||
| purchase_order_reference | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| price | No | No payment is required for this tool. |
| issues | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| privacy | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| contract | No | |
| coverage | No | |
| detected | No | |
| purchase | No | |
| retryable | No | |
| chargeable | No | |
| error_code | No | |
| status_code | No | |
| did_you_mean | No | |
| missing_checks | No | |
| partial_evidence | No | |
| input_fingerprint | No | |
| eligible_for_paid_dossier | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds significant behavioral detail: it is free, local, checks format/limits/context, does not perform VIES/sanctions lookups, does not return the paid decision, and is subject to daily abuse protection. This gives the agent a clear safety and side-effect profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no filler. The core value proposition ('FREE local input and safety check before purchase') is front-loaded, followed by input requirements, behavioral limits, and rate-limit note. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 parameters, oneOf input, output schema), the description does a good job covering input formats, required parameters, behavioral boundaries, and rate limiting. It falls short only in not explaining optional parameters and not explicitly routing to siblings, but the output schema covers return values and the annotations cover safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the two input alternatives (invoice_xml vs document_base64), the ZUGFeRD/Factur-X requirement, and names the four required parameters. However, it does not describe optional fields like b2b, supply_type, expected_buyer_vat, expected_supplier_vat, expected_supplier_name, or purchase_order_reference, leaving their meaning and use unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a free local pre-purchase safety check for EU invoices, naming accepted formats (UBL/CII XML or embedded XML in PDF) and required context. It also distinguishes itself from paid decision tools and external vetting by stating it does not reveal the paid decision or query VIES/sanctions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool is intended 'before purchase' and clarifies what it is not for: it does not reveal the paid decision or query VIES/sanctions. This gives useful context for choosing it over siblings, though it does not explicitly name alternative tools or provide a clear when-not-to-use condition beyond these exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_us_import_readinessPrepare US Import Readiness Guard (free)ARead-onlyIdempotentInspect
FREE local completeness and safety check for ordinary goods dispatched from DE/AT to the US. Requires product, material, intended-use, origin, value and explicit regulated-attribute answers. No product URL is accepted or fetched. Returns an opaque job ID and recovery secret for the paid guard.
| Name | Required | Description | Default |
|---|---|---|---|
| gtin | No | Optional GTIN/UPC/EAN | |
| brand | No | ||
| model | No | ||
| hts_code | No | Optional buyer-declared 6, 8 or 10 digit HTS code | |
| quantity | Yes | ||
| importer_use | Yes | ||
| intended_use | Yes | ||
| product_name | Yes | ||
| risk_answers | Yes | ||
| dispatch_country | Yes | ||
| country_of_origin | Yes | Valid ISO-3166 manufacturing origin, not dispatch country | |
| customs_value_usd | Yes | ||
| destination_country | No | US | |
| product_description | Yes | ||
| material_or_composition | Yes | ||
| merchant_forwarding_policy | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| job | No | |
| tool | No | |
| error | No | |
| price | No | No payment is required for this tool. |
| issues | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| privacy | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| contract | No | |
| coverage | No | |
| purchase | No | |
| retryable | No | |
| chargeable | No | |
| error_code | No | |
| status_code | No | |
| did_you_mean | No | |
| missing_checks | No | |
| partial_evidence | No | |
| input_fingerprint | No | |
| eligible_for_paid_dossier | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint, openWorldHint, idempotentHint, and destructiveHint already declared, the description adds useful behavior context: the check is local and free, does not fetch URLs, requires explicit regulated-attribute answers, and yields an opaque job ID plus recovery secret. No contradiction with annotations; it stops short of discussing rate limits or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly written sentences: the first front-loads the purpose and scope, the second lists requirements, a key exclusion, and the output. Every clause adds information without repeating schema or annotation content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 16-parameter tool, the description covers what it does, the geographic scope, the key input categories, the no-URL rule, and the output shape, which is sufficient given an output schema exists. It could be more explicit about the fact that the free check does not return a final compliance verdict and how the recovery secret is later used, but these are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 19%, so the description has to compensate. It groups the required inputs into 'product, material, intended-use, origin, value and explicit regulated-attribute answers' and adds the no-URL constraint, which is helpful. It leaves many parameters (importer_use, merchant_forwarding_policy, quantity, dispatch country, etc.) to be inferred from enum names, so the guidance is adequate but not comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete action and resource: a 'FREE local completeness and safety check' for US import readiness from DE/AT. It differentiates itself from sibling tools by explicitly rejecting product URLs and by describing its output as the precursor to the paid guard, so an agent can distinguish it from read_url and us_import_readiness_guard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly scopes usage to ordinary goods dispatched from DE/AT to the US and states the tool will not accept or fetch a product URL, which functions as an exclusion. The mention of an output 'for the paid guard' implies it is the preparation step, but it does not explicitly name the sibling tools or state when to prefer recover_us_import_readiness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_x402_purchase_guardPrepare x402 Purchase Guard (free)ARead-onlyIdempotentInspect
FREE strict syntax and supported-v2-shape check for a raw base64/base64url PAYMENT-REQUIRED header. Returns a canonical challenge fingerprint and the policy fields required by the paid guard, without revealing the paid decision, contacting the target, reading a wallet or attempting payment.
| Name | Required | Description | Default |
|---|---|---|---|
| payment_required | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| price | No | No payment is required for this tool. |
| charged | No | |
| message | No | |
| missing | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| contract | No | |
| paid_tool | No | |
| retryable | No | |
| error_code | No | |
| status_code | No | |
| did_you_mean | No | |
| ready_to_buy | No | |
| missing_checks | No | |
| required_policy | No | |
| wallet_accessed | No | |
| challenge_sha256 | No | |
| partial_evidence | No | |
| challenge_hash_basis | No | |
| target_network_called | No | |
| ready_for_paid_analysis | No | |
| target_payment_attempted | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description adds meaningful behavioral context beyond that: it is free, performs only strict syntax/shape validation, returns a canonical fingerprint and policy fields, and explicitly does not contact the target, read a wallet, or attempt payment. This gives the agent a clear safety and side-effect profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence communicates the tool's purpose, scope, limitations, and outputs without redundancy. Every clause earns its place, and the most important qualifier ('FREE') is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter, a rich output schema, and annotations covering safety and idempotency, the description is complete for correct invocation. It also clarifies the relationship to the paid guard and lists key behavioral boundaries, leaving no critical gap for an agent deciding whether to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does by specifying that 'payment_required' is the raw base64/base64url PAYMENT-REQUIRED header, which explains the expected format and meaning beyond the schema's bare string field. It stops short of detailing edge cases like expected header prefix handling, but for a single parameter this is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb ('check'), a specific resource ('raw base64/base64url PAYMENT-REQUIRED header'), and the distinguishable scope ('FREE strict syntax and supported-v2-shape check'). It also differentiates itself from the paid guard by stating it does not reveal the paid decision, which is a clear separation from sibling x402_purchase_guard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: it produces 'the policy fields required by the paid guard,' so an agent can infer it is a preliminary/free preparation step. It also lists exclusions ('without contacting the target, reading a wallet or attempting payment'), but it does not explicitly state 'use this before x402_purchase_guard' or name exact alternative conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_urlSafe page readerARead-onlyInspect
Fetch a public web page as clean Markdown or text while refusing internal and private addresses, suitable for reading evidence before an agent acts on a link.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| date | No | |
| note | No | |
| tool | No | |
| error | No | |
| title | No | |
| author | No | |
| format | No | |
| status | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| content | No | |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| sitename | No | |
| final_url | No | |
| retryable | No | |
| truncated | No | |
| error_code | No | |
| extensions | No | |
| fetched_at | No | |
| status_code | No | |
| did_you_mean | No | |
| content_chars | No | |
| missing_checks | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and destructiveHint annotations, the description discloses a key behavioral guardrail: it refuses internal and private addresses. It also states that the output is a cleaned Markdown or text representation, which tells the agent what kind of content to expect. This adds meaningful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the core action and output format, then adds the safety constraint and usage context. Every clause earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter fetch tool with a rich annotation set and an output schema, the description covers the essential operational context: what it fetches, what it returns, what it refuses, and when to use it. Nothing critical is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It effectively maps 'a public web page' to the url parameter and 'Markdown or text' to the format parameter, while adding the 'clean' transformation detail. It does not explicitly mention the format default, but the schema already declares that, so the description provides adequate semantic support.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Fetch'), the resource ('a public web page'), the output format ('clean Markdown or text'), and a distinctive safety scope ('refusing internal and private addresses'). This makes it immediately distinguishable from the many finance and compliance-focused siblings in the tool list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'suitable for reading evidence before an agent acts on a link' provides a clear and concrete usage context. It does not name an alternative tool or explicitly say when not to use it, but the context is strong enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_agent_toolRecommend the right agent tool (free)ARead-onlyIdempotentInspect
FREE deterministic router over the published Agent Card. Describe the job and optional category, country, chain, price cap and available input names; receive one to three matching tools with exact catalog prices, required inputs and a safe workflow. It performs no model call, network lookup, payment or target-tool execution and never returns supplied secret values.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| chain | No | ||
| country | No | ||
| category | No | ||
| max_results | No | ||
| prefer_free | No | ||
| max_price_usdc | No | ||
| available_inputs | No | Optional comma-separated input field names already available; values must not be supplied. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| price | No | No payment is required for this tool. |
| catalog | No | |
| charged | No | |
| message | No | |
| missing | No | |
| routing | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| no_match | No | |
| retryable | No | |
| error_code | No | |
| status_code | No | |
| did_you_mean | No | |
| missing_checks | No | |
| no_match_reason | No | |
| recommendations | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing that it performs no model call, network lookup, payment, or target-tool execution, and never returns supplied secret values. This gives the agent a precise safety and side-effect profile that annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences convey the tool's role, invocation pattern, output shape, and behavioral guarantees without redundant or vague filler. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with the output schema and annotations, gives the agent enough to select and call the tool correctly: what it does, what filters it accepts, what it returns (one to three tools with exact prices, required inputs, and a safe workflow), and what side effects it avoids. The short output schema also removes the need to document return fields in prose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 13%, so the description must compensate, and it does partially by naming category, country, chain, price cap, and available input names. It also adds the important semantic rule that available input names are supplied without their values, though max_results and prefer_free are only implied rather than explicitly described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource relationship: it is a deterministic router over the published Agent Card that returns one to three matching tools. It clearly differentiates itself from the many sibling tools by describing its meta-selection role rather than a domain-specific operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear invocation context: describe the job and optional category, country, chain, price cap, and available input names. It does not name explicit alternatives or state when not to use it, but its router-over-Agent-Card framing makes the intended triggering condition reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recover_us_import_readinessRecover a settled US Import Readiness result (free)ARead-onlyIdempotentInspect
FREE recovery when an x402 settlement succeeded but the signed response was lost. Returns only the already-settled result for the opaque job ID and recovery secret; it never performs a new lookup or creates a new charge.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| recovery_secret | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| route | No | |
| tariff | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| pricing | No | |
| privacy | No | |
| product | No | |
| recalls | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| contract | No | |
| decision | No | |
| validity | No | |
| cost_view | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| forwarding | No | |
| limitations | No | |
| status_code | No | |
| did_you_mean | No | |
| entry_policy | No | |
| next_actions | No | |
| missing_checks | No | |
| policy_version | No | |
| partial_evidence | No | |
| source_snapshots | No | |
| input_fingerprint | No | |
| regulatory_routing | No | |
| ordinary_duty_component | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate read-only, idempotent, non-destructive behavior, and the description adds context beyond those: it returns only the already-settled result, involves no new charge, and is free recovery rather than a fresh operation. It stops short of describing behavior on invalid secrets or missing recovery data, but the annotation coverage lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the most decision-relevant facts: free recovery, the exact condition, what is returned, and what is explicitly not done.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simple two-parameter shape, the read-only/idempotent annotations, and the presence of an output schema, the description covers the essential behavior and boundary conditions. An agent selecting among many siblings has enough context to invoke this tool correctly without additional detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry meaning for the parameters. It does so by identifying both parameters together as the 'opaque job ID and recovery secret' tied to the already-settled result. While it doesn't elaborate on the recovery_secret format or where these values come from, the phrasing gives enough role context for the two self-named parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('recover') and a precise resource ('settled US Import Readiness result') and defines the exact trigger condition: an x402 settlement succeeded but the signed response was lost. It also explicitly distinguishes itself from a fresh lookup by saying it 'never performs a new lookup or creates a new charge.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly says when to use the tool: when an x402 settlement succeeded but the signed response was lost. It also provides a strong when-not signal by stating it never performs a new lookup or creates a new charge, which guides an agent away from using it for new readiness checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rpc_read_batch28-chain read-only RPC batchARead-onlyInspect
Run 1-20 standard read-only JSON-RPC requests as one paid call across 28 EVM mainnets. Set one default chain for the batch or override it with an optional chain field on each request. Includes public-node failover, decoded Error/Panic reverts and source evidence; signing, state-changing convenience methods and transaction broadcasting are unavailable.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Default chain used when a request entry has no chain override. | base |
| requests | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| chain | No | |
| error | No | |
| chains | No | |
| result | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| took_ms | No | |
| unknown | No | |
| accepted | No | |
| contract | No | |
| node_used | No | |
| read_only | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| chain_count | No | |
| multi_chain | No | |
| status_code | No | |
| did_you_mean | No | |
| nodes_failed | No | |
| request_count | No | |
| missing_checks | No | |
| partial_evidence | No | |
| mixed_chain_batch | No | |
| transport_attempts | No | |
| transport_failures | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=true and destructiveHint=false, but the description adds meaningful behavior beyond that: the call is paid, it supports public-node failover, it returns decoded Error/Panic reverts and source evidence, and it refuses state-changing methods. This materially changes what an agent should expect from invocation. It does not contradict the annotations. Minor gaps remain on rate limits and cost structure, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with zero filler. The core action and scope are front-loaded, the chain-configuration rule follows, and the final sentence packs features and exclusions without redundancy. Every clause earns its place and nothing repeats the schema verbatim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 40-sibling toolset with a complex batch input and an output schema present, the description covers the essentials: chain span, batch size limits, cost, chain override mechanics, failover behavior, revert error decoding, and unavailable operations. Gaps are the unenumerated method allowlist, the vague 'source evidence' phrase, and absent cost/rate-limit details, but the output schema carries return-value documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is roughly 50%, and the schema itself already documents chain, id, method, params, and jsonrpc with usable descriptions. The description adds genuine composite semantics — the default-chain-plus-per-request-override mental model and the allowlist framing — which helps an agent craft a correct batch. However, it doesn't elaborate individual parameter details beyond what the schema states, so a 3 (baseline-plus) is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Run 1-20 standard read-only JSON-RPC requests as one paid call across 28 EVM mainnets.' This precisely scopes what the tool does and distinguishes it from specialized single-purpose siblings like tx_status, wallet_balance, and market_data, which are all singular reads rather than a multi-chain batch RPC facility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when the tool fits: batch read-only calls across 28 chains with per-batch or per-request chain selection. It also states explicit exclusions ('signing, state-changing convenience methods and transaction broadcasting are unavailable'), which tells an agent when not to reach for it. It stops short of naming alternatives like tx_preflight or x402_purchase_guard, so it doesn't fully fulfill the 'alternatives' criterion for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_sanctions_euSanctions screening (EU, UN, UK)ARead-onlyInspect
Check a person or company against the official EU (Commission FSF), UN Security Council and UK (HM Treasury OFSI) sanctions lists. 12,000+ listed entities, 50,000+ name variants, re-indexed daily, fuzzy matching. Each hit states its list, programme, reference and the list date.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| lists | No | ||
| country | No | ||
| threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| clear | No | |
| error | No | |
| query | No | |
| source | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| matches | No | |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| sources | No | |
| unknown | No | |
| accepted | No | |
| retryable | No | |
| threshold | No | |
| checked_at | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| match_count | No | |
| status_code | No | |
| did_you_mean | No | |
| not_included | No | |
| country_filter | No | |
| list_generated | No | |
| lists_screened | No | |
| missing_checks | No | |
| names_screened | No | |
| partial_evidence | No | |
| entities_screened | No | |
| compliance_workflow | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, destructiveHint), the description adds concrete behavioral traits: data scale (12,000+ entities, 50,000+ variants), daily re-indexing, fuzzy matching, and the per-hit fields reported (list, programme, reference, date). This gives the agent meaningful expectations about matching behavior and output content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, with the core action front-loaded and supporting statistics packed efficiently. No filler or redundant phrasing, and every clause adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters and zero schema coverage, the description omits crucial parameter semantics, making the tool hard to invoke confidently. It does cover purpose and behavioral context, and the output schema presumably documents return values, but the parameter gap leaves the definition incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no detail about the four parameters (name, lists, country, threshold). Since the ambiguity of 'lists', 'country', and especially 'threshold' is left entirely unexplained, the description fails to compensate for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise action ('Check a person or company') against an explicit resource (EU/UN/UK sanctions lists), naming the governing bodies (Commission FSF, UN Security Council, HM Treasury OFSI). This clearly distinguishes it from broader sibling tools like check_counterparty_eu by scoping it to sanctions screening.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: use this tool when you need to screen a person or company against official sanctions lists. However, it provides no explicit when-not-to-use guidance or references to alternative sibling tools, leaving differentiation to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
soft_commodity_stressSoft-commodity supply-stress evidenceARead-onlyInspect
Calculate a disclosed weather-only supply-stress score from Brazilian growing-belt rainfall and dry days. A paid result also includes at least one usable Ivory Coast cocoa-or-coffee farmgate-price observation from a distinct source as context; availability of both commodities is not guaranteed. This has its own wrapper because its upstream cost is higher.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| tool | No | |
| error | No | |
| trade | No | |
| signal | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| product | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| sources | No | |
| unknown | No | |
| accepted | No | |
| coverage | No | |
| freshness | No | |
| retryable | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| status_code | No | |
| did_you_mean | No | |
| generated_at | No | |
| missing_checks | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as read-only and non-destructive, and the description adds valuable behavior beyond that: the score is weather-only, paid results include a usable farmgate-price observation, commodity availability is not guaranteed, and the tool has higher upstream costs. These are meaningful context clues not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences deliver the core function, the paid-result caveat, and the cost rationale for the standalone wrapper. There is no filler or repetition; each sentence adds distinct information and the primary action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool accepts no parameters, has an output schema, and carries safety-related annotations, the description covers the essential selection and invocation context: what is calculated, what a paid result adds, the uncertainty around commodity availability, and the cost implication. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the input schema fully covers the parameter surface and the baseline is 4. The description adds no parameter documentation, which is fine because there are no parameters to document; the geographic and weather references are behavioral context, not inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Calculate') and a clearly defined resource: a weather-only supply-stress score derived from Brazilian growing-belt rainfall and dry days. It further narrows the tool's scope by mentioning paid-result context from Ivory Coast cocoa/coffee prices, which distinguishes it from the broad sibling list covering market data, payments, and EU compliance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given for when to select this tool over alternatives. The description implies cost sensitivity by mentioning a paid result and higher upstream cost, but it does not name alternative tools, specify conditions, or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spot_priceMulti-source crypto spot medianARead-onlyInspect
Attempt independent Binance, Coinbase and Kraken public tickers and calculate the median from the live quotes that return. Every delivered quote, quote currency, spread and timestamp is disclosed; fewer than two live sources is an uncharged error.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | BTC |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| tool | No | |
| as_of | No | |
| error | No | |
| method | No | |
| symbol | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| sources | No | |
| unknown | No | |
| accepted | No | |
| price_usd | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| spread_pct | No | |
| status_code | No | |
| did_you_mean | No | |
| missing_checks | No | |
| sources_failed | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/not-destructive annotations, the description discloses meaningful behaviors: independent source attempts, median calculation from only returning live quotes, full disclosure of quotes/currency/spread/timestamp, and the specific failure mode where fewer than two live sources produces an uncharged error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two dense sentences with no filler. The first sentence front-loads the fetching and median mechanism; the second explains output disclosure and error behavior. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description sufficiently explains sources, median calculation, disclosure, and failure semantics. It is only missing explicit symbol-format guidance or an example, leaving minor ambiguity for non-default symbols.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never explains the symbol parameter or its accepted format, such as whether to use BTC vs BTCUSDT. The default value and parameter name give some inference, but the description does not compensate for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation: attempting public tickers from Binance, Coinbase and Kraken and calculating the median of live quotes. It clearly identifies the resource as multi-source crypto spot pricing and distinguishes it from siblings like perp_market_data and market_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: this tool is for spot median crypto prices across three named exchanges. However, the description does not explicitly state when to prefer it over alternatives such as market_data or perp_market_data, nor does it give when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_statusERC-20 balance and allowance evidenceARead-onlyInspect
Return an owner's token balance and optional spender allowance, including whether both satisfy a requested amount, across five EVM chains.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base | |
| owner | Yes | ||
| token | Yes | ||
| amount | No | Exact decimal string preferred; JSON number remains accepted for backwards compatibility. | |
| spender | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| tool | No | |
| chain | No | |
| error | No | |
| owner | No | |
| token | No | |
| balance | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| spender | No | |
| unknown | No | |
| accepted | No | |
| chain_id | No | |
| allowance | No | |
| retryable | No | |
| checked_at | No | |
| error_code | No | |
| extensions | No | |
| balance_raw | No | |
| status_code | No | |
| did_you_mean | No | |
| action_needed | No | |
| would_succeed | No | |
| missing_checks | No | |
| blocking_reasons | No | |
| partial_evidence | No | |
| requested_amount | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), and the description adds some useful behavior beyond them: multi-chain scope and the threshold-comparison logic. However, it leaves ambiguity about whether 'both satisfy' means each of balance and allowance independently meets the amount, and it gives no caveat about openWorldHint=true (results depend on user-supplied external contract state). The added context is modest but non-empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the core action ('Return an owner's token balance') and packs scope, optionality, and the comparison feature into the rest with zero filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover the read-only semantics. The remaining gaps are the unnamed five chains (critical since chain is a free-form string), the ambiguous satisfaction semantics, and the absence of use-case guidance. This makes the definition partially complete but not fully self-sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (just the amount field), so the description carries the burden of explaining parameters. It does map token, owner, spender, and amount to their roles (ERC-20 token, balance holder, allowance grantee, requested threshold), which adds meaning. But the chain parameter is left vague — 'five EVM chains' are promised yet never enumerated, and there is no enum in the schema, so an agent cannot know valid chain values beyond the default 'base'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Return'), a concrete resource (owner's token balance and optional spender allowance), and a distinguishing feature ('whether both satisfy a requested amount') that separates it from siblings like wallet_balance or contract_info. The 'across five EVM chains' scope adds further precision. No tautology or ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does but gives no guidance on when to choose it over overlapping siblings such as wallet_balance, rpc_read_batch, or contract_info. There are no 'use this when' conditions, no exclusion criteria, and no mention of alternatives. An agent must infer appropriate usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tx_preflightAgent Transaction GuardARead-onlyInspect
Read-only decision analysis before signing with five on-chain core checks: native balance/gas price, transaction-specific gas estimate, simulation with decoded revert reason, pending nonce gap and recipient bytecode/type. Token inputs add an optional ERC-20 balance and allowance check. Returns proceed, review or block with evidence, unknowns, limitations and safe next actions. Wallet sanctions screening is not included because official name lists cannot clear or identify a blockchain address. Missing evidence is never approval; there are no follow-up charges.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| data | No | 0x | |
| chain | No | base | |
| token | No | ||
| amount | No | ||
| sender | Yes | ||
| spender | No | ||
| value_eth | No | 0 |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| gas | No | |
| note | No | |
| tool | No | |
| chain | No | |
| error | No | |
| nonce | No | |
| token | No | |
| value | No | |
| checks | No | |
| sender | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| pricing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| verdict | No | |
| accepted | No | |
| chain_id | No | |
| contract | No | |
| decision | No | |
| evidence | No | |
| read_only | No | |
| recipient | No | |
| retryable | No | |
| checked_at | No | |
| error_code | No | |
| extensions | No | |
| simulation | No | |
| limitations | No | |
| status_code | No | |
| did_you_mean | No | |
| next_actions | No | |
| would_succeed | No | |
| missing_checks | No | |
| review_reasons | No | |
| blocking_reasons | No | |
| partial_evidence | No | |
| wallet_sanctions | No | |
| broadcasts_transaction | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description reinforces them with 'Read-only'. It goes further by disclosing the output shape (proceed/review/block with evidence, unknowns, limitations, safe next actions), the sanctions limitation, the principle that missing evidence is never approval, and the absence of follow-up charges. This is exemplary transparency beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: scope, check list, return behavior, explicit exclusion, and a safety caveat. The key behavioral facts are front-loaded, and the description is dense without being bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return-value structure, and the description supplies decision semantics, limitations, and safe next actions. The main gap is parameter-level guidance for several of the eight inputs, which prevents a perfect score but still leaves the tool adequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains that 'Token inputs add an optional ERC-20 balance and allowance check', which partially covers token, amount, and spender. However, it does not clarify sender, to, data, chain, or value_eth, nor does it map the five core checks to specific parameters, leaving significant semantic gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action ('Read-only decision analysis before signing'), names the resource (a transaction preflight), and enumerates five concrete on-chain checks. This clearly differentiates it from siblings such as gas_estimate, tx_status, or contract_info without requiring schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly scopes the tool to pre-signing decision analysis and explicitly states what is not covered ('Wallet sanctions screening is not included'), with reasoning. It does not enumerate which sibling to use instead in most cases, but the context is strong enough for an agent to select this tool over simpler read-only utilities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tx_statusTransaction status and revert evidenceARead-onlyInspect
Return mined or pending status, success or decoded revert reason, gas used, block and confirmations for a transaction on Base, Ethereum, Arbitrum, Optimism or Polygon.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base | |
| tx_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| from | No | |
| logs | No | |
| tool | No | |
| block | No | |
| chain | No | |
| error | No | |
| value | No | |
| status | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| tx_hash | No | |
| unknown | No | |
| accepted | No | |
| evidence | No | |
| gas_used | No | |
| retryable | No | |
| checked_at | No | |
| error_code | No | |
| extensions | No | |
| status_code | No | |
| did_you_mean | No | |
| fee_paid_eth | No | |
| fee_paid_wei | No | |
| confirmations | No | |
| known_to_node | No | |
| revert_reason | No | |
| missing_checks | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. It adds useful behavioral nuance by disclosing that it returns decoded revert reasons, pending vs mined status, gas used, block, and confirmations across multiple chains. It does not mention error cases or rate limits, but for a read-only status tool the disclosed behavior is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It efficiently packs the core purpose, returned data fields, and supported chains, and every phrase adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists to define return values and annotations cover the read-only safety profile, the description gives enough context to invoke the tool correctly: what it returns, for which transaction, and on which chains. No critical detail for a simple status lookup is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It compensates well by listing the five supported chains, which defines the chain parameter, and by referencing 'a transaction' as the target of tx_hash. It does not explicitly tie each parameter name to its meaning or restate the 0x hash format, but the schema pattern and required field cover those details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the verb 'Return' and a specific resource: mined/pending status, success or decoded revert reason, gas used, block, and confirmations for a transaction. It is unambiguous about what the tool does and semantically separates it from tools like gas_estimate or token_status, but it does not explicitly differentiate it from the closely related tx_preflight sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after a transaction has been submitted by mentioning 'mined or pending status' and 'confirmations', and it gives supported chains. However, it contains no explicit when-to-use or when-not-to-use guidance, and it never references alternatives such as tx_preflight for pre-send checks, so the usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
us_import_readiness_guardUS Import Readiness GuardARead-onlyInspect
Signed pre-purchase evidence dossier for ordinary goods dispatched from Germany or Austria to the United States. Validates a buyer-declared HTS code or returns non-binding current USITC candidates, calculates only a simple ordinary-duty component, checks CPSC recall candidates and routes declared regulated attributes. Returns PROCEED_TO_CARRIER_QUOTE, REVIEW_REQUIRED or DO_NOT_FORWARD. It never fetches a product URL, orders, creates an address, books shipping or claims exact landed cost, carrier acceptance or customs clearance. Free input check first; source/input failures are not settled.
| Name | Required | Description | Default |
|---|---|---|---|
| gtin | No | Optional GTIN/UPC/EAN | |
| brand | No | ||
| model | No | ||
| job_id | Yes | Opaque job ID returned by the free prepare call | |
| hts_code | No | Optional buyer-declared 6, 8 or 10 digit HTS code | |
| quantity | Yes | ||
| importer_use | Yes | ||
| intended_use | Yes | ||
| product_name | Yes | ||
| risk_answers | Yes | ||
| recovery_secret | Yes | Secret returned by the free prepare call | |
| dispatch_country | Yes | ||
| country_of_origin | Yes | Valid ISO-3166 manufacturing origin, not dispatch country | |
| customs_value_usd | Yes | ||
| destination_country | No | US | |
| product_description | Yes | ||
| material_or_composition | Yes | ||
| merchant_forwarding_policy | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| route | No | |
| tariff | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| pricing | No | |
| privacy | No | |
| product | No | |
| recalls | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| contract | No | |
| decision | No | |
| validity | No | |
| cost_view | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| forwarding | No | |
| limitations | No | |
| status_code | No | |
| did_you_mean | No | |
| entry_policy | No | |
| next_actions | No | |
| missing_checks | No | |
| policy_version | No | |
| partial_evidence | No | |
| source_snapshots | No | |
| input_fingerprint | No | |
| regulatory_routing | No | |
| ordinary_duty_component | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds substantial behavioral context: the HTS validation is non-binding, only a simple ordinary-duty component is calculated, CPSC candidates are checked rather than confirmed, and source/input failures are not settled. The explicit exclusions (no product URL fetch, no ordering, no address creation, no shipping booking) go beyond what annotations reveal and prevent misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, each earning its place. The first establishes scope, the second describes the core computation and outputs, and the third explicitly bounds the tool's capabilities. Information is front-loaded and there is no filler or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 18-parameter tool with low schema coverage and an output schema, the description covers the essential workflow, scope, safety, and limitations well. It tells the agent what the tool produces, what inputs matter most, and what is explicitly out of scope. It is slightly incomplete because it never explicitly directs the agent to the prepare_us_import_readiness sibling for the free input check, despite implying that workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 28%, so the description must compensate for many undocumented parameters. It does add meaning for key fields such as hts_code (buyer-declared, validated), risk_answers (declared regulated attributes routed), dispatch_country (DE/AT), and destination_country (US). However, it does not explain many other required parameters like product_description, material_or_composition, intended_use, customs_value_usd, quantity, importer_use, or merchant_forwarding_policy beyond what their names imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific resource: a signed pre-purchase evidence dossier for US-bound ordinary goods from Germany or Austria. It enumerates concrete actions—validates HTS codes, returns USITC candidates, calculates ordinary duty, checks CPSC recalls, routes regulated attributes—and names the three decision outputs. The explicit 'never' list disambiguates it from purchasing, order, and shipping tools even without naming siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear contextual boundaries: ordinary goods dispatched from DE/AT to US, buyer-declared HTS code, and what the tool does not cover such as exact landed cost, carrier acceptance, or customs clearance. It also instructs that a free input check should happen first. However, it does not explicitly state when to choose this tool over the related prepare_us_import_readiness or recover_us_import_readiness tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_einvoice_euE-invoice validationARead-onlyIdempotentInspect
Validate an XRechnung, ZUGFeRD/Factur-X or Peppol BIS invoice (UBL or CII) against EN 16931: mandatory fields, arithmetic consistency of all totals, VAT breakdown and category rules, each finding with its official BR- rule code.
| Name | Required | Description | Default |
|---|---|---|---|
| xml | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| valid | No | |
| errors | No | |
| source | No | |
| syntax | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| profile | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| summary | No | |
| unknown | No | |
| accepted | No | |
| standard | No | |
| warnings | No | |
| retryable | No | |
| checked_at | No | |
| disclaimer | No | |
| error_code | No | |
| extensions | No | |
| schematron | No | |
| error_count | No | |
| status_code | No | |
| did_you_mean | No | |
| document_type | No | |
| warning_count | No | |
| missing_checks | No | |
| full_schematron | No | |
| customization_id | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/non-destructive behavior. The description adds the scope of validation (mandatory fields, totals arithmetic, VAT breakdown/category rules) and states that results include official BR- rule codes, which is useful behavioral context beyond the annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, front-loaded sentence with no filler. It names the resource, formats, validation standard, checks performed, and output format in a compact structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-input validation tool with an output schema and read-only annotations, the description is nearly complete. The only notable gap is explicit parameter input guidance; everything else an agent needs to call it is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never explicitly defines the xml parameter. The acceptable invoice format list makes it inferable that xml should contain the invoice XML, but the description does not state whether raw XML, a path, or an encoding is expected, leaving the agent to infer from the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Validate an XRechnung, ZUGFeRD/Factur-X or Peppol BIS invoice (UBL or CII) against EN 16931'. It lists concrete validation categories and mentions BR- rule codes, so it is clearly distinguishable from sibling validation tools such as validate_vat or check_counterparty_eu.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The domain is clearly stated: use it for European e-invoice XML validation against EN 16931. It does not explicitly name alternatives or exclusion conditions, but the format list and BR-rule output make the intended use unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_ibanIBAN structure check (free)ARead-onlyIdempotentInspect
FREE IBAN checksum and country-structure validation with BIC and bank-name enrichment where registry data exists. It does not prove account existence or ownership.
| Name | Required | Description | Default |
|---|---|---|---|
| iban | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| bic | No | |
| bban | No | |
| tool | No | |
| error | No | |
| input | No | |
| price | No | No payment is required for this tool. |
| valid | No | |
| length | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| country | No | |
| message | No | |
| missing | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| bank_code | No | |
| bank_name | No | |
| formatted | No | |
| retryable | No | |
| error_code | No | |
| status_code | No | |
| check_digits | No | |
| did_you_mean | No | |
| missing_checks | No | |
| partial_evidence | No | |
| bank_registry_note | No | |
| bank_registry_checked | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that the tool is read-only, idempotent, and non-destructive. The description adds valuable behavioral context by noting that enrichment only happens where registry data exists and that it does not prove account existence or ownership; this is a meaningful limitation beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no filler. It front-loads the core function and immediately follows with the most important limitation, so an agent gets the essential information quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only validator with an output schema, the description covers the core behavior, the enrichment condition, and the key false-assurance caveat. Missing sibling-routing guidance is already accounted for in usage guidelines, and the output schema covers return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, iban, and the schema provides its name and min/max length, but schema description coverage is 0%. The description does not add format details such as expected letter casing, allowed separators, or country-prefix requirements; the parameter is simple enough to still be usable, but the description could compensate more explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('validation') on a concrete resource (IBAN) and narrows the scope to checksum and country-structure checks. Mentioning BIC and bank-name enrichment plus the 'free' positioning clearly distinguishes it from heavier validation or screening siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when an IBAN's structural validity and checksum need verification, and it explicitly warns against using it to prove account existence or ownership. However, it does not name an alternative tool or provide explicit conditions for choosing this over siblings such as validate_vat or must_verify_before_pay.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_vatEU VAT identity check (free)ARead-onlyIdempotentInspect
FREE live validation of an EU VAT ID against VIES, including the registered name and address when the member state publishes them. Use this as the no-cost entry point before paid VAT, counterparty or invoice decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| vat_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| hint | No | |
| name | No | |
| tool | No | |
| error | No | |
| input | No | |
| price | No | No payment is required for this tool. |
| source | No | |
| address | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| country | No | |
| message | No | |
| missing | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| retryable | No | |
| checked_at | No | |
| error_code | No | |
| normalized | No | |
| registered | No | |
| status_code | No | |
| did_you_mean | No | |
| format_valid | No | |
| vies_checked | No | |
| missing_checks | No | |
| partial_evidence | No | |
| suggested_vat_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral detail beyond annotations: it performs a live VIES lookup and may return the registered name and address conditionally, which helps the agent set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no filler. The key attributes ('FREE', 'live validation', 'VIES', 'registered name and address') are front-loaded, and the use-case guidance is clearly stated in the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter validator with an output schema and safety annotations, the description covers the tool's purpose, behavior, and recommended usage context. No critical information for selecting or invoking the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the vat_id parameter. It clarifies that the value is an EU VAT ID and that the check is against VIES, which adds meaning beyond the raw schema. However, it does not specify expected format details like country code prefix or examples, leaving some ambiguity for agents unfamiliar with VAT ID formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('live validation'), the target resource ('an EU VAT ID'), and the lookup source ('VIES'), which distinguishes it from sibling tools like validate_iban or check_counterparty_eu. It leaves no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly positions this as the 'no-cost entry point before paid VAT, counterparty or invoice decisions,' giving clear when-to-use guidance. It does not explicitly name alternatives or exclusions, but the context strongly implies this is the first free validation step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_compliance_receiptVerify a compliance receipt (free)ARead-onlyIdempotentInspect
Anyone can verify issuer authenticity, integrity and the signed validity window of a eucompliance.tools result locally without payment or network access; this does not validate the underlying facts.
| Name | Required | Description | Default |
|---|---|---|---|
| document_json | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| price | No | No payment is required for this tool. |
| valid | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| expired | No | |
| message | No | |
| missing | No | |
| reasons | No | |
| service | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| subject | No | |
| unknown | No | |
| accepted | No | |
| failures | No | |
| issued_at | No | |
| retryable | No | |
| checked_at | No | |
| error_code | No | |
| status_code | No | |
| valid_until | No | |
| did_you_mean | No | |
| issued_by_us | No | |
| missing_checks | No | |
| signature_valid | No | |
| partial_evidence | No | |
| recovered_signer | No | |
| content_unchanged | No | |
| official_issuer_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the description does not need to restate those. It adds valuable behavioral context beyond annotations: verification is local, works without payment or network access, and is limited to authenticity/integrity/validity-window checks rather than substantive fact-checking. This meaningfully informs an agent's expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire definition is one focused sentence that front-loads the core capability, then adds the key limitation. Every clause carries useful information and there is no filler or redundant restatement of the tool name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only, idempotent tool with an output schema, the description covers purpose, cost, network behavior, and an important limitation. However, the near-total absence of guidance on how to supply document_json is a real gap, so an agent has to infer the input format from the parameter name and the phrase 'eucompliance.tools result'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter, document_json, with 0% coverage from schema descriptions, and the description only indirectly suggests it should be a eucompliance.tools result. It does not explain the expected JSON structure, how the document should be serialized, or what minimal content is required beyond a 2-character string. The description therefore fails to compensate for the schema's lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('verify') with a clear object ('compliance receipt' / 'eucompliance.tools result') and defines the precise scope: issuer authenticity, integrity, and the signed validity window. It also separates itself from fact-checking tools by explicitly stating it does not validate underlying facts. This gives an agent enough to distinguish it from sibling validation tools like validate_vat or validate_einvoice_eu.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: anyone can verify a receipt locally, free, and without network access. It also provides a when-not signal by stating the tool does not validate underlying facts. However, it does not explicitly name alternative tools or say which sibling should be used when fact validation is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wallet_balanceWallet execution evidenceARead-onlyInspect
Return a live native balance, exact wei, pending nonce, observed block and RPC-source evidence for a wallet on Base, Ethereum, Arbitrum, Optimism or Polygon.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | base | |
| address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| chain | No | |
| error | No | |
| address | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| sources | No | |
| unknown | No | |
| accepted | No | |
| contract | No | |
| read_only | No | |
| retryable | No | |
| checked_at | No | |
| error_code | No | |
| extensions | No | |
| balance_wei | No | |
| status_code | No | |
| did_you_mean | No | |
| native_symbol | No | |
| pending_nonce | No | |
| balance_native | No | |
| missing_checks | No | |
| observed_block | No | |
| partial_evidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds meaningful behavioral detail: it promises a live value, exact wei precision, pending nonce, observed block, and RPC-source evidence, giving the agent a clear picture of what the call will return.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence, front-loaded with the verb 'Return'. Every phrase contributes either a specific return field or a supported chain, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read-only tool with two parameters and an output schema, the description is largely complete: it lists the key return fields and supported chains. The main gap is the lack of usage routing guidance and explicit mention of the default chain behavior, though the schema covers the default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to compensate. It mostly restates the chain enum and refers to the address as a 'wallet', adding no meaning about address normalization, default chain behavior, or how the chain parameter affects the returned evidence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Return a live native balance, exact wei, pending nonce, observed block and RPC-source evidence for a wallet.' It also enumerates the five supported chains, which clearly differentiates this tool from generic balance or data-reading tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus sibling tools such as rpc_read_batch, gas_estimate, tx_status, or spot_price. It provides no context like 'before transaction execution' despite the title 'Wallet execution evidence', and no exclusions or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_purchase_guardx402 Purchase GuardARead-onlyInspect
Compare an already received canonical x402 v2 challenge with the buyer's exact resource, method, USDC price limit, network policy, trusted recipient and EVM/Solana signing-mechanism fields. Returns PROCEED_TO_USER_CONFIRMATION, REVIEW_REQUIRED or REJECT_CHALLENGE with normalized evidence and a signed fingerprint. A positive result requires confirmation, pins one exact option and expires after 10 minutes. Never contacts the target, accesses a wallet, signs or submits the target payment; merchant identity, delivery and target request-body binding are outside scope.
| Name | Required | Description | Default |
|---|---|---|---|
| resource_url | Yes | ||
| max_price_usdc | Yes | ||
| expected_pay_to | Yes | ||
| resource_method | Yes | ||
| allowed_networks | Yes | ||
| payment_required | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| error | No | |
| charged | No | When present on an error, false means the failed result is uncharged. |
| message | No | |
| missing | No | |
| reasons | No | |
| receipt | No | |
| settled | No | When present on an error, false means no settlement occurred. |
| unknown | No | |
| accepted | No | |
| contract | No | |
| decision | No | |
| evidence | No | |
| execution | No | |
| retryable | No | |
| error_code | No | |
| extensions | No | |
| risk_flags | No | |
| status_code | No | |
| did_you_mean | No | |
| missing_checks | No | |
| partial_evidence | No | |
| confirmation_requirements | No | |
| normalized_payment_options | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavior beyond the readOnlyHint annotation: the result is ephemeral (expires after 10 minutes), a positive result requires confirmation and pins one option, and the tool has no side effects on wallets or external targets. No contradiction exists between the description and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core comparison, then returns, then side-effect guarantees and exclusions. Nearly every sentence earns its place, though the long first sentence is dense and could be broken down for easier parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description supplies strong behavioral and scoping context, and an output schema exists so return details need not be repeated. However, for a 6-parameter tool with zero parameter-level schema documentation, the missing explanation of payment_required and the exact field semantics leave an important gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only maps some parameters at a high level (resource, method, USDC price limit, network policy, trusted recipient). The critical 'payment_required' parameter is not explained, and 'EVM/Solana signing-mechanism fields' does not map clearly to any specific schema field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Compare an already received canonical x402 v2 challenge with the buyer's exact... fields') and a concrete resource, with clear output statuses. It also distinguishes itself from likely siblings by emphasizing the challenge is already received and that the tool never contacts the target or submits payment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context for use: it operates on an already received canonical challenge and never contacts the target, accesses a wallet, signs, or submits payment. It also explicitly lists what is outside scope, but it does not name an alternative tool such as prepare_x402_purchase_guard or state when to prefer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
40 tool updates
- Changed
agent_spend_statement9 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / days / maximumAdded value: +3650 - added
Input schema / properties / days / minimumAdded value: +1 - removed
Input schema / properties / days / titleRemoved value: -"Days" - added
Input schema / properties / format / enumAdded value: +[ + "json", + "csv" +] - removed
Input schema / properties / format / titleRemoved value: -"Format" - removed
Input schema / properties / wallet / titleRemoved value: -"Wallet" - removed
Input schema / titleRemoved value: -"agent_spend_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "wallet", + "period", + "payment_count", + "outgoing_transfer_count", + "complete", + "gaps", + "total_usd", + "total_eur", + "payees", + "payments", + "truncated", + "vat_assessment", + "sources", + "generated_at", + "disclaimer", + "receipt", + "extensions" + ] + }, + { + "required": [ + "format", + "media_type", + "csv", + "wallet", + "days", + "classification", + "note", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for agent_spend_statement. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "classification": { + "type": "string" + }, + "complete": { + "type": "boolean" + }, + "csv": { + "type": "string" + }, + "days": { + "type": "integer" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "format": { + "type": "string" + }, + "gaps": { + "items": {}, + "type": "array" + }, + "generated_at": { + "type": "string" + }, + "media_type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "outgoing_transfer_count": { + "type": "integer" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "payees": { + "items": {}, + "type": "array" + }, + "payment_count": { + "type": "integer" + }, + "payments": { + "items": {}, + "type": "array" + }, + "period": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "sources": { + "additionalProperties": true, + "type": "object" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "total_eur": { + "type": "number" + }, + "total_usd": { + "type": "number" + }, + "transaction_semantics": { + "type": "string" + }, + "truncated": { + "type": "boolean" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vat_assessment": { + "additionalProperties": true, + "type": "object" + }, + "wallet": { + "type": "string" + } + }, + "type": "object" +}
- Added
agentllm_basic - Changed
agentllm_micro11 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / max_tokens / maximumAdded value: +300 - added
Input schema / properties / max_tokens / minimumAdded value: +1 - removed
Input schema / properties / max_tokens / titleRemoved value: -"Max Tokens" - added
Input schema / properties / prompt / maxLengthAdded value: +6000 - added
Input schema / properties / prompt / minLengthAdded value: +1 - removed
Input schema / properties / prompt / titleRemoved value: -"Prompt" - added
Input schema / properties / system / maxLengthAdded value: +2000 - removed
Input schema / properties / system / titleRemoved value: -"System" - removed
Input schema / titleRemoved value: -"agentllm_micro_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "id", + "object", + "created", + "model", + "choices", + "usage", + "x402_service", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for agentllm_micro. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "choices": { + "items": {}, + "type": "array" + }, + "created": { + "type": "integer" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "model": { + "type": "string" + }, + "object": { + "const": "chat.completion", + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "usage": { + "additionalProperties": true, + "type": "object" + }, + "x402_service": { + "additionalProperties": true, + "type": "object" + } + }, + "type": "object" +}
- Added
agentllm_plus - Changed
ai_act_disclosure10 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / content / titleRemoved value: -"Content" - removed
Input schema / properties / content_sha256 / titleRemoved value: -"Content Sha256" - removed
Input schema / properties / deployer / titleRemoved value: -"Deployer" - removed
Input schema / properties / kind / titleRemoved value: -"Kind" - removed
Input schema / properties / language / titleRemoved value: -"Language" - removed
Input schema / properties / model / titleRemoved value: -"Model" - removed
Input schema / properties / model_provider / titleRemoved value: -"Model Provider" - removed
Input schema / titleRemoved value: -"ai_act_disclosure_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "standard", + "regulation", + "provenance", + "disclosure", + "obligations", + "penalty_exposure", + "scope_and_limits", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for ai_act_disclosure. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclosure": { + "additionalProperties": true, + "type": "object" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "obligations": { + "items": {}, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "penalty_exposure": { + "type": "string" + }, + "provenance": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "regulation": { + "type": "string" + }, + "retryable": { + "type": "boolean" + }, + "scope_and_limits": { + "additionalProperties": true, + "type": "object" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "standard": { + "type": "string" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
check_counterparty_eu11 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / b2bAdded value: +{ + "default": true, + "type": "boolean" +} - removed
Input schema / properties / country / titleRemoved value: -"Country" - removed
Input schema / properties / iban / titleRemoved value: -"Iban" - removed
Input schema / properties / name / titleRemoved value: -"Name" - added
Input schema / properties / own_countryAdded value: +{ + "default": "", + "type": "string" +} - added
Input schema / properties / relationshipAdded value: +{ + "default": "", + "type": "string" +} - added
Input schema / properties / typeAdded value: +{ + "default": "service", + "type": "string" +} - removed
Input schema / properties / vat / titleRemoved value: -"Vat" - removed
Input schema / titleRemoved value: -"check_counterparty_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "input", + "checked_at", + "coverage", + "risk", + "checks_performed", + "checks_missing", + "disclaimer", + "compliance_workflow", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for check_counterparty_eu. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "checks_missing": { + "items": {}, + "type": "array" + }, + "checks_performed": { + "items": {}, + "type": "array" + }, + "compliance_workflow": { + "additionalProperties": true, + "type": "object" + }, + "coverage": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "iban_result": { + "additionalProperties": true, + "type": "object" + }, + "input": { + "additionalProperties": true, + "type": "object" + }, + "legal_entity": { + "additionalProperties": true, + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "risk": { + "additionalProperties": true, + "type": "object" + }, + "sanctions": { + "additionalProperties": true, + "type": "object" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vat": { + "additionalProperties": true, + "type": "object" + } + }, + "type": "object" +}
- Changed
coin_positioning_brief4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / symbol / titleRemoved value: -"Symbol" - removed
Input schema / titleRemoved value: -"coin_positioning_brief_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "symbol", + "as_of", + "positioning_score", + "positioning", + "spot", + "perp", + "trend", + "evidence", + "missing_checks", + "rule", + "note", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for coin_positioning_brief. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "as_of": { + "type": "string" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "evidence": { + "additionalProperties": true, + "type": "object" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": {}, + "type": "array" + }, + "note": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "perp": { + "additionalProperties": true, + "type": "object" + }, + "positioning": { + "type": "string" + }, + "positioning_score": { + "type": "integer" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "rule": { + "type": "string" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "spot": { + "additionalProperties": true, + "type": "object" + }, + "status_code": { + "type": "integer" + }, + "symbol": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "trend": { + "additionalProperties": true, + "type": "object" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
contract_info6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / address / patternAdded value: +"^0x[a-fA-F0-9]{40}$" - removed
Input schema / properties / address / titleRemoved value: -"Address" - removed
Input schema / properties / chain / titleRemoved value: -"Chain" - removed
Input schema / titleRemoved value: -"contract_info_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "chain", + "read_only", + "checked_at", + "sources", + "address", + "account_type", + "is_contract", + "has_deployed_bytecode", + "classification_note", + "bytecode_bytes", + "native_symbol", + "balance_wei", + "balance_native", + "transaction_count", + "observed_block", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for contract_info. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "account_type": { + "type": "string" + }, + "address": { + "type": "string" + }, + "balance_native": { + "type": "string" + }, + "balance_wei": { + "type": "string" + }, + "bytecode_bytes": { + "type": "integer" + }, + "chain": { + "type": "string" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "classification_note": { + "type": "string" + }, + "contract": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "has_deployed_bytecode": { + "type": "boolean" + }, + "is_contract": { + "type": [ + "boolean", + "null" + ] + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "native_symbol": { + "type": "string" + }, + "observed_block": { + "type": "integer" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "read_only": { + "type": "boolean" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "sources": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "transaction_count": { + "type": "integer" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
eu_vat_rules9 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / above_oss_thresholdAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null +} - removed
Input schema / properties / b2b / titleRemoved value: -"B2B" - removed
Input schema / properties / customer / titleRemoved value: -"Customer" - added
Input schema / properties / customer_vat_validAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null +} - removed
Input schema / properties / supplier / titleRemoved value: -"Supplier" - removed
Input schema / properties / type / titleRemoved value: -"Type" - removed
Input schema / titleRemoved value: -"eu_vat_rules_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "supplier_country", + "supplier_country_name", + "customer_country", + "customer_in_eu", + "b2b", + "supply_type", + "decision", + "charge_vat", + "vat_rate_percent", + "place_of_supply", + "en16931_vat_category_code", + "en16931_exemption_reason_code", + "en16931_exemption_reason_text", + "invoice_note_en", + "invoice_note_de", + "legal_reference", + "notes", + "standard_rate_source", + "standard_rate_as_of", + "checked_at", + "disclaimer", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for eu_vat_rules. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "b2b": { + "type": "boolean" + }, + "charge_vat": { + "type": [ + "boolean", + "null" + ] + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "customer_country": { + "type": [ + "string", + "null" + ] + }, + "customer_in_eu": { + "type": "boolean" + }, + "decision": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "en16931_exemption_reason_code": { + "type": [ + "string", + "null" + ] + }, + "en16931_exemption_reason_text": { + "type": [ + "string", + "null" + ] + }, + "en16931_vat_category_code": { + "type": "string" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "invoice_note_de": { + "type": [ + "string", + "null" + ] + }, + "invoice_note_en": { + "type": [ + "string", + "null" + ] + }, + "legal_reference": { + "type": "string" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "items": {}, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "place_of_supply": { + "type": "string" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "standard_rate_as_of": { + "type": "string" + }, + "standard_rate_source": { + "type": "string" + }, + "status_code": { + "type": "integer" + }, + "supplier_country": { + "type": "string" + }, + "supplier_country_name": { + "type": "string" + }, + "supply_type": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vat_rate_percent": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" +}
- Changed
gas_estimate9 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / chain / titleRemoved value: -"Chain" - added
Input schema / properties / data / patternAdded value: +"^0x(?:[a-fA-F0-9]{2})*$" - removed
Input schema / properties / data / titleRemoved value: -"Data" - removed
Input schema / properties / sender / titleRemoved value: -"Sender" - removed
Input schema / properties / to / titleRemoved value: -"To" - removed
Input schema / properties / value_native / titleRemoved value: -"Value Native" - removed
Input schema / titleRemoved value: -"gas_estimate_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "chain", + "read_only", + "checked_at", + "sources", + "native_symbol", + "gas_price_wei", + "gas_price_gwei", + "max_priority_fee_wei", + "observed_block", + "transaction_estimated", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for gas_estimate. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "chain": { + "type": "string" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "contract": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "estimated_execution_fee_native": { + "type": "string" + }, + "estimated_execution_fee_wei": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "fee_components_not_included": { + "items": {}, + "type": "array" + }, + "gas_limit": { + "type": "string" + }, + "gas_price_gwei": { + "type": "string" + }, + "gas_price_wei": { + "type": "string" + }, + "max_priority_fee_wei": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "native_symbol": { + "type": "string" + }, + "observed_block": { + "type": "integer" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "read_only": { + "type": "boolean" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "revert_reason": { + "type": [ + "string", + "null" + ] + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "sources": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "total_fee_complete": { + "type": "boolean" + }, + "transaction": { + "additionalProperties": true, + "type": "object" + }, + "transaction_estimated": { + "type": "boolean" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "would_revert": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
invoice_to_pay_dossier_eu19 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / oneOfAdded value: +[ + { + "required": [ + "invoice_xml" + ] + }, + { + "required": [ + "document_base64" + ] + } +] - removed
Input schema / properties / b2b / titleRemoved value: -"B2B" - added
Input schema / properties / buyer_country / patternAdded value: +"^[A-Za-z]{2}$" - removed
Input schema / properties / buyer_country / titleRemoved value: -"Buyer Country" - removed
Input schema / properties / document_base64 / titleRemoved value: -"Document Base64" - removed
Input schema / properties / expected_amount / titleRemoved value: -"Expected Amount" - removed
Input schema / properties / expected_buyer_vat / titleRemoved value: -"Expected Buyer Vat" - added
Input schema / properties / expected_currency / patternAdded value: +"^[A-Za-z]{3}$" - removed
Input schema / properties / expected_currency / titleRemoved value: -"Expected Currency" - removed
Input schema / properties / expected_supplier_name / titleRemoved value: -"Expected Supplier Name" - removed
Input schema / properties / expected_supplier_vat / titleRemoved value: -"Expected Supplier Vat" - removed
Input schema / properties / filename / titleRemoved value: -"Filename" - removed
Input schema / properties / invoice_xml / titleRemoved value: -"Invoice Xml" - removed
Input schema / properties / purchase_order_reference / titleRemoved value: -"Purchase Order Reference" - removed
Input schema / properties / supply_type / titleRemoved value: -"Supply Type" - removed
Input schema / properties / trusted_payee_iban / titleRemoved value: -"Trusted Payee Iban" - removed
Input schema / titleRemoved value: -"invoice_to_pay_dossier_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "policy_version", + "decision", + "input_fingerprint", + "invoice", + "supplier", + "payment", + "checks", + "evidence_coverage", + "evidence", + "source_snapshots", + "next_actions", + "validity", + "limitations", + "pricing", + "privacy", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for invoice_to_pay_dossier_eu. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checks": { + "items": {}, + "type": "array" + }, + "contract": { + "type": "string" + }, + "decision": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "evidence": { + "additionalProperties": true, + "type": "object" + }, + "evidence_coverage": { + "additionalProperties": true, + "type": "object" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "input_fingerprint": { + "type": "string" + }, + "invoice": { + "additionalProperties": true, + "type": "object" + }, + "limitations": { + "items": {}, + "type": "array" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "next_actions": { + "items": {}, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "payment": { + "additionalProperties": true, + "type": "object" + }, + "policy_version": { + "type": "string" + }, + "pricing": { + "additionalProperties": true, + "type": "object" + }, + "privacy": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "source_snapshots": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "supplier": { + "additionalProperties": true, + "type": "object" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "validity": { + "additionalProperties": true, + "type": "object" + } + }, + "type": "object" +}
- Changed
lookup_company_eu6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / country / titleRemoved value: -"Country" - removed
Input schema / properties / id / titleRemoved value: -"Id" - removed
Input schema / properties / name / titleRemoved value: -"Name" - removed
Input schema / titleRemoved value: -"lookup_company_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "query", + "register", + "register_url", + "result_count", + "results", + "checked_at", + "available_countries", + "not_covered", + "disclaimer", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for lookup_company_eu. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "available_countries": { + "items": {}, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "not_covered": {}, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "query": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "register": { + "type": "string" + }, + "register_url": { + "type": "string" + }, + "result_count": { + "type": "integer" + }, + "results": { + "items": {}, + "type": "array" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
market_data4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / product / titleRemoved value: -"Product" - removed
Input schema / titleRemoved value: -"market_data_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "product", + "signal", + "sources", + "data", + "coverage", + "freshness", + "trade", + "generated_at", + "disclaimer", + "automation", + "related_resources", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for market_data. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "automation": { + "additionalProperties": true, + "type": "object" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "coverage": { + "type": "string" + }, + "data": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "freshness": { + "additionalProperties": true, + "type": "object" + }, + "generated_at": { + "type": "string" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "product": { + "enum": [ + "market_brief", + "yield", + "gas" + ], + "type": "string" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "related_resources": { + "items": {}, + "type": "array" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "signal": { + "additionalProperties": true, + "type": "object" + }, + "sources": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "trade": { + "additionalProperties": true, + "type": "object" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
market_decision_pack3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / titleRemoved value: -"market_decision_pack_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "product", + "generated_at", + "decision", + "components", + "spot", + "perps", + "history_7d", + "coverage", + "rule", + "disclaimer", + "freshness", + "automation", + "related_resources", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for market_decision_pack. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "automation": { + "additionalProperties": true, + "type": "object" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "components": { + "additionalProperties": true, + "type": "object" + }, + "coverage": { + "type": "string" + }, + "decision": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "freshness": { + "additionalProperties": true, + "type": "object" + }, + "generated_at": { + "type": "string" + }, + "history_7d": { + "additionalProperties": true, + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "perps": { + "additionalProperties": true, + "type": "object" + }, + "product": { + "const": "market_decision_pack", + "type": "string" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "related_resources": { + "items": {}, + "type": "array" + }, + "retryable": { + "type": "boolean" + }, + "rule": { + "type": "string" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "spot": { + "additionalProperties": true, + "type": "object" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
market_history9 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / days / maximumAdded value: +365 - added
Input schema / properties / days / minimumAdded value: +1 - removed
Input schema / properties / days / titleRemoved value: -"Days" - removed
Input schema / properties / product / titleRemoved value: -"Product" - added
Input schema / properties / resolution / enumAdded value: +[ + "raw", + "daily" +] - removed
Input schema / properties / resolution / titleRemoved value: -"Resolution" - removed
Input schema / titleRemoved value: -"market_history_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "product", + "unit", + "window_days", + "resolution", + "points", + "stats", + "rule", + "coverage_note", + "disclaimer", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for market_history. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "coverage_note": { + "type": [ + "string", + "null" + ] + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "points": { + "items": {}, + "type": "array" + }, + "product": { + "type": "string" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "resolution": { + "enum": [ + "raw", + "daily" + ], + "type": "string" + }, + "retryable": { + "type": "boolean" + }, + "rule": { + "type": "string" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "stats": { + "additionalProperties": true, + "type": "object" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unit": { + "type": [ + "string", + "null" + ] + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "window_days": { + "type": "integer" + } + }, + "type": "object" +}
- Changed
must_verify_before_pay14 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / amount / minimumAdded value: +0 - removed
Input schema / properties / amount / titleRemoved value: -"Amount" - removed
Input schema / properties / country / titleRemoved value: -"Country" - removed
Input schema / properties / currency / titleRemoved value: -"Currency" - removed
Input schema / properties / payee_iban / defaultRemoved value: -"" - removed
Input schema / properties / payee_iban / titleRemoved value: -"Payee Iban" - removed
Input schema / properties / payee_name / defaultRemoved value: -"" - removed
Input schema / properties / payee_name / titleRemoved value: -"Payee Name" - removed
Input schema / properties / payee_vat / defaultRemoved value: -"" - removed
Input schema / properties / payee_vat / titleRemoved value: -"Payee Vat" - added
Input schema / requiredAdded value: +[ + "payee_name", + "payee_vat", + "payee_iban" +] - removed
Input schema / titleRemoved value: -"must_verify_before_pay_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "decision", + "allowed", + "reasons", + "payee", + "amount", + "currency", + "risk_level", + "checks", + "detail", + "policy", + "verify_offline", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for must_verify_before_pay. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "allowed": { + "type": "boolean" + }, + "amount": { + "type": "number" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checks": { + "items": {}, + "type": "array" + }, + "currency": { + "type": "string" + }, + "decision": { + "enum": [ + "allow", + "deny" + ], + "type": "string" + }, + "detail": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "payee": { + "additionalProperties": true, + "type": "object" + }, + "policy": { + "type": "string" + }, + "reasons": { + "items": {}, + "type": "array" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "risk_level": { + "type": "string" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "verify_offline": { + "type": "string" + } + }, + "type": "object" +}
- Changed
open_social_search7 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / limit / maximumAdded value: +50 - added
Input schema / properties / limit / minimumAdded value: +1 - removed
Input schema / properties / limit / titleRemoved value: -"Limit" - removed
Input schema / properties / query / titleRemoved value: -"Query" - removed
Input schema / titleRemoved value: -"open_social_search_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "query", + "posts", + "sources_ok", + "sources_failed", + "sources_not_applicable", + "coverage_complete", + "coverage_note", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for open_social_search. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "coverage_complete": { + "type": "boolean" + }, + "coverage_note": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "posts": { + "items": {}, + "type": "array" + }, + "query": { + "type": "string" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "sources_failed": { + "items": {}, + "type": "array" + }, + "sources_not_applicable": { + "items": {}, + "type": "array" + }, + "sources_ok": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
perp_market_data7 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / coin / titleRemoved value: -"Coin" - added
Input schema / properties / top / maximumAdded value: +50 - added
Input schema / properties / top / minimumAdded value: +1 - removed
Input schema / properties / top / titleRemoved value: -"Top" - removed
Input schema / titleRemoved value: -"perp_market_data_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "markets", + "market_count_total", + "source", + "as_of", + "evidence", + "missing_checks", + "note", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for perp_market_data. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "as_of": { + "type": "string" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "evidence": { + "additionalProperties": true, + "type": "object" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "market_count_total": { + "type": "integer" + }, + "markets": { + "items": {}, + "type": "array" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": {}, + "type": "array" + }, + "note": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "source": { + "type": "string" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Added
prepare_agentllm - Changed
prepare_agentllm_micro11 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / max_tokens / maximumAdded value: +300 - added
Input schema / properties / max_tokens / minimumAdded value: +1 - removed
Input schema / properties / max_tokens / titleRemoved value: -"Max Tokens" - added
Input schema / properties / prompt / maxLengthAdded value: +6000 - added
Input schema / properties / prompt / minLengthAdded value: +1 - removed
Input schema / properties / prompt / titleRemoved value: -"Prompt" - added
Input schema / properties / system / maxLengthAdded value: +2000 - removed
Input schema / properties / system / titleRemoved value: -"System" - removed
Input schema / titleRemoved value: -"prepare_agentllm_micro_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "ok", + "tier", + "model", + "input_bytes", + "message_count", + "accepted_max_output_tokens", + "limits", + "fixed_price_usdc", + "contract", + "ready_to_buy", + "charged", + "upstream_called", + "paid_tool", + "paid_arguments", + "payment", + "price" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for prepare_agentllm_micro. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "accepted_max_output_tokens": { + "type": "integer" + }, + "charged": { + "type": "boolean" + }, + "contract": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "fixed_price_usdc": { + "type": "string" + }, + "input_bytes": { + "type": "integer" + }, + "limits": { + "additionalProperties": true, + "type": "object" + }, + "message": { + "type": "string" + }, + "message_count": { + "type": "integer" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "model": { + "type": "string" + }, + "ok": { + "type": "boolean" + }, + "paid_arguments": { + "additionalProperties": true, + "type": "object" + }, + "paid_tool": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "payment": { + "additionalProperties": true, + "type": "object" + }, + "price": { + "const": "free", + "description": "No payment is required for this tool.", + "type": "string" + }, + "ready_to_buy": { + "type": "boolean" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "tier": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "upstream_called": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
prepare_invoice_to_pay_eu19 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / oneOfAdded value: +[ + { + "required": [ + "invoice_xml" + ] + }, + { + "required": [ + "document_base64" + ] + } +] - removed
Input schema / properties / b2b / titleRemoved value: -"B2B" - added
Input schema / properties / buyer_country / patternAdded value: +"^[A-Za-z]{2}$" - removed
Input schema / properties / buyer_country / titleRemoved value: -"Buyer Country" - removed
Input schema / properties / document_base64 / titleRemoved value: -"Document Base64" - removed
Input schema / properties / expected_amount / titleRemoved value: -"Expected Amount" - removed
Input schema / properties / expected_buyer_vat / titleRemoved value: -"Expected Buyer Vat" - added
Input schema / properties / expected_currency / patternAdded value: +"^[A-Za-z]{3}$" - removed
Input schema / properties / expected_currency / titleRemoved value: -"Expected Currency" - removed
Input schema / properties / expected_supplier_name / titleRemoved value: -"Expected Supplier Name" - removed
Input schema / properties / expected_supplier_vat / titleRemoved value: -"Expected Supplier Vat" - removed
Input schema / properties / filename / titleRemoved value: -"Filename" - removed
Input schema / properties / invoice_xml / titleRemoved value: -"Invoice Xml" - removed
Input schema / properties / purchase_order_reference / titleRemoved value: -"Purchase Order Reference" - removed
Input schema / properties / supply_type / titleRemoved value: -"Supply Type" - removed
Input schema / properties / trusted_payee_iban / titleRemoved value: -"Trusted Payee Iban" - removed
Input schema / titleRemoved value: -"prepare_invoice_to_pay_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "chargeable", + "eligible_for_paid_dossier", + "issues", + "purchase", + "privacy", + "price" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for prepare_invoice_to_pay_eu. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "chargeable": { + "type": "boolean" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "contract": { + "type": "string" + }, + "coverage": { + "additionalProperties": true, + "type": "object" + }, + "detected": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "eligible_for_paid_dossier": { + "type": "boolean" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "input_fingerprint": { + "type": "string" + }, + "issues": { + "items": {}, + "type": "array" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "price": { + "const": "free", + "description": "No payment is required for this tool.", + "type": "string" + }, + "privacy": { + "additionalProperties": true, + "type": "object" + }, + "purchase": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
prepare_us_import_readiness45 fields changed- removed
Input schema / $defsRemoved value: -{ - "_USImportRiskAnswers": { - "additionalProperties": false, - "description": "Same nested, strict shape used by the public HTTP contract.", - "properties": { - "alcohol_or_tobacco": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Alcohol Or Tobacco", - "type": "string" - }, - "battery": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Battery", - "type": "string" - }, - "chemical_or_hazmat": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Chemical Or Hazmat", - "type": "string" - }, - "childrens_product": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Childrens Product", - "type": "string" - }, - "cosmetic": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Cosmetic", - "type": "string" - }, - "counterfeit_or_unlicensed_replica": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Counterfeit Or Unlicensed Replica", - "type": "string" - }, - "drug_or_medical_device": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Drug Or Medical Device", - "type": "string" - }, - "food_or_supplement": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Food Or Supplement", - "type": "string" - }, - "plant_seed_or_animal_product": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Plant Seed Or Animal Product", - "type": "string" - }, - "radio_transmitter": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Radio Transmitter", - "type": "string" - }, - "weapon_or_weapon_part": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Weapon Or Weapon Part", - "type": "string" - } - }, - "required": [ - "battery", - "food_or_supplement", - "drug_or_medical_device", - "cosmetic", - "plant_seed_or_animal_product", - "chemical_or_hazmat", - "alcohol_or_tobacco", - "weapon_or_weapon_part", - "counterfeit_or_unlicensed_replica", - "radio_transmitter", - "childrens_product" - ], - "title": "_USImportRiskAnswers", - "type": "object" - } -} - added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / brand / maxLengthAdded value: +120 - removed
Input schema / properties / brand / titleRemoved value: -"Brand" - added
Input schema / properties / country_of_origin / descriptionAdded value: +"Valid ISO-3166 manufacturing origin, not dispatch country" - added
Input schema / properties / country_of_origin / patternAdded value: +"^[A-Z]{2}$" - removed
Input schema / properties / country_of_origin / titleRemoved value: -"Country Of Origin" - added
Input schema / properties / customs_value_usd / patternAdded value: +"^[0-9]+(?:\\.[0-9]{1,2})?$" - removed
Input schema / properties / customs_value_usd / titleRemoved value: -"Customs Value Usd" - added
Input schema / properties / destination_country / constAdded value: +"US" - removed
Input schema / properties / destination_country / titleRemoved value: -"Destination Country" - added
Input schema / properties / dispatch_country / enumAdded value: +[ + "DE", + "AT" +] - removed
Input schema / properties / dispatch_country / titleRemoved value: -"Dispatch Country" - added
Input schema / properties / gtin / descriptionAdded value: +"Optional GTIN/UPC/EAN" - removed
Input schema / properties / gtin / titleRemoved value: -"Gtin" - added
Input schema / properties / hts_code / descriptionAdded value: +"Optional buyer-declared 6, 8 or 10 digit HTS code" - removed
Input schema / properties / hts_code / titleRemoved value: -"Hts Code" - added
Input schema / properties / importer_use / enumAdded value: +[ + "personal", + "commercial_resale", + "business_use", + "gift", + "sample" +] - removed
Input schema / properties / importer_use / titleRemoved value: -"Importer Use" - added
Input schema / properties / intended_use / maxLengthAdded value: +500 - added
Input schema / properties / intended_use / minLengthAdded value: +3 - removed
Input schema / properties / intended_use / titleRemoved value: -"Intended Use" - added
Input schema / properties / material_or_composition / maxLengthAdded value: +1000 - added
Input schema / properties / material_or_composition / minLengthAdded value: +3 - removed
Input schema / properties / material_or_composition / titleRemoved value: -"Material Or Composition" - added
Input schema / properties / merchant_forwarding_policy / enumAdded value: +[ + "allowed", + "prohibited", + "unknown" +] - removed
Input schema / properties / merchant_forwarding_policy / titleRemoved value: -"Merchant Forwarding Policy" - added
Input schema / properties / model / maxLengthAdded value: +120 - removed
Input schema / properties / model / titleRemoved value: -"Model" - added
Input schema / properties / product_description / maxLengthAdded value: +2000 - added
Input schema / properties / product_description / minLengthAdded value: +20 - removed
Input schema / properties / product_description / titleRemoved value: -"Product Description" - added
Input schema / properties / product_name / maxLengthAdded value: +160 - added
Input schema / properties / product_name / minLengthAdded value: +3 - removed
Input schema / properties / product_name / titleRemoved value: -"Product Name" - added
Input schema / properties / quantity / maximumAdded value: +10000 - added
Input schema / properties / quantity / minimumAdded value: +1 - removed
Input schema / properties / quantity / titleRemoved value: -"Quantity" - removed
Input schema / properties / risk_answers / $refRemoved value: -"#/$defs/_USImportRiskAnswers" - added
Input schema / properties / risk_answers / additionalPropertiesAdded value: +false - added
Input schema / properties / risk_answers / propertiesAdded value: +{ + "alcohol_or_tobacco": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "battery": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "chemical_or_hazmat": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "childrens_product": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "cosmetic": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "counterfeit_or_unlicensed_replica": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "drug_or_medical_device": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "food_or_supplement": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "plant_seed_or_animal_product": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "radio_transmitter": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "weapon_or_weapon_part": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + } +} - added
Input schema / properties / risk_answers / requiredAdded value: +[ + "battery", + "food_or_supplement", + "drug_or_medical_device", + "cosmetic", + "plant_seed_or_animal_product", + "chemical_or_hazmat", + "alcohol_or_tobacco", + "weapon_or_weapon_part", + "counterfeit_or_unlicensed_replica", + "radio_transmitter", + "childrens_product" +] - added
Input schema / properties / risk_answers / typeAdded value: +"object" - removed
Input schema / titleRemoved value: -"prepare_us_import_readiness_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "chargeable", + "eligible_for_paid_dossier", + "input_fingerprint", + "issues", + "coverage", + "purchase", + "privacy", + "price" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for prepare_us_import_readiness. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "chargeable": { + "type": "boolean" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "contract": { + "type": "string" + }, + "coverage": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "eligible_for_paid_dossier": { + "type": "boolean" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "input_fingerprint": { + "type": "string" + }, + "issues": { + "items": {}, + "type": "array" + }, + "job": { + "additionalProperties": true, + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "price": { + "const": "free", + "description": "No payment is required for this tool.", + "type": "string" + }, + "privacy": { + "additionalProperties": true, + "type": "object" + }, + "purchase": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
prepare_x402_purchase_guard6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / payment_required / maxLengthAdded value: +65536 - added
Input schema / properties / payment_required / minLengthAdded value: +1 - removed
Input schema / properties / payment_required / titleRemoved value: -"Payment Required" - removed
Input schema / titleRemoved value: -"prepare_x402_purchase_guard_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "ready_to_buy", + "ready_for_paid_analysis", + "charged", + "challenge_sha256", + "challenge_hash_basis", + "paid_tool", + "required_policy", + "target_network_called", + "wallet_accessed", + "target_payment_attempted", + "price" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for prepare_x402_purchase_guard. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "challenge_hash_basis": { + "type": "string" + }, + "challenge_sha256": { + "type": "string" + }, + "charged": { + "type": "boolean" + }, + "contract": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "paid_tool": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "price": { + "const": "free", + "description": "No payment is required for this tool.", + "type": "string" + }, + "ready_for_paid_analysis": { + "type": "boolean" + }, + "ready_to_buy": { + "type": "boolean" + }, + "required_policy": { + "items": {}, + "type": "array" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "target_network_called": { + "type": "boolean" + }, + "target_payment_attempted": { + "type": "boolean" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "wallet_accessed": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
read_url8 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / format / enumAdded value: +[ + "markdown", + "text" +] - removed
Input schema / properties / format / titleRemoved value: -"Format" - added
Input schema / properties / url / formatAdded value: +"uri" - added
Input schema / properties / url / patternAdded value: +"^https?://" - removed
Input schema / properties / url / titleRemoved value: -"Url" - removed
Input schema / titleRemoved value: -"read_url_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "url", + "final_url", + "status", + "title", + "author", + "date", + "sitename", + "format", + "content", + "truncated", + "content_chars", + "fetched_at", + "note", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for read_url. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "author": { + "type": [ + "string", + "null" + ] + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "content": { + "type": "string" + }, + "content_chars": { + "type": "integer" + }, + "date": { + "type": [ + "string", + "null" + ] + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "fetched_at": { + "type": "string" + }, + "final_url": { + "type": "string" + }, + "format": { + "enum": [ + "markdown", + "text" + ], + "type": "string" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "sitename": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "status_code": { + "type": "integer" + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "tool": { + "type": "string" + }, + "truncated": { + "type": "boolean" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "url": { + "type": "string" + } + }, + "type": "object" +}
- Added
recommend_agent_tool - Changed
recover_us_import_readiness6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / job_id / patternAdded value: +"^[A-Za-z0-9_-]{20,64}$" - removed
Input schema / properties / job_id / titleRemoved value: -"Job Id" - removed
Input schema / properties / recovery_secret / titleRemoved value: -"Recovery Secret" - removed
Input schema / titleRemoved value: -"recover_us_import_readiness_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "policy_version", + "decision", + "input_fingerprint", + "route", + "product", + "tariff", + "ordinary_duty_component", + "entry_policy", + "recalls", + "regulatory_routing", + "forwarding", + "cost_view", + "source_snapshots", + "next_actions", + "validity", + "limitations", + "pricing", + "privacy", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for recover_us_import_readiness. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "contract": { + "type": "string" + }, + "cost_view": { + "additionalProperties": true, + "type": "object" + }, + "decision": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "entry_policy": { + "additionalProperties": true, + "type": "object" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "forwarding": { + "additionalProperties": true, + "type": "object" + }, + "input_fingerprint": { + "type": "string" + }, + "limitations": { + "items": {}, + "type": "array" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "next_actions": { + "items": {}, + "type": "array" + }, + "ordinary_duty_component": { + "additionalProperties": true, + "type": "object" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "policy_version": { + "type": "string" + }, + "pricing": { + "additionalProperties": true, + "type": "object" + }, + "privacy": { + "additionalProperties": true, + "type": "object" + }, + "product": { + "additionalProperties": true, + "type": "object" + }, + "recalls": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "regulatory_routing": { + "additionalProperties": true, + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "route": { + "additionalProperties": true, + "type": "object" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "source_snapshots": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "tariff": { + "additionalProperties": true, + "type": "object" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "validity": { + "additionalProperties": true, + "type": "object" + } + }, + "type": "object" +}
- Changed
rpc_read_batch11 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / chain / descriptionAdded value: +"Default chain used when a request entry has no chain override." - removed
Input schema / properties / chain / titleRemoved value: -"Chain" - changed
Input schema / properties / requests / items / additionalPropertiesPrevious value: -trueNew value: +false - added
Input schema / properties / requests / items / propertiesAdded value: +{ + "chain": { + "description": "Optional per-request chain override for mixed-chain batches.", + "type": "string" + }, + "id": { + "description": "Caller-provided JSON-RPC correlation ID.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "jsonrpc": { + "const": "2.0", + "default": "2.0", + "type": "string" + }, + "method": { + "description": "Allowlisted read-only JSON-RPC method.", + "minLength": 1, + "type": "string" + }, + "params": { + "default": [], + "description": "JSON-RPC positional array or named-parameter object.", + "oneOf": [ + { + "type": "array" + }, + { + "type": "object" + } + ] + } +} - added
Input schema / properties / requests / items / requiredAdded value: +[ + "method" +] - added
Input schema / properties / requests / maxItemsAdded value: +20 - added
Input schema / properties / requests / minItemsAdded value: +1 - removed
Input schema / properties / requests / titleRemoved value: -"Requests" - removed
Input schema / titleRemoved value: -"rpc_read_batch_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "read_only", + "request_count", + "mixed_chain_batch", + "took_ms", + "result", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for rpc_read_batch. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "chain": { + "type": "string" + }, + "chain_count": { + "type": "integer" + }, + "chains": { + "additionalProperties": true, + "type": "object" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "contract": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "mixed_chain_batch": { + "type": "boolean" + }, + "multi_chain": { + "type": "boolean" + }, + "node_used": { + "type": "string" + }, + "nodes_failed": { + "items": {}, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "read_only": { + "type": "boolean" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "request_count": { + "type": "integer" + }, + "result": { + "oneOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "items": {}, + "type": "array" + } + ] + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "took_ms": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "transport_attempts": { + "type": "integer" + }, + "transport_failures": { + "items": {}, + "type": "array" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
screen_sanctions_eu9 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / country / titleRemoved value: -"Country" - removed
Input schema / properties / lists / titleRemoved value: -"Lists" - removed
Input schema / properties / name / titleRemoved value: -"Name" - added
Input schema / properties / threshold / maximumAdded value: +1 - added
Input schema / properties / threshold / minimumAdded value: +0 - removed
Input schema / properties / threshold / titleRemoved value: -"Threshold" - removed
Input schema / titleRemoved value: -"screen_sanctions_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "query", + "country_filter", + "lists_screened", + "clear", + "match_count", + "matches", + "checked_at", + "list_generated", + "entities_screened", + "names_screened", + "sources", + "not_included", + "source", + "threshold", + "disclaimer", + "compliance_workflow", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for screen_sanctions_eu. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "clear": { + "type": "boolean" + }, + "compliance_workflow": { + "additionalProperties": true, + "type": "object" + }, + "country_filter": { + "type": [ + "string", + "null" + ] + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "entities_screened": { + "type": "integer" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "list_generated": {}, + "lists_screened": { + "items": {}, + "type": "array" + }, + "match_count": { + "type": "integer" + }, + "matches": { + "items": {}, + "type": "array" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "names_screened": { + "type": "integer" + }, + "not_included": {}, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "query": { + "type": "string" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "source": {}, + "sources": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "threshold": { + "type": "number" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
soft_commodity_stress3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / titleRemoved value: -"soft_commodity_stress_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "product", + "signal", + "sources", + "data", + "coverage", + "freshness", + "trade", + "generated_at", + "disclaimer", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for soft_commodity_stress. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "coverage": { + "type": "string" + }, + "data": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "freshness": { + "additionalProperties": true, + "type": "object" + }, + "generated_at": { + "type": "string" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "product": { + "const": "commodities", + "type": "string" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "signal": { + "additionalProperties": true, + "type": "object" + }, + "sources": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "trade": { + "additionalProperties": true, + "type": "object" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
spot_price4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / symbol / titleRemoved value: -"Symbol" - removed
Input schema / titleRemoved value: -"spot_price_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "symbol", + "price_usd", + "method", + "sources", + "sources_failed", + "spread_pct", + "as_of", + "note", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for spot_price. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "as_of": { + "type": "string" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "method": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "price_usd": { + "type": "number" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "sources": { + "items": {}, + "type": "array" + }, + "sources_failed": { + "items": {}, + "type": "array" + }, + "spread_pct": { + "type": "number" + }, + "status_code": { + "type": "integer" + }, + "symbol": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
token_status14 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / amount / anyOfAdded value: +[ + { + "type": "string" + }, + { + "minimum": 0, + "type": "number" + } +] - changed
Input schema / properties / amount / defaultPrevious value: -0New value: +"" - added
Input schema / properties / amount / descriptionAdded value: +"Exact decimal string preferred; JSON number remains accepted for backwards compatibility." - removed
Input schema / properties / amount / titleRemoved value: -"Amount" - removed
Input schema / properties / amount / typeRemoved value: -"number" - removed
Input schema / properties / chain / titleRemoved value: -"Chain" - added
Input schema / properties / owner / patternAdded value: +"^0x[a-fA-F0-9]{40}$" - removed
Input schema / properties / owner / titleRemoved value: -"Owner" - removed
Input schema / properties / spender / titleRemoved value: -"Spender" - added
Input schema / properties / token / patternAdded value: +"^0x[a-fA-F0-9]{40}$" - removed
Input schema / properties / token / titleRemoved value: -"Token" - removed
Input schema / titleRemoved value: -"token_status_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "chain", + "chain_id", + "token", + "owner", + "balance_raw", + "balance", + "checked_at", + "note", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for token_status. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "action_needed": { + "type": "string" + }, + "allowance": { + "additionalProperties": true, + "type": "object" + }, + "balance": { + "type": "string" + }, + "balance_raw": { + "type": "string" + }, + "blocking_reasons": { + "items": {}, + "type": "array" + }, + "chain": { + "type": "string" + }, + "chain_id": { + "type": "integer" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "requested_amount": { + "type": "string" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "spender": { + "type": "string" + }, + "status_code": { + "type": "integer" + }, + "token": { + "additionalProperties": true, + "type": "object" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "would_succeed": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
tx_preflight17 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / amount / defaultPrevious value: -0New value: +"" - removed
Input schema / properties / amount / titleRemoved value: -"Amount" - changed
Input schema / properties / amount / typePrevious value: -"number"New value: +"string" - removed
Input schema / properties / chain / titleRemoved value: -"Chain" - removed
Input schema / properties / data / titleRemoved value: -"Data" - added
Input schema / properties / sender / patternAdded value: +"^0x[a-fA-F0-9]{40}$" - removed
Input schema / properties / sender / titleRemoved value: -"Sender" - removed
Input schema / properties / spender / titleRemoved value: -"Spender" - added
Input schema / properties / to / patternAdded value: +"^0x[a-fA-F0-9]{40}$" - removed
Input schema / properties / to / titleRemoved value: -"To" - removed
Input schema / properties / token / titleRemoved value: -"Token" - changed
Input schema / properties / value_eth / defaultPrevious value: -0New value: +"0" - removed
Input schema / properties / value_eth / titleRemoved value: -"Value Eth" - changed
Input schema / properties / value_eth / typePrevious value: -"number"New value: +"string" - removed
Input schema / titleRemoved value: -"tx_preflight_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "chain", + "chain_id", + "sender", + "to", + "value", + "checked_at", + "read_only", + "broadcasts_transaction", + "gas", + "simulation", + "nonce", + "recipient", + "wallet_sanctions", + "evidence", + "missing_checks", + "checks", + "decision", + "next_actions", + "would_succeed", + "blocking_reasons", + "review_reasons", + "verdict", + "pricing", + "limitations", + "note", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for tx_preflight. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "blocking_reasons": { + "items": {}, + "type": "array" + }, + "broadcasts_transaction": { + "type": "boolean" + }, + "chain": { + "type": "string" + }, + "chain_id": { + "type": "integer" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "checks": { + "items": {}, + "type": "array" + }, + "contract": { + "type": "string" + }, + "decision": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "evidence": { + "additionalProperties": true, + "type": "object" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "gas": { + "additionalProperties": true, + "type": "object" + }, + "limitations": { + "items": {}, + "type": "array" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": {}, + "type": "array" + }, + "next_actions": { + "items": {}, + "type": "array" + }, + "nonce": { + "additionalProperties": true, + "type": "object" + }, + "note": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "pricing": { + "additionalProperties": true, + "type": "object" + }, + "read_only": { + "type": "boolean" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "recipient": { + "additionalProperties": true, + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "review_reasons": { + "items": {}, + "type": "array" + }, + "sender": { + "type": "string" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "simulation": { + "additionalProperties": true, + "type": "object" + }, + "status_code": { + "type": "integer" + }, + "to": { + "type": "string" + }, + "token": { + "additionalProperties": true, + "type": "object" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "additionalProperties": true, + "type": "object" + }, + "verdict": { + "type": "string" + }, + "wallet_sanctions": { + "additionalProperties": true, + "type": "object" + }, + "would_succeed": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
tx_status6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / chain / titleRemoved value: -"Chain" - added
Input schema / properties / tx_hash / patternAdded value: +"^0x[a-fA-F0-9]{64}$" - removed
Input schema / properties / tx_hash / titleRemoved value: -"Tx Hash" - removed
Input schema / titleRemoved value: -"tx_status_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "chain", + "tx_hash", + "status", + "confirmations", + "known_to_node", + "evidence", + "checked_at", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for tx_status. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "block": { + "type": "integer" + }, + "chain": { + "type": "string" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "confirmations": { + "type": [ + "integer", + "null" + ] + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "evidence": { + "additionalProperties": true, + "type": "object" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "fee_paid_eth": { + "type": "string" + }, + "fee_paid_wei": { + "type": "string" + }, + "from": { + "type": "string" + }, + "gas_used": { + "type": "integer" + }, + "known_to_node": { + "type": "boolean" + }, + "logs": { + "items": {}, + "type": "array" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "revert_reason": { + "type": [ + "string", + "null" + ] + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status": { + "enum": [ + "pending", + "unknown", + "success", + "failed" + ], + "type": "string" + }, + "status_code": { + "type": "integer" + }, + "to": { + "type": [ + "string", + "null" + ] + }, + "tool": { + "type": "string" + }, + "tx_hash": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "type": "string" + } + }, + "type": "object" +}
- Changed
us_import_readiness_guard50 fields changed- removed
Input schema / $defsRemoved value: -{ - "_USImportRiskAnswers": { - "additionalProperties": false, - "description": "Same nested, strict shape used by the public HTTP contract.", - "properties": { - "alcohol_or_tobacco": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Alcohol Or Tobacco", - "type": "string" - }, - "battery": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Battery", - "type": "string" - }, - "chemical_or_hazmat": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Chemical Or Hazmat", - "type": "string" - }, - "childrens_product": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Childrens Product", - "type": "string" - }, - "cosmetic": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Cosmetic", - "type": "string" - }, - "counterfeit_or_unlicensed_replica": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Counterfeit Or Unlicensed Replica", - "type": "string" - }, - "drug_or_medical_device": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Drug Or Medical Device", - "type": "string" - }, - "food_or_supplement": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Food Or Supplement", - "type": "string" - }, - "plant_seed_or_animal_product": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Plant Seed Or Animal Product", - "type": "string" - }, - "radio_transmitter": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Radio Transmitter", - "type": "string" - }, - "weapon_or_weapon_part": { - "enum": [ - "yes", - "no", - "unknown" - ], - "title": "Weapon Or Weapon Part", - "type": "string" - } - }, - "required": [ - "battery", - "food_or_supplement", - "drug_or_medical_device", - "cosmetic", - "plant_seed_or_animal_product", - "chemical_or_hazmat", - "alcohol_or_tobacco", - "weapon_or_weapon_part", - "counterfeit_or_unlicensed_replica", - "radio_transmitter", - "childrens_product" - ], - "title": "_USImportRiskAnswers", - "type": "object" - } -} - added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / brand / maxLengthAdded value: +120 - removed
Input schema / properties / brand / titleRemoved value: -"Brand" - added
Input schema / properties / country_of_origin / descriptionAdded value: +"Valid ISO-3166 manufacturing origin, not dispatch country" - added
Input schema / properties / country_of_origin / patternAdded value: +"^[A-Z]{2}$" - removed
Input schema / properties / country_of_origin / titleRemoved value: -"Country Of Origin" - added
Input schema / properties / customs_value_usd / patternAdded value: +"^[0-9]+(?:\\.[0-9]{1,2})?$" - removed
Input schema / properties / customs_value_usd / titleRemoved value: -"Customs Value Usd" - added
Input schema / properties / destination_country / constAdded value: +"US" - removed
Input schema / properties / destination_country / titleRemoved value: -"Destination Country" - added
Input schema / properties / dispatch_country / enumAdded value: +[ + "DE", + "AT" +] - removed
Input schema / properties / dispatch_country / titleRemoved value: -"Dispatch Country" - added
Input schema / properties / gtin / descriptionAdded value: +"Optional GTIN/UPC/EAN" - removed
Input schema / properties / gtin / titleRemoved value: -"Gtin" - added
Input schema / properties / hts_code / descriptionAdded value: +"Optional buyer-declared 6, 8 or 10 digit HTS code" - removed
Input schema / properties / hts_code / titleRemoved value: -"Hts Code" - added
Input schema / properties / importer_use / enumAdded value: +[ + "personal", + "commercial_resale", + "business_use", + "gift", + "sample" +] - removed
Input schema / properties / importer_use / titleRemoved value: -"Importer Use" - added
Input schema / properties / intended_use / maxLengthAdded value: +500 - added
Input schema / properties / intended_use / minLengthAdded value: +3 - removed
Input schema / properties / intended_use / titleRemoved value: -"Intended Use" - added
Input schema / properties / job_id / descriptionAdded value: +"Opaque job ID returned by the free prepare call" - added
Input schema / properties / job_id / patternAdded value: +"^[A-Za-z0-9_-]{20,64}$" - removed
Input schema / properties / job_id / titleRemoved value: -"Job Id" - added
Input schema / properties / material_or_composition / maxLengthAdded value: +1000 - added
Input schema / properties / material_or_composition / minLengthAdded value: +3 - removed
Input schema / properties / material_or_composition / titleRemoved value: -"Material Or Composition" - added
Input schema / properties / merchant_forwarding_policy / enumAdded value: +[ + "allowed", + "prohibited", + "unknown" +] - removed
Input schema / properties / merchant_forwarding_policy / titleRemoved value: -"Merchant Forwarding Policy" - added
Input schema / properties / model / maxLengthAdded value: +120 - removed
Input schema / properties / model / titleRemoved value: -"Model" - added
Input schema / properties / product_description / maxLengthAdded value: +2000 - added
Input schema / properties / product_description / minLengthAdded value: +20 - removed
Input schema / properties / product_description / titleRemoved value: -"Product Description" - added
Input schema / properties / product_name / maxLengthAdded value: +160 - added
Input schema / properties / product_name / minLengthAdded value: +3 - removed
Input schema / properties / product_name / titleRemoved value: -"Product Name" - added
Input schema / properties / quantity / maximumAdded value: +10000 - added
Input schema / properties / quantity / minimumAdded value: +1 - removed
Input schema / properties / quantity / titleRemoved value: -"Quantity" - added
Input schema / properties / recovery_secret / descriptionAdded value: +"Secret returned by the free prepare call" - removed
Input schema / properties / recovery_secret / titleRemoved value: -"Recovery Secret" - removed
Input schema / properties / risk_answers / $refRemoved value: -"#/$defs/_USImportRiskAnswers" - added
Input schema / properties / risk_answers / additionalPropertiesAdded value: +false - added
Input schema / properties / risk_answers / propertiesAdded value: +{ + "alcohol_or_tobacco": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "battery": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "chemical_or_hazmat": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "childrens_product": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "cosmetic": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "counterfeit_or_unlicensed_replica": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "drug_or_medical_device": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "food_or_supplement": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "plant_seed_or_animal_product": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "radio_transmitter": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + }, + "weapon_or_weapon_part": { + "enum": [ + "yes", + "no", + "unknown" + ], + "type": "string" + } +} - added
Input schema / properties / risk_answers / requiredAdded value: +[ + "battery", + "food_or_supplement", + "drug_or_medical_device", + "cosmetic", + "plant_seed_or_animal_product", + "chemical_or_hazmat", + "alcohol_or_tobacco", + "weapon_or_weapon_part", + "counterfeit_or_unlicensed_replica", + "radio_transmitter", + "childrens_product" +] - added
Input schema / properties / risk_answers / typeAdded value: +"object" - removed
Input schema / titleRemoved value: -"us_import_readiness_guard_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "policy_version", + "decision", + "input_fingerprint", + "route", + "product", + "tariff", + "ordinary_duty_component", + "entry_policy", + "recalls", + "regulatory_routing", + "forwarding", + "cost_view", + "source_snapshots", + "next_actions", + "validity", + "limitations", + "pricing", + "privacy", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for us_import_readiness_guard. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "contract": { + "type": "string" + }, + "cost_view": { + "additionalProperties": true, + "type": "object" + }, + "decision": { + "additionalProperties": true, + "type": "object" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "entry_policy": { + "additionalProperties": true, + "type": "object" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "forwarding": { + "additionalProperties": true, + "type": "object" + }, + "input_fingerprint": { + "type": "string" + }, + "limitations": { + "items": {}, + "type": "array" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "next_actions": { + "items": {}, + "type": "array" + }, + "ordinary_duty_component": { + "additionalProperties": true, + "type": "object" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "policy_version": { + "type": "string" + }, + "pricing": { + "additionalProperties": true, + "type": "object" + }, + "privacy": { + "additionalProperties": true, + "type": "object" + }, + "product": { + "additionalProperties": true, + "type": "object" + }, + "recalls": { + "additionalProperties": true, + "type": "object" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "regulatory_routing": { + "additionalProperties": true, + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "route": { + "additionalProperties": true, + "type": "object" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "source_snapshots": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "tariff": { + "additionalProperties": true, + "type": "object" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "validity": { + "additionalProperties": true, + "type": "object" + } + }, + "type": "object" +}
- Changed
validate_einvoice_eu5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / xml / minLengthAdded value: +1 - removed
Input schema / properties / xml / titleRemoved value: -"Xml" - removed
Input schema / titleRemoved value: -"validate_einvoice_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "valid", + "syntax", + "source", + "profile", + "customization_id", + "document_type", + "summary", + "error_count", + "errors", + "warning_count", + "warnings", + "full_schematron", + "schematron", + "checked_at", + "standard", + "disclaimer", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for validate_einvoice_eu. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "customization_id": { + "type": [ + "string", + "null" + ] + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "disclaimer": { + "type": "string" + }, + "document_type": { + "type": "string" + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "error_count": { + "type": "integer" + }, + "errors": { + "items": {}, + "type": "array" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "full_schematron": { + "type": "boolean" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "profile": { + "type": "string" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "schematron": { + "additionalProperties": true, + "type": "object" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "source": { + "type": "string" + }, + "standard": { + "type": "string" + }, + "status_code": { + "type": "integer" + }, + "summary": { + "additionalProperties": true, + "type": "object" + }, + "syntax": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "valid": { + "type": "boolean" + }, + "warning_count": { + "type": "integer" + }, + "warnings": { + "items": {}, + "type": "array" + } + }, + "type": "object" +}
- Changed
validate_iban6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / iban / maxLengthAdded value: +42 - added
Input schema / properties / iban / minLengthAdded value: +15 - removed
Input schema / properties / iban / titleRemoved value: -"Iban" - removed
Input schema / titleRemoved value: -"validate_iban_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "valid", + "input", + "price" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for validate_iban. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "bank_code": { + "type": [ + "string", + "null" + ] + }, + "bank_name": { + "type": [ + "string", + "null" + ] + }, + "bank_registry_checked": { + "type": "boolean" + }, + "bank_registry_note": { + "type": "string" + }, + "bban": { + "type": "string" + }, + "bic": { + "type": [ + "string", + "null" + ] + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "check_digits": { + "type": "string" + }, + "country": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "formatted": { + "type": "string" + }, + "input": { + "type": "string" + }, + "length": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "price": { + "const": "free", + "description": "No payment is required for this tool.", + "type": "string" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "valid": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
validate_vat6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / vat_id / maxLengthAdded value: +32 - added
Input schema / properties / vat_id / minLengthAdded value: +4 - removed
Input schema / properties / vat_id / titleRemoved value: -"Vat Id" - removed
Input schema / titleRemoved value: -"validate_vat_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "input", + "normalized", + "country", + "format_valid", + "price" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for validate_vat. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "address": { + "type": [ + "string", + "null" + ] + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "country": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "format_valid": { + "type": "boolean" + }, + "hint": { + "type": "string" + }, + "input": { + "type": "string" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "normalized": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "price": { + "const": "free", + "description": "No payment is required for this tool.", + "type": "string" + }, + "registered": { + "type": "boolean" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "source": { + "type": "string" + }, + "status_code": { + "type": "integer" + }, + "suggested_vat_id": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "vies_checked": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
verify_compliance_receipt5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / document_json / minLengthAdded value: +2 - removed
Input schema / properties / document_json / titleRemoved value: -"Document Json" - removed
Input schema / titleRemoved value: -"verify_receipt_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "valid", + "reasons", + "failures", + "price" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for verify_compliance_receipt. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "content_unchanged": { + "type": "boolean" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "expired": { + "type": "boolean" + }, + "failures": { + "items": {}, + "type": "array" + }, + "issued_at": { + "type": "string" + }, + "issued_by_us": { + "type": "boolean" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "official_issuer_key": { + "type": "string" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "price": { + "const": "free", + "description": "No payment is required for this tool.", + "type": "string" + }, + "reasons": { + "items": {}, + "type": "array" + }, + "recovered_signer": { + "type": "string" + }, + "retryable": { + "type": "boolean" + }, + "service": { + "type": "string" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "signature_valid": { + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "subject": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "valid": { + "type": "boolean" + }, + "valid_until": { + "type": "string" + } + }, + "type": "object" +}
- Changed
wallet_balance6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / address / patternAdded value: +"^0x[a-fA-F0-9]{40}$" - removed
Input schema / properties / address / titleRemoved value: -"Address" - removed
Input schema / properties / chain / titleRemoved value: -"Chain" - removed
Input schema / titleRemoved value: -"wallet_balance_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "chain", + "read_only", + "checked_at", + "sources", + "address", + "native_symbol", + "balance_wei", + "balance_native", + "pending_nonce", + "observed_block", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for wallet_balance. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "address": { + "type": "string" + }, + "balance_native": { + "type": "string" + }, + "balance_wei": { + "type": "string" + }, + "chain": { + "type": "string" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "checked_at": { + "type": "string" + }, + "contract": { + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "native_symbol": { + "type": "string" + }, + "observed_block": { + "type": "integer" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "pending_nonce": { + "type": "integer" + }, + "read_only": { + "type": "boolean" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "sources": { + "items": {}, + "type": "array" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
x402_purchase_guard18 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / allowed_networks / items / enumAdded value: +[ + "eip155:8453", + "eip155:42161", + "eip155:137", + "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" +] - added
Input schema / properties / allowed_networks / maxItemsAdded value: +4 - added
Input schema / properties / allowed_networks / minItemsAdded value: +1 - removed
Input schema / properties / allowed_networks / titleRemoved value: -"Allowed Networks" - added
Input schema / properties / allowed_networks / uniqueItemsAdded value: +true - removed
Input schema / properties / expected_pay_to / titleRemoved value: -"Expected Pay To" - added
Input schema / properties / max_price_usdc / patternAdded value: +"^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,6})?$" - removed
Input schema / properties / max_price_usdc / titleRemoved value: -"Max Price Usdc" - added
Input schema / properties / payment_required / maxLengthAdded value: +65536 - added
Input schema / properties / payment_required / minLengthAdded value: +1 - removed
Input schema / properties / payment_required / titleRemoved value: -"Payment Required" - added
Input schema / properties / resource_method / enumAdded value: +[ + "GET", + "POST", + "PUT", + "PATCH", + "DELETE", + "HEAD", + "OPTIONS" +] - removed
Input schema / properties / resource_method / titleRemoved value: -"Resource Method" - added
Input schema / properties / resource_url / formatAdded value: +"uri" - removed
Input schema / properties / resource_url / titleRemoved value: -"Resource Url" - removed
Input schema / titleRemoved value: -"x402_purchase_guard_toolArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "anyOf": [ + { + "required": [ + "contract", + "decision", + "reasons", + "risk_flags", + "normalized_payment_options", + "evidence", + "execution", + "confirmation_requirements", + "receipt", + "extensions" + ] + }, + { + "required": [ + "error" + ] + } + ], + "description": "Structured result contract for x402_purchase_guard. A success satisfies the documented success branch. A domain or tool error includes error and is not a successful settlement; unpaid x402 requirements are carried by the transport wrapper.", + "properties": { + "accepted": { + "items": { + "type": "string" + }, + "type": "array" + }, + "charged": { + "description": "When present on an error, false means the failed result is uncharged.", + "type": "boolean" + }, + "confirmation_requirements": { + "additionalProperties": true, + "type": "object" + }, + "contract": { + "type": "string" + }, + "decision": { + "enum": [ + "PROCEED_TO_USER_CONFIRMATION", + "REVIEW_REQUIRED", + "REJECT_CHALLENGE" + ], + "type": "string" + }, + "did_you_mean": { + "additionalProperties": true, + "type": [ + "object", + "null" + ] + }, + "error": { + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": true, + "properties": { + "code": { + "type": [ + "string", + "null" + ] + }, + "message": { + "type": "string" + }, + "param": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + ] + }, + "error_code": { + "type": "string" + }, + "evidence": { + "additionalProperties": true, + "type": "object" + }, + "execution": { + "additionalProperties": true, + "type": "object" + }, + "extensions": { + "additionalProperties": true, + "properties": { + "delivery-receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + } + }, + "required": [ + "delivery-receipt" + ], + "type": "object" + }, + "message": { + "type": "string" + }, + "missing": { + "items": { + "type": "string" + }, + "type": "array" + }, + "missing_checks": { + "items": { + "type": "string" + }, + "type": "array" + }, + "normalized_payment_options": { + "items": {}, + "type": "array" + }, + "partial_evidence": { + "additionalProperties": true, + "type": "object" + }, + "reasons": { + "items": {}, + "type": "array" + }, + "receipt": { + "additionalProperties": true, + "properties": { + "how_to_verify": { + "type": "string" + }, + "issued_at": { + "format": "date-time", + "type": "string" + }, + "issuer": { + "type": "string" + }, + "issuer_key": { + "type": "string" + }, + "key_id": { + "type": "string" + }, + "result_hash": { + "type": "string" + }, + "service": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "signed_message": { + "type": "string" + }, + "standard": { + "const": "eucompliance-receipt/2", + "type": "string" + }, + "subject": { + "type": "string" + }, + "valid_until": { + "format": "date-time", + "type": "string" + }, + "verify_url": { + "type": "string" + } + }, + "required": [ + "standard", + "service", + "subject", + "result_hash", + "issued_at", + "valid_until", + "issuer", + "issuer_key", + "key_id", + "verify_url", + "how_to_verify", + "signature", + "signed_message" + ], + "type": "object" + }, + "retryable": { + "type": "boolean" + }, + "risk_flags": { + "items": {}, + "type": "array" + }, + "settled": { + "description": "When present on an error, false means no settlement occurred.", + "type": "boolean" + }, + "status_code": { + "type": "integer" + }, + "tool": { + "type": "string" + }, + "unknown": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
13 tool updates
- Added
coin_positioning_brief - Added
contract_info - Added
gas_estimate - Changed
market_data1 field changed- added
Input schema / properties / product / enumAdded value: +[ + "market_brief", + "yield", + "gas" +]
- Added
market_decision_pack - Added
open_social_search - Added
perp_market_data - Added
prepare_x402_purchase_guard - Added
rpc_read_batch - Added
soft_commodity_stress - Added
spot_price - Added
wallet_balance - Added
x402_purchase_guard
2 tool updates
- Added
agentllm_micro - Added
prepare_agentllm_micro
3 tool updates
- Added
prepare_us_import_readiness - Added
recover_us_import_readiness - Added
us_import_readiness_guard
2 tool updates
- Added
invoice_to_pay_dossier_eu - Added
prepare_invoice_to_pay_eu
7 tool updates
- Added
ai_act_disclosure - Added
market_data - Added
market_history - Added
read_url - Added
token_status - Added
tx_preflight - Added
tx_status
1 tool update
- Added
must_verify_before_pay
1 tool update
- Added
agent_spend_statement
8 tool updates
- First observed
check_counterparty_eu - First observed
eu_vat_rules - First observed
lookup_company_eu - First observed
screen_sanctions_eu - First observed
validate_einvoice_eu - First observed
validate_iban - First observed
validate_vat - First observed
verify_compliance_receipt
Related MCP Connectors
100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.
113 MCP tools: oracle, escrow, compliance, remittance, AI. 12 free tools, PAYG $0.001/call.
37 paid x402 MCP tools for OSINT, prediction markets, web intel, and agent security on Base USDC.
MCP server giving AI agents one-connection access to crypto & DeFi data: DeFi protocol TVL, stableco
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAI-to-AI marketplace MCP server with 46 tools — swap 65+ crypto tokens on 7 chains, rent GPUs, trade 25 tokenized stocks, on-chain escrow (Solana + Base), DeFi yields, sentiment analysis, wallet monitoring, and image generation. Supports USDC payments across 14 blockchains.MIT
- AlicenseNot gradedqualityCmaintenance250+ AI-powered MCP tools: research, write, code, translate, scrape, sentiment, vision, RAG, agent memory, marketplace, trading signals, and more. 15 models across 7 providers. Pay-per-use via API key or x402 USDC micropayments.2MIT
- AlicenseNot gradedqualityBmaintenance53 regulatory compliance evidence tools across 3 MCP servers for AI agents. MiCA authorization status, DORA evidence packs, stablecoin risk scoring (105+ tokens), macro intelligence (86 FRED series). Every response ECDSA-signed (ES256K), blockchain-anchored, audit-ready. Free tier, OAuth 2.0.MIT
- AlicenseNot gradedqualityDmaintenance498 MCP tools across 12 industry verticals. Marketplace, escrow, DeFi, legal, healthcare, insurance, construction, and trades. USDC payments on Base L2.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.