# facts402 > 13 pay-per-call facts APIs over x402 (USDC on Base): Base Token Contract Facts; Business Days & Holidays; x402 API Finder & Router; IBAN Validation & BIC Lookup; Phone Number Validation; Email Validation; Currency Exchange Rates (ECB); EU VAT Number Validation; Weather Forecast; Sunrise & Sunset Times; Domain Age & WHOIS Check; LEI Lookup (GLEIF); OFAC Sanctions Screening. Facts only, no ratings. Payment: x402 v2, scheme exact, USDC on Base mainnet (eip155:8453). An unpaid call gets HTTP 402 with the payment requirements in the PAYMENT-REQUIRED header; sign them with any x402 v2 client and retry with the PAYMENT-SIGNATURE header. Only a 2xx answer is ever settled: invalid input, no match and upstream failures are non-2xx and never charged. Paths must match exactly (no trailing slash, exact case). Machine-readable: https://api.facts402.com/openapi.json (OpenAPI 3.1; x-payment-info on every paid operation) and https://api.facts402.com/.well-known/x402 (x402 discovery document). ## How to use Pay-per-call facts APIs over x402 v2 (USDC on Base, scheme exact). Every paid route answers an unpaid request with a 402 quote; retry with the payment header. Failed or empty answers are non-2xx and never charged. Start with GET /v1/recommend?need= ($0.005) to find which x402 API (ours or anyone's) fits a task; GET / lists every route with an example body. ## Paid endpoints (13) ### POST /check - Base Token Contract Facts - $0.01 USDC Use when an agent needs raw facts about a Base ERC-20 contract, not a verdict: name, symbol, decimals, totalSupply, EIP-1967 proxy status, owner() and mint/pause/blacklist selectors in bytecode. Facts only, no ratings. $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}` Example call: `POST https://api.facts402.com/check` ### POST /business-days - Business Days & Holidays - $0.01 USDC Use when an agent needs public holidays and a business-day count for a date range in any of 200+ countries (and subdivisions), e.g. for deadlines, delivery dates, travel or scheduling: holiday names, weekend rule, business days and next business day. $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"country":"BG","start":"2026-12-21","end":"2027-01-08"}` Example call: `POST https://api.facts402.com/business-days` ### GET /v1/recommend - x402 API Finder & Router - $0.005 USDC Use when an agent must find which x402 API to call: takes need (the task in words) and returns the top-k paid endpoints (url, method, price, network, 30-day on-chain buyers, live-402 probe, risk flags, score) ranked over the x402-list.com catalog (CC BY 4.0) and sellers' own 402s. Own listings use the same formula. No match = 404. $0.005 USDC on Base; charged only on 2xx, never for invalid input. Example query: `{"need":"honeypot check base token","max_price":"0.05","network":"eip155:8453","k":"5"}` Example call: `GET https://api.facts402.com/v1/recommend?need=honeypot+check+base+token&max_price=0.05&network=eip155%3A8453&k=5` ### POST /iban - IBAN Validation & BIC Lookup - $0.01 USDC Use when an agent needs IBAN validation before saving bank details, invoicing or a payout: structure, mod-97 and national BBAN checksum where defined, plus country, bank code, account code, bank name, BIC and SEPA membership. Offline registry, instant. Checks structure, not whether the account exists. $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"iban":"DE89 3704 0044 0532 0130 00"}` Example call: `POST https://api.facts402.com/iban` ### POST /phone - Phone Number Validation - $0.01 USDC Use when an agent needs phone number validation for CRM, KYC or calling: valid/possible, E.164 and national formats, country, type (mobile, fixed line, toll-free, VoIP...), original carrier, location and time zones, for any number worldwide. Offline, instant. $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"number":"+44 20 7946 0018"}` Example call: `POST https://api.facts402.com/phone` ### POST /email - Email Validation - $0.01 USDC Use when an agent needs email validation before sending or saving a signup: RFC syntax and normalisation, live DNS (domain exists, MX, accepts mail, null MX), disposable-domain and role-account (info@, support@) flags. No SMTP probing and no mail sent, so it cannot prove a mailbox exists. $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"email":"support@github.com"}` Example call: `POST https://api.facts402.com/email` ### POST /fx - Currency Exchange Rates (ECB) - $0.01 USDC Use when an agent needs currency conversion at official European Central Bank reference rates for pricing, invoicing, travel budgets or accounting: ~30 currencies, latest or any day in the last 90 days, with the publication date used and exact decimal results. $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"amount":100.0,"from":"USD","to":"JPY"}` Example call: `POST https://api.facts402.com/fx` ### POST /vat - EU VAT Number Validation - $0.01 USDC Use when an agent needs EU VAT number validation for B2B invoicing, KYB or onboarding: offline format and check-digit test plus a live European Commission VIES lookup returning registration status, company name and address. Busy or offline member states return 503 and are not charged. $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"vat_number":"IE6388047V"}` Example call: `POST https://api.facts402.com/vat` ### POST /weather - Weather Forecast - $0.01 USDC Use when an agent needs a weather forecast for a latitude/longitude: current conditions plus up to 7 local-day summaries (min/max temperature, precipitation, max wind, weather symbol) in the local time zone. Data from MET Norway (CC BY 4.0). $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"lat":42.6977,"lon":23.3219,"days":2}` Example call: `POST https://api.facts402.com/weather` ### POST /sun - Sunrise & Sunset Times - $0.01 USDC Use when an agent needs sunrise and sunset times for coordinates and a date: solar noon, civil dawn/dusk, morning and evening golden hour and day length in local time; polar day/night flagged. Offline astronomy. $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"lat":41.9029,"lon":12.4534,"date":"2026-12-21"}` Example call: `POST https://api.facts402.com/sun` ### POST /domain - Domain Age & WHOIS Check - $0.01 USDC Use when an agent needs the age and WHOIS (RDAP) record of a domain, e.g. to spot freshly registered domains, qualify leads or vet links: registered or not, creation and expiry dates, age in days, registrar, EPP status codes, nameservers and DNSSEC. Accepts hosts like www.example.co.uk. $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"domain":"www.github.com"}` Example call: `POST https://api.facts402.com/domain` ### POST /lei - LEI Lookup (GLEIF) - $0.01 USDC Use when an agent needs an LEI lookup for KYB, onboarding or counterparty checks: from the official GLEIF index, by 20-char LEI get legal name, status, jurisdiction, legal and HQ address, registration dates, corroboration level and direct/ultimate parent; or search by company name (up to 5 candidates). $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"lei":"7LTWFZYICNSX8D621K86"}` Example call: `POST https://api.facts402.com/lei` ### POST /sanctions - OFAC Sanctions Screening - $0.01 USDC Use when an agent needs sanctions screening of a person, company, vessel or aircraft name: fuzzy match against the US Treasury OFAC SDN list incl. aliases (refreshed every 6 h), with matched entries, score, type, programs and remarks, plus the closest near-miss score. OFAC SDN only (no EU/UN lists). $0.01 USDC on Base; charged only on 2xx, never for invalid input. Example body: `{"name":"Banco Nacional de Cuba","min_score":88}` Example call: `POST https://api.facts402.com/sanctions` ## Free endpoints - GET https://api.facts402.com/: service catalog (JSON): every paid endpoint with an example body and its price - GET https://api.facts402.com/openapi.json: OpenAPI 3.1 description (x402scan discovery profile) - GET https://api.facts402.com/llms.txt: this document - GET https://api.facts402.com/.well-known/x402: x402 discovery document (JSON): every paid resource and its payment terms - GET https://api.facts402.com/v1/recommend/preview?need=: free router preview (top match only, 30 calls/day/IP) - GET https://api.facts402.com/v1/router/stats: router index statistics ## Notes - Direct USDC transfers (a txHash header instead of an x402 signature) are refused with HTTP 400 before any processing: pay with an x402 v2 signature (PAYMENT-SIGNATURE header). - POST /check: Raw on-chain facts read from Base mainnet at the given block. Not an opinion, rating, audit or investment advice. Selector matches only show that a 4-byte function selector appears as a PUSH4 constant in the scanned bytecode (proxy and, if found, its implementation); they do not prove who can call the function or that it works, and selectors with a leading zero byte or unusual proxy patterns may be missed.