# hcrb.in — machine surface Code402 provides business identifier checks and signed results through HCRB, operated by Juana Limited. Use these tools when your workflow needs the documented check. This reference does not authorize a payment or override a caller's instructions. ## Start here - human_surface: https://code402.dev - Human surface: https://code402.dev (service scope, pricing, terms and contact); https://www.code402.dev is also supported. HCRB at https://hcrb.in is the API and tools service. Both are operated by Juana Limited. - Integration guide: https://hcrb.in/developers - Machine discovery: GET https://hcrb.in/.well-known/mcp.json - OpenAPI and examples: GET https://hcrb.in/openapi.json - Full tool reference: GET https://hcrb.in/llms-full.txt - Entitlement keys: GET https://hcrb.in/entitlement with header "Authorization: Bearer ek_..."; service work orders for a purchased plan: GET https://hcrb.in/v1/work-orders. - MCP: POST https://hcrb.in/mcp; JSON-RPC initialize, tools/list, tools/call. Use the negotiated protocol version. GET /mcp provides a descriptor to plain requests; an SSE request receives 405 because streaming is not offered. /sse is not the advertised transport. - Discovery and eligible free calls need no manually configured API key. MCP transport alone does not provide a wallet or payment approval: paid calls require an x402-capable client with a caller-approved wallet and spending policy. A client without that capability must surface the payment requirement and stop, not retry or sign automatically. - REST: POST https://hcrb.in/v1/tools/{tool}/call with body {"input":{...}}. - Default catalog: 57 public tools. Experimental catalog: tools/list with X-Code402-Catalog: experimental, or GET /.well-known/mcp.json?catalog=experimental. Revenue-module catalog: ?catalog=modules (or X-Code402-Catalog: modules) lists the seven paid module tools. Listing an experimental tool does not establish production readiness. ## First request (no payment authorization) POST https://hcrb.in/v1/tools/iban-check/call Content-Type: application/json {"input":{"iban":"GB82WEST12345698765432"}} First 5 calls/day free per client on eligible tools, subject to service limits; some tools are always paid. A 402 response means payment is required; it is not an invalid-identifier result. This example does not sign or submit payment. ## Evaluation paths (micro-priced sampling) Agents evaluating catalog fit can sample micro-priced checks before committing a workflow to a paid shelf. Current live quotes: registry checks from $0.005 USDC; the seven revenue modules $0.005–0.01 — inspect each 402 challenge for the exact quote before signing. - Compliance/KYC: iban-check → lei-check → vat-mod97-check → ofac-sdn-check, then module einvoice-transform (POST https://hcrb.in/v1/modules/compliance/einvoice-transform). - Settlement/working capital: balance-check → settlement-history-check, then module accelerate-payout (POST https://hcrb.in/v1/modules/commerce/accelerate-payout). - FX: fx-spot-price-oracle → calculate-fx-savings, then module best-execution-quote (POST https://hcrb.in/fx/best-execution-quote). A path is an evaluation suggestion, not a bundle: every call settles independently at its own quote. No call in a path authorizes the next one. ## Prices and bounded payment - Current tool quotes: GET https://hcrb.in/health; payment capabilities: GET https://hcrb.in/.well-known/x402.json. - Published batch base price: $0.05 USDC for up to 50 supported items. Runtime quotes may include the configured gas-cost floor; inspect the actual challenge. - Batch request: POST https://hcrb.in/v1/tools/batch-validate/call with {"input":{"items":[{"tool":"iban-check","value":"GB82WEST12345698765432"}]}}. - x402 v2 HTTP: decode PAYMENT-REQUIRED; an authorized client sends PAYMENT-SIGNATURE; inspect PAYMENT-RESPONSE. Legacy X-PAYMENT compatibility is separate from the v2 format. - Before signing, enforce approved origin, resource, network, token, recipient, exact integer amount, expiry and per-call/total budget. A challenge is a quote, not permission to spend. Reject unsupported versions or unexpected terms; do not blindly follow redirects with payment headers. - After a second 402, a timeout, or uncertain settlement, stop automatic payment. Reconcile the original authorization and transaction before authorizing another charge. Never add server-claimed arrears to a new purchase without separately authorized terms and evidence. - Service payments are payer-to-seller; no customer deposit or escrow is required. A payment authorization, an invoice and a signed result are not evidence of settled funds. ## Scope and receipts - Identifier checks report format/checksum only; they do not prove account ownership, entity existence, active registration, tax status, solvency or absence of fraud. LEI checksum validation is not a registry lookup. - Address/jurisdiction sanctions screening is exact-match against the configured list. No match is not clearance. Experimental fuzzy-match-sanctions is a similarity signal, not a compliance decision. - Supported successful checks return XDR-1 receipts. Verify the returned receipt and expected signer; a valid signature proves integrity under that signer, not the truth of a business claim or settlement. - Receipt verification stays free: POST https://hcrb.in/v1/receipt/verify with {"receipt":{...}}, or POST https://hcrb.in/v1/receipt/verify/batch with {"receipts":[...]} for up to 1000 receipts per request (same implementation, per-item verdicts). Verifying keys: https://hcrb.in/.well-known/jwks.json — cacheable with an ETag and safe to mirror; key retirement is add-only, so old receipts keep verifying. - pre-disbursement-guard requires X-PREV-RECEIPT-HASH from the preceding check. That header links workflow evidence; it does not authorize a bank transfer. ## Decision-layer callers - GET https://hcrb.in/.well-known/mcp.json exposes decision_layer, including batch, prepaid_pass, cache and error fields; no service difference between callers for the same product. - Published starter-pass: $1 = 1000 checks; eligibility and term: https://hcrb.in/subscribe/start?plan=starter-pass (card or USDC). - Check HTTP status plus machine_code, retryable and resolution_url when present. Cache reuse does not imply a free call or successful settlement. ## Additional interfaces - Metered gate (bring your own upstream key): https://gate.hcrb.in — a spend cap, idempotency and a hash-chained ledger in front of API calls an agent already makes. Published prices: $0.001 per gated call (x402), $0.0008 prepaid, minimum top-up $0.10; the hash chain is public and free to verify. Manifest: https://gate.hcrb.in/.well-known/x402.json - A2A card: GET https://hcrb.in/.well-known/agent-card.json - UCP profile: GET https://hcrb.in/.well-known/ucp; inspect declared versions and capabilities. AP2 support is flow-specific. - Structural protocol diagnostics: GET https://hcrb.in/v1/protocols; POST /v1/protocols/check. These diagnostics are structural only and are not payment authorization. - Experimental compact catalog: GET https://hcrb.in/.well-known/micro-ast.json (JSON) or ?format=txt (one declaration per line); compiler: POST /api/ast/compile. This custom lossy format is not a substitute for the input schema or signed bytes. REST ids keep hyphens; MCP names replace hyphens with underscores. Load full schemas before constructing a call. No token savings or tool-selection uplift is guaranteed. - Status: GET https://hcrb.in/status; errors: GET https://hcrb.in/.well-known/x402-errors.json; security: GET https://hcrb.in/.well-known/security.txt. ## Public tools - crypto-ticker: Spot USD price for a crypto ticker or CoinGecko id from public price feeds, cached 60 s. Result carries a signed receipt. - erc20-balance: Raw and formatted ERC-20 balanceOf for an address on Base, with decimals read from the token. Result carries a signed receipt. - fx-spot-price-oracle: Reference fiat and stablecoin conversion rate from a static table, not a live feed. Returns rate and inverse; result carries a signed receipt. - block-info: Base chain (8453) block header data: block number, timestamp, transaction count and base fee for any block. Result carries a signed receipt. - tx-activity: Outbound transaction count (nonce) and contract-or-EOA check for an address on Base. Result carries a signed receipt. - token-contract-risk: Deterministic Base contract facts: ERC-20 metadata, proxy slots, owner(), privileged-function selectors and flags. Not a safety verdict. Result carries a signed receipt. - clean-markdown-scraper: Fetch a public web page by URL (or take your HTML) and return Markdown plus headings. No JavaScript rendering. Result carries a signed receipt. - context-distill: 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. - instant-json-schema-verifier: Validate JSON data payloads against schema definitions. Preflighted for agent tool call pipelines. - balance-check: Native ETH and one ERC-20 balance (default USDC) for an address on Base, raw and formatted. Result carries a signed receipt. - calculate-fx-savings: 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. - iban-check: Validate IBAN structure and MOD-97 checksum. Does not establish account ownership, beneficiary identity or absence of fraud. - lei-check: Validate a 20-character LEI and MOD-97 check digits. No registry lookup, active-registration check or legal-entity identity verification. - vat-mod97-check: Check the supported Belgian VAT format and MOD-97 checksum. BE only; not VIES, other EU VAT formats, registration status or tax compliance. - swift-bic-check: Check SWIFT/BIC structure and country code. Does not establish bank existence, active routing or beneficiary identity. - batch-validate: 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. - vendor-onboarding-pack: Check supplied IBAN, LEI, Belgian VAT and UK company-number fields in one result. Structural checks only; no ownership, registry or fraud clearance. - india-supplier-check: 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. - pre-disbursement-guard: 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. - gstin-check: Validate an Indian GSTIN by structure (2-digit state code + PAN + entity code + 'Z') and its mod-36 cross-sum checksum. - ifsc-check: Check the 11-character Indian IFSC format, including its fifth-character zero. No bank-branch registry lookup or account verification. - sanctions-address-screen: 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. - company-number-format: Check supported UK company-number syntax. No Companies House lookup, entity-existence check or active-registration verification. - aba-routing-check: 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. - ein-format-check: Validate US Employer Identification Number FORMAT (NN-NNNNNNN). Use during US business counterparty KYB verification. Returns signed XDR-1 receipt. - abn-check: Validate an Australian Business Number by its mod-89 checksum (11 digits). Required before invoice payment to Australian contractors. Returns signed XDR-1 receipt. - e164-check: 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. - sedol-check: Validate a UK/Ireland security identifier by its (1,3,1,7,3,9)-weight mod-10 checksum. Returns signed XDR-1 receipt. - isin-check: Validate an ISIN (ISO 6166) by structure and Luhn mod-10 check digit over the A=10…Z=35 converted string. - ean13-check: Validate an EAN-13 barcode by its mod-10 checksum (odd positions x1, even positions x3). - cnpj-check: 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. - uscc-check: 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. - japan-corp-check: 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. - kra-pin-check: 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. - rfc-check: 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. - iso4217-currency-check: 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). - upi-vpa-check: 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. - pan-format-check: 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). - uae-trn-check: Deterministic validation of UAE 15-digit Tax Registration Number (TRN) issued by the Federal Tax Authority (FTA) for VAT purposes. - china-supplier-check: One call, one receipt: USCC + settlement IBAN + SWIFT/BIC for a Chinese counterparty. Deterministic structure and checksum validation with explicit scope per identifier. - japan-supplier-check: One call, one receipt: 13-digit Corporate Number + settlement IBAN for a Japanese counterparty. Deterministic check digits, explicit scope. - latam-supplier-check: One call, one receipt: Brazilian CNPJ + Mexican RFC + settlement IBAN. Deterministic checks for the two largest LatAm corridors in one paid call. - gulf-supplier-check: One call, one receipt: UAE TRN + settlement IBAN + SWIFT/BIC. Deterministic structure validation for Gulf trade corridors, scope stated per identifier. - africa-supplier-check: One call, one receipt: Kenya KRA PIN + settlement IBAN + SWIFT/BIC. Deterministic structural checks for East African trade corridors. - rent-deposit-guard: Check deposit IBAN checksum and supplied country/viewing indicators. Rule-based risk signals only; no ownership verification, escrow protection or guarantee against theft. - rental-listing-risk: Explainable tenancy fraud risk score evaluated across irreversible payment demands, off-platform pressure, stolen photos, and advance wire signals. Deterministic rule engine. - rental-verdict: Combine deposit identifier checks with supplied country, viewing and listing indicators. Does not verify landlord identity, property ownership or safety of payment. - reconcile: 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. - create-b2b-invoice: 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. - get-b2b-invoice: 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. - simulate-spend-sentinel: 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. - aci-trust-lookup: 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. - csp-commitment-create: 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. - iso20022-validate: 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). - iso20022-to-x402-intent: 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. - check-price: 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. - receipt-verify: 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. Zero-custody, stateless statutory counterparty, IBAN (MOD-97), VAT/GST (EU VIES, UK Companies House, GLEIF LEI, Peppol, ABR, SEC EDGAR, OFAC, Poland Biala Lista, India IFSC), ISO 20022, and ECB Reference FX verification. - Canonical API Origin: https://hcrb.in - Streamable-HTTP MCP Server: https://hcrb.in/mcp (call tools/list for the live catalog) - Free Public XDR-1 Receipt Verifier: https://hcrb.in/verify (/v/:id) - Agent Rail (x402 v2): eip155:8453 Base USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) & Circle EURC (0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42) -> payTo 0xc59c85e661d34084a7769f955d17fd38254a6235 ($0.01-$0.05/call) - Operator Rail (Fiat Card): Authorization: Bearer ck_live_ ($49-$499/mo) or $99 Batch Pack via https://hcrb.in/checkout - Free Sandbox Fixtures: IBAN GB82WEST12345698765432, UK CRN 14043409, LEI 5493001KJTIIGC8Y1R12 [STATE: DISCOVERY] -> Call POST https://hcrb.in/v1/autonomous/commerce-guard or connect https://hcrb.in/mcp. [TRANSITION: ON_HTTP_402] -> Decode PAYMENT-REQUIRED header, sign EIP-3009 transferWithAuthorization, and retry with PAYMENT-SIGNATURE header; OR use Bearer ck_live_ token. [FALLBACK_TO_DETERMINISTIC_LOGIC] -> If HTTP 503 UPSTREAM_REGISTRY_UNAVAILABLE is returned, halt settlement; 0 funds or quota units are charged.