diff --git a/README.md b/README.md index 911caf1..d38af1c 100644 --- a/README.md +++ b/README.md @@ -59,35 +59,6 @@ say so. Also skip it if you want a payments *product*: s402 is a wire format and with zero runtime dependencies. It does not move money, custody funds, or run a facilitator for you. Fiat and card rails are out of scope and will stay that way. -## What Would Prove This Should Stop - -s402's bet is narrow enough to be wrong in public. Any of the following would falsify it, and we -would rather retire the project than defend it past its evidence: - -1. **x402 absorbs the superset.** This README claims x402's two-scheme governance envelope - cannot take on prepaid, stream, escrow and unlock without re-ratification. If x402 ratifies - equivalents, the reason to run a second protocol is gone — the correct response is to fold - the schemes upstream and delete this repo, not to compete. - -2. **The prepaid economics do not survive contact with production.** The case for micropayments - rests on batching 1,000 payments into 2 on-chain transactions. If real deployments do not land - near the claimed ~$0.014 per 1,000 calls — because of contention on shared objects, gas-price - regimes, or settlement patterns we have not modelled — then the central advantage over - per-call settlement is arithmetic that only works on paper. - -3. **No independent implementation ever passes the vectors.** s402 claims to be a protocol, not a - library. A protocol with exactly one implementation is a library wearing a specification. If - the conformance vectors go unclaimed by any second-language implementation, the honest - description is "the wire format of the s402 npm package," and the spec should be demoted to - internal documentation. - -4. **Agent commerce settles somewhere other than HTTP 402.** If agent-to-service payment - converges on mandate-passing over a non-402 channel, then the status code this protocol is - built around is the wrong integration point, and being excellent at it does not matter. - -Points 1 and 3 are the ones to watch: both are observable from outside this repo, and neither -depends on our own judgement of our own work. - ## Which Scheme Should I Use? | Your situation | Scheme | Gas per 1K calls | Latency | diff --git a/typescript/CHANGELOG.md b/typescript/CHANGELOG.md index e739504..83ec37c 100644 --- a/typescript/CHANGELOG.md +++ b/typescript/CHANGELOG.md @@ -47,10 +47,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 refuses to pass vacuously: if the wording changes so no claim is found, the test fails rather than silently verifying nothing. Counts written into prose are derived values maintained by hand, and three independent wrong numbers in one repo is what that looks like after a while. -- **The README now says who s402 is for, who it is not for, and what would prove it should - stop.** The last of those is a falsification section naming four observable conditions that - would retire the project — chiefly x402 absorbing the superset schemes, and no independent - implementation ever passing the conformance vectors. +- **The README now says who s402 is for and who it is not for.** Deciding whether s402 fits + was previously left to the reader to infer from feature tables; it now says plainly that + EVM-only users wanting `exact` should use x402, and that s402 is a wire format rather than a + payments product. ## [0.8.0] - 2026-06-28