Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
703 commits
Select commit Hold shift + click to select a range
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
9f52f9c
Added USDC for arbOne and ArbSepolia (#1877)
EmreDincoglu Mar 30, 2026
ad2658a
fix: evm contract deploys (#1880)
CarsonRoscoe 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
5c3e60b
docs: add initial x402 foundation charter (#1911)
CarsonRoscoe Apr 2, 2026
98bcb65
fix: settlement overrides for upto in typescript sdk (#1913)
CarsonRoscoe Apr 2, 2026
2250cae
feat: refactor coinbase/x402 references to x402-foundation/x402 (#1912)
CarsonRoscoe Apr 2, 2026
dd4eb58
chore: version typescript, python and go packages (#1915)
CarsonRoscoe Apr 2, 2026
536b92e
feat: updated pypi workflow to use trusted publishing (#1916)
CarsonRoscoe Apr 2, 2026
af01f26
docs(bazaar): clarify EXTENSION-RESPONSES header applies to verify an…
ethanoroshiba Apr 6, 2026
1392834
feat: add self-facilitation example (#1942)
ethanoroshiba Apr 6, 2026
81dba64
feat: added upto to docs (#1961)
CarsonRoscoe Apr 8, 2026
5033781
feat: add upto readme and client examples (#1963)
CarsonRoscoe Apr 8, 2026
a4e4911
chore(extensions): migrate to @signinwithethereum/siwe (#1917)
caveman-eth Apr 9, 2026
cde9151
feat(specs): add Keeta exact scheme (#1575)
sc4l3r Apr 10, 2026
5df77ca
Add Echo framework documentation (#1783)
mintlify[bot] Apr 10, 2026
cdf3a76
improve defaultAsset docs (#1983)
phdargen Apr 10, 2026
5ab912d
feat(bazaar): add MCP resource type support to Go SDK (#1967)
avidreder Apr 10, 2026
a51c83c
Ecosystem page changes (#1992)
Must-be-Ash Apr 10, 2026
a25800e
feat(avm): Add Algorand (AVM) blockchain exact spec implementation an…
emg110 Apr 10, 2026
84a4bce
fix(evm): restore Mezo Testnet default asset dropped in v2.9.0 refact…
ryanRfox Apr 11, 2026
b123f39
docs(examples): clarify facilitator signer roles (#1937)
Bortlesboat Apr 11, 2026
37b8347
fix(paywall): read token name from payment requirements instead of ha…
ryanRfox Apr 11, 2026
ea0768c
docs(evm): complete default-asset chain list in Go EVM mechanism READ…
ryanRfox Apr 11, 2026
74a9e8e
docs(sellers): replace legacy Go import path in Echo example (#2009)
vikions Apr 12, 2026
2fda851
Add Ultravioleta DAO facilitator to ecosystem directory (#1780)
0xultravioleta Apr 13, 2026
9424291
chore(typescript): bump viem to 2.47.12 across all packages (#2013)
ryanRfox Apr 13, 2026
077b294
feat(svm): implement extra.memo support for exact scheme (#1688)
tenequm Apr 13, 2026
f420044
chore: version typescript packages (#2019)
phdargen Apr 13, 2026
db164fe
chore: version python package (#2020)
phdargen Apr 13, 2026
1059e86
chore(go): release v2.9.0 (#2021)
phdargen Apr 13, 2026
11206b0
Add Algorand (AVM) support to documentation (#1993)
mintlify[bot] Apr 13, 2026
b1176d3
remove legacy examples (#1356)
phdargen Apr 14, 2026
3b98333
Feat/add polygon facilitator (#2031)
AkshatGada Apr 15, 2026
006a1b2
add upto facilitator examples (#2028)
phdargen Apr 15, 2026
f78b268
remove legacy examples (#2036)
phdargen Apr 15, 2026
2a690c7
feat: add batch-settlement payment scheme and Cloudflare network spec…
CameronWhiteside Apr 15, 2026
c6391b1
feat: updated legacy npm packages to deploy via trusted publishing (#…
CarsonRoscoe Apr 16, 2026
c925593
docs: add AI-assisted contributions guidelines and sample agent promp…
notorious-d-e-v Apr 16, 2026
c284d0d
feat: upto evm python (#2023)
CarsonRoscoe Apr 16, 2026
a862793
Update docs/sdk-features.md (#2052)
mintlify[bot] Apr 17, 2026
875cf21
patch avm/fastify (#2041)
phdargen Apr 17, 2026
dc04108
fix: scientific notation price conversion bug (#2053)
CarsonRoscoe Apr 17, 2026
6991456
Map simulation and settlement failures to more detailed errors (#2062)
ethanoroshiba Apr 17, 2026
b7db1d1
chore: version python package (#2064)
CarsonRoscoe Apr 17, 2026
d298e14
add python upto to docs (#2065)
ethanoroshiba Apr 20, 2026
72bca66
SVM スキームの統合テスト placeholder を実テストに置換 (#1931)
natsukingly Apr 21, 2026
5543700
docs: add Documentation Checklist + surface chain-contribution flow (…
ryanRfox Apr 21, 2026
a9a7621
feat: add Quicknode to adopted-by scroller (#2055)
Sahilsen Apr 21, 2026
375f3f2
fix(go): implement SupportedCache Clear (#2072)
viktorcrypt Apr 21, 2026
09c9594
docs: create `README.md` under `typescript/` to showcase list of avai…
CJ42 Apr 21, 2026
2224f1c
feat: add openpayment (#1676)
vittominacori Apr 22, 2026
71a223d
feat: add MCP Bazaar discovery support across TypeScript, Python, and…
ethanoroshiba Apr 22, 2026
4840c8d
Cardano x402 Protocol Specification (#1093)
fabianbormann Apr 23, 2026
85f6123
Update docs/sdk-features.md (#2105)
mintlify[bot] Apr 23, 2026
0a358c3
feat(site): make x402.org agent-ready (#2113)
Must-be-Ash Apr 24, 2026
a051f48
allow ResourceServerExtension to assign x402ResourceServer hooks dire…
CarsonRoscoe Apr 24, 2026
ba1a65a
Document ResourceServerExtension hooks property (#2114)
mintlify[bot] Apr 24, 2026
bd6d7d4
feat(hedera): add initial @x402/hedera package (#1360)
piotrswierzy Apr 24, 2026
05f0e04
feat: add auth-hints extension to streamline scheme-level authenticat…
alftom Apr 24, 2026
60d467d
fix: use dynamic decimals in getDisplayAmount instead of hardcoded US…
natsukingly Apr 26, 2026
9b99acd
refactor: deduplicate checkIfBazaarNeeded across HTTP packages (#1925)
natsukingly Apr 26, 2026
032295b
fix(paywall): use dynamic token decimals instead of hardcoding 6 (#1980)
ryanRfox Apr 26, 2026
4feebcf
fix(site): improve x402 discoverability for scanner (#2128)
Must-be-Ash Apr 26, 2026
484030b
chore(paywall): regenerate bundle + add recurrence guard (#2054)
ryanRfox Apr 26, 2026
ce4748d
chore: version typescript packages (#2148)
phdargen Apr 27, 2026
af26d09
chore: version python package (#2149)
phdargen Apr 27, 2026
bed58c7
chore(go): release v2.10.0 (#2150)
phdargen Apr 27, 2026
582a3d1
feat(site): add x402 demo API endpoint for scanner discoverability (#…
Must-be-Ash Apr 28, 2026
e048247
Add codeowners per-network (#2082)
erikreppel-cb Apr 29, 2026
7ec7815
feat(bazaar): update WithBazaar SDK wrappers with search, unified aut…
ethanoroshiba Apr 29, 2026
01abe6c
specs(exact): propose TON exact scheme for x402 v2 (spec-only) (#1455)
ohld May 1, 2026
08e7568
feat(site): redesign hero section and update navigation CTAs (#2165)
margaretsommers May 1, 2026
78f0519
fix(site): remove x402 demo endpoint (#2172)
Must-be-Ash May 2, 2026
1e0434b
docs: add builder_code.md spec (#2050)
0xClouds May 4, 2026
45d7d19
Batch-settlement TS sdk (#2061)
phdargen May 4, 2026
12708ef
feat: improved aws lambda examples documentation (#2192)
CarsonRoscoe May 4, 2026
e01f40f
fix: documentation (#2194)
CarsonRoscoe May 5, 2026
a0f444c
feat: added cdk to example (#2197)
CarsonRoscoe May 5, 2026
c763d05
Batch-settlement scheme specification for EVM (#2051)
phdargen May 5, 2026
608034f
feat: add service metadata on resource to all 3 SDKs (#2200)
aayushijain21 May 6, 2026
f33cffb
Update docs/extensions/bazaar.mdx (#2209)
mintlify[bot] May 7, 2026
dc638f2
Document Hedera network support in x402 (#2121)
mintlify[bot] May 7, 2026
3f1cd58
fix(python): exclude MCP tests from wheel (#2155)
aproskill81 May 7, 2026
e7150b3
feat(evm): add Radius Network and Radius Testnet SBC as default stabl…
TJ-Frederick May 7, 2026
ebb5638
feat(ecosystem): add XRPL x402 facilitator (#2190)
aristotle-satoshi May 7, 2026
d235050
feat: log bazaar `EXTENSION-RESPONSES` header in resource servers (#2…
ethanoroshiba May 7, 2026
2b7914c
feat: batch settlement go sdk (#2230)
CarsonRoscoe May 8, 2026
e0ba324
feat: add TVM exact-payment mechanism to Python SDK (#1944)
ArkadiyStena May 8, 2026
ee7c156
chore: bump viem floor to ^2.48.11 across monorepo + refresh lockfile…
ryanRfox May 8, 2026
b0d5e48
updated docs with new hook primitives (#2247)
phdargen May 9, 2026
cd87caa
docs: fix indentation in x402 v2 spec examples (#2260)
morinokami May 10, 2026
2e54665
Docs/batch settlement and cleanup (#2261)
Jnix2007 May 11, 2026
153819d
Update scheme docs (#2264)
phdargen May 11, 2026
3df5223
update-bazaar-docs (#2263)
phdargen May 11, 2026
1bb718f
chore(go): release v2.11.0 (#2267)
phdargen May 11, 2026
1a3730a
chore: version typescript packages (#2268)
phdargen May 11, 2026
973de09
Add Writing hub and batch settlement blog post (#2269)
Jnix2007 May 12, 2026
81e611c
Revert "Add Writing hub and batch settlement blog post (#2269)" (#2270)
avidreder May 12, 2026
7c239c4
Add batch-settlement blog (#2277)
phdargen May 12, 2026
2081a41
Create TSC.md (#2253)
erikreppel-cb May 12, 2026
d93db8c
Update footer to Linux Foundation (#2283)
erikreppel May 12, 2026
850e3ce
Add `authCapture` scheme specification (#1425)
A1igator May 13, 2026
8eee964
fix(python): use named constants for erc20-approval gas fee defaults …
VedantAnand17 May 13, 2026
1c19281
test(paywall): replace placeholder entrypoint test (#2292)
tallyhuhu May 13, 2026
dd6d7e6
Harden workflows (#2287)
phdargen May 13, 2026
a24dc94
chore: version python package (#2293)
phdargen May 13, 2026
9a718b0
Fix py publishing (#2295)
phdargen May 13, 2026
7b3b0a1
docs: fix version mismatch in README installation steps (#2060)
Nihal4777 May 15, 2026
399e70d
docs(spec-exact-evm): clarify extra fields per assetTransferMethod an…
ryanRfox May 15, 2026
114b6b1
feat(evm): add HPP mainnet (chain ID 190415) and HPP Sepolia (chain I…
nolnol3 May 15, 2026
33c4d8b
Update docs/core-concepts/network-and-token-support.mdx (#2311)
mintlify[bot] May 15, 2026
82cd845
Fix: invoke lifecycle hooks in payment payload creation (#2099)
Ocheretovich May 15, 2026
1e5b045
fix: e2e axios client version (#2315)
CarsonRoscoe May 15, 2026
84ffb64
feat: x402BatchSettlement contract (#1950)
CarsonRoscoe May 15, 2026
f3deb60
fix paywall regen for new chains (#2312)
phdargen May 15, 2026
49ea054
Siwx extension hook adapters (#2304)
phdargen May 15, 2026
92f23c2
bump next (#2313)
phdargen May 15, 2026
5fca9f3
add missing mcp hook primitives (#2238)
phdargen May 15, 2026
36b64bc
Document SIWX hook adapters and fix storage interface (#2319)
mintlify[bot] May 15, 2026
9c2e8d2
Document MCP payment lifecycle hooks (#2321)
mintlify[bot] May 15, 2026
abbd40e
Add checks for 0 settle/refund amounts (#2306)
phdargen May 15, 2026
04ad3cc
Updating batch settlement blog authors (#2324)
Jnix2007 May 15, 2026
f5dd40e
Specs: add NEAR v2 exact payment scheme (#1459)
mikedotexe May 16, 2026
e35becf
refactor(paywall): tighten faucet refactor per forensic review + SVM-…
ryanRfox May 16, 2026
031434f
fix(examples/ts): align custom client env vars with .env-local (#2341)
feldmannn May 17, 2026
581e55e
feat: add ADI Chain default asset (#2279)
idea404 May 18, 2026
173e8b7
Update docs/core-concepts/network-and-token-support.mdx (#2351)
mintlify[bot] May 18, 2026
92f06b5
fix(python): check settle_result.success in MCP payment wrappers (#2356)
apmcdermott May 18, 2026
a242149
Add ERC-6492 unwrapping to exact/upto permit2 and batch-settlement (#…
phdargen May 19, 2026
3ba5d2e
Fix filestorage bundling (#2350)
phdargen May 19, 2026
2d45f75
Fix batch-settlement storage import paths (#2380)
mintlify[bot] May 19, 2026
b592f35
Hook parity for python sdk (#2388)
phdargen May 20, 2026
6e3b1ee
Update docs/advanced-concepts/lifecycle-hooks.mdx (#2392)
mintlify[bot] May 20, 2026
1321c39
docs(specs): rename auth-capture spec files (#2391)
avidreder May 20, 2026
74bc15e
add siwx extension to python sdk (#2393)
phdargen May 21, 2026
8f0683b
Document Python SIWX extension support (#2414)
mintlify[bot] May 21, 2026
ad08a9a
fix(ts): preserve encoded path separators in normalizePath (#2372)
apmcdermott May 21, 2026
a805c00
fix(python-legacy): html-safe JSON serialization in paywall script ta…
apmcdermott May 21, 2026
95f2094
fix(ts): replace dynamic fallback paywall with a static template (#2370)
apmcdermott May 21, 2026
25fd1fc
feat(site): update ecosystem page partners and logos (#2415)
margaretsommers May 21, 2026
dccb5dd
feat: python batch settlement (#2402)
CarsonRoscoe May 22, 2026
eff4323
Document Python batch-settlement EVM scheme support (#2430)
mintlify[bot] May 22, 2026
bc7be2f
Py batch settlement fixes (#2431)
phdargen May 22, 2026
47bdf04
feat(mcp): handle McpError(-32042) for MCP payment challenges (#1728)
tenequm May 22, 2026
2db7319
chore: version python package (#2443)
phdargen May 22, 2026
f9aa78e
chore(go): release v2.12.0 (#2445)
phdargen May 22, 2026
c03f1a8
chore: version typescript packages (#2444)
phdargen May 22, 2026
d5421c7
patch @x402/core workspace resolution for hedera sdk (#2461)
phdargen May 25, 2026
8cf020c
docs: document v1→v2 schema declaration change in migration guide (#2…
kenburbary May 26, 2026
c45aab1
fix: respect Retry-After header on 429 responses in facilitator clien…
natsukingly May 26, 2026
9619e83
docs: add MCP payment policy guidance (#2317)
EfeDurmaz16 May 26, 2026
83a8525
fix(python): export MCP client factories (#2330)
EfeDurmaz16 May 26, 2026
d4bdfa7
docs: clarify EVM channel and transfer method semantics (#2325)
EfeDurmaz16 May 26, 2026
b6d5bff
docs(spec): clarify HTTP payment required header (#2320)
EfeDurmaz16 May 26, 2026
b2c48d2
fix(python): preserve FastMCP result metadata (#2328)
EfeDurmaz16 May 26, 2026
5e907d8
docs: clarify payment identifier request binding (#2307)
EfeDurmaz16 May 26, 2026
4a5fd5b
fix(mcp): preserve existing metadata (#2318)
EfeDurmaz16 May 26, 2026
8fb28ce
docs(specs): fix broken link to batch-settlement spec in cloudflare s…
chopmob-cloud May 26, 2026
aba5a65
test(python): add unit tests for sign_eip2612_permit (#2344)
VedantAnand17 May 26, 2026
dd4dd10
Update docs/extensions/payment-identifier.mdx (#2469)
mintlify[bot] May 26, 2026
4ea0e2b
chore(go/http): remove unused extractPayment/createHTTPResponse (#2342)
feldmannn May 26, 2026
6567db1
fix(go): use math/rand/v2 instead of math/rand in SVM facilitator (#1…
br-to May 26, 2026
d031685
feat(site): add docs link to navbar (#2473)
margaretsommers May 26, 2026
ca46404
fix html paywall payment headers (#2419)
fallintoplace May 26, 2026
df95922
developer tools docs (#2474)
phdargen May 26, 2026
a3351bd
fix: Java PaymentFilter raw-URI mismatch (#2475)
CarsonRoscoe May 27, 2026
2cefcc7
fix: add maxValue payment ceiling to withPaymentInterceptor (#2479)
CarsonRoscoe May 27, 2026
3cd6deb
fix: go payment verify result discarded (#2476)
CarsonRoscoe May 27, 2026
bc7638d
feat(python): thread bazaar service metadata from RouteConfig to Reso…
hypeprinter007-stack May 27, 2026
5bc2c72
fix: aptos gas price vulnerability (#2477)
CarsonRoscoe May 27, 2026
588e038
fix: correct microLamports field path in compute price cap check (#2478)
CarsonRoscoe May 27, 2026
3ba526c
feat: solana cache deduplication (#2482)
CarsonRoscoe May 27, 2026
0af31dd
feat: validate bazaar middleware startup (#2481)
CarsonRoscoe May 27, 2026
51f889b
fix: erc-6492 factory call was server driven (#2480)
CarsonRoscoe May 27, 2026
bb21c71
Update Python service metadata docs for RouteConfig (#2490)
mintlify[bot] May 27, 2026
27553c7
feat(svm): add simulation-based smart wallet verification (#1527)
BranchManager69 May 28, 2026
ba2eb68
chore(svm): add changeset for #1527 smart wallet verification (#2505)
BranchManager69 May 28, 2026
be788e0
Bazaar service metadata plumbing (#2496)
phdargen May 29, 2026
087922a
docs(spec): Concordium exact review fixes (#2389)
pavelhbl May 29, 2026
10e59e1
auth-capture client scheme (TypeScript) (#2486)
A1igator May 29, 2026
c0cdc00
chore: version python package (#2514)
phdargen May 29, 2026
cf407e2
Release/typescript 2026 05 29 (#2516)
phdargen May 29, 2026
45d81d4
chore(go): release v2.13.0 (#2515)
phdargen May 29, 2026
af97601
fix(go): add /v2 suffix to module path for Go major version complianc…
ethanoroshiba May 29, 2026
cef9bad
chore(go): release v2.14.0 (#2518)
phdargen May 29, 2026
cd18d3e
fix(evm/batch-settlement): submit settle() with an explicit gas limit…
BranchManager69 Jun 2, 2026
6597224
fix(python): run failure hooks after after-hook errors (#2540)
skyc1e Jun 2, 2026
3a60816
fix(ts): harden wildcard pattern matching (#2541)
skyc1e Jun 2, 2026
61f16be
docs: add integration-test env setup for Python/TypeScript/Go SDKs (#…
mvanhorn Jun 2, 2026
5a4b5f3
Fix Swig smart wallet allowlist program (#2509)
edo-chan Jun 2, 2026
1d79e5b
fix retry (#1332)
phdargen Jun 2, 2026
71db7cc
add svm smart wallet e2e test (#2504)
phdargen Jun 2, 2026
c8c8d48
Update docs/schemes/exact.mdx (#2545)
mintlify[bot] Jun 2, 2026
6acb8fc
Feat: 8021 Schema v2 support for x402 (#2329)
0xClouds Jun 2, 2026
47e1739
Reject partial money strings (#2530)
samsamtrum Jun 3, 2026
bf99a51
fix: preserve v1 path params in discovery (#2508)
nightt5879 Jun 4, 2026
0a16496
feat: Add x402 v1 support to Python/Go MCP modules (#2553)
CarsonRoscoe Jun 5, 2026
c4420b7
feat: reject eoas as assets (#2554)
CarsonRoscoe Jun 5, 2026
4ddba37
Fix settlementOverrides for next (#2556)
phdargen Jun 5, 2026
bfa580e
improve client error surfacing (#2558)
phdargen Jun 5, 2026
8f52962
Update buyer quickstart to new response parsing API (#2560)
mintlify[bot] Jun 5, 2026
b82216b
Add builder-code extension documentation (#2546)
mintlify[bot] Jun 5, 2026
7539e93
Fix extension echo (#2561)
phdargen Jun 6, 2026
134f997
Add workflow checking verified commits (#2576)
phdargen Jun 8, 2026
ce51256
Add scripts + workflow to prepare python sdk releases (#2577)
phdargen Jun 8, 2026
9cca646
Builder-code extension for go SDK (#2575)
phdargen Jun 8, 2026
d454eb9
Document Go SDK support for builder-code extension (#2578)
mintlify[bot] Jun 8, 2026
dc656bb
docs(svm): specify simulation-based smart wallet verification for exa…
notorious-d-e-v Jun 9, 2026
8cdf8c2
Add scripts for releases (#2580)
phdargen Jun 10, 2026
228b1d0
add combined ts releases (#2581)
phdargen Jun 10, 2026
f9c4f60
feat(site): register Hedera testnet on the facilitator (#2589)
piotrswierzy Jun 10, 2026
238fac4
feat(evm): add Mezo mainnet (chain ID 31612) support with mUSD (#2590)
ryanRfox Jun 10, 2026
9a8da9f
fix site + example builds (#2593)
phdargen Jun 10, 2026
6ddce1a
Add Hedera Testnet to x402.org facilitator docs (#2592)
mintlify[bot] Jun 10, 2026
5304005
Add XDC Network mainnet (50) and Apothem testnet (51) USDC default st…
AnilChinchawale Jun 11, 2026
f4c532e
validAfter patch (#2601)
phdargen Jun 11, 2026
2c07e24
Nightly e2e runs (#2600)
phdargen Jun 11, 2026
edc7280
spec(upto): clarify settle-time verification convention for partial s…
aisling404 Jun 12, 2026
3298174
fix: cache Go SVM exact mint metadata (#2456)
wnjoon Jun 12, 2026
1a1ffc9
fix go path (#2611)
phdargen Jun 12, 2026
7a3dd3e
fix e2e run (#2609)
phdargen Jun 12, 2026
ae0bf9b
Add buildercode s array (#2606)
phdargen Jun 12, 2026
5448eab
Update builder-code docs for s array support (#2613)
mintlify[bot] Jun 12, 2026
94d4d73
chore: version python package (#2610)
phdargen Jun 12, 2026
93e6154
chore: version typescript packages (#2617)
phdargen Jun 12, 2026
b32a702
chore(go): release (#2618)
phdargen Jun 12, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 5 additions & 0 deletions .gitbook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
root: ./docs/

structure:
readme: README.md
summary: SUMMARY.md
189 changes: 189 additions & 0 deletions .github/CODEOWNERS

Large diffs are not rendered by default.

78 changes: 78 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Language labels
typescript:
- changed-files:
- any-glob-to-any-file:
- 'typescript/**/*.ts'
- 'typescript/**/*.tsx'

python:
- changed-files:
- any-glob-to-any-file: 'python/**/*.py'

go:
- changed-files:
- any-glob-to-any-file: 'go/**/*.go'

java:
- changed-files:
- any-glob-to-any-file: 'java/**/*.java'

# SDK - v2 core packages only
sdk:
- changed-files:
- any-glob-to-any-file:
- 'typescript/packages/core/**'
- 'typescript/packages/extensions/**'
- 'typescript/packages/http/**'
- 'typescript/packages/mechanisms/**'
- 'python/x402/**'
- 'go/*.go'
- 'go/http/**'
- 'go/mechanisms/**'
- 'go/signers/**'
- 'go/extensions/**'
- 'go/types/**'
- 'go/test/**'

# Legacy packages and examples
legacy:
- changed-files:
- any-glob-to-any-file:
- 'typescript/packages/legacy/**'
- 'python/legacy/**'
- 'go/legacy/**'
- 'java/**'
- 'examples/typescript/legacy/**'
- 'examples/python/legacy/**'

# Examples
examples:
- changed-files:
- any-glob-to-any-file: 'examples/**'

# Protocol specifications
specs:
- changed-files:
- any-glob-to-any-file: 'specs/**'

# Documentation
docs:
- changed-files:
- any-glob-to-any-file: 'docs/**'

# Website
website:
- changed-files:
- any-glob-to-any-file: 'typescript/site/**'

# CI/CD workflows
ci:
- changed-files:
- any-glob-to-any-file: '.github/**'

# Ecosystem partner additions
ecosystem:
- changed-files:
- any-glob-to-any-file:
- 'typescript/site/app/ecosystem/partners-data/**'
- 'typescript/site/public/logos/**'
15 changes: 15 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Please describe the tests you've performed to verify your changes.
Include relevant code samples, unit test cases, or screenshots if applicable.

For TypeScript: Run `pnpm test` from the `/typescript` directory
For Python: Run `uv run pytest` from the `python/x402/` directory
For Go: Run `go test ./...` from the `/go` directory
-->

Expand All @@ -28,8 +29,22 @@ For Go: Run `go test ./...` from the `/go` directory
- [ ] I have formatted and linted my code
- [ ] All new and existing tests pass
- [ ] My commits are signed (required for merge) -- you may need to rebase if you initially pushed unsigned commits
- [ ] I added a changelog fragment for user-facing changes (docs-only changes can skip)

<!--
Changelog fragments (required for user-facing changes):

- TypeScript: add a Changesets file under `typescript/.changeset/*.md`
- Create: `pnpm -C typescript changeset`
- Select only publishable `@x402/*` packages
- Go: add a Changie fragment under `go/.changes/unreleased/*`
- Create: `make -C go changelog-new`
- Python (python/x402 v2): add a Towncrier fragment under `python/x402/changelog.d/<PR>.<type>.md`
- Create: `cd python/x402 && uv run towncrier create --content "Fixed ..." 123.bugfix.md`
-->

<!--
For TypeScript: Run `pnpm format && pnpm lint` from `/typescript` and/or `/examples/typescript`
For Python: Run `uvx ruff format && uvx ruff check` from the `python/x402/` directory
For Go: Run `go fmt ./...` and `go vet ./...` from the `/go` directory
-->
166 changes: 166 additions & 0 deletions .github/scripts/create-github-release-commit.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
#!/usr/bin/env python3
"""Create a GitHub-verified bot commit through the GraphQL API.

Generic release helper. It takes a branch, a commit message, and a set of paths,
then creates a branch and a verified commit containing the current local contents of those paths.
Stdlib-only so it runs on CI runners via `python3` without any toolchain setup.
"""

from __future__ import annotations

import argparse
import base64
import json
import os
import subprocess
import sys
from pathlib import Path

CREATE_COMMIT_MUTATION = """
mutation($input: CreateCommitOnBranchInput!) {
createCommitOnBranch(input: $input) {
commit {
oid
url
}
}
}
"""


class GitHubCommitError(RuntimeError):
"""Raised when the GitHub API commit cannot be created."""


def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(
description="Create a GitHub-verified commit from local file changes."
)
parser.add_argument("--branch", required=True, help="Release branch to create and commit to.")
parser.add_argument("--message", required=True, help="Commit message headline.")
parser.add_argument("paths", nargs="+", help="Files or directories to include in the commit.")
return parser.parse_args()


def run(command: list[str], *, input_text: str | None = None) -> str:
try:
completed = subprocess.run(
command,
check=True,
capture_output=True,
input=input_text,
text=True,
)
except FileNotFoundError as exc:
raise GitHubCommitError(f"Required command not found: {command[0]}") from exc
except subprocess.CalledProcessError as exc:
message = exc.stderr.strip() or exc.stdout.strip() or str(exc)
raise GitHubCommitError(message) from exc

return completed.stdout.strip()


def github_repository() -> str:
repository = os.environ.get("GITHUB_REPOSITORY")
if not repository:
raise GitHubCommitError("GITHUB_REPOSITORY is required.")
return repository


def changed_paths(paths: list[str]) -> list[str]:
output = run(["git", "diff", "--name-only", "HEAD", "--", *paths])
return output.splitlines()


def file_changes(paths: list[str]) -> dict[str, list[dict[str, str]]]:
additions = []
deletions = []

for path in paths:
file_path = Path(path)
if file_path.is_file():
additions.append(
{
"path": path,
"contents": base64.b64encode(file_path.read_bytes()).decode(),
}
)
continue

deletions.append({"path": path})

return {"additions": additions, "deletions": deletions}


def create_branch(repository: str, branch: str, head_sha: str) -> None:
payload = json.dumps({"ref": f"refs/heads/{branch}", "sha": head_sha})
run(
["gh", "api", "--method", "POST", f"repos/{repository}/git/refs", "--input", "-"],
input_text=payload,
)


def create_commit(
repository: str,
branch: str,
message: str,
expected_head: str,
changes: dict[str, list[dict[str, str]]],
) -> str:
request = {
"query": CREATE_COMMIT_MUTATION,
"variables": {
"input": {
"branch": {
"repositoryNameWithOwner": repository,
"branchName": branch,
},
"message": {"headline": message},
"fileChanges": changes,
"expectedHeadOid": expected_head,
}
},
}

return run(
[
"gh",
"api",
"graphql",
"--method",
"POST",
"--input",
"-",
"--jq",
".data.createCommitOnBranch.commit.url",
],
input_text=json.dumps(request),
)


def main() -> int:
args = parse_args()
repository = github_repository()
head_sha = run(["git", "rev-parse", "HEAD"])
paths = changed_paths(args.paths)
if not paths:
raise GitHubCommitError("No changed paths found.")

create_branch(repository, args.branch, head_sha)
commit_url = create_commit(
repository,
args.branch,
args.message,
head_sha,
file_changes(paths),
)
print(commit_url)
return 0


if __name__ == "__main__":
try:
raise SystemExit(main())
except GitHubCommitError as exc:
print(f"error: {exc}", file=sys.stderr)
raise SystemExit(1) from exc
26 changes: 16 additions & 10 deletions .github/workflows/check_format.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,47 @@
name: Format
on: [pull_request]

permissions:
contents: read
id-token: none

jobs:
check-format-typescript:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
with:
version: 11.1.1
run_install: false
- uses: actions/setup-node@v4
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "20"
node-version: "22"
cache: "pnpm"
cache-dependency-path: ./typescript
- name: Ensure formatting
working-directory: ./typescript
run: |
pnpm install --frozen-lockfile
pnpm install --frozen-lockfile --ignore-scripts
pnpm format:check

check-format-examples-typescript:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
with:
version: 11.1.1
run_install: false
- uses: actions/setup-node@v4
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "20"
node-version: "22"
cache: "pnpm"
cache-dependency-path: ./examples/typescript
- name: Ensure formatting
working-directory: ./examples/typescript
run: |
pnpm install --frozen-lockfile
pnpm install --frozen-lockfile --ignore-scripts
pnpm format:check
Loading
Loading