Uh oh!
There was an error while loading. Please reload this page.
fix(x402): bind quote, settlement identity, and auto-pay limit - #1468
Open
epistemedeus wants to merge 1 commit into
Open
fix(x402): bind quote, settlement identity, and auto-pay limit#1468epistemedeus wants to merge 1 commit into
epistemedeus wants to merge 1 commit into
Conversation
Signed-off-by: Lucian Constantinescu <epistemedeus@gmail.com>
cb-heimdall
commented
Aug 26, 2026
🟡 Heimdall Review Status
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This change makes the x402 action provider fail closed at the payment boundary:
maxPaymentUsdcvalue are rejected before the signer is invoked.outputSchemaor a buyer-owned response schema.The implementation stays on the official x402 2.7.0 client surfaces. A patch changeset and updated x402 documentation are included.
Tests
Run from
typescript/agentkiton Node 22:pnpm run lintpnpm run format:checkpnpm run checkpnpm run buildmaxPaymentUsdc: 1: success with exactly one signaturemaxPaymentUsdc: 1: rejected before signing with zero signaturespnpm run test:typescurrently targets the absent filesrc/tests/types.test-d.ts; the exact same failure reproduces on the clean currentmaincommit, so this PR does not modify that unrelated script.No wallet, live payment, or funded chatbot was used. The tests exercise the exported action provider with deterministic wallet and HTTP seams so signer counts and settlement promotion are directly observable.
Checklist