Skip to content

Add x402 Translate FR (DeepL) and x402 IP Geolocation#444

Open
fredericsuretat wants to merge 1 commit into
xpaysh:mainfrom
fredericsuretat:add-translate-ipgeo
Open

Add x402 Translate FR (DeepL) and x402 IP Geolocation#444
fredericsuretat wants to merge 1 commit into
xpaysh:mainfrom
fredericsuretat:add-translate-ipgeo

Conversation

@fredericsuretat
Copy link
Copy Markdown

@fredericsuretat fredericsuretat commented May 27, 2026

Two more live x402 APIs on Base mainnet.

  • x402 Translate FR — Text translation powered by DeepL API. 30 languages, auto-detection, up to 5000 chars/call. POST /translate with {"text": "...", "source": "auto", "target": "en"}. Returns translated_text, source_detected, chars. GET /languages enumerates supported codes. 0.001 USDC/call.

  • x402 IP Geolocation — IP address intelligence. POST /lookup with {"ip": "8.8.8.8"} returns country, region, city, postal code, ISP, ASN, GPS coordinates (lat/lon), timezone, and boolean flags for proxy, VPN, and hosting/datacenter. IPv4 + IPv6. 0.001 USDC/call.

Both: self-hosted, Base mainnet, no API keys required by callers, no signup. Discovery via /.well-known/x402.json.

@TateLyman
Copy link
Copy Markdown

Ran a no-payment external spot-check on both listed services. No payment headers, wallet signatures, paid calls, private endpoints, or account access.

Repro shape:

curl -i https://x402-translate.suretat.com/.well-known/x402.json
curl -i https://x402-ipgeo.suretat.com/.well-known/x402.json
curl -i -X POST https://x402-translate.suretat.com/translate \
  -H 'content-type: application/json' \
  -H 'origin: https://suretat.com' \
  --data '{"text":"bonjour","source":"auto","target":"en"}'

Current readback:

  • https://x402-translate.suretat.com/.well-known/x402.json returned 404 page not found; the extensionless discovery path also returned 404.
  • https://x402-ipgeo.suretat.com/.well-known/x402.json timed out from here in the batch run; the extensionless discovery path returned 404 in the earlier probe.
  • The PR-listed paid routes also did not reach a 402 challenge from here: Translate /translate returned 404 page not found; IPGeo /lookup returned 404 page not found.

This looks like either the wrong deployed host/route names or services not fully mounted yet. I would hold merge until each domain exposes stable discovery and the listed route returns a structured 402 before execution.

@fredericsuretat
Copy link
Copy Markdown
Author

Thank you, @TateLyman. Issues addressed:

Domain name corrected: Translate domain updated from x402-translate.suretat.comx402-translate-fr.suretat.com. PR description updated.

Discovery endpoint: Both services now implement /.well-known/x402.json with Access-Control-Allow-Origin: *.

CORS + Cache-Control: All 402 challenge responses now include Access-Control-Allow-Origin: * and Cache-Control: no-store.

IPGeo: confirmed live at https://x402-ipgeo.suretat.com, POST /lookup returns 402 with full payment requirements.

Both services are live and discovery-stable. Ready for re-review.

@TateLyman
Copy link
Copy Markdown

Re-ran the no-payment external spot-check after the domain/discovery fixes.

Repro shape:

curl -i https://x402-translate-fr.suretat.com/.well-known/x402.json
curl -i -X POST https://x402-translate-fr.suretat.com/translate \
  -H 'content-type: application/json' \
  -H 'origin: https://suretat.com' \
  --data '{"text":"bonjour","source":"auto","target":"en"}'

Current readback:

  • Both discovery URLs returned 200 application/json.
  • Both sampled paid routes returned structured 402 application/json before execution.
  • The sampled 402 responses now include Access-Control-Allow-Origin: * and Cache-Control: no-store.
  • The corrected Translate hostname matches the PR text now.

I did not send payment headers, sign requests, or attempt paid calls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants