Sanitized sample · packet 000
A payment path should be boring to approve.
This illustrative packet shows the decision, evidence, regression
coverage, and commercial boundary delivered in a fixed-price x402
payment-security engagement.
Not a client result. Targets, identifiers, outcomes,
and findings below are synthetic. No production system or customer
is represented.
01 / boundary
The contract is fixed before testing starts
- Target
- Synthetic TypeScript x402 client at a buyer-supplied commit
- Surface
- Challenge parsing, authorization binding, retry, and settlement
- Price
- 150 USDC on Base · prepayment or escrow preferred
- Clock
- 48 hours after written scope and payment confirmation
- Acceptance
- Reproduce findings, pass named regression tests, acknowledge delivery
- Outputs
- Decision memo, evidence matrix, tests, focused patch, merge recommendation
02 / evidence
Every decision maps to a named invariant
The real packet pins each row to a clean-checkout command, test
name, observed result, and relevant source location.
Sample shows 8 of 12 illustrative rows.
H-01
Observed sequence
- The client receives a valid 402 challenge from origin A.
- The user policy approves its complete payment tuple.
- A 307 response sends the retry to controlled origin B.
- The retry path rebuilds authorization from B instead of rejecting the authority change.
Security invariant
Scheme, authority, resource identity, network, asset, amount,
payee, and fee ceiling must remain bound to the exact tuple the
policy approved. Any drift aborts before signing.
Clean-checkout reproduction
npm test -- redirect-authority.test.ts
Expected before patch: 1 failing invariant
03 / handoff
Delivery is a reproducible state, not a document drop
- 01Buyer checks out the pinned target revision.
- 02Named reproduction fails before the focused patch.
- 03Regression suite passes after the patch.
- 04Decision memo states merge, hold, or residual risk.
- 05Buyer acknowledges the agreed acceptance criteria.