Skip to content
Back to code402

Card snapshot

hcrb.in · 2026-10-07 07:00:17 UTC · 2c2e43aeded0f5772316c3c1db0805bc252490c280ad2f3f0ec9c612ea7ce5d0

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "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://hcrb.in/a2a",
  "preferredTransport": "StreamableHTTP",
  "protocolVersion": "0.3.0",
  "version": "1.3.0",
  "provider": {
    "organization": "openfang",
    "url": "https://hcrb.in",
    "legalName": "JUANA LIMITED",
    "companyNumber": "14043409",
    "addressLocality": "Coventry, UK"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "micro_ast_bytecode": 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 \u2014 declare via POST /a2a message/send",
        "required": false
      }
    ]
  },
  "discovery_standards": {
    "micro_ast": "https://hcrb.in/.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); full list: ?all=1",
    "context_window_compression": "estimated per schema; see token_estimation in the Micro-AST catalogue"
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "crypto-ticker",
      "name": "Crypto ticker",
      "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"
      ],
      "examples": [
        {
          "symbol": "btc"
        }
      ]
    },
    {
      "id": "erc20-balance",
      "name": "ERC-20 Token Balance Snapshot",
      "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"
      ],
      "examples": [
        {
          "address": "0xc59c85e661d34084a7769f955d17fd38254a6235",
          "token_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        }
      ]
    },
    {
      "id": "fx-spot-price-oracle",
      "name": "FX spot price oracle",
      "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"
      ],
      "examples": [
        {
          "base": "EUR",
          "quote": "USD"
        }
      ]
    },
    {
      "id": "block-info",
      "name": "Base Block Header Info",
      "description": "Base block header: number, timestamp, transaction count and base fee for the latest or a given block. Result carries a signed receipt.",
      "micro_ast": "block-info(block:str?)->tool:str,valid:bool,block:str",
      "tags": [
        "validation",
        "x402",
        "base",
        "mcp"
      ],
      "examples": [
        {
          "block": "latest"
        }
      ]
    },
    {
      "id": "tx-activity",
      "name": "Tx Activity & Contract Detection",
      "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"
      ],
      "examples": [
        {
          "address": "0xc59c85e661d34084a7769f955d17fd38254a6235"
        }
      ]
    },
    {
      "id": "token-contract-risk",
      "name": "Token contract facts (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"
      ],
      "examples": [
        {
          "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        }
      ]
    },
    {
      "id": "clean-markdown-scraper",
      "name": "Clean markdown scraper",
      "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"
      ],
      "examples": [
        {
          "url": "https://example.com/"
        }
      ]
    },
    {
      "id": "context-distill",
      "name": "Context distill",
      "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 \u2014 no external calls, no ML.",
      "micro_ast": "context-distill(text:str!)->tool:str,valid:bool,word_count:num",
      "tags": [
        "validation",
        "x402",
        "base",
        "mcp"
      ],
      "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",
      "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"
      ],
      "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",
      "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"
      ],
      "examples": [
        {
          "address": "0xc59c85e661d34084a7769f955d17fd38254a6235"
        }
      ]
    },
    {
      "id": "calculate-fx-savings",
      "name": "Calculate cross-border FX savings",
      "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"
      ],
      "examples": [
        {
          "amount_usdc": 50000,
          "currency": "BRL"
        }
      ]
    },
    {
      "id": "iban-check",
      "name": "IBAN Structure and Checksum Check",
      "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"
      ],
      "examples": [
        {
          "iban": "GB82 WEST 1234 5698 7654 32"
        }
      ]
    },
    {
      "id": "lei-check",
      "name": "LEI Structure and Checksum Check",
      "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"
      ],
      "examples": [
        {
          "lei": "529900T8BM49AURSDO55"
        }
      ]
    },
    {
      "id": "vat-mod97-check",
      "name": "Belgian VAT MOD-97 Check",
      "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"
      ],
      "examples": [
        {
          "vat_number": "BE0417497106"
        }
      ]
    },
    {
      "id": "swift-bic-check",
      "name": "SWIFT/BIC Structure Check",
      "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"
      ],
      "examples": [
        {
          "bic": "DEUTDEFF500"
        }
      ]
    },
    {
      "id": "batch-validate",
      "name": "Batch Identifier Checks (up to 50 items)",
      "description": "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.",
      "micro_ast": "batch-validate(items:arr!)->tool:str,count:num,valid_count:num",
      "tags": [
        "validation",
        "x402",
        "base",
        "mcp"
      ],
      "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",
      "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"
      ],
      "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",
      "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"
      ],
      "examples": [
        {
          "gstin": "27AAPFU0939F1ZV",
          "pan": "AAACP1234M",
          "vpa": "merchant@okhdfcbank",
          "ifsc": "HDFC0001234"
        }
      ]
    },
    {
      "id": "pre-disbursement-guard",
      "name": "Counterparty Risk Indicators",
      "description": "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.",
      "micro_ast": "pre-disbursement-guard(?[recipient_iban,vendor_domain,+6])->tool:str,clear_to_disburse:bool,risk_level:str",
      "tags": [
        "validation",
        "x402",
        "base",
        "mcp"
      ],
      "examples": [
        {
          "recipient_iban": "GB82WEST12345698765432",
          "vendor_domain": "billing@acme-consulting.co.uk",
          "declared_country": "GB",
          "company_number": "01234567",
          "invoice_amount_usd": 4500
        }
      ]
    },
    {
      "id": "gstin-check",
      "name": "GSTIN check (India)",
      "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"
      ],
      "examples": [
        {
          "gstin": "27AAPFU0939F1ZV"
        }
      ]
    },
    {
      "id": "ifsc-check",
      "name": "IFSC Format Check",
      "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"
      ],
      "examples": [
        {
          "ifsc": "HDFC0000123"
        }
      ]
    },
    {
      "id": "sanctions-address-screen",
      "name": "OFAC SDN & Sanctions List Edge Screener",
      "description": "Deterministic screen of EVM addresses and jurisdictions against a curated local blocklist of sanctioned addresses and prohibited jurisdictions. Address- and jurisdiction-level only \u2014 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.",
      "micro_ast": "sanctions-address-screen(subject:str!)->tool:str,valid:bool,is_sanctioned:bool",
      "tags": [
        "validation",
        "x402",
        "base",
        "mcp"
      ],
      "examples": [
        {
          "subject": "0x7f367cc41522ce07553e823bf3be79a889debe1b"
        }
      ]
    },
    {
      "id": "check-price",
      "name": "Zero-cost price index and gasless x402 quote generator",
      "description": "Instant zero-cost pricing hook for code402 tools. Returns the live price, an opaque quote_id, TTL, and the settlement URL. Free forever \u2014 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"
      ],
      "examples": [
        {
          "tool": "iban-check",
          "amount": 1
        }
      ]
    },
    {
      "id": "receipt-verify",
      "name": "Verify any XDR-1 receipt \u2014 free, stateless, any issuer",
      "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 \u2014 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"
      ],
      "examples": [
        {
          "receipt": {
            "v": "XDR-1",
            "tool": "iban-check",
            "tool_version": "1",
            "input_hash": "0x\u2026",
            "output_hash": "0x\u2026",
            "payer": "0xc59c85e661d34084a7769f955d17fd38254a6235",
            "recipient": "0xc59c85e661d34084a7769f955d17fd38254a6235",
            "amount": "0",
            "nonce": "0x\u2026",
            "ts": 0,
            "tier": "free",
            "signer": "0xa036e2e3e19c6d02f30b3a9eb0acd057e6d9a5c8",
            "signature": "0x\u2026"
          }
        }
      ]
    }
  ],
  "x402": {
    "payment": "USDC on Base per call (EIP-3009)",
    "free_tier": "5 calls/day",
    "manifests": [
      "https://hcrb.in/.well-known/x402.json",
      "https://hcrb.in/.well-known/mcp.json",
      "https://hcrb.in/.well-known/micro-ast.json"
    ],
    "caip10_payee": "eip155:8453:0xc59c85e661d34084a7769f955d17fd38254a6235",
    "caip19_asset": "eip155:8453/erc20:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
  }
}