# s402 s402

[7 · Pay](/category/pay/)

| s402 |
| --- |
| Category | [Pay](/category/pay/) |
| Governed by | Single open-source project (s402-protocol on GitHub); no standards body, no foundation; explicitly a 'profile' of x402 rather than a competing standards effort |
| Status | Draft wire-format specification, actively developed (commits as recent as 2026-09-04) |
| Phase | draft |
| Implementation | prototype |
| Adoption | unmeasured |
| Version | Wire Format Specification v1, Draft, dated March 2026 (repository has continued past this to align with x402 v2) (2026-03) |
| Specification | [https://raw.githubusercontent.com/s402-protocol/core/main/docs/specification.md](https://raw.githubusercontent.com/s402-protocol/core/main/docs/specification.md) |
| Found at | none — no /.well-known/s402.json was found; discovery is per-request via the 402 envelope, matching x402's model |
| Last checked | 2026-09-06 |

[Pay](/category/pay/) s402 is a Sui-chain profile of x402: it reuses x402 v2's PaymentRequired HTTP envelope and header names (payment-required, x-payment, payment-response) wholesale, and adds a Sui-specific binding plus a policy layer covering six payment schemes — exact, upto, prepaid, stream, escrow, and unlock — the last four of which go beyond what plain x402 or Stripe's MPP currently define [[1]](#ref-1). The project's own README is explicit about the relationship: "s402 does not fight x402 or Stripe MPP head-on... it absorbs them as payment-in formats... and supersets them on primitives their business models cannot ship" [[2]](#ref-2).

## Overview
It solves Sui-native settlement for agent payments, including a "Prepaid" scheme that the project models as settling 1,000 API calls in 2 on-chain transactions via Sui's Programmable Transaction Blocks (PTBs), versus 1,000 transactions for one-shot "Exact" payments — but the README is careful to flag this as a modelled estimate under stated assumptions, not a measurement from production traffic [[2]](#ref-2). It does not define its own transport or discovery mechanism distinct from x402: an s402-profile 402 response is detected only by the presence of an extensions.s402 key inside the same x402 v2 envelope, and a 402 lacking that key is still payable by an s402-aware client [[1]](#ref-1).

As of this verification, s402 is a single-repository open-source project (s402-protocol/core) with no separate standards body or foundation, actively developed (commits through 2026-09-04, aligned against a specific x402-foundation/x402 commit as of that date) but showing zero GitHub stars and no evidence of external adopters located during this check [[2]](#ref-2)[[3]](#ref-3). The protocol layer is explicitly chain-agnostic in design (an "S7 invariant" keeps chain-specific logic out of the core), with the actual Sui settlement code shipping separately as @sweefi/sui — an npm package from what appears to be a company or team called "sweefi," whose relationship to s402-protocol was not independently confirmed beyond both projects' own cross-references [[2]](#ref-2). What is unresolved: whether s402 has any production deployment beyond its own demos, and who or what "sweefi" is as an organization.

## Discovery and probe

HTTP 402 response carrying the x402 v2 PaymentRequired envelope, with an s402-specific extensions.s402 field distinguishing an s402-profile 402 from a plain x402 one · none — no /.well-known/s402.json was found; discovery is per-request via the 402 envelope, matching x402's model

```
GET {origin}/{paid-path}
parse:     HTTP 402 with a payment-required header decoding (base64+JSON) to an x402 v2 PaymentRequired object whose extensions field contains an s402 key
on absent: A 402 without extensions.s402 in the decoded PaymentRequired object is a plain x402 (or other x402-compatible) response, not s402; per the spec, such a response is still payable by an s402-aware client, so absence of the s402 extension does not mean the endpoint rejects s402 clients, only that it isn't advertising s402-specific schemes.
```

Not probed live: no-fixed-path. s402 challenges appear only on paid URLs.

## History
- 2026-09-05 — seeded from Exa Agent research run
- 2026-09-06 — verified against s402-protocol/core (README.md, docs/specification.md) and GitHub repo metadata; corrected discovery mechanism from a nonexistent /.well-known/s402.json to the x402-envelope extensions.s402 signal

## Instances

- [@sweefi/sui (Sui chain binding / reference implementation)](https://raw.githubusercontent.com/s402-protocol/core/main/README.md) · Recorded 2026-09-06 · service
- [s402-protocol/core (TypeScript reference, npm package s402)](https://github.com/s402-protocol/core) · Observed 2026-09-04 · service
- [SweeFi](https://github.com/sweeinc/platform/tree/main/products/sweefi/sui) · Observed 2026-04-26 · service

Every instance with its source is listed on the [instances page](/instances/).

## See also

- [x402](/protocols/x402/)
- [L402](/protocols/l402/)
- [Machine Payments Protocol](/protocols/mpp/)

## References

- s402's specification.md, versioned as Wire Format Specification v1 (Draft, March 2026), defines s402 as encoding, field, and validation rules for six payment schemes (exact, upto, prepaid, stream, escrow, unlock) carried inside the x402 v2 PaymentRequired envelope, using the same payment-required, x-payment, and payment-response headers as x402 for wire compatibility. — [https://raw.githubusercontent.com/s402-protocol/core/main/docs/specification.md](https://raw.githubusercontent.com/s402-protocol/core/main/docs/specification.md) (2026-03) VERIFIED
- The s402-protocol/core repository README describes s402 as 'a profile of x402: the Sui binding, and the rules about what an agent may pay,' states it is audited/tested against a specific x402-foundation/x402 commit as of 2026-09-04, and that the Sui reference implementation ships separately as @sweefi/sui, whose Prepaid scheme is modelled (not measured in production) to cut effective per-call gas cost via Programmable Transaction Blocks. — [https://raw.githubusercontent.com/s402-protocol/core/main/README.md](https://raw.githubusercontent.com/s402-protocol/core/main/README.md) (2026-09-04) VERIFIED
- The repository's own GitHub metadata describes it as 'Sui-native HTTP 402 protocol. Wire-compatible with x402. Atomic settlement via PTBs,' created 2026-02-15, last pushed 2026-09-04, with 0 GitHub stars at time of check. — [https://github.com/s402-protocol/core](https://github.com/s402-protocol/core) (2026-09-06) VERIFIED

[JSON](/data/protocols/s402.json) · [Markdown](/protocols/s402/index.md)
