Skip to content

Conversation

@braicool
Copy link
Owner

todo será mejor

John-peterson-coinbase and others added 30 commits April 9, 2025 18:11
* first pass implementing gha for publishing packages

* feat: updated core types to align with updated protocol spec

* feat: package/x402 refactor

* feat: restructured x402 core

* feat: x402 refactor in preparation for middleware

* feat: middleware workspace project template

* feat: refactor x402-express into its own package

* feat: x402-express updated to new spec

* feat: express server example

* feat: facilitator express server example

* feat: added axios interceptor

* chore: refactor express server example down a folder

* feat: client script example using axios

* fix: improved env variable handling in examples

* fix: site paths now that site is not within the turbo repo

* fix: parsing of types per updated spec

* fix: tweaked examples

* feat: x402-xios and x402-express unit tests

* feat: added test to turbo commands

* chore: reformat

* chore: docstrings

* chore: updated docstring

* feat: added x402-fetch package and fetch client example

* feat: unit test fetch wrapper

* chore: docstring

* chore: reformat

* chore: updated docstring

* feat: x402-hono and hono server example

* feat: added unit tests

* chore: added docstring

* chore: removed excess comments

* chore: updated docstring

* feat: added lint and format to typescript monorepo

* feat: added check_format, check_lint and check_package_lock workflows

* feat: tighten up and improve linting checks

* chore: lint/format x402

* chore: expand tigthened linting to all packages/examples

* fix: format/lint x402

* fix: format/lint x402-axios

* fix: format/lint x402-express

* fix: format/lint x402-fetch

* fix: format/lint x402-hono

* fix: format/lint middleware-template

* fix: format/lint example facilitator

* fix: format/lint example express server

* fix: format/lint example hono server

* fix: eslint unused var false positives

* fix: format/lint example axios client

* fix: format/lint example fetch client

* fix: format/lint whole project

* fix: added explicit dev dependencies on eslint-plugin

* chore: updated package lock workflow name

* chore: format package.jsons

* fix: added explicit dev dependencies on eslint parser

* fix: define paymentRequirements type from toJsonSafe

* fix: added explicit dev dependencies on eslint plugin import

* feat: README for express and express example

* fix: README code snippet syntax

* chore: unit test github workflow

* fix: test -> test:watch, added new test scripts

* chore: removed build from examples

* fix: added missing dependencies

* fix: renamed unit test workflow

* fix: missing dev dependency on express types in x402-express

* fix: added explicite vite dev dependency, as its a peer dep of vitest

