Skip to content

x402#1

Merged
nirholas merged 9 commits into
nirholas:mainfrom
Sperax:main
Mar 26, 2026
Merged

x402#1
nirholas merged 9 commits into
nirholas:mainfrom
Sperax:main

Conversation

@nirholas

Copy link
Copy Markdown
Owner

x402

nirholas and others added 9 commits March 26, 2026 19:50
- Add CI workflow (typecheck + test + docker build)
- Add .env.example with all configuration options
- Expand README with architecture diagram, API examples, security section
- Switch to pnpm-lock.yaml (matches Dockerfile and CI)
- Fix repository URL in package.json
- Remove .gitkeep files from populated directories

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…point

The x402 SDK v1.1.0 sends `paymentPayload` (not `payment`) in verify/settle
requests. Without this fix, all SDK requests would fail Zod validation.

- Rename `payment` → `paymentPayload` in verify and settle route schemas
- Add GET /supported endpoint returning payment kinds per x402 SDK discovery
- Fix docs URL in root endpoint

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ield

- /supported endpoint now returns plain network names ("base", "base-sepolia")
  instead of "eip155:{chainId}" to match SDK's SupportedPaymentKindSchema
- VerifyResponse now includes `payer` field on success to match SDK's
  VerifyResponseSchema: { isValid, invalidReason?, payer? }
- Facilitator.verify() passes recovered signer address as `payer`

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
z.coerce.boolean() uses Boolean("false") which returns true.
Replace with custom transform that correctly handles string booleans.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@nirholas nirholas merged commit 5a98a3b into nirholas:main Mar 26, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant