x402-checks
Machine-payable deterministic identifier checks + signed XDR-1 receipts for agents.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen crypto_ticker
- LOWen fx_spot_price_oracle
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"x402-checks": {
"url": "https://api.code402.dev/mcp"
}
}
}Puntos de conexión remotos
https://api.code402.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (24)
🟢crypto_ticker(symbol)
Spot USD price for a crypto ticker or CoinGecko id from public price feeds, cached 60 s. Result carries a signed receipt.
Esquema de entrada
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "Ticker symbol (btc, eth, sol, …) or a CoinGecko asset id (bitcoin, ethereum, …)."
}
},
"required": [
"symbol"
],
"examples": [
{
"symbol": "btc"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"symbol": {
"type": "string"
},
"coingecko_id": {
"type": "string"
},
"price_usd": {
"type": "number"
},
"currency": {
"type": "string"
},
"cached": {
"type": "boolean"
},
"fetched_at": {
"type": "string"
},
"reason": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"symbol"
]
}🟢erc20_balance(address, token_address, decimals)
Raw and formatted ERC-20 balanceOf for an address on Base, with decimals read from the token. Result carries a signed receipt.
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Holder EVM address, 0x-prefixed."
},
"token_address": {
"type": "string",
"description": "ERC-20 token contract address, 0x-prefixed."
},
"decimals": {
"type": "number",
"description": "Token decimals override (optional)."
}
},
"required": [
"address",
"token_address"
],
"examples": [
{
"address": "0xc59c85e661d34084a7769f955d17fd38254a6235",
"token_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"address": {
"type": "string"
},
"token_address": {
"type": "string"
},
"balance_raw": {
"type": "string"
},
"decimals": {
"type": "number"
},
"decimals_source": {
"type": "string"
},
"balance": {
"type": "number"
},
"reason": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"address",
"token_address"
]
}🟢fx_spot_price_oracle(base, quote)
Reference fiat and stablecoin conversion rate from a static table, not a live feed. Returns rate and inverse; result carries a signed receipt.
Esquema de entrada
{
"type": "object",
"properties": {
"base": {
"type": "string",
"description": "Base currency symbol (e.g. USDC, EUR, GBP, JPY)."
},
"quote": {
"type": "string",
"description": "Quote currency symbol (e.g. USD, EUR, JPY)."
}
},
"required": [
"base",
"quote"
],
"examples": [
{
"base": "EUR",
"quote": "USD"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"pair": {
"type": "string"
},
"rate": {
"type": "number"
},
"inverse": {
"type": "number"
},
"timestamp": {
"type": "number"
},
"source": {
"type": "string"
}
},
"required": [
"pair",
"rate",
"inverse",
"timestamp",
"source"
]
}🟢block_info(block)
Base block header: number, timestamp, transaction count and base fee for the latest or a given block. Result carries a signed receipt.
Esquema de entrada
{
"type": "object",
"properties": {
"block": {
"type": "string",
"description": "Block number as hex (0x…) or decimal, or a tag (latest/earliest/pending/finalized/safe); defaults to latest."
}
},
"required": [],
"examples": [
{
"block": "latest"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"block": {
"type": "string"
},
"block_number": {
"type": "number"
},
"timestamp": {
"type": "number"
},
"timestamp_iso": {
"type": "string"
},
"tx_count": {
"type": "number"
},
"base_fee_gwei": {
"type": "number"
},
"reason": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"block_number"
]
}🟢tx_activity(address)
Outbound transaction count (nonce) and contract-or-EOA check for an address on Base. Result carries a signed receipt.
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "EVM address, 0x-prefixed."
}
},
"required": [
"address"
],
"examples": [
{
"address": "0xc59c85e661d34084a7769f955d17fd38254a6235"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"address": {
"type": "string"
},
"tx_count": {
"type": "number"
},
"is_contract": {
"type": "boolean"
},
"first_funded_heuristic": {
"type": "boolean"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"address",
"tx_count"
]
}🟢token_contract_risk(address, chain)
Deterministic Base contract facts: ERC-20 metadata, proxy slots, owner(), privileged-function selectors and flags. Not a safety verdict. Result carries a signed receipt.
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Contract address on Base, 0x + 40 hex."
},
"chain": {
"type": "string",
"enum": [
"base"
],
"description": "Optional. Only 'base' (Base mainnet) is supported."
}
},
"required": [
"address"
],
"examples": [
{
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"valid": {
"type": "boolean"
},
"address": {
"type": "string"
},
"is_contract": {
"type": "boolean"
},
"tool": {
"type": "string"
},
"chain": {
"type": "string"
},
"block": {
"type": "object"
},
"erc20": {
"type": "object"
},
"proxy": {
"type": "object"
},
"owner": {
"type": "object"
},
"privileged_selectors": {
"type": "array"
},
"opcodes": {
"type": "object"
},
"flags": {
"type": "array"
},
"flag_counts": {
"type": "object"
},
"reason": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"address",
"is_contract",
"flags",
"scope"
]
}🟢clean_markdown_scraper(url, html)
Fetch a public web page by URL (or take your HTML) and return Markdown plus headings. No JavaScript rendering. Result carries a signed receipt.
Esquema de entrada
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public http(s) page to fetch (ports 80/443 only). Provide exactly one of url or html."
},
"html": {
"type": "string",
"description": "Raw HTML string to convert instead of fetching a URL (max 1 MiB). Provide exactly one of url or html."
}
},
"required": [],
"examples": [
{
"url": "https://example.com/"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"markdown": {
"type": "string"
},
"wordCount": {
"type": "number"
},
"headings": {
"type": "array"
},
"valid": {
"type": "boolean"
},
"tool": {
"type": "string"
},
"source": {
"type": "object"
},
"fetched_on": {
"type": "string"
},
"reason": {
"type": "string"
},
"code": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"scope": {
"type": "string"
}
},
"required": [
"markdown",
"wordCount"
]
}🟢context_distill(text)
Deterministic text digest: word count, top-5 most frequent meaningful words (stop words excluded), first sentence, and a keccak-256 content hash. Pure function — no external calls, no ML.
Esquema de entrada
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Arbitrary text to distill (any length; hashing is over the exact input)."
}
},
"required": [
"text"
],
"examples": [
{
"text": "The landlord demanded the deposit before the viewing. The deposit was paid before any viewing of the property."
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"word_count": {
"type": "number"
},
"meaningful_word_count": {
"type": "number"
},
"top_words": {
"type": "array"
},
"first_sentence": {
"type": "string"
},
"content_hash": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"word_count"
]
}🟢instant_json_schema_verifier(data, schema)
Validate JSON data payloads against schema definitions. Preflighted for agent tool call pipelines.
Esquema de entrada
{
"type": "object",
"properties": {
"data": {
"type": "object",
"description": "The JSON data object to validate against the schema."
},
"schema": {
"type": "object",
"description": "The JSON schema object with expected properties and types."
}
},
"required": [
"data",
"schema"
],
"examples": [
{
"data": {
"name": "Apex Agent",
"version": 2
},
"schema": {
"required": [
"name",
"version"
],
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "number"
}
}
}
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"valid": {
"type": "boolean"
},
"errors": {
"type": "array"
},
"execution_ms": {
"type": "number"
}
},
"required": [
"valid",
"errors",
"execution_ms"
]
}🟢balance_check(address, token_address)
Native ETH and one ERC-20 balance (default USDC) for an address on Base, raw and formatted. Result carries a signed receipt.
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "EVM address, 0x-prefixed."
},
"token_address": {
"type": "string",
"description": "ERC-20 token contract address (optional; defaults to USDC on Base)."
}
},
"required": [
"address"
],
"examples": [
{
"address": "0xc59c85e661d34084a7769f955d17fd38254a6235"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"address": {
"type": "string"
},
"native": {
"type": "object"
},
"token": {
"type": "object"
},
"reason": {
"type": "string"
},
"retryable": {
"type": "boolean"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"address"
]
}🟢calculate_fx_savings(amount_usdc, amount_usd, amount, currency)
Arithmetic comparison of a USDC settlement against comparator percentages YOU supply (bank_fee_pct, custodial_fee_pct) across 14 global fiat currencies. The comparators are assumptions, not measurements of any bank or provider; no protocol fee is deducted on this rail.
Esquema de entrada
{
"type": "object",
"properties": {
"amount_usdc": {
"type": "number",
"description": "Gross invoice settlement volume in USD/USDC."
},
"amount_usd": {
"type": "number",
"description": "Gross invoice settlement volume in USD/USDC (alias)."
},
"amount": {
"type": "number",
"description": "Gross invoice settlement volume in USD/USDC (alias)."
},
"currency": {
"type": "string",
"description": "Target currency for local comparison (e.g. EUR, GBP, BRL, INR, ARS, PHP, NGN, SGD)."
}
},
"examples": [
{
"amount_usdc": 50000,
"currency": "BRL"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"amount_usdc": {
"type": "number"
},
"currency": {
"type": "string"
},
"legacy_swift_fee_usd": {
"type": "number"
},
"deel_fee_usd": {
"type": "number"
},
"code402_protocol_fee_usd": {
"type": "number"
},
"retained_savings_usd": {
"type": "number"
},
"pct_retained": {
"type": "number"
},
"local_currency": {
"type": "object"
},
"scope": {
"type": "string"
}
},
"required": [
"amount_usdc",
"retained_savings_usd",
"pct_retained"
]
}🟢iban_check(iban)
Validate IBAN structure and MOD-97 checksum. Does not establish account ownership, beneficiary identity or absence of fraud.
Esquema de entrada
{
"type": "object",
"properties": {
"iban": {
"type": "string",
"description": "IBAN to validate; spaces allowed."
}
},
"required": [
"iban"
],
"examples": [
{
"iban": "GB82 WEST 1234 5698 7654 32"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"normalized": {
"type": "string"
},
"country": {
"type": "string"
},
"reason": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"reason"
]
}🟢lei_check(lei)
Validate a 20-character LEI and MOD-97 check digits. No registry lookup, active-registration check or legal-entity identity verification.
Esquema de entrada
{
"type": "object",
"properties": {
"lei": {
"type": "string",
"description": "20-character Legal Entity Identifier."
}
},
"required": [
"lei"
],
"examples": [
{
"lei": "529900T8BM49AURSDO55"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"normalized": {
"type": "string"
},
"country": {
"type": "string"
},
"reason": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"reason"
]
}🟢vat_mod97_check(vat_number)
Check the supported Belgian VAT format and MOD-97 checksum. BE only; not VIES, other EU VAT formats, registration status or tax compliance.
Esquema de entrada
{
"type": "object",
"properties": {
"vat_number": {
"type": "string",
"description": "Belgian VAT id in the supported BE mod-97 format (BE prefix optional); not a VIES lookup."
}
},
"required": [
"vat_number"
],
"examples": [
{
"vat_number": "BE0417497106"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"normalized": {
"type": "string"
},
"country": {
"type": "string"
},
"reason": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"reason"
]
}🟢swift_bic_check(bic)
Check SWIFT/BIC structure and country code. Does not establish bank existence, active routing or beneficiary identity.
Esquema de entrada
{
"type": "object",
"properties": {
"bic": {
"type": "string",
"description": "SWIFT/BIC code, 8 or 11 characters; spaces/dashes allowed."
}
},
"required": [
"bic"
],
"examples": [
{
"bic": "DEUTDEFF500"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"normalized": {
"type": "string"
},
"country": {
"type": "string"
},
"reason": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"reason"
]
}🟢batch_validate(items)
Run up to 50 supported {tool, value} checks in one request. Each result states its scope. Compare the current batch quote with individual quotes; savings depend on batch size.
Esquema de entrada
{
"type": "object",
"properties": {
"items": {
"type": "array",
"minItems": 1,
"maxItems": 50,
"description": "List of {tool, value} checks (max 50).",
"items": {
"type": "object",
"required": [
"tool",
"value"
],
"properties": {
"tool": {
"type": "string",
"enum": [
"iban-check",
"lei-check",
"vat-mod97-check",
"company-number-format",
"swift-bic-check",
"aba-routing-check",
"ein-format-check",
"ifsc-check",
"abn-check",
"luhn-check",
"isbn-check",
"e164-check",
"sedol-check",
"isin-check",
"ean13-check",
"gstin-check",
"context-distill"
],
"description": "which validator to run"
},
"value": {
"type": "string",
"description": "the identifier (or text, for context-distill) to check"
}
}
}
}
},
"required": [
"items"
],
"examples": [
{
"items": [
{
"tool": "iban-check",
"value": "GB82 WEST 1234 5698 7654 32"
},
{
"tool": "lei-check",
"value": "529900T8BM49AURSDO55"
},
{
"tool": "vat-mod97-check",
"value": "BE0417497106"
}
]
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"count": {
"type": "number"
},
"valid_count": {
"type": "number"
},
"invalid_count": {
"type": "number"
},
"results": {
"type": "array"
},
"scope": {
"type": "string"
}
},
"required": [
"count",
"results"
]
}🟢vendor_onboarding_pack(iban, lei, vat_number, company_number)
Check supplied IBAN, LEI, Belgian VAT and UK company-number fields in one result. Structural checks only; no ownership, registry or fraud clearance.
Esquema de entrada
{
"type": "object",
"properties": {
"iban": {
"type": "string",
"description": "Vendor IBAN (optional)."
},
"lei": {
"type": "string",
"description": "Vendor LEI (optional)."
},
"vat_number": {
"type": "string",
"description": "Vendor VAT number, BE mod-97 (optional)."
},
"company_number": {
"type": "string",
"description": "Vendor UK company number (optional)."
}
},
"required": [],
"examples": [
{
"iban": "GB82 WEST 1234 5698 7654 32",
"lei": "529900T8BM49AURSDO55",
"vat_number": "BE0417497106",
"company_number": "12345678"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"checked_count": {
"type": "number"
},
"all_valid": {
"type": "boolean"
},
"verdict": {
"type": "string"
},
"results": {
"type": "array"
},
"scope": {
"type": "string"
}
},
"required": [
"checked_count",
"all_valid"
]
}🟢india_supplier_check(gstin, pan, vpa, ifsc)
One call, one receipt: GSTIN + PAN + UPI VPA + IFSC for an Indian counterparty. Four deterministic structural checks, each stating its own scope. Built for cross-border procurement where the buyer is an agent that cannot open an INR account.
Esquema de entrada
{
"type": "object",
"properties": {
"gstin": {
"type": "string",
"description": "GSTIN (15 chars, optional)"
},
"pan": {
"type": "string",
"description": "PAN (10 chars, optional)"
},
"vpa": {
"type": "string",
"description": "UPI VPA handle (optional)"
},
"ifsc": {
"type": "string",
"description": "IFSC bank code (optional)"
}
},
"required": [],
"examples": [
{
"gstin": "27AAPFU0939F1ZV",
"pan": "AAACP1234M",
"vpa": "merchant@okhdfcbank",
"ifsc": "HDFC0001234"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"corridor": {
"type": "string"
},
"checked_count": {
"type": "number"
},
"all_valid": {
"type": "boolean"
},
"verdict": {
"type": "string"
},
"results": {
"type": "array"
},
"next_steps": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"checked_count",
"all_valid"
]
}🟢pre_disbursement_guard(recipient_iban, vendor_domain, declared_country, company_number, lei, ...)
Evaluate supplied identifiers, domain-age evidence and mismatch signals. Requires a preceding receipt hash. An advisory result is not verified identity, fraud clearance or authorization to release funds.
Esquema de entrada
{
"type": "object",
"properties": {
"recipient_iban": {
"type": "string",
"description": "Recipient bank IBAN (optional)."
},
"vendor_domain": {
"type": "string",
"description": "Vendor website domain or invoicing email address (optional)."
},
"declared_country": {
"type": "string",
"description": "2-letter ISO country code where vendor claims to be registered (optional, e.g. 'GB', 'US', 'DE')."
},
"company_number": {
"type": "string",
"description": "Official corporate registration number, e.g. UK Companies House 8 digits/chars (optional)."
},
"lei": {
"type": "string",
"description": "ISO 17442 Legal Entity Identifier (optional)."
},
"vat_number": {
"type": "string",
"description": "EU VAT number (optional)."
},
"physical_address": {
"type": "string",
"description": "Vendor physical office address (optional)."
},
"invoice_amount_usd": {
"type": "number",
"description": "Disbursement transaction amount in USD (optional)."
}
},
"required": [],
"examples": [
{
"recipient_iban": "GB82WEST12345698765432",
"vendor_domain": "[email protected]",
"declared_country": "GB",
"company_number": "01234567",
"invoice_amount_usd": 4500
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"clear_to_disburse": {
"type": "boolean"
},
"risk_level": {
"type": "string"
},
"risk_score": {
"type": "number"
},
"decision": {
"type": "string"
},
"summary": {
"type": "string"
},
"checks": {
"type": "object"
},
"flags_triggered": {
"type": "array"
},
"recommendations": {
"type": "array"
},
"inspected_counterparty": {
"type": "object"
},
"scope": {
"type": "string"
}
},
"required": [
"clear_to_disburse",
"risk_level",
"risk_score",
"decision"
]
}🟢gstin_check(gstin)
Validate an Indian GSTIN by structure (2-digit state code + PAN + entity code + 'Z') and its mod-36 cross-sum checksum.
Esquema de entrada
{
"type": "object",
"properties": {
"gstin": {
"type": "string",
"description": "15-character Indian Goods and Services Tax Identification Number."
}
},
"required": [
"gstin"
],
"examples": [
{
"gstin": "27AAPFU0939F1ZV"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"normalized": {
"type": "string"
},
"country": {
"type": "string"
},
"reason": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"reason"
]
}🟢ifsc_check(ifsc)
Check the 11-character Indian IFSC format, including its fifth-character zero. No bank-branch registry lookup or account verification.
Esquema de entrada
{
"type": "object",
"properties": {
"ifsc": {
"type": "string",
"description": "11-character Indian Financial System Code."
}
},
"required": [
"ifsc"
],
"examples": [
{
"ifsc": "HDFC0000123"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"normalized": {
"type": "string"
},
"country": {
"type": "string"
},
"reason": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"valid",
"reason"
]
}🟢sanctions_address_screen(subject)
Deterministic screen of EVM addresses and jurisdictions against a curated local blocklist of sanctioned addresses and prohibited jurisdictions. Address- and jurisdiction-level only — this is NOT name-based screening and NOT a complete OFAC SDN check. Absence of a match is not a sanctions clearance; use as one informational input alongside your own compliance process.
Esquema de entrada
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"description": "EVM address (0x...) or ISO 3166-1 country code / jurisdiction name"
}
},
"required": [
"subject"
],
"examples": [
{
"subject": "0x7f367cc41522ce07553e823bf3be79a889debe1b"
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"is_sanctioned": {
"type": "boolean"
},
"match_type": {
"type": "string"
},
"subject": {
"type": "string"
},
"sanction_program": {
"type": "string"
},
"reason": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"tool",
"valid",
"is_sanctioned"
]
}🟢check_price(tool, amount)
Instant zero-cost pricing hook for code402 tools. Returns the live price, an opaque quote_id, TTL, and the settlement URL. Free forever — feeds the price index into an agent planner's context without creating any financial obligation. If the planner acts on the quote, it hits the settlement_url with an EIP-3009 signed voucher.
Esquema de entrada
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"description": "Target tool name (e.g. 'iban-check', 'vendor-onboarding-pack')"
},
"amount": {
"type": "number",
"description": "Optional batch count or volume units (default 1)"
}
},
"required": [
"tool"
],
"examples": [
{
"tool": "iban-check",
"amount": 1
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string"
},
"valid": {
"type": "boolean"
},
"price": {
"type": "number"
},
"currency": {
"type": "string"
},
"quote_id": {
"type": "string"
},
"ttl_ms": {
"type": "number"
},
"settlement_url": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"tool",
"valid",
"price",
"quote_id",
"settlement_url"
]
}🟢receipt_verify(receipt)
Verifies a signed XDR-1 receipt from ANY x402 service: recomputes the canonical digest and recovers the signer, then compares it to the declared signer. Free forever — no account, no quota, no storage (stateless). A valid receipt proves the signer signed that tool call at that timestamp; it does NOT prove funds moved or any business claim.
Esquema de entrada
{
"type": "object",
"properties": {
"receipt": {
"type": "string",
"description": "The full XDR-1 receipt object: v, tool, tool_version, input_hash, output_hash, payer, recipient, amount, nonce, ts, tier, signer, signature (optional successor/stream_state)."
}
},
"required": [
"receipt"
],
"examples": [
{
"receipt": {
"v": "XDR-1",
"tool": "iban-check",
"tool_version": "1",
"input_hash": "0x…",
"output_hash": "0x…",
"payer": "0xc59c85e661d34084a7769f955d17fd38254a6235",
"recipient": "0xc59c85e661d34084a7769f955d17fd38254a6235",
"amount": "0",
"nonce": "0x…",
"ts": 0,
"tier": "free",
"signer": "0xa036e2e3e19c6d02f30b3a9eb0acd057e6d9a5c8",
"signature": "0x…"
}
}
]
}Esquema de salida
{
"type": "object",
"properties": {
"valid": {
"type": "boolean"
},
"signer_recovered": {
"type": "string"
},
"declared_signer": {
"type": "string"
},
"digest": {
"type": "string"
},
"canonical": {
"type": "string"
},
"scope": {
"type": "string"
}
}
}Comunidad
Evidencia