* feat: x402-hono and servers/hono example READMEs (coinbase#52)

* feat: x402-hono and servers/hono example READMEs

* fix: updated npm to pnpm in example readme

* feat: refactor server middleware to decode X-PAYMENT header

* feat: middleware returns array of PaymentRequirements

* fix: unit tests

* fix: paywall html takes array of paymentRequirements, but just uses first item in list

* feat: added selector logic for selecting payment requirements client side

* feat: support generic ERC20Permit contracts

* fix: toJsonSafe for arrays

* fix: paywall selector usage

* feat: jwt signing & createAuthHeader

* fix: wrap api keys in auth object and include paths

* fix: route paths updated to specs

* fix: format

* feat: using @coinbase/cdp-sdk/auth for generateJwt

* feat: middleware takes an array to generate auth headers

* feat: change routes to /verify and /settle, change default resource to include /v2/x402

* fix: removed duplicate import

* chore: drop node 18 unit tests

* feat: rename function and descriptions to createAuthHeaders

* fix: pr feedback

* feat: improved default behavior for facilitator auth

* feat: dev demo test changes

* feat: moved cdp logic to separate export

* fix: format/lint

* feat: added x402-next and examples/fullstack/next

* feat: added readmes and updated exported types

* fix: format/lint

* fix: updated next demo to type: module

* fix: format

* fix: updated x402-next to new spec

* fix: demo

* fix: format/lint

* feat: improved handling of default asset

* fix: added missing dependencies

* fix: added explicite vite dev dependency, as its a peer dep of vitest

* feat: migrated site to monorepo subproject

* fix: regenerate lock

* feat: added format/lint

* fix: package type is module

* fix: package type is module

* fix: removed npm from prerequisites

* chore: rebased

* feat: migrated site example to latest spec

* fix: regenerate lock file

* feat: added mcp client demo

* feat: migrated agent client

* feat: Added x402-fetch and clients/fetch example readmes

* feat: rename export to wrapFetchWithPayment

* feat: x402-axios and clients/axios example readmes

* fix: increased node version in readme

* feat: removed packages/typescript

* feat: removed middleware-template

* feat: migrated clients/agent example

* feat: migrated clients/axios example

* feat: migrated clients/fetch example

* feat: migrated clients/mcp example

* feat: migrated facilitator example

* feat: migrated fullstack/next example

* feat: migrated servers/express example

* feat: migrated servers/hono example

* feat: structured dual-workspace for turbo

* feat: deleted example root folder

* fix: removed old package-lock and normalized express types used

* feat: removed x402 dependency on hono

* feat: migrated x402/cdp to @coinbase/x402

* feat: add payerAddress to verify responses

* feat: added README to examples/typescript

* chore: format/lint

* feat: migrate site example to root

* second pass implementing gha for publishing packages

* refinements

* enabling debugging

* disabling git check for publishing dryrun

* package npm token isolation

* removing degugging

* chore: Update Go Middleware Package to Latest Spec

* feat: updated README to spec

* feat: updated exact evm scheme

* fix: updated missed paymentDetails -> paymentRequirements in refactor

* fix: quotes to match our linter

* feat: readded supported

* fix: pr feedback

* fix: pr feedback

* update go fields: accepts, paymentPayload, paymentRequirements

* fix: readme example

* fix: site readme node version

* fix: removed package-lock.json

* feat: added package manager to package json

* fix: json

* feat: moved site back to typescript

* fix: lock file

* feat: updated packageManager

* feat: updated package manager

* testing root package.json

* fix: x402 depedency in site

* feat: added build:vercel script

* fix: github workflow detecting packageManager from package.json

* feat: removed dotenv dependency in x402 for edge compatibility

* feat: inject facilitator url via vercel env vars

* feedback

* pnpm version

* removing debugging

* first pass adding payer to verify response

* feat: initial devx draft

* fix: format/lint

* feat: rename facilitator exported config

* fix: x402-next middleware routing supports verbs

* feat: devx feedback

* feat: updated examples

* fix: removed bad dependency

* feat: regenerated lock after rebase

* fix: pnpm-lock

* fix: middleware resource url fallback

* fix: README 1-liner example for correctness

* feat: updated READMEs

* feat: bump x402 to 0.2.0

* feat: added legacy route support to hosted test facilitator

* fix: moved client definition out of global scope

* feat: rename TokenAmount to ERC20TokenAmount

* fix: remove unused ts-expect-error

* feat: temporarily removed @coinbase/x402 package

* fix: examples

---------

Co-authored-by: Christopher Gerber <csgerber@gmail.com>
Co-authored-by: John Peterson <john.peterson@coinbase.com>
* fix: missing env vars in next config

* debug: debug logs useFacilitator
* feat: expanding gha scopes to lint/format/check locks

* fix: format/lint checks

* fix: lint/format examples

* fix: added lint:check and format:check to examples/typescript
* feat: cleaned up READMEs in examples

* fix: exact scheme readme

* feat: added philosophy and goal sections to readme

* feat: improved running the example section

* feat: renamed payToAddress to payTo as middleware param

* fix: moved terms below principals

* fead: improved x402 README for manual server and client integrations

* feat: tightened up the package READMEs

* fix: hono .env-local

* Updates to readmes  (coinbase#95)

* Updated readmes and code snippets

* fixed agent readme (but not working code)

* lint and formatting

* adding back env-localk

* fixing env-local

* fix: removed philosophy/principals section as another PR will introduce it

---------

Co-authored-by: murrlincoln <65836530+murrlincoln@users.noreply.github.com>
* Initial pass at readme, contributing, roadmap

* fix: new lines & links

---------

Co-authored-by: CarsonRoscoe <carsonroscoe7@gmail.com>
* feat: added advanced resource server example

* fix: directory to clients

* feat: removed port management

* fix: readme per pr feedback
* feat: increased validAfter to be 60 seconds ago

* fix: format/lint
* Add whitepaper and marketing flyer assets, link from landing page

* Move everying to header except whitepaper and demo

Somehow the imports didn't make it in
* Dynamic agent example

* Dynamic agent

* Move examples, add deps

* Lockfile

* Remove unneeded file and lock

* Readme example

* example address

* PR feedback

* lock
* feat: unit test core exported functions

* chore: format/lint

* fix: cleanup unit tests

* fix: updated client test to adjust for 5->60 second change for validAfter
…iem Account (coinbase#102)

* feat: Expanded client side signing to be either a WalletSigner or a viem Account

* fix: clean up all client examples

* feat: improved payment requirements selection

* fix: tests

* feat: added decodeXPaymentResponse
* feat: re-added @coinbase/x402

* feat: pointed facilitator url to prod facilitator

* feat: unit test

* feat: mainnet server example

* fix: comment

* fix: cjs importing of @coinbase/x402

* fix: lock file

* feat: updated READMEs

* fix: improved coinbase/x402 readme

* bump: 0.3.0

* fix: format
apmcdermott-cb and others added 11 commits May 6, 2025 11:51
* Update example

* Update CTA and add discord

* Add Discord icon
…oinbase#125)

* feat: added correlation-context header to cdp facilitator requests

* chore: format

* fix: tests

* fix: updated placeholder to actual used version
* feat: inital go prod

* chore: cleanup

* feat: first prod x402 request in Go

* feat: metrics tracking

* fix: .env-local

* fix: tests

* fix: remove built mainnet from bin

* chore: added README
* fix: update computeRoutePatterns to be case-insensitive

* fix: unit tests
* fix: fixed express and hono middleware

* fix: format

* fix: hono unit test
* Version bump

* version var
@vercel
Copy link

vercel bot commented Nov 12, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
x402-42mz Error Error Nov 12, 2025 0:06am
x402-e7o4 Error Error Nov 12, 2025 0:06am

@braicool braicool changed the base branch from save/coinbase-x402 to feat/updated-default-payment-selection November 12, 2025 00:07
@braicool braicool changed the base branch from feat/updated-default-payment-selection to 0.1.2-x402 November 14, 2025 19:03
@braicool braicool changed the base branch from 0.1.2-x402 to axios-interceptor November 15, 2025 01:19
@braicool braicool changed the base branch from axios-interceptor to 0.1.2-x402 December 14, 2025 22:24
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.

9 participants