Wallet-paid (x402) calls to POST /api/v1/enhance now run the same
validate-first checks before the USDC payment settles that API-key
callers have always had after authenticating.
Blocked documents are now free. If your PDF already meets PDF/A-2A +
PDF/UA-1, can't be fixed by either pipeline, requests a mode that can't
fix it, or was already determined unenhanceable by the current pipeline
version, you get a 400 (or a 200 already-compliant) with the reason
— and no payment is taken. Previously a wallet caller paid first and
learned this after settlement, relying on the automatic refund.
Retry loops can't bill you repeatedly. A document hash we already failed terminally still fails fast and free on resubmission, across all wallets, until the enhance pipeline itself gets a meaningful upgrade — at which point every hash gets one fresh billable shot automatically.
Nothing changes for credit-billed (API key) callers: same decisions,
same shapes, now applied uniformly before queueing. The 10-minute
automatic refund sweep still backstops anything that fails after a
payment settles. See the API reference for the full
POST /api/v1/enhance contract.