{"_id":"@b3dotfun/anyspend-x402-express","_rev":"12-5e739be9bd9a3333a10fdf5d040ba6f2","name":"@b3dotfun/anyspend-x402-express","dist-tags":{"latest":"0.2.9"},"versions":{"0.1.0":{"name":"@b3dotfun/anyspend-x402-express","version":"0.1.0","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.1.0","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"alex-kaffetzakis","email":"alex@kaffetzakis.com"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"wojb3","email":"wojtek@npclabs.org"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"5ac835f07a77cf42f6f7b2881e813b56bfaba0d5","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.1.0.tgz","fileCount":8,"integrity":"sha512-PrYRs3p8HuN8AzSBkNq9JEpQ+xbqTP4jNPvEw2SaeRKVxqqSOgRbBp5mcz+HktaAcCVKIWYQ9yXUr8QZO4kvfA==","signatures":[{"sig":"MEYCIQDO0WoNCLRCL3tNKkHifS5Hpb8+mgfeygPGuAHuFlr+JwIhAO8GgrDKLJU3KnWGwMtyZKxiV5LurRNZYikNIqJNLbf9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83197},"main":"./dist/cjs/index.js","_from":"file:b3dotfun-anyspend-x402-express-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"anqt-dev","email":"anqtran36@gmail.com"},"_resolved":"/private/var/folders/3h/t371gs6d3gj5fknk2x2qqs0h0000gn/T/a26ed63f4b7542655c367e20f4c47e32/b3dotfun-anyspend-x402-express-0.1.0.tgz","_integrity":"sha512-PrYRs3p8HuN8AzSBkNq9JEpQ+xbqTP4jNPvEw2SaeRKVxqqSOgRbBp5mcz+HktaAcCVKIWYQ9yXUr8QZO4kvfA==","repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"10.9.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"23.3.0","dependencies":{"zod":"^3.24.2","viem":"^2.21.26","x402":"^0.7.1","express":"^4.18.2","@solana/kit":"^2.1.1","@coinbase/cdp-sdk":"^1.22.0","@b3dotfun/anyspend-x402":"^0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.1.0_1761881689426_0.8634213601002532","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.0","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.2.0","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"alex-kaffetzakis","email":"alex@kaffetzakis.com"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"wojb3","email":"wojtek@npclabs.org"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"0414528566b19a66fa0eade20f219e5f865eb07f","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.0.tgz","fileCount":8,"integrity":"sha512-5GWuwDgWctzqStNqksK4ocJDJ62YK8RTB/theCOqYO0lWlOc/2Sy1/Svasr8ipNM/JsHvEuicjBKak2mpglfOA==","signatures":[{"sig":"MEQCIEdAMkCGGkLUBlUL/1HJAJApuvQa5jrSXuXla2PJpL8qAiBMFumYZ2zkYF+Ku3sRIF7mipmV0bUo1iJdrA911mbZNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83693},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"7de092106a05a9519beaa35a15199441ba1e4da6","scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"anqt-dev","email":"anqtran36@gmail.com"},"repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"10.9.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"23.3.0","dependencies":{"viem":"^2.21.26","express":"^4.18.2","@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"workspace:^"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.2.0_1761942611075_0.654298177982233","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.1","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.2.1","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"alex-kaffetzakis","email":"alex@kaffetzakis.com"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"wojb3","email":"wojtek@npclabs.org"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"71562fc463197c4b3480d37b1121a33abf95d5b7","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.1.tgz","fileCount":8,"integrity":"sha512-LAP6INN9ZtJjY1C0+0gorsKcf7CaAkwrZq1yr/k4YFBYNscBDGfbCvI0wFYOt9ktJuKD1exV5EQJlXBYgjPUCw==","signatures":[{"sig":"MEYCIQCq9tiWUsa+6PJQQ+4oYaZ7zONwkUz7DD9RqLVrXZRn/wIhANtR5Zp8sCRPkSgJUji4dfuuLpky8NoR3Pceb7k4oeIt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83687},"main":"./dist/cjs/index.js","_from":"file:b3dotfun-anyspend-x402-express-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"anqt-dev","email":"anqtran36@gmail.com"},"_resolved":"/private/var/folders/3h/t371gs6d3gj5fknk2x2qqs0h0000gn/T/85e4143c81cde86d9ea574da3a59f27b/b3dotfun-anyspend-x402-express-0.2.1.tgz","_integrity":"sha512-LAP6INN9ZtJjY1C0+0gorsKcf7CaAkwrZq1yr/k4YFBYNscBDGfbCvI0wFYOt9ktJuKD1exV5EQJlXBYgjPUCw==","repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"10.9.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"23.3.0","dependencies":{"viem":"^2.21.26","express":"^4.18.2","@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"^0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.2.1_1761943644510_0.9886389513931688","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.2","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.2.2","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"alex-kaffetzakis","email":"alex@kaffetzakis.com"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"wojb3","email":"wojtek@npclabs.org"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"51070952c57b864bd1e2826a51697ed476fc9d2d","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.2.tgz","fileCount":8,"integrity":"sha512-lUCfE0oaw289x0COhq4cUxyQhz8mJSa5Aejp92V8xEnxBCd1YUa+jYNCsELzw5T0ba2cntAVQY2UdKB8xJcByA==","signatures":[{"sig":"MEYCIQC059ft9Axine9Sv3Kp/py4pyjoXO8ntMMxQgmAomN1dwIhAIj17oIkEtosFDfpbarxYAN2dmOZ4AbedU20Ny7C5cl1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88565},"main":"./dist/cjs/index.js","_from":"file:b3dotfun-anyspend-x402-express-0.2.2.tgz","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"anqt-dev","email":"anqtran36@gmail.com"},"_resolved":"/private/var/folders/3h/t371gs6d3gj5fknk2x2qqs0h0000gn/T/ff35c3197ec523ae45b0156315c6c5ae/b3dotfun-anyspend-x402-express-0.2.2.tgz","_integrity":"sha512-lUCfE0oaw289x0COhq4cUxyQhz8mJSa5Aejp92V8xEnxBCd1YUa+jYNCsELzw5T0ba2cntAVQY2UdKB8xJcByA==","repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"10.9.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"23.3.0","dependencies":{"viem":"^2.21.26","express":"^4.18.2","@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"^0.2.3","@b3dotfun/anyspend-x402-token-compat":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.2.2_1762325095538_0.7273527831097304","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.3","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.2.3","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"alex-kaffetzakis","email":"alex@kaffetzakis.com"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"wojb3","email":"wojtek@npclabs.org"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"cfad7a4f5e6934fb397b1a122d06249a5dda7bba","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.3.tgz","fileCount":8,"integrity":"sha512-Ueh1tBtfCxO3cePwbTqo2hQPku7lBG9IJm2sMc1SWTcbwpW7kXuFjHlwqCvnlY+ePKcjVyekthhITS5AsCB8CQ==","signatures":[{"sig":"MEYCIQDEceGfJ7zTH4iip0Ax1I1p8OlVABx4vniS9heuUZyzPwIhAJUGhQt4jx6rYMVIf/vvfyimUEQho1YU68/w66az9b/1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88565},"main":"./dist/cjs/index.js","_from":"file:b3dotfun-anyspend-x402-express-0.2.3.tgz","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"anqt-dev","email":"anqtran36@gmail.com"},"_resolved":"/private/var/folders/3h/t371gs6d3gj5fknk2x2qqs0h0000gn/T/2f119482aac61de4798267a705535674/b3dotfun-anyspend-x402-express-0.2.3.tgz","_integrity":"sha512-Ueh1tBtfCxO3cePwbTqo2hQPku7lBG9IJm2sMc1SWTcbwpW7kXuFjHlwqCvnlY+ePKcjVyekthhITS5AsCB8CQ==","repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"10.9.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"23.3.0","dependencies":{"viem":"^2.21.26","express":"^4.18.2","@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"^0.2.4","@b3dotfun/anyspend-x402-token-compat":"^0.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.2.3_1762328505827_0.8729636870064823","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.4","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.2.4","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"alex-kaffetzakis","email":"alex@kaffetzakis.com"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"wojb3","email":"wojtek@npclabs.org"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"244566634e40b1f77c07c4a9f3747cfa1a091de0","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.4.tgz","fileCount":8,"integrity":"sha512-xEEMWA9V/n8JFsDxWQinhr5YHv1NV9O4KgCoqT6j7wVYRc6eU2HWFEfKwAkxbTapCI9z6jOJWI5mL1N1sz8aKw==","signatures":[{"sig":"MEUCIQCP/iEVI2fFyriApQcllqRZBAOV/E8A7rjw6y6PS3r4kwIgPU89pd4ZP3QQf1lQIOrDZmzY+zCUflxY1jvASiDB4dQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88565},"main":"./dist/cjs/index.js","_from":"file:b3dotfun-anyspend-x402-express-0.2.4.tgz","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"anqt-dev","email":"anqtran36@gmail.com"},"_resolved":"/private/var/folders/3h/t371gs6d3gj5fknk2x2qqs0h0000gn/T/cef2df5a8a5daa41a52ebce2e6578fb0/b3dotfun-anyspend-x402-express-0.2.4.tgz","_integrity":"sha512-xEEMWA9V/n8JFsDxWQinhr5YHv1NV9O4KgCoqT6j7wVYRc6eU2HWFEfKwAkxbTapCI9z6jOJWI5mL1N1sz8aKw==","repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"10.9.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"23.3.0","dependencies":{"viem":"^2.21.26","express":"^4.18.2","@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"^0.2.5","@b3dotfun/anyspend-x402-token-compat":"^0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.2.4_1763141587229_0.877564907903174","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.5","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.2.5","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"707f0b658ca6f7a4e499379289b5599b94c74429","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.5.tgz","fileCount":8,"integrity":"sha512-G3qCHoTSR5aTtNMfwNWrDH0Qy0aFDIken/oHKg30xLANagR+1NqO/1A6NGSQJx3yu+DTMc6OGHt46j375uU5Yw==","signatures":[{"sig":"MEYCIQCjudGM2MJdv58Q2aMIb/F2LWppOVNEpxtSMOftrr6TCwIhANuOzicM1uUB87Z9LEWT7Z08+ol7eFe8FTK1so+lzhI7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100114},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"91f624a2aecfb39b61e6f63d78e30908ea81e3be","scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"trung.npclabs","email":"trung@npclabs.org"},"repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"11.6.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"20.19.4","dependencies":{"viem":"^2.21.26","express":"^4.18.2","@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"workspace:^","@b3dotfun/anyspend-x402-token-compat":"workspace:^"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.2.5_1770132078405_0.33473809236960617","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.6","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.2.6","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"b3b12d04d10e97762ff7aae1184587981b0dc49c","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.6.tgz","fileCount":8,"integrity":"sha512-lMV/V1vzmn9LwQ1RjfsJqxCCx9/2jrEcbYLLXjOArxG8MZJhfjbKSIg0gLApG4iie1wQVssRmihZAHpo4QSuag==","signatures":[{"sig":"MEYCIQCcpC0gdyskg7kHMe6K8xOj3ODohXMkFjk5SXqRJuAbTQIhAIQk6LzAWk82BG2+Ezo0qcgfO7T2PCSZaJzWa49czxr5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100104},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"91f624a2aecfb39b61e6f63d78e30908ea81e3be","scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"trung.npclabs","email":"trung@npclabs.org"},"repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"11.6.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"20.19.4","dependencies":{"viem":"^2.21.26","express":"^4.18.2","@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"^0.2.7","@b3dotfun/anyspend-x402-token-compat":"^0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.2.6_1770132408434_0.651620849251344","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.7","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.2.7","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"61d091f6cb1400881f4ce6621efd82a0df623697","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.7.tgz","fileCount":8,"integrity":"sha512-dhc059hQdQiIhAl+iCij7qCAtJEr0AEzr6sDM1t6fSshTVk3X9kT5nnm0c/HU4Kv0qFv5Cq0l/jGJpZpiuK7Kw==","signatures":[{"sig":"MEYCIQDjZkuoySkp2PhM+rURxyiLGThphFWUmbqk9McswenM4wIhAPwEkQ4Y39U0RXFrCw4+yPhY0JSvTZANiahxOvI9HXPI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100968},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"6641286b207e61fd861396c9438e1cb7abfb2d83","scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"trung.npclabs","email":"trung@npclabs.org"},"repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"11.6.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"20.19.4","dependencies":{"viem":"^2.21.26","express":"^4.18.2","@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"^0.2.7","@b3dotfun/anyspend-x402-token-compat":"^0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.2.7_1770135000634_0.7042103709486724","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.8","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"author":{"name":"b3-fun"},"license":"Apache-2.0","_id":"@b3dotfun/anyspend-x402-express@0.2.8","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"dist":{"shasum":"f299c5bcd5c0afe0aaf6fd1e0cfc07f5760dc108","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.8.tgz","fileCount":8,"integrity":"sha512-uNaxJ6HAyTSiMU1gdh0YeB9ZMkb2Ow2X3+Jb9Pcnkwphv//o0DIrU5PfNLWzvuBD2fbUlKBPKpkEXLiFe+Jumg==","signatures":[{"sig":"MEUCIQCBTcWJt1sa2WLZylocV/VUhJvdim8oq/kyzyc97AY1+gIgXZy2jtadCJGumGpD1Ugm74pvl7r+1QJeXHL5bB1W0w0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100968},"main":"./dist/cjs/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"gitHead":"ebd2dfcb0f558a16c2d800ed5114e99e92d28284","scripts":{"lint":"eslint . --ext .ts --fix","test":"vitest run","build":"tsup","start":"tsx --env-file=.env index.ts","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","lint:check":"eslint . --ext .ts","test:watch":"vitest","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\""},"_npmUser":{"name":"trung.npclabs","email":"trung@npclabs.org"},"repository":{"url":"git+https://github.com/b3-fun/anyspend-x402.git","type":"git"},"_npmVersion":"11.6.0","description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","directories":{},"_nodeVersion":"20.19.4","dependencies":{"viem":"^2.21.26","express":"^4.18.2","@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"^0.2.7","@b3dotfun/anyspend-x402-token-compat":"^0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.4.0","vite":"^6.2.6","eslint":"^9.24.0","vitest":"^3.0.5","prettier":"3.5.2","@eslint/js":"^9.24.0","typescript":"^5.7.3","@types/node":"^22.13.4","@types/express":"^5.0.1","eslint-plugin-jsdoc":"^50.6.9","vite-tsconfig-paths":"^5.1.4","eslint-plugin-import":"^2.31.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.29.1","@typescript-eslint/eslint-plugin":"^8.29.1"},"_npmOperationalInternal":{"tmp":"tmp/anyspend-x402-express_0.2.8_1770135657259_0.8739642595165096","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@b3dotfun/anyspend-x402-express","version":"0.2.9","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/index.d.ts","scripts":{"start":"tsx --env-file=.env index.ts","test":"vitest run","test:watch":"vitest","build":"tsup","watch":"tsc --watch","format":"prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"","format:check":"prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\"","lint":"eslint . --ext .ts --fix","lint:check":"eslint . --ext .ts"},"keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"license":"Apache-2.0","author":{"name":"b3-fun"},"repository":{"type":"git","url":"git+https://github.com/b3-fun/anyspend-x402.git"},"description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","homepage":"https://github.com/b3-fun/anyspend-x402#readme","bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"devDependencies":{"@eslint/js":"^9.24.0","@types/express":"^5.0.1","@types/node":"^22.13.4","@typescript-eslint/eslint-plugin":"^8.29.1","@typescript-eslint/parser":"^8.29.1","eslint":"^9.24.0","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^50.6.9","eslint-plugin-prettier":"^5.2.6","prettier":"3.5.2","tsup":"^8.4.0","tsx":"^4.19.2","typescript":"^5.7.3","vite":"^6.2.6","vite-tsconfig-paths":"^5.1.4","vitest":"^3.0.5"},"dependencies":{"@solana/kit":"^2.1.1","@b3dotfun/anyspend-x402":"^0.2.7","@b3dotfun/anyspend-x402-token-compat":"^0.1.3","express":"^4.18.2","viem":"^2.21.26"},"publishConfig":{"access":"public"},"exports":{".":{"import":{"types":"./dist/esm/index.d.mts","default":"./dist/esm/index.mjs"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"_id":"@b3dotfun/anyspend-x402-express@0.2.9","gitHead":"e6cf8fdcffb715abd154472137da02acfdb0ebca","_nodeVersion":"20.19.4","_npmVersion":"11.6.0","dist":{"integrity":"sha512-OHtSp7oQ+IRzfPHwu6/uD9gosWyl/oUrZPPZDUkolE1GaxUAzuKjp9ngz2x0gNdo4wBH7+HZxw4THFQ/QLrvfA==","shasum":"2a471b64c6e38d58db5efdaca89a32742a92f1c5","tarball":"https://registry.npmjs.org/@b3dotfun/anyspend-x402-express/-/anyspend-x402-express-0.2.9.tgz","fileCount":8,"unpackedSize":100968,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCklNQMkFjWUo09dv55ciBxR3TnZc9pE9GtI+dsWQJphgIhAMuMn1ESgocvApZyEBJJPGfQn53fCRqpCoWEKjADDWPH"}]},"_npmUser":{"name":"trung.npclabs","email":"trung@npclabs.org"},"directories":{},"maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/anyspend-x402-express_0.2.9_1770196621842_0.8717630114456929"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-31T03:34:49.324Z","modified":"2026-02-04T09:17:02.648Z","0.1.0":"2025-10-31T03:34:49.656Z","0.2.0":"2025-10-31T20:30:11.329Z","0.2.1":"2025-10-31T20:47:24.689Z","0.2.2":"2025-11-05T06:44:55.723Z","0.2.3":"2025-11-05T07:41:46.014Z","0.2.4":"2025-11-14T17:33:07.416Z","0.2.5":"2026-02-03T15:21:18.551Z","0.2.6":"2026-02-03T15:26:48.577Z","0.2.7":"2026-02-03T16:10:00.787Z","0.2.8":"2026-02-03T16:20:57.394Z","0.2.9":"2026-02-04T09:17:02.000Z"},"bugs":{"url":"https://github.com/b3-fun/anyspend-x402/issues"},"author":{"name":"b3-fun"},"license":"Apache-2.0","homepage":"https://github.com/b3-fun/anyspend-x402#readme","keywords":["x402","anyspend","express","middleware","payment-protocol","web3","payments","cryptocurrency"],"repository":{"type":"git","url":"git+https://github.com/b3-fun/anyspend-x402.git"},"description":"AnySpend x402 Express middleware - Extended x402 payment protocol integration for Express.js","maintainers":[{"name":"max-b3","email":"max@npclabs.org"},{"name":"npclabs","email":"sean@npclabs.org"},{"name":"gionpclabs","email":"gio@npclabs.org"},{"name":"b3_david","email":"davidnguyen@npclabs.org"},{"name":"anqt-dev","email":"anqtran36@gmail.com"},{"name":"mitchmyburgh","email":"mitchmyburgh@gmail.com"},{"name":"trung.npclabs","email":"trung@npclabs.org"},{"name":"mikedutuandu","email":"mike@npclabs.org"}],"readme":"# @b3dotfun/anyspend-x402-express\n\nAnySpend-enhanced Express middleware for the x402 Payment Protocol. This package extends the standard x402-express middleware with multi-token and cross-chain payment support through the AnySpend facilitator.\n\n## Installation\n\n```bash\nnpm install @b3dotfun/anyspend-x402-express\n```\n\n## Quick Start\n\n```typescript\nimport express from \"express\";\nimport { paymentMiddleware } from \"@b3dotfun/anyspend-x402-express\";\nimport { facilitator } from \"@b3dotfun/anyspend-x402\";\n\nconst app = express();\n\n// Configure the payment middleware with AnySpend facilitator\napp.use(paymentMiddleware(\n  \"0xYourAddress\",\n  {\n    \"/protected-route\": {\n      price: \"$0.10\",\n      network: \"base-sepolia\",\n      config: {\n        description: \"Access to premium content\",\n      }\n    }\n  },\n  facilitator  // Use AnySpend facilitator for multi-token support\n));\n\n// Implement your route\napp.get(\"/protected-route\",\n  (req, res) => {\n    res.json({ message: \"This content is behind a paywall\" });\n  }\n);\n\napp.listen(3000);\n```\n\n## What Makes AnySpend Different?\n\nUnlike standard x402 implementations, AnySpend x402 enables:\n\n- ✨ **Multi-token payments** - Accept payments in various ERC-20 tokens, not just USDC\n- 🌉 **Cross-chain payments** - Users pay on one network, you receive on another\n- 🔄 **Automatic conversion** - Token swaps and bridging handled seamlessly by the facilitator\n- 🎯 **Standard compatibility** - Works with standard x402 clients (no custom client code needed)\n\n## Configuration\n\nThe `paymentMiddleware` function accepts four parameters:\n\n1. `payTo`: Your receiving address (`0x${string}`)\n2. `routes`: Route configurations for protected endpoints\n3. `facilitator`: Configuration for the x402 facilitator service (use AnySpend's for multi-token support)\n4. `paywall`: (Optional) Configuration for the built-in paywall\n\n### Using AnySpend Facilitator\n\n```typescript\nimport { facilitator } from \"@b3dotfun/anyspend-x402\";\nimport { paymentMiddleware } from \"@b3dotfun/anyspend-x402-express\";\n\napp.use(paymentMiddleware(\n  \"0xYourAddress\",\n  routes,\n  facilitator  // Pre-configured AnySpend facilitator\n));\n```\n\n## Middleware Options\n\n### Route Configuration\n\n```typescript\ntype RoutesConfig = Record<string, Price | RouteConfig>;\n\ninterface RouteConfig {\n  price: Price;           // Price in USD or token amount\n  network: Network;       // Supported networks (base, ethereum, arbitrum, etc.)\n  config?: PaymentMiddlewareConfig;\n}\n```\n\n### Payment Configuration\n\n```typescript\ninterface PaymentMiddlewareConfig {\n  description?: string;               // Description of the payment\n  mimeType?: string;                  // MIME type of the resource\n  maxTimeoutSeconds?: number;         // Maximum time for payment (default: 60)\n  outputSchema?: Record<string, any>; // JSON schema for the response\n  customPaywallHtml?: string;         // Custom HTML for the paywall\n  resource?: string;                  // Resource URL (defaults to request URL)\n}\n```\n\n### Facilitator Configuration\n\n```typescript\ntype FacilitatorConfig = {\n  url: string;                        // URL of the x402 facilitator service\n  createAuthHeaders?: CreateHeaders;  // Optional function to create authentication headers\n};\n```\n\n### Paywall Configuration\n\n```typescript\ntype PaywallConfig = {\n  cdpClientKey?: string;              // Your CDP Client API Key\n  appName?: string;                   // Name displayed in the paywall wallet selection modal\n  appLogo?: string;                   // Logo for the paywall wallet selection modal\n  sessionTokenEndpoint?: string;      // API endpoint for Coinbase Onramp session authentication\n};\n```\n\n## Supported Networks\n\nAnySpend facilitator supports multiple networks:\n\n- Base / Base Sepolia\n- Ethereum / Ethereum Sepolia\n- Arbitrum / Arbitrum Sepolia\n- Optimism / Optimism Sepolia\n- Polygon / Polygon Amoy\n\n**Primary Settlement Token**: USDC across all supported networks\n\nFor the latest list of supported tokens and networks, query: `https://mainnet.anyspend.com/x402/supported`\n\n## Optional: Coinbase Onramp Integration\n\n**Note**: Onramp integration is completely optional. Your x402 paywall will work perfectly without it. This feature provides an easy way for customers to fund their wallets directly from the paywall.\n\nWhen configured, a \"Get more USDC\" button will appear in your paywall, allowing users to purchase USDC directly through Coinbase Onramp.\n\n### Quick Setup\n\n#### 1. Create the Session Token Route\n\nAdd a session token endpoint to your Express app:\n\n```typescript\nimport express from \"express\";\nimport { POST } from \"@b3dotfun/anyspend-x402-express/session-token\";\n\nconst app = express();\n\n// Add the session token endpoint\napp.post(\"/api/x402/session-token\", POST);\n```\n\n#### 2. Configure Your Middleware\n\nAdd `sessionTokenEndpoint` to your middleware configuration:\n\n```typescript\nimport { facilitator } from \"@b3dotfun/anyspend-x402\";\n\napp.use(paymentMiddleware(\n  payTo,\n  routes,\n  facilitator,\n  {\n    sessionTokenEndpoint: \"/api/x402/session-token\",\n    cdpClientKey: \"your-cdp-client-key\",\n  }\n));\n```\n\n**Important**: The `sessionTokenEndpoint` must match the route you created above.\n\n#### 3. Get CDP API Keys\n\n1. Go to [CDP Portal](https://portal.cdp.coinbase.com/)\n2. Navigate to your project's **[API Keys](https://portal.cdp.coinbase.com/projects/api-keys)**\n3. Click **Create API key**\n4. Download and securely store your API key\n\n#### 4. Enable Onramp Secure Initialization\n\n1. Go to [CDP Portal](https://portal.cdp.coinbase.com/)\n2. Navigate to **Payments → [Onramp & Offramp](https://portal.cdp.coinbase.com/products/onramp)**\n3. Toggle **\"Enforce secure initialization\"** to **Enabled**\n\n#### 5. Set Environment Variables\n\n```bash\n# .env\nCDP_API_KEY_ID=your_secret_api_key_id_here\nCDP_API_KEY_SECRET=your_secret_api_key_secret_here\n```\n\n### How Onramp Works\n\nOnce set up, your x402 paywall will automatically show a \"Get more USDC\" button when users need to fund their wallets.\n\n1. **Generates session token**: Your backend securely creates a session token using CDP's API\n2. **Opens secure onramp**: User is redirected to Coinbase Onramp with the session token\n3. **No exposed data**: Wallet addresses and app IDs are never exposed in URLs\n\n### Troubleshooting Onramp\n\n#### Common Issues\n\n1. **\"Missing CDP API credentials\"**\n    - Ensure `CDP_API_KEY_ID` and `CDP_API_KEY_SECRET` are set\n    - Verify you're using **Secret API Keys**, not Client API Keys\n\n2. **\"Failed to generate session token\"**\n    - Check your CDP Secret API key has proper permissions\n    - Verify your project has Onramp enabled\n\n3. **API route not found**\n    - Ensure you've added the session token route: `app.post(\"/your-path\", POST)`\n    - Check that your route path matches your `sessionTokenEndpoint` configuration\n    - Verify the import: `import { POST } from \"@b3dotfun/anyspend-x402-express/session-token\"`\n\n## Related Packages\n\n- [@b3dotfun/anyspend-x402](https://www.npmjs.com/package/@b3dotfun/anyspend-x402) - AnySpend facilitator configuration\n- [x402](https://www.npmjs.com/package/x402) - Core x402 protocol implementation\n- [x402-express](https://www.npmjs.com/package/x402-express) - Standard Coinbase x402 Express middleware\n- [x402-hono](https://www.npmjs.com/package/x402-hono) - Hono middleware\n- [x402-next](https://www.npmjs.com/package/x402-next) - Next.js middleware\n- [x402-fetch](https://www.npmjs.com/package/x402-fetch) - Client for Fetch API\n- [x402-axios](https://www.npmjs.com/package/x402-axios) - Client for Axios\n\n## About x402\n\nThe x402 protocol is an open standard for HTTP-native payments. It enables:\n\n- **Low fees**: No percentage-based fees, just network costs\n- **Instant settlement**: ~2 second finality on supported networks\n- **Micro-payments**: Accept payments as low as $0.001\n- **Chain agnostic**: Works across multiple blockchain networks\n- **Easy integration**: One line of code for servers, one function for clients\n\nLearn more at [x402.org](https://x402.org)\n\n## Resources\n\n- [x402 Protocol](https://x402.org)\n- [AnySpend GitHub](https://github.com/b3-fun/anyspend-x402)\n- [AnySpend Facilitator](https://mainnet.anyspend.com/x402)\n- [CDP Documentation](https://docs.cdp.coinbase.com)\n- [CDP Discord](https://discord.com/invite/cdp)\n\n## License\n\nApache-2.0\n\n## Contributing\n\nContributions are welcome! This is an extended version of the Coinbase x402-express middleware with AnySpend ecosystem integration.\n","readmeFilename":"README.md"}