{"_id":"@bankofai/x402-gateway","_rev":"21-7755887e9ccb17317d49b561580f0666","name":"@bankofai/x402-gateway","dist-tags":{"beta":"1.0.2-beta.0","latest":"1.0.2"},"versions":{"1.0.0-beta.0":{"name":"@bankofai/x402-gateway","version":"1.0.0-beta.0","_id":"@bankofai/x402-gateway@1.0.0-beta.0","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"00bd8db698b95dd94e3fab9c3ce28f2f061b9db6","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.0-beta.0.tgz","fileCount":9,"integrity":"sha512-mI2HM7a3O1oadzO1/9PEGL020qLj2bN0vtEoXWoJ4dsZiJqCoZsMMlWCdbn9IQ+b1VxGZI3HQJLpYeBj9ma0lg==","signatures":[{"sig":"MEUCIQCJ3rw0kQZACwQ2le2A5by8GW4Ux56T01rI01PX1mgYngIgK4ct+sYX1DedZIHfFs7rPG/7GdGsLxCLNkCN4uief2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27111},"type":"module","engines":{"node":">=20"},"gitHead":"56465fefef321ffd6f79bd29d7d158affd833ffb","private":false,"scripts":{"dev":"tsx src/cli.ts","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.0","@bankofai/x402-core":"1.0.0","@bankofai/x402-tron":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.0-beta.0_1783565111398_0.5928617556234042","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.1":{"name":"@bankofai/x402-gateway","version":"1.0.0-beta.1","_id":"@bankofai/x402-gateway@1.0.0-beta.1","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"433693b8b03fa5581836dd97a741115d0d1991cf","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.0-beta.1.tgz","fileCount":9,"integrity":"sha512-eOjKTqsARQLYvmSAYeaiv1TTc3m7wolqiT3mDtx37YWGO93fJ+bkmea/NHMLDY/FiSt2ftpZrRGTE84WWu67Sw==","signatures":[{"sig":"MEQCIDu41AYEvfgPSN1OGXX3N4Umwsm5Cwt19vEvIZvBxhLRAiAlhrAqdi5msZpGTrJWmOpce3OihC3gCk2iRQaSYMLKTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43999},"type":"module","engines":{"node":">=20"},"gitHead":"8794027a58b218a755b1d3cb53823927eb4fb4ed","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.0","@bankofai/x402-core":"1.0.0","@bankofai/x402-tron":"1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.0-beta.1_1783590437288_0.23394831471413924","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"@bankofai/x402-gateway","version":"1.0.0-beta.2","_id":"@bankofai/x402-gateway@1.0.0-beta.2","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"3c55883241f2579129eba2fa20cc7d6beedf29b4","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.0-beta.2.tgz","fileCount":9,"integrity":"sha512-PtHWcNtuulVmh8ASje2bjCA6oEMYB1Kzhw0/uZGStGcGpm+ZtNNcMW907IQUufEHO8KVtS3GDZgiAgebKZQwXg==","signatures":[{"sig":"MEYCIQD9xLkLbPDG1M7nBKEIlavZ1uCOG+zxbW7G7aSZlOcrIwIhANPhDfcUsgsmSzYjUJ7ULFbUCFtW7MaaIZRjCnCLjTDw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46647},"type":"module","engines":{"node":">=20"},"gitHead":"ad648ebdbeae38813fb3d8744fa07ff18ebeca49","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.0","@bankofai/x402-core":"1.0.0","@bankofai/x402-tron":"1.0.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.0-beta.2_1783592423398_0.18227246929723617","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@bankofai/x402-gateway","version":"1.0.0","_id":"@bankofai/x402-gateway@1.0.0","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"94c64585be3f804a9a31fcc6b344f73944e00b30","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.0.tgz","fileCount":9,"integrity":"sha512-GStr4jTzeCC4P1wM/16mPPsMtT4+ECDGcLnYTqjlF6mPniF/l2gWZGQp1SznAIeVSyXDJw5b40275If76bzosw==","signatures":[{"sig":"MEYCIQDBUh1LMEdg0IAbfaENvokjw0eT2vFbJOqatUfyR+nidQIhAJkCX6X7m9LLCddg23qPJf6yaPX5oXBOd3J2QSG8Nt8a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46650},"type":"module","engines":{"node":">=20"},"gitHead":"94cc883eb9a551fc46df972b944025c4e7f7b758","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.0","@bankofai/x402-core":"1.0.0","@bankofai/x402-tron":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.0_1783596905453_0.6152799899777415","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.1":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.1","_id":"@bankofai/x402-gateway@1.0.1-beta.1","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"38059c23b7e13639dffed9e21a8dd0127118d0e0","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.1.tgz","fileCount":9,"integrity":"sha512-TUU/VKtAEYi8QZGtWO/ukZp2s2BL0Tt6m/6QYehgFFvA44B0Xoz1hCnQfT8SgSjdfRG9wHeSKW82KU3K01YyvQ==","signatures":[{"sig":"MEQCIH9RkMctgseDA5MPJJDXHPOELRakUec1nEbD6d8MLL2oAiBQMppgVXbJo7nhR/r5MhR6bq2o9shav9ldvUUKVybzOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48146},"type":"module","engines":{"node":">=20"},"gitHead":"72e0419c2abe98ad6235331fb0460a257299dda9","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"_npmVersion":"11.8.0","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1-beta.4","@bankofai/x402-core":"1.0.1-beta.4","@bankofai/x402-tron":"1.0.1-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.1_1784101825210_0.28607687705332974","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.2":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.2","_id":"@bankofai/x402-gateway@1.0.1-beta.2","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"eb692af9cc5395c908f407b5aad12dfe09aa364f","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.2.tgz","fileCount":9,"integrity":"sha512-CV1zKBoNbDuw1TcD+3w6Fb3zZFvBv/XPgbxnd+6+g8SfCcOKp2WLKlYCajw0xdZNS+OUcMplRSs/b3C7iQFZSQ==","signatures":[{"sig":"MEUCIFnjvfT6M9MSoAuOdaBQF+qmzAE4GdhX03PlD2xjLrnGAiEA9MfH4YNAD8nRuFVBw+W25AbVZQXaxsd3E/8vtc4L4/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48810},"type":"module","engines":{"node":">=20"},"gitHead":"364cec2ea4c970b6087d2ff91aa1c193e1a0239b","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"_npmVersion":"11.8.0","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1-beta.4","@bankofai/x402-core":"1.0.1-beta.4","@bankofai/x402-tron":"1.0.1-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.2_1784182436863_0.8745949695450146","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.3":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.3","_id":"@bankofai/x402-gateway@1.0.1-beta.3","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"1d93309d4242f2b2177b3dc1fe3e2ea244631c7e","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.3.tgz","fileCount":9,"integrity":"sha512-zwUmYJ5DKOmYcWvBGIqo9sAISAT+nyZx1Otp/7s1gcddQ76b7SifKpYpE+HkQRpGtHaDpyaGyhOrWnyAf4st0Q==","signatures":[{"sig":"MEUCIQDJTuX1CihJzqqGO1VmFSm0zf79yoNGf1EAVucIlRW+kAIgLqweDoAKevqYZj+IrEqMd3r3qyxqtTkGvnxRBgkeRus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48943},"type":"module","engines":{"node":">=20"},"gitHead":"10fedc53ca41f45fc6aef4313c6a4f207e4610e6","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"_npmVersion":"11.8.0","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1-beta.4","@bankofai/x402-core":"1.0.1-beta.4","@bankofai/x402-tron":"1.0.1-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.3_1784187925208_0.7973280957587039","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.4":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.4","_id":"@bankofai/x402-gateway@1.0.1-beta.4","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"5377bab52c62b633dc19a30b30372c8137035772","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.4.tgz","fileCount":9,"integrity":"sha512-UDvO2Y/rMdpdVAixNfBsidfJjizjLQrcYIqCbL5c1EZS/rfaQez6czWV+v1vPrFGMKQPlq5U6DWSfnAHnUQi2Q==","signatures":[{"sig":"MEUCIHk8Pc2RUTlOGcSh3cUcI9DmCjA0caHP33qrgnnVt2cOAiEA2AOL0gfFwkifVB0Ghxk4ePiU1T4nTrBC64bx9sUTy7w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49074},"type":"module","engines":{"node":">=20"},"gitHead":"4e136b3f27641e8983c4afadf42667808e8dbf0f","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"_npmVersion":"11.8.0","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1-beta.4","@bankofai/x402-core":"1.0.1-beta.4","@bankofai/x402-tron":"1.0.1-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.4_1784188576110_0.3827039863195856","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.5":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.5","_id":"@bankofai/x402-gateway@1.0.1-beta.5","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"b27f7e8e9d46d1461f13290bf73be9e638fc7eb3","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.5.tgz","fileCount":9,"integrity":"sha512-ZNlqkjBXzhpysOLr6sspK5HWG1CpLyICESxh6QIFUowgKiEsTPSiagMxswTAG3vGN+o2WRsaBos9+fgJvEjEtw==","signatures":[{"sig":"MEUCIQCkAonuNZKCAIT4EhOa/pOdSFJhSUeMxxNKkS6By6kjiQIgKL7jsNDdNTq1HP9NGW+ezOYxoUblKfA5B7FL00IbXpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51663},"type":"module","engines":{"node":">=20"},"gitHead":"1e9da5050a6ebe09a8f44cd139286b7aeebff4b5","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"overrides":{"ws":"8.21.0"},"_npmVersion":"11.8.0","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1-beta.4","@bankofai/x402-core":"1.0.1-beta.4","@bankofai/x402-tron":"1.0.1-beta.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.5_1784189889805_0.3053288629626101","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.6":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.6","_id":"@bankofai/x402-gateway@1.0.1-beta.6","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"41052cd08905c9eb12c46cb1807429158aad1032","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.6.tgz","fileCount":9,"integrity":"sha512-00+KsYXdDq3iKRR/sXdwNBX9qnkkURtxFr2mbjcoDLju3M3ZRBEIRpLlemasbXfusqdyMDyUxUfuccKBLMtoTw==","signatures":[{"sig":"MEUCIGmi/muL0Ak3gPHqu1xdIlKVe8qt1V3cAjbOiUyVckTyAiEAu0wkzWMEj+uBkif/6pxG2kykJ7ofsm0R0YI6q5+fkA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51705},"type":"module","engines":{"node":">=20"},"gitHead":"4eafa1e1d9030067bfb29947f4591459b5109bdc","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"overrides":{"ws":"8.21.0"},"_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1","@bankofai/x402-core":"1.0.1","@bankofai/x402-tron":"1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.6_1784290520190_0.9716859309196748","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.7":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.7","_id":"@bankofai/x402-gateway@1.0.1-beta.7","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"3e6c2daff06049348781dc6b05217819061a319a","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.7.tgz","fileCount":9,"integrity":"sha512-CgFcrYVwzVhxsRvrQVwap2Irwly/LhXy3jzbE1RX7r3FOAcaU1gRw9mGw4REXSZdgUHUtkKkf5Tst9Y3NOoZvA==","signatures":[{"sig":"MEYCIQCUBSIC7CUKYuX1sSH7gRkcoyw9OexotRzi4R0Aw9Qg+AIhAMzzG9n5DbSoxf7ZVR2b1a2ToJeIe6VlDgdYAeDFp6Yk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58672},"type":"module","engines":{"node":">=20"},"gitHead":"2b11263b2262fe3ba461182436e9ad30a8b6fc71","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"overrides":{"ws":"8.21.0"},"_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1","@bankofai/x402-core":"1.0.1","@bankofai/x402-tron":"1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.7_1784343219428_0.6568596085794423","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.8":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.8","_id":"@bankofai/x402-gateway@1.0.1-beta.8","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"b8d778d89942623c4db73628862cce9e8f4edfc9","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.8.tgz","fileCount":10,"integrity":"sha512-LERGIc4e1ejZ934OVetKEkHI+O/MUn7ZmotA1IVlDMUjv9Dom+A2qnW4ih0sTufJPC35DHr/suInL1saaEy/+w==","signatures":[{"sig":"MEUCIQCWOH6vqTIOlOQwTyCsY8QiZM3qL0F8qd5RKxjFhfrl9wIgE0L3ErXPsHras1GAGpBsFMjqhSTWg3vYjskMFlb4wiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59086},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./x402":"./dist/x402.js","./config":"./dist/config.js","./server":"./dist/server.js","./tokens":"./dist/tokens.js","./package.json":"./package.json"},"gitHead":"511a1fc25738f19956b3922d2300df9aef690fcc","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"overrides":{"ws":"8.21.0"},"deprecated":"Use 1.0.1-beta.10; this transition build lacks TypeScript declarations.","_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1","@bankofai/x402-core":"1.0.1","@bankofai/x402-tron":"1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.8_1784522480085_0.44464202887708804","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.9":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.9","_id":"@bankofai/x402-gateway@1.0.1-beta.9","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"feeb8bcab79fe96090121fea21604bf19ad05c49","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.9.tgz","fileCount":11,"integrity":"sha512-HTJ8slrE1fy8iwo0ZNA7mw6/M0Xk4NX0p+CserrfG04IN1QlemxH9pQt07IeLjNTV2k1WnTeqcrMTdZvdAz30w==","signatures":[{"sig":"MEQCHwPj+NKumP1tZ2mFeAk4bP3Mf1uyXxcXcwdfwmrebtoCIQC7uB7Ek5wLAMrgsGoTTDvvG9bRSuUFZEfCv3jFhhFXug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61857},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./x402":"./dist/x402.js","./config":"./dist/config.js","./server":"./dist/server.js","./tokens":"./dist/tokens.js","./catalog":"./dist/catalog.js","./package.json":"./package.json"},"gitHead":"469048b6b6e1d46baefc1aefd43c4af323802cd1","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"overrides":{"ws":"8.21.0"},"deprecated":"Use 1.0.1-beta.10; this transition build lacks TypeScript declarations.","_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1","@bankofai/x402-core":"1.0.1","@bankofai/x402-tron":"1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.9_1784522540428_0.001774904598640159","host":"s3://npm-registry-packages-npm-production"}},"1.0.1-beta.10":{"name":"@bankofai/x402-gateway","version":"1.0.1-beta.10","_id":"@bankofai/x402-gateway@1.0.1-beta.10","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"200cbcdba6d657133278fb5cbb339aefc6f1a67a","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1-beta.10.tgz","fileCount":18,"integrity":"sha512-0ot7f/51b+6QBQ2cZXp2u22T4INXFCaTJHQeqERn6PHXVfhUSKbNjVBi3jIi2qfbZCH6QZm3+1jkM6HBAIyUNA==","signatures":[{"sig":"MEUCIEtY8bdxiEBkP6nscq9JO4ImPYUsuoGW2lu6PoeBdgASAiEAlQADz+LmaE2pvjmi5x8237lnP4SsyQijf4jMBlnAhm0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66408},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./x402":"./dist/x402.js","./config":"./dist/config.js","./server":"./dist/server.js","./tokens":"./dist/tokens.js","./catalog":"./dist/catalog.js","./package.json":"./package.json"},"gitHead":"a0c0165719570f9a25da7cf2a5d485424b5623e8","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"overrides":{"ws":"8.21.0"},"_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1","@bankofai/x402-core":"1.0.1","@bankofai/x402-tron":"1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1-beta.10_1784522612186_0.33563779389594584","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bankofai/x402-gateway","version":"1.0.1","_id":"@bankofai/x402-gateway@1.0.1","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"f37d714c4fbe259ea924a8842d4c43220a3d6df4","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.1.tgz","fileCount":20,"integrity":"sha512-wOkKUTUNVEcxZAmaRtNCTrmDER+4V8IJvXa1qZjW6lO0ZJgBsv9r8Qay8iMJaMax8aQ4ZCRJDZjM39qczAo57A==","signatures":[{"sig":"MEUCIQCTV2tsQJsXfZInxXOt2L9XvpLAs/BKtfIln/5x8zHg5QIga+w5KpbV6b2hHzTwMBncJmoLoVKXAYVhGqsWio3yulM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67749},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./x402":"./dist/x402.js","./config":"./dist/config.js","./server":"./dist/server.js","./tokens":"./dist/tokens.js","./catalog":"./dist/catalog.js","./package.json":"./package.json"},"gitHead":"1d3156d4d978ebc6efc0a42bf05bfc836d439df4","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"overrides":{"ws":"8.21.0"},"_npmVersion":"11.8.0","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"25.6.0","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1","@bankofai/x402-core":"1.0.1","@bankofai/x402-tron":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.1_1784537967927_0.6476017427499734","host":"s3://npm-registry-packages-npm-production"}},"1.0.2-beta.0":{"name":"@bankofai/x402-gateway","version":"1.0.2-beta.0","_id":"@bankofai/x402-gateway@1.0.2-beta.0","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"89bddbdbd714636adb8b9064aca1f811bf3cf481","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.2-beta.0.tgz","fileCount":21,"integrity":"sha512-TxFkqL4A2e/kFSo3jXQ/lZ9dq7El5PeqcXVeZmv4fCQagD3oNJM/JBAbyZ3oC8cVwMg8b4/7wX4AZwBi5osSeA==","signatures":[{"sig":"MEYCIQC5isuqx4KxCnh0wEVCBgbeonbeM4M+vCxP+Mtj4cfYzwIhALXtBeNzXzGtZyDW2XmDFbcMVlbPkkP59BJZmuqtn8Ya","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69918},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./x402":"./dist/x402.js","./config":"./dist/config.js","./server":"./dist/server.js","./tokens":"./dist/tokens.js","./catalog":"./dist/catalog.js","./package.json":"./package.json"},"gitHead":"ba74b7d36c2c4ecc6978ff8dca21b89808ba41ee","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"overrides":{"ws":"8.21.0"},"_npmVersion":"11.8.0","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"25.6.0","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1","@bankofai/x402-core":"1.0.1","@bankofai/x402-tron":"1.0.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.2-beta.0_1784864864698_0.9562209678246261","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bankofai/x402-gateway","version":"1.0.2","_id":"@bankofai/x402-gateway@1.0.2","maintainers":[{"name":"virtual_parson","email":"parson.hu@tron.network"},{"name":"roger.gan","email":"roger.gan@tron.network"},{"name":"gummy789j","email":"gummy789j@gmail.com"},{"name":"wzc1206","email":"david.wang@tron.network"},{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},{"name":"leonatmoon","email":"leon.zhang@tron.network"}],"bin":{"x402-gateway":"dist/cli.js"},"dist":{"shasum":"f52a825fb5f846320c6812fe20fdbfb9ddbbbc9e","tarball":"https://registry.npmjs.org/@bankofai/x402-gateway/-/x402-gateway-1.0.2.tgz","fileCount":22,"integrity":"sha512-ctUqUkWYX3wyacx4HMVYe7q4jDnR7UhplfX2EMFII9vcoLArrp78QU2rLEgzgUNTbGYAYdkmvKiAREfjNj6MTg==","signatures":[{"sig":"MEYCIQCwSWoFbjtTSd8WAg7LwBZYNuGdL1MBAbPzuL/JCghuEwIhALptZnwov6jWKKPiYPci6aqtmwLgZKGmBUDb7qvPJizl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86039},"type":"module","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./x402":"./dist/x402.js","./config":"./dist/config.js","./server":"./dist/server.js","./tokens":"./dist/tokens.js","./catalog":"./dist/catalog.js","./package.json":"./package.json"},"gitHead":"bb325897b3f581f8b1abd33ff5df1544a1f7e9c5","private":false,"scripts":{"dev":"tsx src/cli.ts","test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","start":"node dist/cli.js"},"_npmUser":{"name":"bobo123123hhh","email":"bobo.liu@tron.network"},"overrides":{"ws":"8.21.0"},"_npmVersion":"10.8.2","description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","directories":{},"_nodeVersion":"20.19.5","dependencies":{"yaml":"^2.8.2","@bankofai/x402-evm":"1.0.1","@bankofai/x402-core":"1.0.1","@bankofai/x402-tron":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","typescript":"^5.9.3","@types/node":"^24.10.1"},"_npmOperationalInternal":{"tmp":"tmp/x402-gateway_1.0.2_1785392981030_0.11046774863741926","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-07-09T02:45:11.195Z","modified":"2026-09-16T08:36:04.129Z","1.0.0-beta.0":"2026-07-09T02:45:11.542Z","1.0.0-beta.1":"2026-07-09T09:47:17.425Z","1.0.0-beta.2":"2026-07-09T10:20:23.549Z","1.0.0":"2026-07-09T11:35:05.611Z","1.0.1-beta.1":"2026-07-15T07:50:25.362Z","1.0.1-beta.2":"2026-07-16T06:13:57.001Z","1.0.1-beta.3":"2026-07-16T07:45:25.358Z","1.0.1-beta.4":"2026-07-16T07:56:16.243Z","1.0.1-beta.5":"2026-07-16T08:18:09.932Z","1.0.1-beta.6":"2026-07-17T12:15:20.324Z","1.0.1-beta.7":"2026-07-18T02:53:39.571Z","1.0.1-beta.8":"2026-07-20T04:41:20.216Z","1.0.1-beta.9":"2026-07-20T04:42:20.565Z","1.0.1-beta.10":"2026-07-20T04:43:32.326Z","1.0.1":"2026-07-20T08:59:28.059Z","1.0.2-beta.0":"2026-07-24T03:47:44.851Z","1.0.2":"2026-07-30T06:29:41.197Z"},"description":"TypeScript reverse proxy for paid HTTP APIs. This version uses the npm TypeScript x402 SDK packages only:","maintainers":[{"email":"parson.hu@tron.network","name":"virtual_parson"},{"email":"roger.gan@tron.network","name":"roger.gan"},{"email":"gummy789j@gmail.com","name":"gummy789j"},{"email":"david.wang@tron.network","name":"wzc1206"},{"email":"bobo.liu@tron.network","name":"bobo123123hhh"},{"email":"zerodevblock@gmail.com","name":"zerodev0"},{"email":"leon.zhang@tron.network","name":"leonatmoon"}],"readme":"# x402 Gateway\n\nTypeScript reverse proxy for paid HTTP APIs. This version uses the npm\nTypeScript x402 SDK packages only:\n\n- `@bankofai/x402-core@1.0.1`\n- `@bankofai/x402-evm@1.0.1`\n- `@bankofai/x402-tron@1.0.1`\n\nPayment requirements support logical `scheme=exact` and TRON\n`scheme=exact_gasfree`. The transfer method is selected by the registered\nasset: Base USDC uses EIP-3009 metadata, while BSC/TRON USDT uses Permit2.\nGasFree uses the TRON GasFree relayer flow without Permit2 metadata.\n\n## Install\n\n```bash\nnpm install\nnpm run build\n```\n\nAfter installing the npm package globally, use the binary directly:\n\n```bash\nnpm install -g @bankofai/x402-gateway@1.0.2\nx402-gateway --help\n```\n\n## Run\n\nStart from a single provider file:\n\n```bash\nx402-gateway --provider examples/provider.yml --host 127.0.0.1 --port 4020\n```\n\nStart from a runtime Provider directory:\n\n```bash\nx402-gateway --providers /path/to/providers --host 127.0.0.1 --port 4020\n```\n\nValidate the generic Base Sepolia USDC example:\n\n```bash\nX402_PROVIDER_FORWARD_URL=https://api.example.com \\\nX402_GATEWAY_PUBLIC_BASE_URL=https://gateway.example.com \\\nX402_PROVIDER_RECIPIENT_BASE=0x0000000000000000000000000000000000000001 \\\nX402_FACILITATOR_URL=https://x402.org/facilitator \\\nx402-gateway check --provider examples/base-usdc-provider.yml\n```\n\nThe example uses `eip155:84532`, official Base Sepolia USDC, the `exact`\nEIP-3009 flow, and `https://x402.org/facilitator`. Test and production Provider\nconfiguration is deployed separately and is not stored in this runtime\nrepository.\n\nValidate provider files without starting the server:\n\n```bash\nx402-gateway check --providers /path/to/providers\nx402-gateway check --provider examples/provider.yml --json\n```\n\n`check` validates provider YAML syntax, required fields, environment expansion,\nnetwork aliases, endpoint shape, and duplicate provider names. It does not call\nupstream APIs, facilitator services, RPC endpoints, recipient addresses, or the\nfull payment path.\n\nRun from source during development:\n\n```bash\nnpm run dev -- --providers /path/to/providers --host 127.0.0.1 --port 4020\n```\n\nHealth check:\n\n```bash\ncurl http://127.0.0.1:4020/__402/health\n```\n\nPaid provider path:\n\n```bash\ncurl -i http://127.0.0.1:4020/providers/defillama-tvl-base-sepolia/protocols\n```\n\nIf the endpoint has metering, the gateway returns `402 Payment Required` with a\n`PAYMENT-REQUIRED` header. After the client retries with `PAYMENT-SIGNATURE`,\nthe gateway verifies and settles with the facilitator, then forwards to the\nconfigured upstream.\n\n## CLI\n\n```text\nx402-gateway start --providers <dir> [options]\nx402-gateway --providers <dir> [options]\nx402-gateway check --providers <dir>\nx402-gateway check --provider <file>\n```\n\nOptions:\n\n- `--provider <file>`: load one provider YAML file.\n- `--providers <dir>`: recursively load `provider.yml` / `provider.yaml`.\n  `--provider` and `--providers` are mutually exclusive.\n- `--host <host>`: bind host. The CLI default is `127.0.0.1`; Docker passes `0.0.0.0`.\n- `--port <port>`: bind port, default `8080`.\n- `--json`: machine-readable startup/check/error output.\n- `--quiet`: suppress startup, shutdown, and successful `check` output.\n- `--debug`: include stack traces for startup errors.\n- `--help`, `--version`: inspect usage and installed version.\n\nStartup prints human-readable URLs by default:\n\n```text\nx402-gateway listening on http://127.0.0.1:4020\nproviders: 1 loaded\nhealth: http://127.0.0.1:4020/__402/health\nready: http://127.0.0.1:4020/__402/ready\n```\n\nWith `--json`, startup output includes `source`, `host`, `port`, `count`,\n`providers`, `health`, and `ready` for deployment scripts. CLI errors also\nhonor `--json`, including argument parsing errors such as unknown options.\n\nAdmin endpoints such as `/__402/providers`, `/__402/endpoints`, and `/metrics`\nare protected by default. Set `X402_GATEWAY_ADMIN_TOKEN` in deployed\nenvironments and call them with `Authorization: Bearer <token>`. For a\ndeliberately public test deployment, set `X402_GATEWAY_ADMIN_ALLOW_PUBLIC=true`.\n\n## Provider Config\n\nProvider files stay in YAML:\n\n```yaml\nname: example-price-tron\nforward_url: ${X402_PROVIDER_FORWARD_URL}\n\nrouting:\n  auth:\n    method: header\n    key: Authorization\n    prefix: \"Bearer \"\n    value_from_env: X402_PROVIDER_API_TOKEN\n\noperator:\n  network: tron:0xcd8690dc\n  currencies:\n    usd: [\"USDT\"]\n  recipient: ${X402_PROVIDER_RECIPIENT_TRON}\n  scheme: exact\n  protocol: exact\n  asset_transfer_method: permit2\n  facilitator_url: ${X402_FACILITATOR_URL}\n  facilitator_api_key_env: X402_FACILITATOR_API_KEY\n  valid_for_seconds: 300\n\nendpoints:\n  - method: GET\n    path: /v1/ping\n    request:\n      query:\n        symbol:\n          required: true\n          type: string\n          min_length: 1\n    response:\n      json:\n        field: code\n        equals: 1\n    metering:\n      dimensions:\n        - tiers:\n            - price_usd: 0.002\n```\n\n`scheme: exact` describes settlement semantics, not a universal token\nauthorization mechanism. Registered token metadata selects EIP-3009 or\nPermit2. To force Permit2 for a supported token, use\n`asset_transfer_method: permit2`. Historical protocol aliases such as\n`exact_permit` and `exact_permit2` are rejected with a migration error instead\nof silently changing transfer methods. For GasFree, set both `scheme` and\n`protocol` to `exact_gasfree`; the facilitator must support GasFree for the\nselected TRON network and token.\n\nPaid endpoints can declare required query parameters, headers, and JSON body\nfields under `request`. Validation runs before the gateway returns a 402, so a\nknown-invalid request is never verified or settled. Supported field checks are\n`required`, `type`, `format`, `min_length`, `max_length`, and `enum`. Supported\nformats are `evm_address` and `evm_address_list`.\n\nAPIs that encode business failures inside HTTP 200 JSON responses can declare\n`response.json.field` and `response.json.equals`. A mismatch is treated as an\nupstream failure and is not counted as a successful delivery.\n\nNon-CAIP TRON aliases are rejected. Provider files must use canonical TRON\nCAIP-2 IDs.\n\nEVM convenience aliases accepted:\n\n- `bsc-mainnet` -> `eip155:56`\n- `bsc-testnet` -> `eip155:97`\n- `base-mainnet` -> `eip155:8453`\n- `base-sepolia` -> `eip155:84532`\n\n## Environment\n\n```bash\nX402_GATEWAY_PROVIDERS_DIR=providers\nX402_GATEWAY_HOST=127.0.0.1\nPORT=8080\nX402_GATEWAY_ADMIN_TOKEN=<admin-token>\nX402_GATEWAY_PUBLIC_BASE_URL=https://gateway.example.com\nX402_GATEWAY_BUILD_COMMIT=<git-sha>\nX402_GATEWAY_MAX_BODY_BYTES=1000000\nX402_GATEWAY_MAX_RESPONSE_BYTES=20000000\nX402_GATEWAY_FACILITATOR_TIMEOUT_MS=10000\nX402_GATEWAY_UPSTREAM_TIMEOUT_MS=30000\nX402_GATEWAY_MAX_CONCURRENT_REQUESTS=100\nX402_GATEWAY_RATE_LIMIT_PER_MINUTE=300\nX402_GATEWAY_ALLOW_INSECURE_HTTP=false\nX402_FACILITATOR_URL=https://facilitator.bankofai.io\nX402_FACILITATOR_API_KEY=<facilitator-api-key>\nX402_PROVIDER_FORWARD_URL=<upstream-base-url>\nX402_PROVIDER_RECIPIENT_TRON=<recipient-T-address>\nX402_PROVIDER_RECIPIENT_BASE=<recipient-0x-address>\nX402_PROVIDER_API_TOKEN=<upstream-token>\n```\n\nProvider YAML may also use `operator.facilitator_api_key_env:\nX402_FACILITATOR_API_KEY` so deployments can inject the facilitator API key via\nenvironment variable without storing it in the mounted provider file.\nWhen `facilitator_api_key_env` is configured, that named variable is required;\n`check` and `start` fail instead of silently contacting the facilitator without\nauthentication.\n\n`X402_GATEWAY_PUBLIC_BASE_URL` must be the externally reachable gateway origin.\nIt makes the challenge `resource.url` absolute, which is required when the\ncontainer's internal host or request path is not the public payment URL.\n\n## Docker\n\n`docker compose up --build` uses the current checkout and\n`pull_policy: build`; it does not pull the mutable remote `test` image. The\nlocal GasFree HTTP fixture is intentionally stored under `examples/` and is\nnot loaded by default.\n\nSet `X402_GATEWAY_PROVIDERS_HOST_DIR` to a runtime Provider directory. Compose\nmounts it read-only at `/app/providers`. The fallback `./providers` directory\nis Git-ignored:\n\n```bash\nX402_GATEWAY_PROVIDERS_HOST_DIR=/path/to/providers docker compose up --build\n```\n\nRelease deployments should use an immutable semantic version or image digest.\nThe container runs the same CLI binary:\n\n```bash\ndocker run --rm -p 4020:8080 \\\n  -v \"$PWD/providers:/app/providers:ro\" \\\n  -e X402_GATEWAY_ADMIN_TOKEN=<admin-token> \\\n  -e X402_FACILITATOR_API_KEY=<facilitator-api-key> \\\n  bankofai/x402-gateway@<sha256-digest>\n```\n\nThe Docker command binds `0.0.0.0:8080` explicitly; local CLI runs default to\n`127.0.0.1` unless `--host` or `X402_GATEWAY_HOST` is set.\n\n## Metrics\n\nThe protected `/metrics` endpoint separates request, settlement, and delivery\nsemantics:\n\n- `x402_gateway_http_requests_total`: all HTTP traffic, including admin paths.\n- `x402_gateway_provider_requests_total`: requests matched to provider routes.\n- `x402_gateway_settlements_total`: successful payment settlements.\n- `x402_gateway_deliveries_total`: settled requests delivered from upstream.\n- `x402_gateway_post_settlement_failures_total`: failures after settlement.\n\nThese counters do not claim that a settlement implies successful business\ndelivery.\n","readmeFilename":"README.md"}