{"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,"mode":"dynamic-dutch","price_usdc_per_call":"per-tool, dynamic (see tools[].price_usdc floor + price_usdc_ceiling)","rule":"idle price decays exponentially to the per-tool floor (tau=1800s); every settled sale bumps it x1.5, capped at x5 of the floor; GET /health quotes live prices","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":{"authorized_by":"0xc59c85e661d34084a7769f955d17fd38254a6235","attestation":"openfang-rail: I authorize receipt-signer 0xae851dde8a04c9e6a3a675c6679b5e53b148c118 to issue XDR-1 receipts on my behalf. authorized_by=0xc59c85e661d34084a7769f955d17fd38254a6235","attestation_sig":"0x97e5f9ceaf22b7c9b050f9830894a82a07ef52f4d31e59eee59119ab51e0c7e150a44352cbe4e45b98f967ca6c2f09297e8af1e4816426ab26e85aa1fbdfff731c","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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"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"]},"price_usdc":0.02,"price_usdc_ceiling":0.1,"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"]},"price_usdc":0.02,"price_usdc_ceiling":0.1,"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"]},"price_usdc":0.05,"price_usdc_ceiling":0.25,"example_request":{"input":{"deposit_iban":"GB82WEST12345698765432","property_country":"DE","deposit_before_viewing":true,"landlord_lei":"529900T8BM49AURSDO55"}}},{"name":"batch-validate","title":"Batch validate (up to 50 checks, one payment)","description":"Run up to 50 identifier checks (IBAN / LEI / VAT / UK company / SWIFT / ABA / EIN / IFSC / ABN / Luhn / ISBN / E.164 / SEDOL) in ONE paid call: one voucher, one settlement, one signed XDR-1 receipt covering the whole batch. Flat price regardless of count — at 50 items, 10x cheaper per check than single calls.","call":"POST /v1/tools/batch-validate/call","input_schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","minItems":1,"maxItems":50,"description":"List of {tool, value} checks (max 50).","items":{"type":"object","required":["tool","value"],"properties":{"tool":{"type":"string","enum":["iban-check","lei-check","vat-mod97-check","company-number-format","swift-bic-check","aba-routing-check","ein-format-check","ifsc-check","abn-check","luhn-check","isbn-check","e164-check","sedol-check"],"description":"which validator to run"},"value":{"type":"string","description":"the identifier to check"}}}}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"count":{"type":"number"},"valid_count":{"type":"number"},"invalid_count":{"type":"number"},"results":{"type":"array"},"scope":{"type":"string"}},"required":["count","results"]},"price_usdc":0.05,"price_usdc_ceiling":0.25,"example_request":{"input":{"items":[{"tool":"iban-check","value":"GB82 WEST 1234 5698 7654 32"},{"tool":"lei-check","value":"529900T8BM49AURSDO55"},{"tool":"vat-mod97-check","value":"BE0417497106"}]}}},{"name":"swift-bic-check","title":"SWIFT/BIC check","description":"Validate a SWIFT/BIC code by ISO 9362 structure (bank code, ISO country, location, optional branch).","call":"POST /v1/tools/swift-bic-check/call","input_schema":{"type":"object","required":["bic"],"properties":{"bic":{"type":"string","description":"SWIFT/BIC code, 8 or 11 characters; spaces/dashes 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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"example_request":{"input":{"bic":"DEUTDEFF500"}}},{"name":"aba-routing-check","title":"ABA routing check (US)","description":"Validate a US ABA routing number by its (3,7,1)-weight mod-10 checksum.","call":"POST /v1/tools/aba-routing-check/call","input_schema":{"type":"object","required":["aba_routing"],"properties":{"aba_routing":{"type":"string","description":"9-digit US bank routing number."}}},"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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"example_request":{"input":{"aba_routing":"021000021"}}},{"name":"ein-format-check","title":"EIN format check (US)","description":"Validate US Employer Identification Number FORMAT (NN-NNNNNNN). No public EIN checksum exists.","call":"POST /v1/tools/ein-format-check/call","input_schema":{"type":"object","required":["ein"],"properties":{"ein":{"type":"string","description":"US EIN, 9 digits; dashes/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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"example_request":{"input":{"ein":"12-3456789"}}},{"name":"ifsc-check","title":"IFSC check (India)","description":"Validate an Indian IFSC by RBI structure (BBBB0NNNNNN; 5th character always 0).","call":"POST /v1/tools/ifsc-check/call","input_schema":{"type":"object","required":["ifsc"],"properties":{"ifsc":{"type":"string","description":"11-character Indian Financial System Code."}}},"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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"example_request":{"input":{"ifsc":"HDFC0000123"}}},{"name":"abn-check","title":"ABN check (Australia)","description":"Validate an Australian Business Number by its mod-89 checksum (11 digits).","call":"POST /v1/tools/abn-check/call","input_schema":{"type":"object","required":["abn"],"properties":{"abn":{"type":"string","description":"11-digit Australian Business Number; 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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"example_request":{"input":{"abn":"51 824 753 556"}}},{"name":"luhn-check","title":"Luhn check","description":"Validate any 12-19 digit number by the Luhn mod-10 algorithm (card-style checksums). Never submit real card numbers.","call":"POST /v1/tools/luhn-check/call","input_schema":{"type":"object","required":["number"],"properties":{"number":{"type":"string","description":"12-19 digit number; spaces/dashes 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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"example_request":{"input":{"number":"4111111111111111"}}},{"name":"isbn-check","title":"ISBN check","description":"Validate an ISBN-10 (mod-11) or ISBN-13 (1,3-weight mod-10) checksum.","call":"POST /v1/tools/isbn-check/call","input_schema":{"type":"object","required":["isbn"],"properties":{"isbn":{"type":"string","description":"ISBN-10 or ISBN-13; dashes/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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"example_request":{"input":{"isbn":"978-0-306-40615-7"}}},{"name":"e164-check","title":"E.164 phone check","description":"Validate a phone number's E.164 structure (+CC, 8-15 digits, no leading zero).","call":"POST /v1/tools/e164-check/call","input_schema":{"type":"object","required":["phone"],"properties":{"phone":{"type":"string","description":"International phone number, e.g. +14155552671."}}},"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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"example_request":{"input":{"phone":"+14155552671"}}},{"name":"sedol-check","title":"SEDOL check","description":"Validate a UK/Ireland security identifier by its (1,3,1,7,3,9)-weight mod-10 checksum.","call":"POST /v1/tools/sedol-check/call","input_schema":{"type":"object","required":["sedol"],"properties":{"sedol":{"type":"string","description":"7-character SEDOL code."}}},"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"]},"price_usdc":0.000999,"price_usdc_ceiling":0.004995,"example_request":{"input":{"sedol":"B0YBKJ7"}}},{"name":"vendor-onboarding-pack","title":"Vendor onboarding pack","description":"Screen a vendor's identifiers in ONE signed call: IBAN + LEI + VAT + UK company number — each checksummed, one verdict, one receipt. Half the price of four single checks.","call":"POST /v1/tools/vendor-onboarding-pack/call","input_schema":{"type":"object","required":[],"properties":{"iban":{"type":"string","description":"Vendor IBAN (optional)."},"lei":{"type":"string","description":"Vendor LEI (optional)."},"vat_number":{"type":"string","description":"Vendor VAT number, BE mod-97 (optional)."},"company_number":{"type":"string","description":"Vendor UK company number (optional)."}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"checked_count":{"type":"number"},"all_valid":{"type":"boolean"},"verdict":{"type":"string"},"results":{"type":"array"},"scope":{"type":"string"}},"required":["checked_count","all_valid"]},"price_usdc":0.02,"price_usdc_ceiling":0.1,"example_request":{"input":{"iban":"GB82 WEST 1234 5698 7654 32","lei":"529900T8BM49AURSDO55","vat_number":"BE0417497106","company_number":"12345678"}}},{"name":"settlement-history-check","title":"Settlement history (counterparty proof)","description":"On-chain counterparty check: USDC transfers SENT and RECEIVED by an address over the last ~48h of Base blocks (counts, volumes, sample tx hashes). Preflighted so you never pay during an RPC outage.","call":"POST /v1/tools/settlement-history-check/call","input_schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"EVM address, 0x-prefixed."}}},"output_schema":{"type":"object","properties":{"tool":{"type":"string"},"valid":{"type":"boolean"},"address":{"type":"string"},"usdc_sent":{"type":"object"},"usdc_received":{"type":"object"},"scope":{"type":"string"}},"required":["valid","address"]},"price_usdc":0.02,"price_usdc_ceiling":0.1,"example_request":{"input":{"address":"0xc59c85e661d34084a7769f955d17fd38254a6235"}}}]}