Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
703a541
fix: typo in README.md (#1390)
gap-editor Mar 1, 2026
b341973
fix(ts): remove duplicate server ResourceInfo; use wire-format type d…
ryanRfox Mar 1, 2026
8888d6c
chore: update AgentlyHQ's new url (#1411)
gjj Mar 2, 2026
205257b
Cleanup dependencies and fix example builds (#1355)
phdargen Mar 3, 2026
e8680be
Add Go SDK support to payment-identifier docs (#1253)
mintlify[bot] Mar 3, 2026
1c554e9
feat(go/http): add pluggable PaywallProvider for custom paywall HTML …
wnjoon Mar 3, 2026
cb040d8
feat(go): add WithBazaar facilitator client for discovery resource qu…
wnjoon Mar 3, 2026
0c09ec1
Document Go SDK Bazaar facilitator client (#1418)
mintlify[bot] Mar 3, 2026
08e149e
feat(go/http): add onProtectedRequest hook for pre-payment request in…
wnjoon Mar 3, 2026
1ae9e24
Document Go OnProtectedRequest hook (#1422)
mintlify[bot] Mar 3, 2026
5cb40cd
fix(exact): enforce strict amount equality per spec (#1388)
ryanRfox Mar 3, 2026
23897bf
Update docs/faq.md (#1423)
mintlify[bot] Mar 3, 2026
f41baed
fix(specs,ts): add x402Version to facilitator verify/settle request b…
jumpboxtech Mar 3, 2026
749c321
ecosystem: add ClawPay MCP — non-custodial x402 payment layer for AI …
up2itnow0822 Mar 3, 2026
c193632
Add DiamondClaws DeFi Intelligence to ecosystem (#1347)
dillonaux Mar 3, 2026
8328999
feat(ecosystem): add Kevros AI governance gateway (#1399)
jmcgraw434 Mar 3, 2026
6e20806
feat(ecosystem): Add Agoragentic — Agent-to-Agent Marketplace with x4…
rhein1 Mar 3, 2026
6eae553
feat: add Agent Camo to ecosystem directory (#1420)
hunterg325 Mar 3, 2026
7b6b3c4
add bloomfilter to list of products (#1426)
Eronmmer Mar 3, 2026
0f2821b
site(ecosystem): add Mycelia Signal to Services/Endpoints (#1389)
jonathanbulkeley Mar 3, 2026
bb6174a
Add upto payment scheme specification for EVM (#1074)
fabrice-cheng Mar 4, 2026
098ee26
Update README.md (#1439)
erikreppel-cb Mar 4, 2026
0137545
Add Stellar Blockchain Support (#711)
marcelosalloum Mar 4, 2026
aeef1bf
Custom settlement failures responses (#1430)
phdargen Mar 5, 2026
f431337
Add assetTransferMethod and supportsEip2612 flag to defaultAssets (#1…
phdargen Mar 5, 2026
bfce5bb
site: add Stellar testnet support to facilitator (#1452)
marcelosalloum Mar 5, 2026
665c10c
Fix: stellar fee bump signer should be listed in `getSigners()` (#1453)
marcelosalloum Mar 5, 2026
7cd93d8
Add in-memory cache for in-flight Solana txs (#1468)
notorious-d-e-v Mar 6, 2026
3e1d051
fix stellar e2e config (#1467)
phdargen Mar 6, 2026
cc6d0fc
chore: version typescript packages (#1469)
phdargen Mar 6, 2026
65f1200
chore: version python package (#1470)
phdargen Mar 6, 2026
e3f02da
chore(go): release v2.5.0 (#1471)
phdargen Mar 6, 2026
0cde67e
Fix #1468 for legacy (#1479)
phdargen Mar 7, 2026
34d2442
fix encoding in paywall (#1531)
phdargen Mar 9, 2026
0334eab
feat(ecosystem): Add 0xArchive — first HyperEVM-native x402 facilitat…
0xFantomMenace Mar 9, 2026
5b1574d
chore: update Spraay ecosystem listing (62 endpoints, GPU/Compute, Se…
plagtech Mar 9, 2026
94787f4
Add ActionGate to x402 Ecosystem (#1486)
eddiedotdev Mar 9, 2026
8def758
Add Robtex to x402 ecosystem (#1517)
robtex Mar 9, 2026
5897e47
Add Soundside to ecosystem — MCP-native AI media generation with x402…
hackthemarket Mar 9, 2026
afbbc40
feat(ecosystem): add AI Security Guard (#1522)
moebius-ansa Mar 9, 2026
98b167f
Add Augur to ecosystem (#1515)
JleviEderer Mar 9, 2026
8a19b2c
Add Obol to ecosystem — x402-gated AI code generation API (#1513)
obol-sh Mar 9, 2026
8b731cb
feat: improve permit2 and extensions sdks (#1487)
CarsonRoscoe Mar 10, 2026
516f55f
Add Stellar blockchain support documentation (#1451)
mintlify[bot] Mar 10, 2026
60108c9
Update metadata.json (#1546)
plagtech Mar 10, 2026
0f74fb4
Add solana-pay-x402 to ecosystem (Infrastructure & Tooling) (#1543)
sanniekwan1214 Mar 10, 2026
f43339a
Fixed paywall config injection (#1550)
phdargen Mar 10, 2026
1a6e08b
EVM verify simulation and improved smart account handling (#1474)
phdargen Mar 10, 2026
edad758
Add Idapixl Cortex to ecosystem directory (#1478)
idapixl Mar 10, 2026
035fe3c
Add AskClaude to x402 ecosystem (#1490)
pvega23 Mar 10, 2026
04978ce
Add Run402 to ecosystem (#1456)
MajorTal Mar 10, 2026
d5fe2b7
chore: version typescript legacy packages (#1544)
phdargen Mar 11, 2026
4a31a63
Add OOBE Protocol to ecosystem directory (#1548)
CryptoFamilyNFT Mar 11, 2026
1c4cc8d
Add Stakevia to ecosystem (Client-Side Integrations) (#1539)
sanniekwan1214 Mar 11, 2026
4178ed9
Add Octomil to ecosystem (Services/Endpoints) (#1538)
sbangalore Mar 11, 2026
db321ae
feat(ecosystem): add WalletIQ wallet intelligence API (#1552)
iJaack Mar 11, 2026
ab5628c
feat: add Polygon mainnet to CDP Facilitator ecosystem entry on x402.…
ethanoroshiba Mar 11, 2026
713907f
fix: remove facilitator from exact scheme witness struct (#1322)
CarsonRoscoe Mar 11, 2026
f2bbb5c
feat(extensions): add optional signed Offer & Receipt extension (draf…
alftom Mar 12, 2026
8931cb3
fix(core): support Express-style :param dynamic route parameters (#1313)
jumpboxtech Mar 12, 2026
85ac66d
ecosystem: add Agent Health Monitor (#1207)
moonshot-cyber Mar 12, 2026
1750ab3
fix: e2e mainnet testing (#1585)
CarsonRoscoe Mar 13, 2026
d1ad494
fix ts changeset version bumps (#1588)
phdargen Mar 13, 2026
13ad532
Add spec for ERC-7710 support to the exact_evm scheme (#732)
danfinlay Mar 13, 2026
21d38d6
feat(ecosystem): add OMATrust reputation layer entry to follow up on …
alftom Mar 15, 2026
52f0cb8
Add x402-proxy to ecosystem (#1602)
tenequm Mar 15, 2026
f6af4f0
add elsa facilitator (#1591)
akadotsh Mar 15, 2026
c92c0d1
stellar: Bump `@stellar/stellar-sdk` dependency and improve API call …
marcelosalloum Mar 16, 2026
30e0160
docs: add extensions overview and signed offers & receipts guide (#1617)
alftom Mar 16, 2026
62a4c16
chore: version python package (#1635)
phdargen Mar 16, 2026
d8e9f3f
Simulate permit2 (#1579)
phdargen Mar 16, 2026
26ed192
chore: version typescript packages (#1636)
phdargen Mar 16, 2026
4c1e44f
fix(python): handle invalid facilitator responses (#1506)
ziyangliu-666 Mar 16, 2026
7123ea4
chore(go): release v2.6.0 (#1637)
phdargen Mar 16, 2026
920c544
feat: update e2e tests (#1641)
CarsonRoscoe Mar 16, 2026
169796a
ecosystem: update Agent Health Monitor description (#1644)
moonshot-cyber Mar 17, 2026
cae3a21
docs: make /verify required in Stellar exact scheme spec (#1640)
marcelosalloum Mar 17, 2026
4f2f4f3
fix(siwx): generate nonce/issuedAt in declareSIWxExtension for auth-o…
sragss Mar 17, 2026
26d651d
Document SIWX auth-only routes (#1653)
mintlify[bot] Mar 17, 2026
547f22a
Add Arch AI Tools to x402 ecosystem (#1541)
Deesmo Mar 17, 2026
26746f0
feat: improved working of adding new default assets (#1662)
CarsonRoscoe Mar 17, 2026
6a90fe9
feat: add `Built on Stellar` facilitator listing (#1660)
marcelosalloum Mar 18, 2026
ff1bc50
feat(spec): document Memo instruction and seller-defined memo for SVM…
tenequm Mar 18, 2026
b874b13
chore(site): add latest partners and remove endpoints category (#1681)
ethanoroshiba Mar 18, 2026
425aa73
fix: permit2 e2e typescript servers (#1685)
CarsonRoscoe Mar 18, 2026
c2de525
fix: Solana spec links (#1683)
CarsonRoscoe Mar 18, 2026
7b7e163
feat: python permit2 and gas sponsorship extensions (#1686)
CarsonRoscoe Mar 19, 2026
db2bfac
chore: version python package (#1704)
CarsonRoscoe Mar 19, 2026
53ba5b0
feat: gitbooks permit2 python (#1689)
CarsonRoscoe Mar 19, 2026
7826ac3
feat(site): brand scroller, ecosystem search & UI refresh (#1705)
Must-be-Ash Mar 20, 2026
0b33634
fix(go): remove stale TODO in facilitator hooks test (#1711)
mvanhorn Mar 20, 2026
825f9b2
fix(go): include registered schemes in facilitator error messages (#1…
mvanhorn Mar 20, 2026
5135fab
Fix extra: null incompatibility between python facilitator and TS zod…
phdargen Mar 23, 2026
067f297
feat: add dynamic routing to bazaar (#1664)
CarsonRoscoe Mar 23, 2026
c90f52e
Update docs/extensions/bazaar.mdx (#1768)
mintlify[bot] Mar 23, 2026
170f5c0
Update website copy (#1767)
erikreppel-cb Mar 23, 2026
1d3682d
chore: version typescript packages (#1769)
phdargen Mar 23, 2026
b054f42
chore(go): release v2.7.0 (#1770)
phdargen Mar 23, 2026
7f837ea
feat(go): add net/http standard library adapter for payment middlewar…
wnjoon Mar 24, 2026
8eda857
feat(go/http): add Echo framework middleware adapter (#1424)
wnjoon Mar 24, 2026
011e680
feat: add Mezo Testnet mUSD as default asset (Permit2 + EIP-2612) (#1…
ryanRfox Mar 24, 2026
bbe45f5
feat(evm): add Stable mainnet (chain ID 988) network support (#1775)
paperCPU Mar 24, 2026
bd42498
Add Fastify framework adapter for x402 payment middleware (#1512)
ElliotPadfield Mar 24, 2026
1cc968d
feat: improved e2e suite (#1779)
CarsonRoscoe Mar 24, 2026
7af3cb7
Fix gin streaming content leak (#1789)
phdargen Mar 24, 2026
a0ec8e6
Monkey-patch fastify's reply.raw write operations and buffere respons…
phdargen Mar 24, 2026
d352574
feat: add upto to typescript sdk (#1773)
CarsonRoscoe Mar 25, 2026
c7b4c3c
removing aurracloud facilitator from ecosystem (#1816)
ya7ya Mar 26, 2026
9e50ecb
feat: added EXTENSION-RESPONSES header to spec (#1835)
CarsonRoscoe Mar 26, 2026
bb1f2f0
fix: enforce method in discovery schemas and auto-populate from adapt…
ethanoroshiba Mar 26, 2026
7afc39f
Update docs/extensions/bazaar.mdx (#1836)
mintlify[bot] Mar 27, 2026
1af1f69
Fix race condition in lazy facilitator initialization (#1812)
ayushozha Mar 27, 2026
6662507
fix: e2e approve bug (#1803)
CarsonRoscoe Mar 27, 2026
fc11152
feat: add upto to go sdk (#1833)
CarsonRoscoe Mar 28, 2026
b76d933
Refresh Augur ecosystem listing copy (#1869)
JleviEderer Mar 30, 2026
e233e04
fix: randomize facilitator signer selection (#1849)
CarsonRoscoe Mar 30, 2026
33de0ea
Add Fastify adapter documentation (#1788)
mintlify[bot] Mar 30, 2026
3662a35
Update docs/sdk-features.md (#1848)
mintlify[bot] Mar 30, 2026
c6fa51b
Add net/http support to Go SDK docs (#1782)
mintlify[bot] Mar 30, 2026
8c80edd
feat: add Polygon mainnet (chain ID 137) default asset support (#1791)
vijaygopalbalasa Mar 30, 2026
dea5c27
fix(mcp): preserve structuredContent in payment wrapper result (#1834)
tenequm Mar 30, 2026
8cf3fca
feat: export hook types (#1811)
kevzzsk Mar 30, 2026
c0e3969
Fix HTTPFacilitatorClient not following 308 redirects (#1813)
ayushozha Mar 30, 2026
c76b21d
test(python): add test coverage for MCP server_sync module (#1733)
Bortlesboat Mar 30, 2026
114e43b
feat(specs): add diagnostic extension for payment failure signaling
jonathanbulkeley Mar 30, 2026
df8a8c5
Merge branch 'main' into feat/diagnostic-extension
jonathanbulkeley Mar 30, 2026
9f52f9c
Added USDC for arbOne and ArbSepolia (#1877)
EmreDincoglu Mar 30, 2026
54ffa2c
Merge branch 'main' into feat/diagnostic-extension
jonathanbulkeley Mar 30, 2026
ad2658a
fix: evm contract deploys (#1880)
CarsonRoscoe Mar 31, 2026
96da974
Merge branch 'main' into feat/diagnostic-extension
jonathanbulkeley Mar 31, 2026
f6baf26
Add Extensions field to Go SettleResponse and VerifyResponse for pari…
javierpmateos Mar 31, 2026
bff876d
feat(evm): add Stable testnet (chain ID 2201) network support (#1786)
paperCPU Mar 31, 2026
56bc8da
Merge branch 'main' into feat/diagnostic-extension
jonathanbulkeley Mar 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
56 changes: 56 additions & 0 deletions .github/workflows/publish_npm_scoped_x402_fastify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Publish @x402/fastify package to NPM

on:
workflow_dispatch:

jobs:
publish-npm-x402-fastify:
runs-on: ubuntu-latest
environment: ${{ github.ref == 'refs/heads/main' && 'npm' || '' }}
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061
with:
version: 10.7.0

- uses: actions/setup-node@v4
with:
node-version: "24"
registry-url: "https://registry.npmjs.org"
cache: "pnpm"
cache-dependency-path: ./typescript

- name: Update npm for OIDC trusted publishing
run: npm install -g npm@latest

- name: Configure npm for trusted publishing
run: npm config delete always-auth 2>/dev/null || true

- name: Install and build
working-directory: ./typescript
run: |
pnpm install --frozen-lockfile
pnpm -r --filter=@x402/core --filter=@x402/extensions --filter=@x402/fastify run build

- name: Publish @x402/fastify package
working-directory: ./typescript/packages/http/fastify
run: |
# Get package information directly
PACKAGE_NAME=$(node -p "require('./package.json').name")
PACKAGE_VERSION=$(node -p "require('./package.json').version")

echo "Package: $PACKAGE_NAME@$PACKAGE_VERSION"

# Check if running on main branch
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
echo "Publishing to NPM (main branch)"
pnpm publish --provenance --access public
else
echo "Dry run only (non-main branch: ${{ github.ref }})"
pnpm publish --dry-run --no-git-checks
fi
56 changes: 56 additions & 0 deletions .github/workflows/publish_npm_scoped_x402_stellar.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Publish @x402/stellar package to NPM

on:
workflow_dispatch:

jobs:
publish-npm-x402-stellar:
runs-on: ubuntu-latest
environment: ${{ github.ref == 'refs/heads/main' && 'npm' || '' }}
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061
with:
version: 10.7.0

- uses: actions/setup-node@v4
with:
node-version: "24"
registry-url: "https://registry.npmjs.org"
cache: "pnpm"
cache-dependency-path: ./typescript

- name: Update npm for OIDC trusted publishing
run: npm install -g npm@latest

- name: Configure npm for trusted publishing
run: npm config delete always-auth 2>/dev/null || true

- name: Install and build
working-directory: ./typescript
run: |
pnpm install --frozen-lockfile
pnpm -r --filter=@x402/core --filter=@x402/stellar run build

- name: Publish @x402/stellar package
working-directory: ./typescript/packages/mechanisms/stellar
run: |
# Get package information directly
PACKAGE_NAME=$(node -p "require('./package.json').name")
PACKAGE_VERSION=$(node -p "require('./package.json').version")

echo "Package: $PACKAGE_NAME@$PACKAGE_VERSION"

# Check if running on main branch
if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
echo "Publishing to NPM (main branch)"
pnpm publish --provenance --access public
else
echo "Dry run only (non-main branch: ${{ github.ref }})"
pnpm publish --dry-run --no-git-checks
fi
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.env
.env.local
node_modules/
dist/
.turbo/
Expand All @@ -20,12 +21,17 @@ e2e/clients/mcp-go/mcp-client
e2e/clients/mcp-go/mcp-go
e2e/facilitators/go/facilitator
e2e/facilitators/go/go
e2e/servers/echo/echo
e2e/servers/gin/gin
e2e/servers/gin/server
e2e/servers/nethttp/nethttp
e2e/servers/mcp-go/mcp-go
e2e/servers/mcp-go/mcp-server
e2e/legacy/servers/gin/gin

# Example build artifacts
examples/go/servers/upto/upto

# Agent artifacts
TASK.md
.claude/
Expand Down
12 changes: 12 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,18 @@ x402 aims to be chain-agnostic. New chain implementations are welcome.

Because different chains have different best practices, a scheme may have a different mechanism on a new chain than it does on EVM. If the scheme mechanism varies from the reference implementation, the x402 Foundation will re-audit the scheme for that chain before accepting.

### Adding a Default Asset for an EVM Chain

If your chain is EVM-compatible and you want to add a default stablecoin for
dollar-string pricing (`"$0.10"`), you don't need the full 3-PR workflow below. See:

- [Go: DEFAULT_ASSET.md](go/mechanisms/evm/DEFAULT_ASSET.md)
- [TypeScript: DEFAULT_ASSET.md](typescript/packages/mechanisms/evm/src/exact/server/DEFAULT_ASSET.md)

These guides include a cross-SDK checklist of every file to update.

### Adding a New Chain Family

### PR 1: Specification Only

Open a PR with specs for one payment scheme implementation.
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ go get github.com/coinbase/x402/go
- **Open standard:** x402 is an open standard, freely accessible and usable by anyone. It will never force reliance on a single party.
- **HTTP / Transport Native:** x402 is meant to seamlessly complement existing data transportation. It should whenever possible not mandate additional requests outside the scope of a typical client / server flow.
- **Network, token, and currency agnostic:** we welcome contributions that add support for new networks (both crypto and fiat), signing standards, or schemes, so long as they meet our acceptance criteria laid out in [CONTRIBUTING.md](https://github.com/coinbase/x402/blob/main/CONTRIBUTING.md). x402 may extend support to fiat based networks, but will never deprioritize onchain payments in favor of fiat payments.
- **Backwards Compatible:** x402 will not deprecate support for any existing networks unless such removal is deemed necessary for the security of the standard
- **Backwards Compatible:** x402 will not deprecate support for any existing networks unless such removal is deemed necessary for the security of the standard. Whenever possible, x402 will aim for backwards compatibility for non-major version changes.
- **Trust minimizing:** all payment schemes must not allow for the facilitator or resource server to move funds, other than in accordance with client intentions
- **Easy to use:** x402 needs to be 10x better than existing ways to pay on the internet. This means abstracting as many details of crypto as possible away from the client and resource server, and into the facilitator. This means the client/server should not need to think about gas, rpc, etc.
- **Easy to use:** It is the goal of the x402 community to improve ease of use relative to other forms of payment on the Internet. This means abstracting as many details of crypto as possible away from the client and resource server, and into the facilitator. This means the client/server should not need to think about gas, rpc, etc.

## Ecosystem

Expand Down
Loading
Loading