{"version":"1.0","name":"openfang-rail","description":"Deterministic business-identifier validation (IBAN/LEI/VAT/UK) + rental due-diligence (deposit-safety, listing-risk, signed verdict), paid per call via x402 (EIP-3009). No scraping, no ML.","pricing":{"take_rate_bps":0,"price_usdc_per_call":"0.00059","free_tier":"20 calls/day per client, then paid"},"receipts":{"format":"XDR-1","signature_scheme":"secp256k1","receipt_signing_address":"0xae851dde8a04c9e6a3a675c6679b5e53b148c118","canonical":"keccak256 over `v|tool|tool_version|input_hash|output_hash|payer|recipient|amount|nonce|ts|tier`; recover signer to verify","authorization":{"verify":"recover receipt signer from the receipt; confirm the attestation names that signer and is EIP-191-signed by authorized_by. Then the receipt is provably authorized by the operator wallet — no fund key ever touches the worker."}},"payment":{"protocol":"x402","network":"base","asset":"USDC","flow":"free tier, then: 402 challenge -> EIP-3009 X-PAYMENT voucher -> 200 + signed receipt"},"tools":[{"name":"iban-check","title":"IBAN check","description":"Validate an IBAN by ISO 13616 structure and MOD-97-10 checksum (offline, no bank lookup).","call":"POST /v1/tools/iban-check/call","input_schema":{"type":"object","required":["iban"],"properties":{"iban":{"type":"string","description":"IBAN to validate; spaces allowed."}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"valid":{"type":"boolean"},"normalized":{"type":"string"},"country":{"type":"string"},"reason":{"type":"string"},"scope":{"type":"string"}},"required":["valid","reason"]},"example_request":{"input":{"iban":"GB82 WEST 1234 5698 7654 32"}}},{"name":"lei-check","title":"LEI check","description":"Validate a Legal Entity Identifier (ISO 17442 + ISO 7064 MOD-97-10 check digits).","call":"POST /v1/tools/lei-check/call","input_schema":{"type":"object","required":["lei"],"properties":{"lei":{"type":"string","description":"20-character Legal Entity Identifier."}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"valid":{"type":"boolean"},"normalized":{"type":"string"},"country":{"type":"string"},"reason":{"type":"string"},"scope":{"type":"string"}},"required":["valid","reason"]},"example_request":{"input":{"lei":"529900T8BM49AURSDO55"}}},{"name":"vat-mod97-check","title":"VAT check (BE mod-97)","description":"Structural VAT check (BE mod-97 family).","call":"POST /v1/tools/vat-mod97-check/call","input_schema":{"type":"object","required":["vat_number"],"properties":{"vat_number":{"type":"string","description":"EU VAT id; BE mod-97 checksum (BE prefix optional)."}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"valid":{"type":"boolean"},"normalized":{"type":"string"},"country":{"type":"string"},"reason":{"type":"string"},"scope":{"type":"string"}},"required":["valid","reason"]},"example_request":{"input":{"vat_number":"BE0417497106"}}},{"name":"company-number-format","title":"UK company-number format","description":"Validate UK Companies House number format (not existence).","call":"POST /v1/tools/company-number-format/call","input_schema":{"type":"object","required":["company_number"],"properties":{"company_number":{"type":"string","description":"8 digits, or 2 letters + 6 digits."}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"valid":{"type":"boolean"},"normalized":{"type":"string"},"country":{"type":"string"},"reason":{"type":"string"},"scope":{"type":"string"}},"required":["valid","reason"]},"example_request":{"input":{"company_number":"12345678"}}},{"name":"rent-deposit-guard","title":"Rental deposit guard","description":"Rental deposit safety: IBAN checksum + property/deposit country alignment + pre-viewing flag.","call":"POST /v1/tools/rent-deposit-guard/call","input_schema":{"type":"object","required":["deposit_iban"],"properties":{"deposit_iban":{"type":"string","description":"IBAN the deposit would be paid to."},"property_country":{"type":"string","description":"ISO 3166-1 alpha-2 country of the property, e.g. DE."},"deposit_before_viewing":{"type":"boolean","description":"True if a deposit is demanded before any viewing."}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"risk_score":{"type":"number"},"band":{"type":"string","enum":["low","elevated","high"]},"flags":{"type":"array"},"flags_fired":{"type":"array"},"recommendation":{"type":"string"},"scope":{"type":"string"}},"required":["risk_score","band"]},"example_request":{"input":{"deposit_iban":"GB82WEST12345698765432","property_country":"DE","deposit_before_viewing":true}}},{"name":"rental-listing-risk","title":"Rental listing risk","description":"Explainable rental-fraud risk score over listing red-flag signals (deterministic rule engine).","call":"POST /v1/tools/rental-listing-risk/call","input_schema":{"type":"object","required":[],"properties":{"payment_irreversible":{"type":"boolean","description":"Paid via crypto/gift-card/wire-only."},"contact_moves_offplatform":{"type":"boolean","description":"Pushed off the listing platform."},"landlord_abroad_cannot_meet":{"type":"boolean","description":"Landlord 'abroad', can't meet in person."},"no_in_person_viewing":{"type":"boolean","description":"No viewing before payment."},"urgency_pressure":{"type":"boolean","description":"Pressure to secure today."},"photos_reverse_image_hit":{"type":"boolean","description":"Listing photos found elsewhere (stolen)."},"identity_docs_requested_upfront":{"type":"boolean","description":"Full ID/bank docs demanded upfront."},"price_below_market_pct":{"type":"number","description":"How far below local market the rent is asked, in percent."}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"risk_score":{"type":"number"},"band":{"type":"string","enum":["low","elevated","high"]},"flags":{"type":"array"},"flags_fired":{"type":"array"},"recommendation":{"type":"string"},"scope":{"type":"string"}},"required":["risk_score","band"]},"example_request":{"input":{"payment_irreversible":true,"no_in_person_viewing":true,"price_below_market_pct":45}}},{"name":"rental-verdict","title":"Rental verdict","description":"One combined, signed rental due-diligence verdict: deposit + landlord entity (LEI/company) + listing risk.","call":"POST /v1/tools/rental-verdict/call","input_schema":{"type":"object","required":["deposit_iban"],"properties":{"deposit_iban":{"type":"string","description":"Deposit IBAN."},"property_country":{"type":"string","description":"Property country, ISO alpha-2."},"deposit_before_viewing":{"type":"boolean"},"landlord_lei":{"type":"string","description":"Landlord LEI (optional)."},"landlord_company_no":{"type":"string","description":"Landlord UK company number (optional)."},"payment_irreversible":{"type":"boolean"},"contact_moves_offplatform":{"type":"boolean"},"no_in_person_viewing":{"type":"boolean"},"urgency_pressure":{"type":"boolean"},"price_below_market_pct":{"type":"number"}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"verdict":{"type":"string","enum":["clear","caution","high-risk"]},"risk_score":{"type":"number"},"band":{"type":"string"},"flags":{"type":"array"},"components":{"type":"object"},"summary":{"type":"string"},"scope":{"type":"string"}},"required":["verdict","risk_score"]},"example_request":{"input":{"deposit_iban":"GB82WEST12345698765432","property_country":"DE","deposit_before_viewing":true,"landlord_lei":"529900T8BM49AURSDO55"}}}]}