{"name":"AddressValidator","description":"Valide une adresse de livraison brute : parsing, standardisation, vérification auprès du fournisseur, géocodage, puis score de livrabilité (residential / commercial / unknown / invalid) avec niveau de confiance.","version":"1.0.0","category":"data","tags":["address","validation","delivery","logistics","ecommerce","geocoding"],"price":0.02,"currency":"USDC","protocol":"x402","payment":{"protocol":"x402","x402_version":1,"header":"X-PAYMENT","response_header":"X-PAYMENT-RESPONSE","encoding":"base64(json)","freshness_window_seconds":300,"wallet":"0x0fe9afb42021cbcbed9da7473f619026fe42d339","network":"base","usdc_contract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"20000","resource":"https://kder-ai.com/validate","description":"Validate and standardize a delivery address: parsing, provider verification (US-optimized), geocoding and a deliverability score, as JSON. 0.02 USDC per call on Base. Useful before shipping to or storing an address.","mimeType":"application/json","outputSchema":{"$defs":{"AddressOutput":{"properties":{"validated":{"title":"Validated","type":"boolean"},"standardized":{"title":"Standardized","type":"object"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Longitude"},"deliverability":{"title":"Deliverability","type":"string"},"confidence":{"title":"Confidence","type":"number"},"degraded":{"default":false,"title":"Degraded","type":"boolean"},"cache_key":{"title":"Cache Key","type":"string"}},"required":["validated","standardized","deliverability","confidence","cache_key"],"title":"AddressOutput","type":"object"}},"properties":{"result":{"$ref":"#/$defs/AddressOutput"},"price_paid":{"title":"Price Paid","type":"number"},"transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Transaction Id"}},"required":["result","price_paid"],"title":"ValidationResponse","type":"object"},"payTo":"0x0fe9afb42021cbcbed9da7473f619026fe42d339","maxTimeoutSeconds":300,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","extra":{"name":"USD Coin","version":"2"}}],"v2":{"required_header":"PAYMENT-REQUIRED","header":"PAYMENT-SIGNATURE","response_header":"PAYMENT-RESPONSE","network":"eip155:8453","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"20000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x0fe9afb42021cbcbed9da7473f619026fe42d339","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}]},"facilitator":"https://api.cdp.coinbase.com/platform/v2/x402","settlement_required":true,"settlement_confirmations":1,"legacy_proof":{"header":"X-Payment-Proof","format":"tx_hash:timestamp:hmac_sha256","audience":"operator-tooling"},"x402_standard":{"compliant":true,"missing":[],"verified":["corps 402 au format PaymentRequired (x402Version + accepts[])","signature EIP-712 TransferWithAuthorization (EIP-3009) verifiee hors ligne","reglement par facilitateur (/verify puis /settle) avant tout service","en-tete X-PAYMENT-RESPONSE publie sur les appels payes","x402 v2 : offre dans PAYMENT-REQUIRED, paiement par PAYMENT-SIGNATURE, recu dans PAYMENT-RESPONSE","extension bazaar (catalogue Coinbase) dans l'offre v2"]}},"endpoints":{"validate":{"method":"POST","path":"/validate","price":0.02,"currency":"USDC","input_schema":{"$defs":{"AddressInput":{"properties":{"street":{"description":"Numéro et nom de rue","title":"Street","type":"string"},"city":{"description":"Ville","title":"City","type":"string"},"state":{"description":"État ou région","title":"State","type":"string"},"zip":{"description":"Code postal","title":"Zip","type":"string"},"country":{"default":"US","description":"Code pays ISO 2 lettres","title":"Country","type":"string"}},"required":["street","city","state","zip"],"title":"AddressInput","type":"object"}},"properties":{"address":{"$ref":"#/$defs/AddressInput"}},"required":["address"],"title":"ValidationRequest","type":"object"},"output_schema":{"$defs":{"AddressOutput":{"properties":{"validated":{"title":"Validated","type":"boolean"},"standardized":{"title":"Standardized","type":"object"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Longitude"},"deliverability":{"title":"Deliverability","type":"string"},"confidence":{"title":"Confidence","type":"number"},"degraded":{"default":false,"title":"Degraded","type":"boolean"},"cache_key":{"title":"Cache Key","type":"string"}},"required":["validated","standardized","deliverability","confidence","cache_key"],"title":"AddressOutput","type":"object"}},"properties":{"result":{"$ref":"#/$defs/AddressOutput"},"price_paid":{"title":"Price Paid","type":"number"},"transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Transaction Id"}},"required":["result","price_paid"],"title":"ValidationResponse","type":"object"},"errors":{"402":{"description":"Paiement absent ou refusé : en-tête X-PAYMENT (signature EIP-712 EIP-3009) illisible, périmé, mal dirigé, montant insuffisant, ou règlement refusé par le facilitateur. Le corps porte l'offre exacte dans `accepts[]`, et `X-PAYMENT-RESPONSE` dit pourquoi.","body_example":{"x402Version":1,"error":"Payment required to access this resource","accepts":[{"scheme":"exact","network":"base","maxAmountRequired":"20000","resource":"https://kder-ai.com/validate","description":"Validate and standardize a delivery address: parsing, provider verification (US-optimized), geocoding and a deliverability score, as JSON. 0.02 USDC per call on Base. Useful before shipping to or storing an address.","mimeType":"application/json","outputSchema":{"$defs":{"AddressOutput":{"properties":{"validated":{"title":"Validated","type":"boolean"},"standardized":{"title":"Standardized","type":"object"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Longitude"},"deliverability":{"title":"Deliverability","type":"string"},"confidence":{"title":"Confidence","type":"number"},"degraded":{"default":false,"title":"Degraded","type":"boolean"},"cache_key":{"title":"Cache Key","type":"string"}},"required":["validated","standardized","deliverability","confidence","cache_key"],"title":"AddressOutput","type":"object"}},"properties":{"result":{"$ref":"#/$defs/AddressOutput"},"price_paid":{"title":"Price Paid","type":"number"},"transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Transaction Id"}},"required":["result","price_paid"],"title":"ValidationResponse","type":"object"},"payTo":"0x0fe9afb42021cbcbed9da7473f619026fe42d339","maxTimeoutSeconds":300,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","extra":{"name":"USD Coin","version":"2"}}],"price":0.02,"currency":"USDC","wallet":"0x0fe9afb42021cbcbed9da7473f619026fe42d339","network":"base","protocol":"x402","version":"1.0"}},"422":{"description":"Corps JSON invalide : `address` et ses champs `street`, `city`, `state`, `zip` sont requis."}},"examples":[{"name":"adresse residentielle US","request":{"address":{"street":"1600 Amphitheatre Parkway","city":"Mountain View","state":"CA","zip":"94043","country":"US"}},"response_200":{"result":{"validated":true,"standardized":{"line1":"1600 Amphitheatre Parkway","line2":"","city":"Mountain View","state":"CA","zip":"94043","country":"US"},"latitude":37.422,"longitude":-122.084,"deliverability":"residential","confidence":1.0,"degraded":false,"cache_key":"<sha256 de l'adresse brute>"},"price_paid":0.02,"transaction_id":null}},{"name":"adresse hors couverture, mode degrade (degraded=true)","request":{"address":{"street":"12 rue de la Paix","city":"Paris","state":"IDF","zip":"75002","country":"FR"}},"response_200":{"result":{"validated":false,"standardized":{"line1":"12 rue de la Paix","line2":"","city":"Paris","state":"IDF","zip":"75002","country":"FR"},"latitude":null,"longitude":null,"deliverability":"unknown","confidence":0.2,"degraded":true,"cache_key":"<sha256 de l'adresse brute>"},"price_paid":0.02,"transaction_id":null}}]},"mcp":{"method":"POST","path":"/mcp","protocol":"json-rpc-2.0","transport":"streamable-http","tool":"validate_address","discovery_card":"https://kder-ai.com/.well-known/mcp-server","price":0.02,"currency":"USDC","input_schema":{"$defs":{"AddressInput":{"properties":{"street":{"description":"Numéro et nom de rue","title":"Street","type":"string"},"city":{"description":"Ville","title":"City","type":"string"},"state":{"description":"État ou région","title":"State","type":"string"},"zip":{"description":"Code postal","title":"Zip","type":"string"},"country":{"default":"US","description":"Code pays ISO 2 lettres","title":"Country","type":"string"}},"required":["street","city","state","zip"],"title":"AddressInput","type":"object"}},"properties":{"address":{"$ref":"#/$defs/AddressInput"}},"required":["address"],"title":"ValidationRequest","type":"object"},"output_schema":{"$defs":{"AddressOutput":{"properties":{"validated":{"title":"Validated","type":"boolean"},"standardized":{"title":"Standardized","type":"object"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Longitude"},"deliverability":{"title":"Deliverability","type":"string"},"confidence":{"title":"Confidence","type":"number"},"degraded":{"default":false,"title":"Degraded","type":"boolean"},"cache_key":{"title":"Cache Key","type":"string"}},"required":["validated","standardized","deliverability","confidence","cache_key"],"title":"AddressOutput","type":"object"}},"properties":{"result":{"$ref":"#/$defs/AddressOutput"},"price_paid":{"title":"Price Paid","type":"number"},"transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Transaction Id"}},"required":["result","price_paid"],"title":"ValidationResponse","type":"object"},"free_methods":["initialize","ping","tools/list","resources/list","prompts/list"],"paid_methods":["tools/call"],"payment":{"x402_version":2,"meta_key":"x402/payment","response_meta_key":"x402/payment-response","resource_url":"mcp://tool/validate_address","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"20000","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","payTo":"0x0fe9afb42021cbcbed9da7473f619026fe42d339","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"v1_header":"X-PAYMENT"},"errors":{"isError":{"description":"Paiement absent ou refusé : résultat d'outil isError=true dont structuredContent est le PaymentRequired x402 v2 (réseau eip155:8453, amount, payTo) et content[0].text le même document. Un paiement présenté puis refusé joint son reçu d'échec dans x402/payment-response."}}}},"use_cases":[{"secteur":"e-commerce","besoin":"verifier une adresse de livraison avant expedition","valeur":"reduire les echecs de livraison et les retours"},{"secteur":"logistique","besoin":"nettoyer un lot de commandes avant preparation","valeur":"eviter les colis non distribuables"},{"secteur":"marketplaces","besoin":"valider les adresses vendeurs ou acheteurs a l'inscription","valeur":"fiabiliser la base d'adresses"},{"secteur":"agents IA","besoin":"verifier une adresse demandee par un utilisateur","valeur":"un appel paye, sans abonnement ni compte"}],"limitations":["Couverture : les adresses des Etats-Unis sont verifiees par SmartyStreets (USPS DPV, code Y/S/D requis) ; celles de France et d'outre-mer par la Base Adresse Nationale (BAN : score >= 0.8, code postal et ville confrontes) ; les adresses internationales des autres pays sont acceptees mais leur verification reste partielle.","Mode degrade : si le fournisseur est injoignable, la reponse reste un 200 avec degraded=true et confidence basse. Lire degraded avant de conclure.","Paiement : protocole x402 v1 (en-tete X-PAYMENT, base64 d'un PaymentPayload signe EIP-712) regle par le facilitateur avant tout service : 0,02 USDC sur Base. La voie heritage a secret partage (X-Payment-Proof) reste ouverte pour l'outillage de l'exploitant, mais elle n'est pas publiable : un agent tiers paie en x402.","La voie x402 ne traite aucun identifiant de personne : pas de compte, pas de nom, pas d'e-mail. L'abonnement par cle d'API (X-API-Key, D44) cree un compte client : e-mail, nom de boutique, plateforme, empreinte bcrypt du mot de passe et empreinte SHA-256 de la cle (voir PRIVACY.md). Le revenu est publie sous forme d'agregats (/metrics/revenue), sans adresse IP.","Pas de limitation de debit dans l'application : elle est tenue en amont par Nginx (10 req/s par IP, rafale 20, 429 au-dela).","Les paiements anterieurs au deploiement de D29 ne figurent pas dans le registre durable : les fenetres 24 h / 7 j / 30 j ne sont pas retroactives.","Serveur MCP : un seul outil (validate_address), sans etat et sans flux SSE (GET /mcp repond 405). La decouverte (tools/list) est gratuite, l'appel de l'outil est paye. Un appel sans paiement rend un resultat d'outil isError=true dont structuredContent est le PaymentRequired x402 v2 ; un client MCP v2 le paie en renvoyant le PaymentPayload dans params._meta[\"x402/payment\"], un client v1 peut aussi presenter l'en-tete X-PAYMENT."],"verification":{"united_states":"SmartyStreets, USPS DPV : code Y, S ou D requis","france_outre_mer":"Base Adresse Nationale (api-adresse.data.gouv.fr) : score >= 0.8, code postal et ville confrontes","other_countries":"pas de referentiel verifie : verification partielle"},"deliverability_values":{"residential":"adresse complete ou voie reconnue, usage residentiel (code DPV Y ou S)","commercial":"boite commerciale identifiee (code DPV D)","unknown":"information insuffisante pour conclure (code DPV X)","invalid":"adresse inexistante ou verification echouee (code DPV N)"},"discovery":{"documentation":"https://kder-ai.com/docs","openapi":"https://kder-ai.com/openapi.json","health":"https://kder-ai.com/health","metrics":"https://kder-ai.com/metrics","revenue":"https://kder-ai.com/metrics/revenue","manifest":"https://kder-ai.com/manifest","mcp":"https://kder-ai.com/mcp","mcp_server_card":"https://kder-ai.com/.well-known/mcp-server","llms_txt":"https://kder-ai.com/llms.txt"},"contact":{"email":"address-validator@kder-ai.com"},"license":"MIT"}