feat: migrate to x402 v2 protocol format#9
Merged
rawgroundbeef merged 7 commits intomainfrom Feb 1, 2026
Merged
Conversation
Normalize all 402 responses to x402 v2 format: replace maxAmountRequired with amount, add maxTimeoutSeconds, include x402Version and accepts in all error responses (verify/settle failures), and move resource/description to the response envelope. Also adds billing-arcade demo. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Cover createPaymentMiddleware (Express) and honoPaymentMiddleware (Hono) with 14 tests: 402 responses, v1→v2 normalization, verification/settlement failures, refund protection, and multi-network accepts. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
pnpm/action-setup@v4 conflicts when both the action's `version` key and package.json's `packageManager` field specify a version. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Publishes @openfacilitator/core, sdk, and server to npm when their package.json version changes on main. Compares local version against the published version and only publishes if they differ. Requires NPM_TOKEN repository secret. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Breaking change: middleware 402 responses now use x402 v2 format with `accepts` array and `amount` instead of `maxAmountRequired`. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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 free
to 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.
Summary
maxAmountRequiredwithamount, addsmaxTimeoutSeconds, and ensuresx402Version: 2+acceptsare included in all error responses (verify/settle failures), not just the initial 402acceptsarray construction before the payment header check so it's available for all 402 response paths; normalizes v1 → v2 field names in the accepts outputresource,description, andoutputSchemafields toPaymentRequirementsV2; makesextraoptionalmaxAmountRequired→amountacross facilitator, public, and stats routes; movesresource/descriptionto the response envelope levelTest plan
turbo lint)vitest run— 57 tests)/pay/:productIdincludex402Version: 2,acceptswithamountfield, andresourcein envelopex402Versionandaccepts🤖 Generated with Claude Code