{"schema_version":"a2a-2026.1","name":"code402","description":"Deterministic business-identifier validation (IBAN, LEI, VAT, SWIFT/BIC + more) and rental due-diligence, paid per call via x402 (gasless USDC on Base). Signed offline-verifiable receipts. Free tier 5 calls/day. Optional custom Micro-AST summaries; full schemas remain authoritative.","url":"https://api.code402.dev/a2a","preferredTransport":"JSONRPC","protocolVersion":"1.0.1","version":"1.3.0","provider":{"organization":"openfang","url":"https://api.code402.dev","legalName":"JUANA LIMITED","companyNumber":"14043409","jurisdiction":"United Kingdom (Companies House #14043409)","addressLocality":"Coventry, UK"},"identity":{"standard":"ERC-8004","network":"eip155:8453","operator_wallet":"0xc59c85e661d34084a7769f955d17fd38254a6235","xdr1_receipt_signer":"0xa036e2e3e19c6d02f30b3a9eb0acd057e6d9a5c8","jwks_uri":"https://hcrb.in/.well-known/jwks.json"},"authentication":{"schemes":["x402-v2-payment-signature","bearer-ck-live-quota"],"instructions":"Autonomous agents settle per-call via the x402 v2 PAYMENT-SIGNATURE header (Base USDC/EURC). Enterprise/iPaaS workflows pass 'Authorization: Bearer ck_live_...' provisioned instantly at https://hcrb.in/checkout."},"capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":true,"micro_ast_bytecode":true,"mcp_transport":"streamable-http","mcp_endpoint":"https://hcrb.in/mcp","x402_auto_pay":true,"ap2_mandate_verification":true,"ucp_commerce_guard":true,"extensions":[{"uri":"https://github.com/google-agentic-commerce/a2a-x402/blob/main/spec/v0.2/spec.md","description":"x402 on-chain payments (USDC on Base) for monetized skills — declare via POST /a2a message/send","required":false},{"uri":"urn:ethereum:erc-8004:trustless-agents:v1","description":"ERC-8004 Trustless Agents Validation & Identity Registry integration","required":false,"params":{"agentRegistry":"eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432","validationRole":"deterministic-kyb-and-iso20022-validator","validationEndpoint":"https://api.code402.dev/v1/erc8004/validate-agent","attestationFormat":"XDR-1-RFC8785-SECP256K1","signerAddress":"0xa036e2e3e19c6d02f30b3a9eb0acd057e6d9a5c8"}}]},"payment":{"rails":["x402-v2","mpp-1.0","operator-quota"],"treasury_address":"0xc59c85e661d34084a7769f955d17fd38254a6235","facilitator_take_rate_bps":0,"receipt_signer":"0xa036e2e3e19c6d02f30b3a9eb0acd057e6d9a5c8"},"discovery_standards":{"micro_ast":"https://api.code402.dev/.well-known/micro-ast.json","micro_ast_grammar":"tool_name(arg1:type[req],arg2:type[req])->return_type","skills_listed":"public core catalog (same set as mcp.json); advertised full list: ?all=1","context_window_compression":"estimated per schema; see token_estimation in the Micro-AST catalogue","skill_markdown":"https://api.code402.dev/SKILL.md","erc8004_validation_endpoint":"https://api.code402.dev/v1/erc8004/validate-agent"},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"crypto-ticker","name":"Crypto ticker","purpose":"Crypto ticker","category":"Batches & utilities","description":"Spot USD price for a crypto ticker or CoinGecko id from public price feeds, cached 60 s. Result carries a signed receipt.","micro_ast":"crypto-ticker(symbol:str!)->tool:str,valid:bool,symbol:str","tags":["validation","x402","base","mcp","crypto-ticker","batches_utilities"],"examples":["{\"symbol\":\"btc\"}"]},{"id":"erc20-balance","name":"ERC-20 Token Balance Snapshot","purpose":"ERC-20 Token Balance Snapshot","category":"On-chain intelligence (Base)","description":"Raw and formatted ERC-20 balanceOf for an address on Base, with decimals read from the token. Result carries a signed receipt.","micro_ast":"erc20-balance(address:str!,token_address:str!,decimals:num?)->tool:str,valid:bool,address:str","tags":["validation","x402","base","mcp","erc20-balance","on_chain_intelligence_base"],"examples":["{\"address\":\"0xc59c85e661d34084a7769f955d17fd38254a6235\",\"token_address\":\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\"}"]},{"id":"fx-spot-price-oracle","name":"FX spot price oracle","purpose":"FX spot price oracle","category":"Enterprise rails & invoicing","description":"Reference fiat and stablecoin conversion rate from a static table, not a live feed. Returns rate and inverse; result carries a signed receipt.","micro_ast":"fx-spot-price-oracle(base:str!,quote:str!)->pair:str,rate:num,inverse:num","tags":["validation","x402","base","mcp","fx-spot-price-oracle","enterprise_rails_invoicing"],"examples":["{\"base\":\"EUR\",\"quote\":\"USD\"}"]},{"id":"block-info","name":"Base Block Header Info","purpose":"Base Block Header Info","category":"On-chain intelligence (Base)","description":"Base chain (8453) block header data: block number, timestamp, transaction count and base fee for any block. Result carries a signed receipt.","micro_ast":"block-info(block:str?)->tool:str,valid:bool,block:str","tags":["validation","x402","base","mcp","block-info","on_chain_intelligence_base"],"examples":["{\"block\":\"latest\"}"]},{"id":"tx-activity","name":"Tx Activity & Contract Detection","purpose":"Tx Activity & Contract Detection","category":"On-chain intelligence (Base)","description":"Outbound transaction count (nonce) and contract-or-EOA check for an address on Base. Result carries a signed receipt.","micro_ast":"tx-activity(address:str!)->tool:str,valid:bool,address:str","tags":["validation","x402","base","mcp","tx-activity","on_chain_intelligence_base"],"examples":["{\"address\":\"0xc59c85e661d34084a7769f955d17fd38254a6235\"}"]},{"id":"token-contract-risk","name":"Token contract facts (Base)","purpose":"Token contract facts (Base)","category":"On-chain intelligence (Base)","description":"Deterministic Base contract facts: ERC-20 metadata, proxy slots, owner(), privileged-function selectors and flags. Not a safety verdict. Result carries a signed receipt.","micro_ast":"token-contract-risk(address:str!,chain:str?)->valid:bool,address:str,is_contract:bool","tags":["validation","x402","base","mcp","token-contract-risk","on_chain_intelligence_base"],"examples":["{\"address\":\"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\"}"]},{"id":"clean-markdown-scraper","name":"Clean markdown scraper","purpose":"Clean markdown scraper","category":"Batches & utilities","description":"Fetch a public web page by URL (or take your HTML) and return Markdown plus headings. No JavaScript rendering. Result carries a signed receipt.","micro_ast":"clean-markdown-scraper(url:str?,html:str?)->markdown:str,wordCount:num,headings:arr","tags":["validation","x402","base","mcp","clean-markdown-scraper","batches_utilities"],"examples":["{\"url\":\"https://example.com/\"}"]},{"id":"context-distill","name":"Context distill","purpose":"Context distill","category":"Batches & utilities","description":"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.","micro_ast":"context-distill(text:str!)->tool:str,valid:bool,word_count:num","tags":["validation","x402","base","mcp","context-distill","batches_utilities"],"examples":["{\"text\":\"The landlord demanded the deposit before the viewing. The deposit was paid before any viewing of the property.\"}"]},{"id":"instant-json-schema-verifier","name":"Instant JSON schema verifier","purpose":"Instant JSON schema verifier","category":"Batches & utilities","description":"Validate JSON data payloads against schema definitions. Preflighted for agent tool call pipelines.","micro_ast":"instant-json-schema-verifier(data:obj!,schema:obj!)->valid:bool,errors:arr,execution_ms:num","tags":["validation","x402","base","mcp","instant-json-schema-verifier","batches_utilities"],"examples":["{\"data\":{\"name\":\"Apex Agent\",\"version\":2},\"schema\":{\"required\":[\"name\",\"version\"],\"properties\":{\"name\":{\"type\":\"string\"},\"version\":{\"type\":\"number\"}}}}"]},{"id":"balance-check","name":"Base Account Balance Snapshot","purpose":"Base Account Balance Snapshot","category":"On-chain intelligence (Base)","description":"Native ETH and one ERC-20 balance (default USDC) for an address on Base, raw and formatted. Result carries a signed receipt.","micro_ast":"balance-check(address:str!,token_address:str?)->tool:str,valid:bool,address:str","tags":["validation","x402","base","mcp","balance-check","on_chain_intelligence_base"],"examples":["{\"address\":\"0xc59c85e661d34084a7769f955d17fd38254a6235\"}"]},{"id":"calculate-fx-savings","name":"Calculate cross-border FX savings","purpose":"Calculate cross-border FX savings","category":"Enterprise rails & invoicing","description":"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.","micro_ast":"calculate-fx-savings(amount_usdc:num?,amount_usd:num?,amount:num?,currency:str?)->tool:str,amount_usdc:num,currency:str","tags":["validation","x402","base","mcp","calculate-fx-savings","enterprise_rails_invoicing"],"examples":["{\"amount_usdc\":50000,\"currency\":\"BRL\"}"]},{"id":"iban-check","name":"IBAN Structure and Checksum Check","purpose":"IBAN Structure and Checksum Check","category":"Payment & entity identifiers","description":"Validate IBAN structure and MOD-97 checksum. Does not establish account ownership, beneficiary identity or absence of fraud.","micro_ast":"iban-check(iban:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","iban-check","payment_entity_identifiers"],"examples":["{\"iban\":\"GB82 WEST 1234 5698 7654 32\"}"]},{"id":"lei-check","name":"LEI Structure and Checksum Check","purpose":"LEI Structure and Checksum Check","category":"Payment & entity identifiers","description":"Validate a 20-character LEI and MOD-97 check digits. No registry lookup, active-registration check or legal-entity identity verification.","micro_ast":"lei-check(lei:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","lei-check","payment_entity_identifiers"],"examples":["{\"lei\":\"529900T8BM49AURSDO55\"}"]},{"id":"vat-mod97-check","name":"Belgian VAT MOD-97 Check","purpose":"Belgian VAT MOD-97 Check","category":"Payment & entity identifiers","description":"Check the supported Belgian VAT format and MOD-97 checksum. BE only; not VIES, other EU VAT formats, registration status or tax compliance.","micro_ast":"vat-mod97-check(vat_number:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","vat-mod97-check","payment_entity_identifiers"],"examples":["{\"vat_number\":\"BE0417497106\"}"]},{"id":"swift-bic-check","name":"SWIFT/BIC Structure Check","purpose":"SWIFT/BIC Structure Check","category":"Payment & entity identifiers","description":"Check SWIFT/BIC structure and country code. Does not establish bank existence, active routing or beneficiary identity.","micro_ast":"swift-bic-check(bic:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","swift-bic-check","payment_entity_identifiers"],"examples":["{\"bic\":\"DEUTDEFF500\"}"]},{"id":"batch-validate","name":"Batch Identifier Checks (up to 50 items)","purpose":"Batch Identifier Checks (up to 50 items)","category":"Batches & utilities","description":"Validate up to 50 tax, bank and legal-entity identifiers (IBAN, LEI, VAT, SWIFT/BIC, ABA routing, EIN, IFSC, ABN, GSTIN, ISIN, SEDOL, EAN-13, ISBN, E.164 or Luhn checks) in one batch request. Each result states its scope. Compare the current batch quote with individual quotes; savings depend on batch size.","micro_ast":"batch-validate(items:arr!)->tool:str,count:num,valid_count:num","tags":["validation","x402","base","mcp","batch-validate","batches_utilities"],"examples":["{\"items\":[{\"tool\":\"iban-check\",\"value\":\"GB82 WEST 1234 5698 7654 32\"},{\"tool\":\"lei-check\",\"value\":\"529900T8BM49AURSDO55\"},{\"tool\":\"vat-mod97-check\",\"value\":\"BE0417497106\"}]}"]},{"id":"vendor-onboarding-pack","name":"Vendor Identifier Check Pack","purpose":"Vendor Identifier Check Pack","category":"Vendor & rental due diligence","description":"Check supplied IBAN, LEI, Belgian VAT and UK company-number fields in one result. Structural checks only; no ownership, registry or fraud clearance.","micro_ast":"vendor-onboarding-pack(?[iban,lei,vat_number,company_number])->tool:str,checked_count:num,all_valid:bool","tags":["validation","x402","base","mcp","vendor-onboarding-pack","vendor_rental_due_diligence"],"examples":["{\"iban\":\"GB82 WEST 1234 5698 7654 32\",\"lei\":\"529900T8BM49AURSDO55\",\"vat_number\":\"BE0417497106\",\"company_number\":\"12345678\"}"]},{"id":"india-supplier-check","name":"India Supplier Verification Pack","purpose":"India Supplier Verification Pack","category":"Corridor supplier packs","description":"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.","micro_ast":"india-supplier-check(gstin:str?,pan:str?,vpa:str?,ifsc:str?)->tool:str,corridor:str,checked_count:num","tags":["validation","x402","base","mcp","india-supplier-check","corridor_supplier_packs"],"examples":["{\"gstin\":\"27AAPFU0939F1ZV\",\"pan\":\"AAACP1234M\",\"vpa\":\"merchant@okhdfcbank\",\"ifsc\":\"HDFC0001234\"}"]},{"id":"pre-disbursement-guard","name":"Counterparty Risk Indicators","purpose":"Counterparty Risk Indicators","category":"Vendor & rental due diligence","description":"Check supplier tax and bank identifiers (IBAN, LEI, EU VAT, UK company number), domain-age evidence and country mismatch signals before vendor payment. Requires a preceding receipt hash. An advisory result is not verified identity, fraud clearance or authorization to release funds.","micro_ast":"pre-disbursement-guard(?[recipient_iban,vendor_domain,+7])->tool:str,clear_to_disburse:bool,risk_level:str","tags":["validation","x402","base","mcp","pre-disbursement-guard","vendor_rental_due_diligence"],"examples":["{\"recipient_iban\":\"GB82WEST12345698765432\",\"vendor_domain\":\"billing@acme-consulting.co.uk\",\"declared_country\":\"GB\",\"company_number\":\"01234567\",\"invoice_amount_usd\":4500,\"prev_receipt_hash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\"}"]},{"id":"gstin-check","name":"GSTIN check (India)","purpose":"GSTIN check (India)","category":"Payment & entity identifiers","description":"Validate an Indian GSTIN by structure (2-digit state code + PAN + entity code + 'Z') and its mod-36 cross-sum checksum.","micro_ast":"gstin-check(gstin:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","gstin-check","payment_entity_identifiers"],"examples":["{\"gstin\":\"27AAPFU0939F1ZV\"}"]},{"id":"ifsc-check","name":"IFSC Format Check","purpose":"IFSC Format Check","category":"Payment & entity identifiers","description":"Check the 11-character Indian IFSC format, including its fifth-character zero. No bank-branch registry lookup or account verification.","micro_ast":"ifsc-check(ifsc:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","ifsc-check","payment_entity_identifiers"],"examples":["{\"ifsc\":\"HDFC0000123\"}"]},{"id":"sanctions-address-screen","name":"Address Snapshot & Operator Policy Comparison","purpose":"Address Snapshot & Operator Policy Comparison","category":"Sanctions & policy simulation","description":"Screen an EVM wallet address or ISO country code by exact comparison against the identified sanctions address snapshot and existing operator block policy. Current legal status is unknown; is_sanctioned is null. valid=false preserves a local block; valid=null never authorizes a transaction. Names are not screened. Missing, stale or incomplete evidence is explicit; no UN/EU coverage or sanctions clearance is provided.","micro_ast":"sanctions-address-screen(subject:str!)->tool:str,valid:any,is_sanctioned:any","tags":["validation","x402","base","mcp","sanctions-address-screen","sanctions_policy_simulation"],"examples":["{\"subject\":\"0x7f367cc41522ce07553e823bf3be79a889debe1b\"}"]},{"id":"company-number-format","name":"UK Company Number Format Check","purpose":"UK Company Number Format Check","category":"Payment & entity identifiers","description":"Check supported UK company-number syntax. No Companies House lookup, entity-existence check or active-registration verification.","micro_ast":"company-number-format(company_number:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","company-number-format","payment_entity_identifiers"],"examples":["{\"company_number\":\"12345678\"}"]},{"id":"aba-routing-check","name":"ABA Routing Number Check (US Fedwire/ACH)","purpose":"ABA Routing Number Check (US Fedwire/ACH)","category":"Payment & entity identifiers","description":"Validate a US ABA routing number by its (3,7,1)-weight mod-10 Fedwire/ACH checksum. Catches mistyped or invalid routing numbers before payment; does NOT prevent transfer reversals or establish the recipient. Returns signed XDR-1 receipt.","micro_ast":"aba-routing-check(aba_routing:str?,routing:str?)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","aba-routing-check","payment_entity_identifiers"],"examples":["{\"aba_routing\":\"021000021\"}"]},{"id":"ein-format-check","name":"EIN Format Check (US)","purpose":"EIN Format Check (US)","category":"Payment & entity identifiers","description":"Validate US Employer Identification Number FORMAT (NN-NNNNNNN). Use during US business counterparty KYB verification. Returns signed XDR-1 receipt.","micro_ast":"ein-format-check(ein:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","ein-format-check","payment_entity_identifiers"],"examples":["{\"ein\":\"12-3456789\"}"]},{"id":"abn-check","name":"ABN Check (Australia)","purpose":"ABN Check (Australia)","category":"Payment & entity identifiers","description":"Validate an Australian Business Number by its mod-89 checksum (11 digits). Required before invoice payment to Australian contractors. Returns signed XDR-1 receipt.","micro_ast":"abn-check(abn:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","abn-check","payment_entity_identifiers"],"examples":["{\"abn\":\"51 824 753 556\"}"]},{"id":"e164-check","name":"E.164 International Phone Check","purpose":"E.164 International Phone Check","category":"Securities & product codes","description":"Validate a phone number's E.164 structure (+CC, 8-15 digits, no leading zero) before dispatching SMS alerts or OTPs. Returns signed XDR-1 receipt.","micro_ast":"e164-check(phone:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","e164-check","securities_product_codes"],"examples":["{\"phone\":\"+14155552671\"}"]},{"id":"sedol-check","name":"SEDOL Check (UK/Ireland Securities)","purpose":"SEDOL Check (UK/Ireland Securities)","category":"Securities & product codes","description":"Validate a UK/Ireland security identifier by its (1,3,1,7,3,9)-weight mod-10 checksum. Returns signed XDR-1 receipt.","micro_ast":"sedol-check(sedol:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","sedol-check","securities_product_codes"],"examples":["{\"sedol\":\"B0YBKJ7\"}"]},{"id":"isin-check","name":"ISIN check","purpose":"ISIN check","category":"Securities & product codes","description":"Validate an ISIN (ISO 6166) by structure and Luhn mod-10 check digit over the A=10…Z=35 converted string.","micro_ast":"isin-check(isin:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","isin-check","securities_product_codes"],"examples":["{\"isin\":\"US0378331005\"}"]},{"id":"ean13-check","name":"EAN-13 check","purpose":"EAN-13 check","category":"Securities & product codes","description":"Validate an EAN-13 barcode by its mod-10 checksum (odd positions x1, even positions x3).","micro_ast":"ean13-check(code:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","ean13-check","securities_product_codes"],"examples":["{\"code\":\"5901234123457\"}"]},{"id":"cnpj-check","name":"Brazil CNPJ Check (Cadastro Nacional da Pessoa Jurídica)","purpose":"Brazil CNPJ Check (Cadastro Nacional da Pessoa Jurídica)","category":"Payment & entity identifiers","description":"Validate Brazilian corporate tax ID (CNPJ) with official dual mod-11 check digits. Required for Brazilian B2B payments, PIX verification, and vendor due diligence. Returns signed XDR-1 receipt.","micro_ast":"cnpj-check(cnpj:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","cnpj-check","payment_entity_identifiers"],"examples":["{\"cnpj\":\"00.000.000/0001-91\"}"]},{"id":"uscc-check","name":"China USCC Check (Unified Social Credit Code / 统一社会信用代码)","purpose":"China USCC Check (Unified Social Credit Code / 统一社会信用代码)","category":"Payment & entity identifiers","description":"Validate 18-character Chinese business registration and tax code using GB 32100-2015 ISO 7064 Mod-31-3 checksum. Required for B2B supply chain trade with Chinese manufacturers. Returns signed XDR-1 receipt.","micro_ast":"uscc-check(uscc:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","uscc-check","payment_entity_identifiers"],"examples":["{\"uscc\":\"91330100799655058B\"}"]},{"id":"japan-corp-check","name":"Japan Corporate Number Check (法人番号 - Houjin Bangou)","purpose":"Japan Corporate Number Check (法人番号 - Houjin Bangou)","category":"Payment & entity identifiers","description":"Validate 13-digit Japanese Corporate Number assigned by the National Tax Agency using Mod-9 check digit algorithm. Required for Japanese B2B SaaS and enterprise billing. Returns signed XDR-1 receipt.","micro_ast":"japan-corp-check(number:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","japan-corp-check","payment_entity_identifiers"],"examples":["{\"number\":\"1180301018771\"}"]},{"id":"kra-pin-check","name":"Kenya KRA PIN Check (Kenya Revenue Authority)","purpose":"Kenya KRA PIN Check (Kenya Revenue Authority)","category":"Payment & entity identifiers","description":"Validate Kenyan Revenue Authority Tax PIN structure (A/P followed by 9 digits and checksum character). Required for M-Pesa B2B disbursement and Kenyan remote agency invoicing. Returns signed XDR-1 receipt.","micro_ast":"kra-pin-check(pin:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","kra-pin-check","payment_entity_identifiers"],"examples":["{\"pin\":\"P051112223Z\"}"]},{"id":"rfc-check","name":"Mexico RFC Check (Registro Federal de Contribuyentes)","purpose":"Mexico RFC Check (Registro Federal de Contribuyentes)","category":"Payment & entity identifiers","description":"Validate Mexican SAT RFC corporate (12-char) or individual (13-char) tax code and homoclave. Required for Mexican contractor invoicing and SPEI cross-border settlements. Returns signed XDR-1 receipt.","micro_ast":"rfc-check(rfc:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","rfc-check","payment_entity_identifiers"],"examples":["{\"rfc\":\"BBA830831LJ2\"}"]},{"id":"iso4217-currency-check","name":"ISO 4217 Currency Standard Check & Settlement Mapping","purpose":"ISO 4217 Currency Standard Check & Settlement Mapping","category":"Payment & entity identifiers","description":"Validate 3-letter alpha or 3-digit numeric currency codes against ISO 4217 standard. Returns minor unit decimals, symbol, official name, countries, and onchain Base L2 settlement token mapping (USDC/EURC).","micro_ast":"iso4217-currency-check(currency:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","iso4217-currency-check","payment_entity_identifiers"],"examples":["{\"currency\":\"EUR\"}"]},{"id":"upi-vpa-check","name":"India UPI Virtual Payment Address (VPA) Validator","purpose":"India UPI Virtual Payment Address (VPA) Validator","category":"Payment & entity identifiers","description":"Deterministic structural validation of an Indian UPI Virtual Payment Address (VPA / handle): local-part syntax, handle against a LOCAL list of accredited PSP handles (okhdfcbank, okaxis, paytm, ybl and others), and length rules. It is NOT a live registry lookup: no request leaves this worker, and an unlisted handle is reported as unrecognised rather than nonexistent. This does not establish that the VPA is registered, reachable or owned by anyone.","micro_ast":"upi-vpa-check(vpa:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","upi-vpa-check","payment_entity_identifiers"],"examples":["{\"vpa\":\"merchant@okhdfcbank\"}"]},{"id":"pan-format-check","name":"India Permanent Account Number (PAN) Format Validator","purpose":"India Permanent Account Number (PAN) Format Validator","category":"Payment & entity identifiers","description":"Deterministic validation of Indian Permanent Account Number (PAN) issued by CBDT / Income Tax Department with 4th-character entity type classification (Individual, Company, Firm, Trust, HUF).","micro_ast":"pan-format-check(pan:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","pan-format-check","payment_entity_identifiers"],"examples":["{\"pan\":\"AAACP1234M\"}"]},{"id":"uae-trn-check","name":"UAE Tax Registration Number (TRN) Format Validator","purpose":"UAE Tax Registration Number (TRN) Format Validator","category":"Payment & entity identifiers","description":"Deterministic validation of UAE 15-digit Tax Registration Number (TRN) issued by the Federal Tax Authority (FTA) for VAT purposes.","micro_ast":"uae-trn-check(trn:str!)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","uae-trn-check","payment_entity_identifiers"],"examples":["{\"trn\":\"100123456700003\"}"]},{"id":"china-supplier-check","name":"China Supplier Verification Pack","purpose":"China Supplier Verification Pack","category":"Corridor supplier packs","description":"One call, one receipt: USCC + settlement IBAN + SWIFT/BIC for a Chinese counterparty. Deterministic structure and checksum validation with explicit scope per identifier.","micro_ast":"china-supplier-check(uscc:str?,iban:str?,swift:str?)->tool:str,corridor:str,checked_count:num","tags":["validation","x402","base","mcp","china-supplier-check","corridor_supplier_packs"],"examples":["{\"uscc\":\"91350100M000100Y43\",\"iban\":\"GB82WEST12345698765432\",\"swift\":\"DEUTDEFF\"}"]},{"id":"japan-supplier-check","name":"Japan Supplier Verification Pack","purpose":"Japan Supplier Verification Pack","category":"Corridor supplier packs","description":"One call, one receipt: 13-digit Corporate Number + settlement IBAN for a Japanese counterparty. Deterministic check digits, explicit scope.","micro_ast":"japan-supplier-check(corporate_number:str?,iban:str?)->tool:str,corridor:str,checked_count:num","tags":["validation","x402","base","mcp","japan-supplier-check","corridor_supplier_packs"],"examples":["{\"corporate_number\":\"7000012050002\",\"iban\":\"GB82WEST12345698765432\"}"]},{"id":"latam-supplier-check","name":"LatAm Supplier Verification Pack","purpose":"LatAm Supplier Verification Pack","category":"Corridor supplier packs","description":"One call, one receipt: Brazilian CNPJ + Mexican RFC + settlement IBAN. Deterministic checks for the two largest LatAm corridors in one paid call.","micro_ast":"latam-supplier-check(cnpj:str?,rfc:str?,iban:str?)->tool:str,corridor:str,checked_count:num","tags":["validation","x402","base","mcp","latam-supplier-check","corridor_supplier_packs"],"examples":["{\"cnpj\":\"04.252.011/0001-10\",\"rfc\":\"GODE561231GR8\",\"iban\":\"GB82WEST12345698765432\"}"]},{"id":"gulf-supplier-check","name":"Gulf Supplier Verification Pack","purpose":"Gulf Supplier Verification Pack","category":"Corridor supplier packs","description":"One call, one receipt: UAE TRN + settlement IBAN + SWIFT/BIC. Deterministic structure validation for Gulf trade corridors, scope stated per identifier.","micro_ast":"gulf-supplier-check(trn:str?,iban:str?,swift:str?)->tool:str,corridor:str,checked_count:num","tags":["validation","x402","base","mcp","gulf-supplier-check","corridor_supplier_packs"],"examples":["{\"trn\":\"100123456700003\",\"iban\":\"AE070331234567890123456\",\"swift\":\"EBILAEAD\"}"]},{"id":"africa-supplier-check","name":"Africa Supplier Verification Pack","purpose":"Africa Supplier Verification Pack","category":"Corridor supplier packs","description":"One call, one receipt: Kenya KRA PIN + settlement IBAN + SWIFT/BIC. Deterministic structural checks for East African trade corridors.","micro_ast":"africa-supplier-check(kra_pin:str?,iban:str?,swift:str?)->tool:str,corridor:str,checked_count:num","tags":["validation","x402","base","mcp","africa-supplier-check","corridor_supplier_packs"],"examples":["{\"kra_pin\":\"P051234567X\",\"iban\":\"GB82WEST12345698765432\",\"swift\":\"BARCKENX\"}"]},{"id":"rent-deposit-guard","name":"Rental Deposit Risk Indicators","purpose":"Rental Deposit Risk Indicators","category":"Vendor & rental due diligence","description":"Check deposit IBAN checksum and supplied country/viewing indicators. Rule-based risk signals only; no ownership verification, escrow protection or guarantee against theft.","micro_ast":"rent-deposit-guard(deposit_iban:str!,?[property_country,deposit_before_viewing])->tool:str,risk_score:num,band:str","tags":["validation","x402","base","mcp","rent-deposit-guard","vendor_rental_due_diligence"],"examples":["{\"deposit_iban\":\"GB82WEST12345698765432\",\"property_country\":\"DE\",\"deposit_before_viewing\":true}"]},{"id":"rental-listing-risk","name":"Rental Listing Risk & Fraud Engine","purpose":"Rental Listing Risk & Fraud Engine","category":"Vendor & rental due diligence","description":"Explainable tenancy fraud risk score evaluated across irreversible payment demands, off-platform pressure, stolen photos, and advance wire signals. Deterministic rule engine.","micro_ast":"rental-listing-risk(?[payment_irreversible,contact_moves_offplatform,+6])->tool:str,risk_score:num,band:str","tags":["validation","x402","base","mcp","rental-listing-risk","vendor_rental_due_diligence"],"examples":["{\"payment_irreversible\":true,\"no_in_person_viewing\":true,\"price_below_market_pct\":45}"]},{"id":"rental-verdict","name":"Rental Risk Summary","purpose":"Rental Risk Summary","category":"Vendor & rental due diligence","description":"Combine deposit identifier checks with supplied country, viewing and listing indicators. Does not verify landlord identity, property ownership or safety of payment.","micro_ast":"rental-verdict(deposit_iban:str!,?[property_country,deposit_before_viewing,+7])->tool:str,verdict:str,risk_score:num","tags":["validation","x402","base","mcp","rental-verdict","vendor_rental_due_diligence"],"examples":["{\"deposit_iban\":\"GB82WEST12345698765432\",\"property_country\":\"DE\",\"deposit_before_viewing\":true,\"landlord_lei\":\"529900T8BM49AURSDO55\"}"]},{"id":"reconcile","name":"Settlement Reconciliation (ISO 20022 + NACHA)","purpose":"Settlement Reconciliation (ISO 20022 + NACHA)","category":"Enterprise M2M Pillars","description":"Deterministic reconciliation verdicts: pain.001/pacs.008 instructions vs camt.053 statements or NACHA ACH files, matched by end-to-end id and BigInt-exact amounts. Verdicts: SETTLED, UNPAID, AMOUNT_MISMATCH, DUPLICATE_PAYMENT, plus unmatched statement entries. Facts computed from the documents only — never inferred, never guessed. Returns signed XDR-1 receipt.","micro_ast":"reconcile(pain001_xml:str?,pacs008_xml:str?,camt053_xml:str?,nacha_ach:str?)->tool:str,valid:bool,normalized:str","tags":["validation","x402","base","mcp","reconcile","enterprise_m2m_pillars"],"examples":["{\"pain001_xml\":\"<Document>…</Document>\",\"camt053_xml\":\"<Document>…</Document>\"}"]},{"id":"create-b2b-invoice","name":"Create B2B contractor invoice","purpose":"Create B2B contractor invoice","category":"Enterprise rails & invoicing","description":"Create a merchant-direct Base token invoice. New automated payments require a durable EOA authorization journal and a configured provider. No active protocol fee; no generic bank-wire authority, independent delivery or contract-wallet guarantee.","micro_ast":"create-b2b-invoice(amount_usdc:num!,merchant:str!,?[client_name,memo,referrer])->tool:str,valid:bool,invoice_id:str","tags":["validation","x402","base","mcp","create-b2b-invoice","enterprise_rails_invoicing"],"examples":["{\"amount_usdc\":50000,\"merchant\":\"0xc59c85e661d34084a7769f955d17fd38254a6235\",\"client_name\":\"Apex AI\",\"memo\":\"Sprint #14 Milestones\"}"]},{"id":"get-b2b-invoice","name":"Get B2B invoice status","purpose":"Get B2B invoice status","category":"Enterprise rails & invoicing","description":"Read public recorded invoice status and held-operation next action. Private records and credentials require a separate fresh read-only signature from the durably confirmed original payer; URLs and payment vouchers grant no read authority.","micro_ast":"get-b2b-invoice(invoice_id:str!)->tool:str,valid:bool,invoice_id:str","tags":["validation","x402","base","mcp","get-b2b-invoice","enterprise_rails_invoicing"],"examples":["{\"invoice_id\":\"inv_example1234\"}"]},{"id":"simulate-spend-sentinel","name":"Simulate Spend Sentinel policy defense and delivery predicates","purpose":"Simulate Spend Sentinel policy defense and delivery predicates","category":"Sanctions & policy simulation","description":"Run synthetic prompt-injection halts, malformed-delivery rejection, and bounded-spend eligibility examples under AP2 envelopes. No live escrow, refund, facilitator or chain action occurs.","micro_ast":"simulate-spend-sentinel(scenario:str?)->tool:str,valid:bool,is_synthetic:bool","tags":["validation","x402","base","mcp","simulate-spend-sentinel","sanctions_policy_simulation"],"examples":["{\"scenario\":\"injection\"}"]},{"id":"aci-trust-lookup","name":"ACI-1 Agent Credit & Trust Rating Lookup","purpose":"ACI-1 Agent Credit & Trust Rating Lookup","category":"Enterprise M2M Pillars","description":"Deterministic agent trust scoring and non-custodial unsettled exposure advisory evaluation (ACI-1). Quantifies counterparty grade (T0-T3), historical success rate, and maximum suggested settlement exposure without uncollateralized lending or float.","micro_ast":"aci-trust-lookup(subject:str!,?[role,settled_calls_90d,settlement_success_rate,+3])->ok:bool,standard:str,subject:str","tags":["validation","x402","base","mcp","aci-trust-lookup","enterprise_m2m_pillars"],"examples":["{\"subject\":\"0x1111111111111111111111111111111111111111\",\"settled_calls_90d\":1500,\"settlement_success_rate\":0.999,\"first_seen_days\":120}"]},{"id":"csp-commitment-create","name":"CSP-1 Confidential Terms Commitment & Stealth Announce","purpose":"CSP-1 Confidential Terms Commitment & Stealth Announce","category":"Enterprise M2M Pillars","description":"Generates cryptographic commitments to commercial terms and formats ERC-5564 dual-key stealth address announcements (CSP-1) for invoice-scale B2B payments on Base L2.","micro_ast":"csp-commitment-create(invoice_object:obj!,?[salt_hex,stealth_recipient,+2])->ok:bool,standard:str,invoice_commitment:str","tags":["validation","x402","base","mcp","csp-commitment-create","enterprise_m2m_pillars"],"examples":["{\"invoice_object\":{\"invoice_id\":\"INV-402\",\"amount_usdc\":5000,\"line_items\":[{\"sku\":\"H100_HR\",\"qty\":10}]}}"]},{"id":"iso20022-validate","name":"BAP-1 ISO 20022 Banking Message Validator","purpose":"BAP-1 ISO 20022 Banking Message Validator","category":"Enterprise M2M Pillars","description":"Deterministic validation for institutional ISO 20022 XML/JSON payment messages (pain.001 credit transfer, pacs.008 customer credit, camt.053 bank statement) with XML DOCTYPE security guards, BigInt CtrlSum decimal sums, and ISO 13616 / 9362 / 17442 checksums (BAP-1).","micro_ast":"iso20022-validate(raw_payload:str!,format:str?,namespace:str?,transactions:arr?)->ok:bool,standard:str,valid:bool","tags":["validation","x402","base","mcp","iso20022-validate","enterprise_m2m_pillars"],"examples":["{\"raw_payload\":\"<Document xmlns=\\\"urn:iso:std:iso:20022:tech:xsd:pain.001.001.09\\\"><CstmrCdtTrfInitn><GrpHdr><MsgId>MSG-2026-001</MsgId><NbOfTxs>1</NbOfTxs><CtrlSum>100.00</CtrlSum></GrpHdr><PmtInf><CdtTrfTxInf><Amt><InstdAmt Ccy=\\\"USD\\\">100.00</InstdAmt></Amt><CdtrAgt><FinInstnId><BICFI>DEUTDEDDFXX</BICFI></FinInstnId></CdtrAgt><CdtrAcct><Id><IBAN>DE89370400440532013000</IBAN></Id></CdtrAcct></CdtTrfTxInf></PmtInf></CstmrCdtTrfInitn></Document>\"}"]},{"id":"iso20022-to-x402-intent","name":"BAP-1 ISO 20022 to x402 Intent Mapper","purpose":"BAP-1 ISO 20022 to x402 Intent Mapper","category":"Enterprise M2M Pillars","description":"Translates validated ISO 20022 payment instructions (pain.001 / pacs.008) into deterministic EIP-712 payment-intent templates for autonomous x402 Base L2 USDC settlement (BAP-1). Zero custody, no fiat leg.","micro_ast":"iso20022-to-x402-intent(instruction:obj!,?[counterparty_wallet_directory,+2])->ok:bool,standard:str,intent_template:obj","tags":["validation","x402","base","mcp","iso20022-to-x402-intent","enterprise_m2m_pillars"],"examples":["{\"instruction\":{\"end_to_end_id\":\"E2E-1001\",\"instructed_amount\":{\"currency\":\"USD\",\"amount_str\":\"250.00\",\"amount_minor\":\"250000000\"},\"debtor\":{\"iban\":\"DE89370400440532013000\"},\"creditor\":{\"iban\":\"DE77100100100123456789\"}},\"seller_pay_to_address\":\"0xc59c85e661d34084a7769f955d17fd38254a6235\"}"]},{"id":"check-price","name":"Zero-cost price index and gasless x402 quote generator","purpose":"Zero-cost price index and gasless x402 quote generator","category":"Tax, Bank & Entity Verification","description":"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.","micro_ast":"check-price(tool:str!,amount:num?)->tool:str,valid:bool,price:num","tags":["validation","x402","base","mcp","check-price"],"examples":["{\"tool\":\"iban-check\",\"amount\":1}"]},{"id":"receipt-verify","name":"Verify any XDR-1 receipt — free, stateless, any issuer","purpose":"Verify any XDR-1 receipt — free, stateless, any issuer","category":"Tax, Bank & Entity Verification","description":"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.","micro_ast":"receipt-verify(receipt:str!)->valid:bool,signer_recovered:str,declared_signer:str","tags":["validation","x402","base","mcp","receipt-verify"],"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…\"}}"]}],"clearinghouse_skills":[{"id":"gate-b2b-settlement","name":"B2B Statutory Pre-Settlement Gate (18-Shield Matrix + OFAC)","description":"Validates counterparty tax/entity IDs and screens wallet/IBAN against 18 statutory & OFAC shields. Emits a keccak-256 + secp256k1 XDR-1 receipt."},{"id":"ap2-verify-mandate-chain","name":"AP2 Mandate Chain & Visa 10.4 Dispute Defense Verifier","description":"Verifies FIDO/AP2 mandate.checkout.1 + mandate.payment.1 chains across 31 ECB currencies."},{"id":"three-way-trade-match","name":"ORDER -> PAYMENT -> DELIVERY Three-Way Trade Match","description":"Reconciles purchase order, payment receipt, and delivery hash for UCP/ACP commerce."},{"id":"governor-authorize-spend","name":"Spend-Governor Policy Gate ($99-$999/mo)","description":"Enforces per-tx USD caps, daily spend budgets, country allowlists, and OFAC sanctions shields."},{"id":"fx-best-execution-quote","name":"Multi-Currency FX Best-Execution Router (5-50 bps)","description":"Routes stablecoin and fiat settlements across 31 ECB currencies."}],"x402":{"payment":"USDC on Base per call (EIP-3009)","free_tier":"5 calls/day","manifests":["https://api.code402.dev/.well-known/x402.json","https://api.code402.dev/.well-known/mcp.json","https://api.code402.dev/.well-known/micro-ast.json"],"caip10_payee":"eip155:8453:0xc59c85e661d34084a7769f955d17fd38254a6235","caip19_asset":"eip155:8453/erc20:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}