Changelog

Release notes for Torify — Japanese locale APIs for AI agents.

RSS Feed
v0.3.1
featfixAPIMCP

v0.3.1: Composite corporate↔invoice endpoints + security & UX hardening

2 new composite endpoints unifying 法人番号 ↔ qualified-invoice (T-number) verification in a single call, MCP tool descriptions with when-to-use guidance, x402 security hardening, and self-serve Pro checkout. Now 42 endpoints / 12 MCP tools.

What's new

New endpoints (+2, now 42 total)

Endpoint Description
/v1/company/full-profile Corporate number → company info + qualified-invoice (T-number) registration status in one call
/v1/invoice/company-profile T-number → invoice registration + corporate details in one call

Why composite? Previously, verifying that a corporate number and a T-number refer to the same entity required two separate API calls and manual cross-referencing. These endpoints resolve both registries in a single request and return a crossVerified flag.

MCP tools (+2, now 12 total)

  • company.fullProfile — wraps /v1/company/full-profile
  • invoice.companyProfile — wraps /v1/invoice/company-profile

All MCP tool descriptions now include when-to-use guidance and LLM-misuse notes, improving agent tool selection accuracy.

Self-serve Pro checkout

Pro plan is now purchasable directly via Polar at https://torify.dev — no email required.

Security fixes

  • x402 Solana facilitator host-validation hardening: Restricts allowed facilitator hostnames to prevent SSRF and credential-leak via crafted payment headers.
  • Subscription restore after admin revoke: Admin-revoked Pro keys now correctly restore access upon successful re-subscription.
  • Qualified-invoice bulk verification (NTA API): Fixed edge case where the NTA API returned unexpected XML structure, causing registered: false false-negatives on valid T-numbers.

API contract fixes

  • Unified error code to INVALID_BODY (previously INVALID_INPUT in some paths) for POST endpoints with malformed JSON bodies.
  • Invoice bulk verification limit clarified: 300 items per call (matches NTA API constraint).
  • Wareki conversion error messages now returned in English for consistency with all other endpoints.
v0.3.0
featAPIfix

v0.3.0: Address parser overhaul + bulk endpoints

Address parsing now returns addressType/streetRef/addressee with kanji-numeral conversion. Adds bulk invoice/tax verification and freelance-law order validation. 42 endpoints total.

What's new

Address Phase 2.5

  • addressType enum: block / street / rural / other classification for every parsed address
  • streetRef: Kyoto 通り名 support — intersection + direction (上る / 下る / 東入 / 西入) extracted and normalized
  • addressee: 様方 / 気付 / c/o extraction from delivery addresses
  • 漢数字 → Arabic: 1–99 kanji numerals converted in street and block numbers (一丁目 → 1丁目)
  • Verified against the full Japan Post ken_all dataset (116,421 entries)

New endpoints

Endpoint Description
/v1/invoice/verify/bulk Verify up to 300 T-numbers per call against NTA registry
/v1/tax/calculate/bulk Bulk consumption tax calculation (8% / 10%)
/v1/freelance/order/validate Freelance Protection Act order form validation

5 programmatic landing pages (SEO)

Static pages generated at deploy time for major endpoint categories.

Security

  • NFKC normalization added to MCP input sanitizer
  • Admin endpoint rate limiting tightened
  • Reflected-XSS fixes in error response paths

Billing

  • LemonSqueezy removed. Polar-only billing going forward.
  • No API breaking changes. Existing x402 / Trial / Pro keys continue to work.

Endpoint count: 39 → 40

v0.2.0
featAPI

v0.2.0: x402 V2 Multi-Chain (Base + Solana)

Torify now accepts USDC payments on both Base L2 and Solana via x402 V2. 1/1000 the gas cost on Solana. No action required for existing Base customers.

What's new

Torify now supports both Base L2 and Solana as payment networks via x402 V2.

Pay with USDC on Solana (in addition to Base)

  • Gas comparison:
    • Base L2: ~$0.001 per transaction
    • Solana: ~$0.00001 per transaction (1/1000 the cost)
  • Settlement speed: Solana ~5 seconds, Base ~2 seconds (both effectively instant)
  • Same USDC, same Coinbase CDP Facilitator (api.cdp.coinbase.com/platform/v2/x402)

