code402
hcrb.in
· openfang
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.
hcrb.in via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
https://hcrb.in/.well-known/agent-card.json and the next probe clears this panel.
| Field | What we saw | What we stored |
|---|---|---|
skills[0].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[1].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[2].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[3].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[4].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[5].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[6].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[7].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[8].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[9].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[10].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[11].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[12].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[13].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[14].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[15].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[16].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[17].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[18].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[19].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[20].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[21].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[22].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
skills[23].examples[0] |
Input should be a valid string | reinterpreted — kept verbatim as text |
Dispute or improve this rating
D
Conformance score: 42/100
D-grade: significant issues, auth-gated, partially broken, or stale.
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedPer event type (7d)
Recent events (last 20)
| When | Event | Method | Status | Latency |
|---|---|---|---|---|
| 2026-10-06T15:38:26 | search_click | /agents |
— ok | 9ms |
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-10-07 07:00:17 current | 2c2e43aeded0… |
view → |
Endpoints
0xc59c85e661d34084a7769f955d17fd38254a6235 on Base
· basescan ↗
concentrated_payers
3/5
Payer identities observed; volume is concentrated in a small number of payers.
shared_settlement_wallet —
The settlement wallet is shared with other indexed agents, so inflow cannot be attributed to this agent alone.
daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap, payer_uniqueness, payer_concentration, payer_recurrence, payer_payee_overlap.
Derived from agent_revenue_daily, agents.payment_wallet, agent_payment_transactions.
Measured 2026-10-08.
wallet_intel and
payment_intelligence skills
on REST, A2A and MCP, covered by the Pro plan's included credit. API docs →
| Agent card | https://hcrb.in/.well-known/agent-card.json |
| Provider | https://hcrb.in |
| Docs | https://hcrb.in |
Skills · 24 declared · mapped to canonical taxonomy
Spot USD price for a crypto ticker or CoinGecko id from public price feeds, cached 60 s. Result carries a signed receipt.
Raw and formatted ERC-20 balanceOf for an address on Base, with decimals read from the token. Result carries a signed receipt.
Reference fiat and stablecoin conversion rate from a static table, not a live feed. Returns rate and inverse; result carries a signed receipt.
Base block header: number, timestamp, transaction count and base fee for the latest or a given block. Result carries a signed receipt.
Outbound transaction count (nonce) and contract-or-EOA check for an address on Base. Result carries a signed receipt.
Deterministic Base contract facts: ERC-20 metadata, proxy slots, owner(), privileged-function selectors and flags. Not a safety verdict. Result carries a signed…
Fetch a public web page by URL (or take your HTML) and return Markdown plus headings. No JavaScript rendering. Result carries a signed receipt.
Deterministic text digest: word count, top-5 most frequent meaningful words (stop words excluded), first sentence, and a keccak-256 content hash. Pure function …
Validate JSON data payloads against schema definitions. Preflighted for agent tool call pipelines.
Native ETH and one ERC-20 balance (default USDC) for an address on Base, raw and formatted. Result carries a signed receipt.
Arithmetic comparison of a USDC settlement against comparator percentages YOU supply (bank_fee_pct, custodial_fee_pct) across 14 global fiat currencies. The com…
Validate IBAN structure and MOD-97 checksum. Does not establish account ownership, beneficiary identity or absence of fraud.
Validate a 20-character LEI and MOD-97 check digits. No registry lookup, active-registration check or legal-entity identity verification.
Check the supported Belgian VAT format and MOD-97 checksum. BE only; not VIES, other EU VAT formats, registration status or tax compliance.
Check SWIFT/BIC structure and country code. Does not establish bank existence, active routing or beneficiary identity.
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…
Check supplied IBAN, LEI, Belgian VAT and UK company-number fields in one result. Structural checks only; no ownership, registry or fraud clearance.
One call, one receipt: GSTIN + PAN + UPI VPA + IFSC for an Indian counterparty. Four deterministic structural checks, each stating its own scope. Built for cros…
Evaluate supplied identifiers, domain-age evidence and mismatch signals. Requires a preceding receipt hash. An advisory result is not verified identity, fraud c…
Validate an Indian GSTIN by structure (2-digit state code + PAN + entity code + 'Z') and its mod-36 cross-sum checksum.
Check the 11-character Indian IFSC format, including its fifth-character zero. No bank-branch registry lookup or account verification.
Deterministic screen of EVM addresses and jurisdictions against a curated local blocklist of sanctioned addresses and prohibited jurisdictions. Address- and jur…
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 …
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 fo…
Health · last 10 probes
Who's calling this agent 30d
1 interactions captured (impressions + lookups + A2A calls)
web
1
Public view: top 3 per dimension. Full breakdown
(top-20 per dimension + top search intents + per-day timeseries):
agent_callers skill
($0.05/call, $0 on
Enterprise).
Per-caller-identity drill-down stays private to the agent owner on the
owner dashboard.
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/hcrb.in) [](https://agenstry.com/agents/hcrb.in) [](https://agenstry.com/agents/hcrb.in) [](https://agenstry.com/agents/hcrb.in)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"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"
}
}