/.well-known/x402 updated to V2 format

The accepts array now includes both chains when RECEIVER_WALLET_SOLANA is configured server-side.

curl -s https://torify.dev/.well-known/x402 | python3 -c "import json,sys; d=json.load(sys.stdin); print(d['accepts'])"

Do I need to change anything?

You are... Action required
Existing Base customer Nothing. Base support is unchanged.
New customer wanting Solana ⚙️ Use Solana wallet with x402-fetch v2+ client.
Self-hosting Torify fork 🔧 Set RECEIVER_WALLET_SOLANA env var on both Workers.

Why we did this

  1. x402 Foundation — x402 became a Linux Foundation standard on 2026-04-02 with 22 launch members (AWS, Stripe, Visa, Mastercard, Adyen, Circle, Shopify, etc.).
  2. Solana accounts for ~65% of x402 transactions (per InfoQ / The Block coverage).
  3. 1/1000 the gas matters for sub-cent micropayments (Torify is $0.02/call).
  4. Multi-chain future-proofing: x402 V2 supports CAIP-2 for any chain.

Pricing

No price changes. $0.02/call regardless of chain (Base or Solana).


What's next

Release Target What
v0.3.0 2026-05-29 Address parser overhaul + bulk endpoints
v0.1.0
featAPIMCP

v0.1.0: Show HN Launch (baseline)

Torify v0 public launch: 39 REST API endpoints, 10 MCP tools, x402 USDC pay-per-call, Trial tier, and Pro subscription — all built on Cloudflare Workers.

What launched

Torify v0 baseline — the state of the service at the Show HN public launch (2026-05-21).

REST API (39 endpoints · $0.02/call via x402)

Category Example Endpoint Description
Wareki /v1/wareki/convert Gregorian ↔ Japanese era (Reiwa/Heisei/Showa/Taisho/Meiji)
Invoice /v1/invoice/verify T-number check-digit + NTA registry lookup
Corporate /v1/houjin/lookup NTA 法人番号 Web API wrapper
Postal /v1/postal/lookup 〒 → prefecture/city/town
Phone /v1/phone/validate E.164 + variable-length area code
Address /v1/address/normalize Full/half-width normalization + prefecture inference
Names /v1/name/romanize Hepburn romanization (passport-style)
Kanji → Kana /v1/kanji/to-kana Cloudflare Workers AI (Llama 3.3 70B)
Banking /v1/bank/lookup Zengin 4-digit bank code
Geo /v1/geo/geocode GSI (国土地理院) API
Law /v1/law/search e-Gov 法令 API
Tax /v1/tax/calculate Consumption tax 8%/10%
And 27 more

MCP Server (10 unique tools · free · 100 req/day/IP)

https://torify-mcp.torify.workers.dev — works in Claude Desktop, Cursor, Cline.

Add with:

{ "type": "http", "url": "https://torify-mcp.torify.workers.dev" }

Pricing tiers

Tier Price Limit
Trial Free (email signup) 100 calls/month
MCP free Free (no auth) 100 req/day/IP
x402 micropayment $0.02/call USDC on Base L2 Unlimited
Pro $19/mo 10,000 calls/month
Enterprise $149/mo Fair Use 1,000,000 calls/month

Security & monitoring

  • ✅ 1,549+ unit tests pass (TypeScript strict + Vitest)
  • ✅ Cloudflare DNS + SSL + HSTS Preload
  • ✅ Rate Limiter (60 req/min/IP + KV daily counter)
  • ✅ UptimeRobot monitoring
  • ✅ Analytics Engine (request metrics)
  • ✅ Cron Trigger (onboarding email / bizops metrics)

Timeline

  • 2026-05-07: Phase 1-3 complete (Workers / 7 endpoints / x402 / MCP / OpenAPI / A2A)
  • 2026-05-09: testnet payment success + x402scan + a2aregistry
  • 2026-05-15: System v4 audit resolved (Cron Object.assign / Sec v4 HIGH/MEDIUM)
  • 2026-05-19: DEPLOY-6 (OG image v2 — final production deploy)
  • 2026-05-21: Show HN submission