{"_id":"@subly_fi/pay","_rev":"20-a4f2ea206469ae317da00598a1676346","name":"@subly_fi/pay","dist-tags":{"latest":"0.8.6"},"versions":{"0.1.0":{"name":"@subly_fi/pay","version":"0.1.0","license":"MIT","_id":"@subly_fi/pay@0.1.0","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"7d3a3806458e3b9c65f37c025f39691e0962a73f","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.1.0.tgz","fileCount":7,"integrity":"sha512-43IiH+lTuJYrov92TqFXRevJsaj74M2oCE4nDm/lWgs/KxOCgDCeC5vtfs1a8faSUWbHr8z2ZxIiasLX3d7QJA==","signatures":[{"sig":"MEYCIQCB5kmqvPEHCH41A58PAraVM654yz7+7o/CZL2cnoJsRgIhANZ1ym2BqYJ8PR7s9b3d3siTigiRELmyfivALU0CRXro","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213246},"type":"module","engines":{"node":">=20"},"gitHead":"4a9f57c3cf2e19b1e7970b87f92ba88d57bfb2ea","scripts":{"build":"node build.mjs"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay for x402 (subly-yield-exact) HTTP resources from Kamino vault yield. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","tweetnacl":"^1.0.3","@solana/kit":"^2.3.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.1.0_1781369781811_0.6454491269918043","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@subly_fi/pay","version":"0.1.1","license":"MIT","_id":"@subly_fi/pay@0.1.1","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"a74be6e5757b46e1ac1c5bb1cc170163d34dd263","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.1.1.tgz","fileCount":7,"integrity":"sha512-sb7b3n6NxFQuWFH6wr35sS4kA5cLXy7TYy9FFnNMyCC2WzVfxF7Bd88QCncvf977CLYB7jUs2mCz0BZ8Qo7YnA==","signatures":[{"sig":"MEUCIHXSNsd26mpI4k3XiN4aS7PX0X14QecEbvt2wk8ULKN+AiEA4Us8drR1kYo1fYF0jOvKHSzKwTVQfLBSRi9jl4vzTV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212210},"type":"module","engines":{"node":">=20"},"gitHead":"0e7a93a580a423a950224d47bfc8c65a3a741f6c","scripts":{"build":"node build.mjs"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay for x402 (subly-yield-exact) HTTP resources from Kamino vault yield. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","tweetnacl":"^1.0.3","@solana/kit":"^2.3.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.1.1_1781372967810_0.13742876780941438","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@subly_fi/pay","version":"0.2.0","license":"MIT","_id":"@subly_fi/pay@0.2.0","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"0d95d5315b80991cc959427e03b76d6ff3434987","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.2.0.tgz","fileCount":7,"integrity":"sha512-ZZiTPuW37eKo7eVbbDthX0WU2t9CV/8j5k6dqYuXfIxXjmI0+FdSAZxpllQZMyC2a7MDKoaVHMI08Ya1r8AxUw==","signatures":[{"sig":"MEQCIGvN3yMZgKQlBNb85zQZrsqH8OZNx584cFtsLjPw00HEAiBac3nwxq2RKNK4bmHqllApkiCEC1+9492o40m2uhVQTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205751},"type":"module","engines":{"node":">=20"},"gitHead":"37624b755d16556b616545c9feaf2714b730fc11","scripts":{"build":"node build.mjs"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay for ANY standard x402 (HTTP 402) paid API from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","tweetnacl":"^1.0.3","@solana/kit":"^2.3.0","x402-solana":"^2.0.4","@solana/web3.js":"^1.98.4","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.2.0_1782919104305_0.3095748779226797","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@subly_fi/pay","version":"0.3.0","license":"MIT","_id":"@subly_fi/pay@0.3.0","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"f55ecd7c6a6953b8d5c3e70a020e9bae74ec8f9a","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.3.0.tgz","fileCount":7,"integrity":"sha512-yLr0MT0QcJ29zOn+F4H9y1KPB9XT5DEjZJLFZCwADRWum6/2B7D6vv6LxBK2Na/kh2mC0QX4GJR7GvsZ0xPeDg==","signatures":[{"sig":"MEYCIQC1m970spUpgITm+6nUxeino1NfziwbGMKRmmEGcfOrGQIhAJmJWyiBR14RjBWkF4D0iLs0b2TfcWUClO4RBKjIL70N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205539},"type":"module","engines":{"node":">=20"},"gitHead":"8721def1b418c1f84e8785c0a3bcf3050b4d0cd0","scripts":{"build":"node build.mjs","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay for ANY standard x402 (HTTP 402) paid API from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.3.0_1782930677934_0.18232076136878428","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@subly_fi/pay","version":"0.4.0","license":"MIT","_id":"@subly_fi/pay@0.4.0","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"be52c1e95b4ae8d7d2e2b591d492c29a2bec27bb","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.4.0.tgz","fileCount":7,"integrity":"sha512-p7HgWRZbj9Kybb4+fzENakpfzxYbmlTSCSLWPqm7KCyTMVwVQrMglSh0rVIH5VFTNJY7tniD7SUCeO0YqphGGQ==","signatures":[{"sig":"MEUCIQCLu3S2V4zmtuqNagXOqb7DZNx1TCQmM0FXqv+vtWKVAAIgCU4S5x2ooryTE32bi0AqhxyRS0pQ7r7hxOxa2uWMA5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253038},"type":"module","engines":{"node":">=20"},"gitHead":"3f1c4736c705170b84e2fab0fd32faf90f308c05","scripts":{"build":"node build.mjs","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay for ANY standard x402 (HTTP 402) paid API from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.4.0_1782974714567_0.49818395154209383","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@subly_fi/pay","version":"0.4.1","license":"MIT","_id":"@subly_fi/pay@0.4.1","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"d71d60a8b48ed745ac83cb47e5e44c993112fff6","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.4.1.tgz","fileCount":7,"integrity":"sha512-aEpYd/c0M3QuvYMDnBITyFNTRDX23BR2pdQirQ4vXap7DirbB8vDD/HNTve7wPE6MyoSSogzRPB2CiqjO0QgbQ==","signatures":[{"sig":"MEYCIQCIWAmZOgo3I0x5uomNe1uVG2NsGYtKukzWXdIx2T6wiwIhAMdO+YhTyRiCoXszGEF/lfYu3PtpcdhAK8bfgehkL+ZG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253044},"type":"module","engines":{"node":">=20"},"gitHead":"311f5900a35564f1b105ae3a42cf159cbd4f9f56","scripts":{"build":"node build.mjs","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay for ANY standard x402 (HTTP 402) paid API from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.4.1_1782976609632_0.17828251029997477","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@subly_fi/pay","version":"0.5.0","license":"MIT","_id":"@subly_fi/pay@0.5.0","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"7f953f26dd0f44cc597e3462e95f8e3bb2467429","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.5.0.tgz","fileCount":7,"integrity":"sha512-MW2+X1TTo2uij0Dx6dS5TdQ71byLxYxGm8ThilfXKut9Zq62sjmQlDz9ZGhoSWdb+K/0HPdHc0AnQgkv2yvg3A==","signatures":[{"sig":"MEQCIAN0Zws5r08Wwnpc3meih5yPIIYUji67O9psiNSNTO86AiBXIihTTyfpj19yOo9fFuO9RPAPl+legN/Z0axVUJaabg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291324},"type":"module","engines":{"node":">=20"},"gitHead":"4e93c834d0a99b948fd4016ba048b0ffaff098bc","scripts":{"build":"node build.mjs","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.5.0_1783160017197_0.7935660883912277","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@subly_fi/pay","version":"0.6.0","license":"MIT","_id":"@subly_fi/pay@0.6.0","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"186dd8c6cfab9d87299829ce6dbfbf6d75f85cc8","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.6.0.tgz","fileCount":9,"integrity":"sha512-DZKkqkrkUF2zilRwz8PIG2aBK5lAdwp/QnDw1E+QH2U5zpoq2FxgxntKcKcQKsZjbn2y4hIgHbrxovhtWTcoMw==","signatures":[{"sig":"MEUCIQCiXUniylYOJ9GaNPUNzWnnmLXst60O/XaOmd9rQAIpvQIgG1Y/PdB/ZaWLe2eifgD9dxtSaeDCxpXcHfN+O+d2yAE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346952},"type":"module","engines":{"node":">=20"},"gitHead":"e825e94968877bbf01bb9788a43330d5aed6256c","scripts":{"build":"node build.mjs","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.6.0_1783161545682_0.6602652167449121","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@subly_fi/pay","version":"0.6.1","license":"MIT","_id":"@subly_fi/pay@0.6.1","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"36d4eac0cde9df7a62a0568132b77a86d4e6752c","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.6.1.tgz","fileCount":9,"integrity":"sha512-SPK3uSrY4bCOOFB67FDpIgsYQ8bwbdjae7LMNsoTOo8+Go5h8I5NHBYFkHfIfrgNPtafL0ZZc5KuXw8kNFDiXA==","signatures":[{"sig":"MEYCIQDjeBNIj8N1JaQ2W5yU7xIRky92ehDO0rRdgXEbsF5moQIhAOk3hN9a1V8Ibv/g6cKGpMBNWEHe/NV5QBPzRRdPyWLT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":347421},"type":"module","engines":{"node":">=20"},"gitHead":"c3c4f06a3ce20593ff8dadedd3428582a3ab5889","scripts":{"build":"node build.mjs","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.6.1_1783161880067_0.6217242961220626","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@subly_fi/pay","version":"0.6.2","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.6.2","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"db56ec43fb78ce0f54f2bce82c090d75c1cb1246","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.6.2.tgz","fileCount":10,"integrity":"sha512-OeSc999ZLhW6O4z+hRNZEIXCbMAnREXpwh0ouZ+X6hRoA+DYeUm3it9vwhM6uapZcekgLWfGgIsx5lQeeo8nxA==","signatures":[{"sig":"MEYCIQD6sLUeOEaBSJkg2BvcAQlyWVwr+TWWz3RnGKq0PpS9AwIhAKsbkvoPFHal1q5s1mhgyFKCIAy9IlhavBzDNoQQo6WK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454924},"type":"module","engines":{"node":">=20"},"gitHead":"96bb56337253377aa245804e934ee9ea0840e5b2","scripts":{"build":"node build.mjs","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json","prepublishOnly":"npm run build"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git"},"_npmVersion":"11.9.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.6.2_1787159810440_0.9322617398030926","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@subly_fi/pay","version":"0.7.0","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.7.0","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"a95893feca1236839749ef41c384ca9c5183fe46","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.7.0.tgz","fileCount":13,"integrity":"sha512-9y60vtbIs1S7Vd8LZj+zLUtIJX5APedLb4Cli+ccjQozdUb4L2HTle7FnR3UvW5fYfUqcZYxOmo/0SpALjluKA==","signatures":[{"sig":"MEUCIQCkv39H5ob0Cv2hlew3dfYZa9LbMjB0ZYWCR7xUbooqjwIgWbQSKDrSlyCWnhiclahBa5/1zzkQFuiwihl55K0qhgg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGiYIsiJvPOIJ5UV6sWwfUKXnSqO0NFK7ZcyxxNCUnMmAiBnmd687iix6zwcdHWgSiwr2MmBZn3dt9Uy2LN3MlHPLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597945},"type":"module","_from":"file:/tmp/subly-release-artifacts/subly_fi-pay-0.7.0.tgz","engines":{"node":">=24"},"scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"_npmUser":{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"},"_resolved":"/tmp/subly-release-artifacts/subly_fi-pay-0.7.0.tgz","_integrity":"sha512-9y60vtbIs1S7Vd8LZj+zLUtIJX5APedLb4Cli+ccjQozdUb4L2HTle7FnR3UvW5fYfUqcZYxOmo/0SpALjluKA==","repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.9.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.7.0_1789528848822_0.5792196859075376","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@subly_fi/pay","version":"0.7.1","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.7.1","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"f0439e2f39f0cf4a592b523befb14fbcaf107491","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.7.1.tgz","fileCount":13,"integrity":"sha512-6gSn0ZjYqkXUk2daTEUOt1+hGBUH1vLPteFsLzr1tiwFzqgGDkHMMl3Fq7tbJzMF+WvF8YOlZSjKpoJOYMzY/g==","signatures":[{"sig":"MEYCIQCspyG4msNIduT5K3J1Sf7EGsM80AWrVlNQmSUBRHSo4AIhAIU7zyjsiyOIIaBRCZ4FRvvvuZMTTwbN2hagmTjXXC6E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQClZP4f/iPWZ2WVJq9yHchInM9KcOwuJYxFjES8sp8PjwIgdn7AJfL0eVk7EpIMNFRCzGpCbAkfaOTui+Tpoxq5vS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@subly_fi%2fpay@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":597954},"type":"module","engines":{"node":">=24"},"gitHead":"e4103abbc14f2ea1b228c820fb74e4561012fcbf","scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:821d7bb7-7897-4542-86c4-e4d63cfec6b3"}},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.19.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.7.1_1789533002750_0.43603240759883843","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@subly_fi/pay","version":"0.7.2","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.7.2","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"f143bc3c79d32ff941e077b18a5dcd99a9786b70","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.7.2.tgz","fileCount":13,"integrity":"sha512-Ih20wF1bf66BAjSQ+DtIFnrkYteUbAiiBnIkNqooDFfrx5k33ON4SLnljD1WRmj0JG3WmyoeZTlFW5X4nMnGNA==","signatures":[{"sig":"MEQCIDziLwLF47BSXVKWabnOXTzqwKFo0XwRU8cLTqXy8BQcAiBazMq1lnp18MuiPs84mz81EWfUd7eHVl7mLrWe+g5fWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDREXJ4dIHk4hjURgKsGiny/0b+T9W/Hd8nUq5RSiSS7AiEA3pUWY3pYKMYQR4x3UB6m660p+GvU9Hg8LdCEJtkZa44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@subly_fi%2fpay@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":600665},"type":"module","engines":{"node":">=24"},"gitHead":"3d3d719a787da15cd8a0b891594f3006d47be554","scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:821d7bb7-7897-4542-86c4-e4d63cfec6b3"}},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.19.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.7.2_1789581857136_0.6779481692621285","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@subly_fi/pay","version":"0.7.3","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.7.3","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"f87d0a7da9bb6ead547c2a25147b2f96bff93110","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.7.3.tgz","fileCount":13,"integrity":"sha512-uYWu5aai2UOsQocYCY0QgBxvjz3EeFrJhFu3vwDki4Z1tChiwuNbsQ4/Z+ha1FPCWOi2L5+kvI9MxwuZaQXHBQ==","signatures":[{"sig":"MEQCIDAAMfi2tRUWESREB1ZfkX6z0DHBgRC8FX9/iVdrIJ83AiBwWaZv5SeROOjkUfJfY8lyT4pHT1aC0TGwt5vVMn99PQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHzIVSyyBRoS3z4Qk2AnofKJoaIZ/EtcTtynVNA72AJiAiByl2syppETHgw02jp4WdDUoNWBSJUyL5URQdM2BNuWkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@subly_fi%2fpay@0.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":600824},"type":"module","engines":{"node":">=24"},"gitHead":"24b531355d9e596143662edd9d86453b29409c0d","scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:821d7bb7-7897-4542-86c4-e4d63cfec6b3"}},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.19.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.7.3_1789627138843_0.2151090105028477","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@subly_fi/pay","version":"0.8.0","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.8.0","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"ff9afba8b73defd58c51d0692a81c15e4fa003ca","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.8.0.tgz","fileCount":14,"integrity":"sha512-J1y57fChPGnAHqVQluM7nJYh0JzGpY98XZCIqtuU3uHteZexfHMEIR7gwVb3Dp0DJbYLukdvE0McpMCNPZZUmQ==","signatures":[{"sig":"MEUCICOd7Z+MMNm+Qcc6JG+nFCIVg+r5o4+5meJqVszpz+FZAiEAwb+fJ6HNSlsCNqF+3b3cRZ6rQ1IwYvja6ZxW1elCQSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG29GmG+OwID5lGbx3IHbOSC5SQjscTXBqwbJrYyn3thAiEAs4EvctGfWO3Ha8X25B9Syzsx0F2vozzTPnCjnQz65Ik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@subly_fi%2fpay@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":739587},"type":"module","engines":{"node":">=24"},"gitHead":"546edad9fdceaf0c48787b3406071713e4047ab8","scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:821d7bb7-7897-4542-86c4-e4d63cfec6b3"}},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.19.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.8.0_1789803074808_0.19271970699910512","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@subly_fi/pay","version":"0.8.1","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.8.1","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"ac655a362e0e8e4dc99b8d1d2ce671cda68d7b86","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.8.1.tgz","fileCount":14,"integrity":"sha512-vZEjexeLQVtymP1awZ/YtRnaRYyJtCYkXLsXubqA0wMKOgWRUeaPQ5SkYrunzeco+jndPkh3/h+Ra7Botf23Xw==","signatures":[{"sig":"MEUCIQDl9vkVwmr2EtkQxCQ4H9w2YSG6SxBXWzcbw8P4oEOkzwIgA6T3Z8+Ak6b62y0RryjCrxI3nNkx6MlsqlqjwKryHKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDVXP4q/XZP4pxIroeDNFu69Tj9M2OFHsJ2MscH03huoAiEAunsVnGckheAny3ILKsRJAF3ASY6WA2u37o7QJcsbW2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@subly_fi%2fpay@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":749895},"type":"module","engines":{"node":">=24"},"gitHead":"593b5bc21fd8610e1b75c93504a647d76e8576cd","scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:821d7bb7-7897-4542-86c4-e4d63cfec6b3"}},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.19.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.8.1_1789807478916_0.8316267695443824","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@subly_fi/pay","version":"0.8.3","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.8.3","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"b8cd47d681cd0469bc09204b18c5c981eba626fe","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.8.3.tgz","fileCount":15,"integrity":"sha512-vNmeFCmCtjGP33dWZeOyVpvAveLxq4rOrZ+CGybXve0RyQtbvNiz1rDzczEpU9e7OEWeB5Z6+XZy+cdTLR4Gcg==","signatures":[{"sig":"MEYCIQCMaBRrkvYRRIW2eqxzca195+6V5/w98BGIeZP0lnHzSAIhAMLc/buGxgWUldJ62erVYEAxAp/ROUp22/+qOpJUNFMA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA+t5RyR+4MXs0HNPUPA7eypYdYqFOmozzkEoQSAhLMwAiB34KNBUQTDOSO5gx4q4VHOfCb01lsb6GUvrmNTLipLRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@subly_fi%2fpay@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":871260},"type":"module","engines":{"node":">=24"},"gitHead":"de824384d7ab84d2adbbc27f352fe832a5c2ebca","scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:821d7bb7-7897-4542-86c4-e4d63cfec6b3"}},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.19.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.8.3_1789840569741_0.42888751672027725","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@subly_fi/pay","version":"0.8.4","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.8.4","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"1ce34561b882ad34910d263c249dd3bd5aee4f5b","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.8.4.tgz","fileCount":15,"integrity":"sha512-UqTgteUeTlI+WH/qURZh6CmVCd5U0ZGs7/9axkio59Wayl4JoZsj5VJK1zR2Z0QiszRcuTHwX2cdoO+IG20dFw==","signatures":[{"sig":"MEUCIQCgJO/vSzTOTPrdj2FiNpfvaTEVIZYiAn8oYxhoFAQ1rwIgShhgcxvHBHLces19pcmYY7takCu0V+G8gCf5xxAq/2k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCHWmCObEevzIShIHPWtc6H3qFqTW7plN1PuyzMLosiFgIhALUk35Ac6YJptqxwtSzvNoKcnDJQ8IM5EgTh+zAN1rh0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@subly_fi%2fpay@0.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":872245},"type":"module","engines":{"node":">=24"},"gitHead":"610e85c64cbfd95f5eb13262b9edd9c367dfacf9","scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:821d7bb7-7897-4542-86c4-e4d63cfec6b3"}},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.19.0","description":"Subly client: pay compatible standard x402 Solana USDC exact APIs from Kamino vault yield — the seller needs no Subly integration. Ships an MCP server and a one-shot pay/deposit CLI; non-custodial (signs locally with your own key).","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.8.4_1789843225811_0.44142021820656274","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@subly_fi/pay","version":"0.8.5","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"author":{"name":"SublyFi"},"license":"MIT","_id":"@subly_fi/pay@0.8.5","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"bin":{"pay":"dist/cli.js"},"dist":{"shasum":"7ca8ecf8f5a92856c2b05eb26c18b789582c7f50","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.8.5.tgz","fileCount":15,"integrity":"sha512-wvPKvhriMn5Wcu0qsDjbi3/7zo2hNEUrHxGotd6MKsLxy2DWLeOlc2ddPNstPN8RuLue8yll0DpcuhD5zb3t7g==","signatures":[{"sig":"MEUCIQDHtByNKxKcl1Y+EytlWOwytlQvx/1nYU0meZenPo9ujAIgJpocS2tvqaBXUFkAC29la3mOGy4dvjUXMwyf7UPWWR4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF+GTRPqjhCBGa1/Ofcf8MY8HVQlPutHfxqSvbNFEARUAiBJZCaM8coMgmb5kPOGcWAz9GAM6q646t+qBfCQtJXecg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@subly_fi%2fpay@0.8.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":867749},"type":"module","engines":{"node":">=24"},"gitHead":"2847be8bf32d4ddaef3fc10e15aed309601ff7a5","scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:821d7bb7-7897-4542-86c4-e4d63cfec6b3"}},"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.19.0","description":"Subly client for compatible x402 Solana USDC exact APIs, using spendable Kamino vault yield. Includes an MCP server and CLI with local-key, Circle, and Privy signing.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/pay_0.8.5_1789927252608_0.7449955943020858","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"_id":"@subly_fi/pay@0.8.6","bin":{"pay":"dist/cli.js"},"bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"dist":{"shasum":"36175a3b12e9e2f0dc44a8c2231bdf7e932435f7","tarball":"https://registry.npmjs.org/@subly_fi/pay/-/pay-0.8.6.tgz","fileCount":15,"integrity":"sha512-KST8LiuC8ZFujIJr9rrcP97XtwGRAHJBFb1Vb7PlTXBeDaualLsEmp70AzsAv+yHG2oK4G2WUKC4qUH1zKLbHA==","signatures":[{"sig":"MEYCIQCkjw8DHvSOGQZbqL2MsebL4Z4h9FU4S6v5a0MtED1IzwIhANicVmtl9SN8A52d1HLUr12ccXS0pYK79yYv0tybH3SM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICCJrg4iXFPhWrDLtYFfnBkrBeEjZjoww6aRAI+eTcyFAiEAjBLPHc/tXkTaAMIsgnHYfTtKLm2r42g6G2nlzq3aBUA="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@subly_fi%2fpay@0.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":867950},"name":"@subly_fi/pay","type":"module","author":{"name":"SublyFi"},"engines":{"node":">=24"},"gitHead":"f2df6691dfbfb6323c7867d1f20baf18d80aded2","license":"MIT","scripts":{"build":"node build.mjs","check":"npm run typecheck && npm run build && npm run pack:check","prepack":"npm run build","typecheck":"tsc -p tsconfig.json --noEmit","pack:check":"npm pack --dry-run --json"},"version":"0.8.6","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:821d7bb7-7897-4542-86c4-e4d63cfec6b3"}},"homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"_npmVersion":"11.19.0","description":"Subly client for compatible x402 Solana USDC exact APIs, using spendable Kamino vault yield. Includes an MCP server and CLI with local-key, Circle, and Privy signing.","directories":{},"maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.1.13","bs58":"^6.0.0","@x402/svm":"^2.17.0","tweetnacl":"^1.0.3","@solana/kit":"^5.1.0","@x402/fetch":"^2.17.0","@modelcontextprotocol/sdk":"^1.29.0","@solana-program/address-lookup-table":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1","typescript":"^5.9.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pay_0.8.6_1789929060647_0.46606487657105977"}}},"time":{"created":"2026-06-13T16:56:21.651Z","modified":"2026-09-20T18:31:01.114Z","0.1.0":"2026-06-13T16:56:21.980Z","0.1.1":"2026-06-13T17:49:27.939Z","0.2.0":"2026-07-01T15:18:24.571Z","0.3.0":"2026-07-01T18:31:18.077Z","0.4.0":"2026-07-02T06:45:14.748Z","0.4.1":"2026-07-02T07:16:49.768Z","0.5.0":"2026-07-04T10:13:37.382Z","0.6.0":"2026-07-04T10:39:05.825Z","0.6.1":"2026-07-04T10:44:40.202Z","0.6.2":"2026-08-19T17:16:50.650Z","0.7.0":"2026-09-16T03:20:48.936Z","0.7.1":"2026-09-16T04:30:02.842Z","0.7.2":"2026-09-16T18:04:17.226Z","0.7.3":"2026-09-17T06:38:58.968Z","0.8.0":"2026-09-19T07:31:14.891Z","0.8.1":"2026-09-19T08:44:39.014Z","0.8.3":"2026-09-19T17:56:09.820Z","0.8.4":"2026-09-19T18:40:25.915Z","0.8.5":"2026-09-20T18:00:52.690Z","0.8.6":"2026-09-20T18:31:00.758Z"},"bugs":{"url":"https://github.com/SublyFi/subly-payment-protocol/issues"},"author":{"name":"SublyFi"},"license":"MIT","homepage":"https://github.com/SublyFi/subly-payment-protocol#readme","keywords":["x402","solana","usdc","mcp","ai-agents","payments","kamino"],"repository":{"url":"git+https://github.com/SublyFi/subly-payment-protocol.git","type":"git","directory":"packages/pay"},"description":"Subly client for compatible x402 Solana USDC exact APIs, using spendable Kamino vault yield. Includes an MCP server and CLI with local-key, Circle, and Privy signing.","maintainers":[{"name":"0xyuki3","email":"yuki.kimura.77777@gmail.com"}],"readme":"# @subly_fi/pay\n\nCLI and MCP client for paying compatible x402 APIs with Kamino USDC vault yield on Solana. Requires a running [Subly relayer](https://github.com/SublyFi/subly-payment-protocol/tree/main/deploy); this package does not start one.\n\nVersion 0.8 is beta software without an external security audit. Deposits use real mainnet funds. Owner approval is enforced off chain by the relayer; an agent key can transact outside Subly. Read the [security model](https://github.com/SublyFi/subly-payment-protocol/blob/main/docs/security-model.md).\n\n## Quick start\n\nUse Node.js **24+ with npm**. No repository clone or global installation is needed.\n\nBefore starting, obtain:\n\n- A trusted relayer's HTTPS URL, running **0.8.3+**. No public endpoint is guaranteed. To host one, follow the [operator guide](https://github.com/SublyFi/subly-payment-protocol/tree/main/deploy).\n- A Solana mainnet RPC URL that supports transaction simulation with inner instructions.\n- A dedicated agent wallet with **Solana mainnet USDC**. The example deposits **1.01 USDC**; check the selected vault's minimum with the operator.\n\nReplace the example URLs, paths and IDs below. CLI commands run once and exit. For an AI agent, use [MCP configuration](#mcp-configuration).\n\n### 1. Check the client\n\n```sh\nnode --version\nnpm --version\nnpx -y @subly_fi/pay@0.8.6 --version\n```\n\nThe last command must print `0.8.6`. If Node is missing, [install Node.js 24+](https://nodejs.org/en/download) and open a new terminal. For installation errors, see [troubleshooting](https://github.com/SublyFi/subly-payment-protocol/blob/main/docs/troubleshooting.md).\n\n### 2. Prepare the agent wallet\n\nIf you have a dedicated **64-byte Solana JSON keypair**, skip creation and use its absolute path in step 3. Otherwise, install the [Solana CLI](https://solana.com/docs/intro/installation). On Windows, use WSL for wallet creation.\n\nRun this yourself in a **private terminal**: `solana-keygen new` displays the recovery phrase. Never paste it or the keypair contents into chat.\n\n```sh\n(\nset -eu\ncommand -v solana-keygen >/dev/null\numask 077\nmkdir -p \"$HOME/.subly\"\nif [ -e \"$HOME/.subly/agent.json\" ]; then\n  printf '%s\\n' 'Keypair already exists; use it or choose another path.' >&2\n  exit 1\nfi\nsolana-keygen new --outfile \"$HOME/.subly/agent.json\"\nchmod 600 \"$HOME/.subly/agent.json\"\nsolana-keygen pubkey \"$HOME/.subly/agent.json\"\n)\n```\n\nSave the recovery phrase privately and restrict the keypair file to your OS account. Send USDC on **Solana mainnet** to the public address printed by the last command, then confirm arrival. Subly does not fund wallets. The relayer and seller's facilitator sponsor transaction fees; confirm sponsorship with the operator.\n\nFor Circle or Privy wallets, see [Configuration](#configuration).\n\n### 3. Configure and check the connection\n\nChoose one shell example. Enter the RPC URL at the hidden prompt to keep its credentials out of shell history.\n\nmacOS/Linux/WSL (Bash or zsh):\n\n```sh\nexport SUBLY_RELAYER_URL=\"https://your-relayer.example.com\"\nprintf 'Solana mainnet RPC URL (hidden): '\nread -r -s SOLANA_RPC_URL\nprintf '\\n'\nexport SOLANA_RPC_URL\nexport SUBLY_DEMO_AGENT_KEYPAIR_PATH=\"$HOME/.subly/agent.json\"\nexport SUBLY_MCP_STATE_PATH=\"$HOME/.subly/standard-x402-pending.json\"\n```\n\nWindows PowerShell, with an existing keypair at this Windows path:\n\n```powershell\n$env:SUBLY_RELAYER_URL = \"https://your-relayer.example.com\"\n$sublyRpcSecret = Read-Host \"Solana mainnet RPC URL\" -AsSecureString\n$env:SOLANA_RPC_URL = [System.Net.NetworkCredential]::new(\"\", $sublyRpcSecret).Password\nRemove-Variable sublyRpcSecret\n$env:SUBLY_DEMO_AGENT_KEYPAIR_PATH = \"$env:USERPROFILE\\.subly\\agent.json\"\n$env:SUBLY_MCP_STATE_PATH = \"$env:USERPROFILE\\.subly\\standard-x402-pending.json\"\n```\n\nSettings apply to this terminal only. Use absolute paths; Windows and WSL paths differ. If PowerShell blocks `npx.ps1`, use `npx.cmd` with the same arguments.\n\nIf your operator uses a custom vault catalogue, review it and set `SUBLY_VAULTS_FILE` to its absolute path. Set `SUBLY_VAULT_ADDRESS` to select a listed vault. Do not copy trust settings from a transaction or an unreviewed remote response.\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 doctor\nnpx -y @subly_fi/pay@0.8.6 vaults\n```\n\nContinue only when `doctor` prints `\"ok\": true`. It checks configuration, relayer readiness, vault settings and mainnet RPC access. It does **not** check the keypair contents, funds, yield, simulation support or vault safety. `vaults` prints local settings; review the vault's fees, minimum deposit and liquidity with the operator.\n\n### 4. Approve and deposit\n\nAmounts use six-decimal USDC integers: `1000000` = 1 USDC; `1010000` = 1.01 USDC.\n\nFor custom limits, check `npx -y @subly_fi/pay@0.8.6 setup-link --help` before registration. An existing owner must use [owner management](#manage-the-owner-and-recover-access) to change limits.\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 setup-link --initial-deposit 1010000 \\\n  --per-payment-cap 20000 --daily-api-cap 10000 \\\n  --approval-threshold 10000 --daily-deposit-cap 1010000 --ttl-days 30\n```\n\nThis example sets a 0.02 USDC per-payment cap, a 0.01 USDC rolling 24-hour API cap and approval threshold, a 1.01 USDC rolling 24-hour deposit cap, and a 30-day mandate. The daily cap limits total API spending to 0.01 USDC. A non-null approval threshold must be strictly below the per-payment cap; approval never overrides either cap. Choose your limits before generating the link. The client's payment cap and the owner's mandate are separate controls.\n\nWithout explicit setup flags, the relayer defaults are 10 USDC per payment, 100 USDC per rolling 24 hours, 3,000 USDC of deposits per rolling 24 hours and owner approval above 1 USDC, with a 365-day mandate. Both examples leave the payee allowlist and monthly cap unset and allow normal withdrawals without owner approval.\n\nThe setup CLI and MCP tool cannot set the payee allowlist, monthly cap or deposit/withdrawal policy. If you need these controls before depositing, omit `--initial-deposit`, complete setup, then apply them with [owner management](#manage-the-owner-and-recover-access). A subsequent deposit requires its own approval. A replacement setup does not inherit an old mandate's restrictions; inspect every returned policy field.\n\nOpen the returned `setupUrl`, review the wallet, vault and limits, then approve with your passkey or owner wallet. Keep this link private: whoever completes initial setup becomes the owner. The link expires in 10 minutes. A `http://localhost/...` link must be opened in a browser on the machine running the relayer; it does not point to that machine from a phone or another computer. Preserve the hostname used to register the passkey.\n\nReturn to the terminal and replace the example ID with the returned `sessionId`:\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 setup-status st_YOUR_SESSION_ID\n```\n\nContinue only when `status` is `completed`. For the bundled first deposit above, also confirm that `initialDepositApproval` is approved. If you omitted the initial deposit or replaced an existing owner, this field is absent; the deposit will request a separate approval. For `pending`, finish browser approval. For `expired`, create a new link. Browser approval does not run the deposit; submit the **same amount** within the approval's roughly 15-minute lifetime:\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 deposit 1010000\n```\n\nA successful deposit prints `status: confirmed`. Keep its `depositId`. If it remains `submitted`, use [status](#check-an-interrupted-deposit-or-withdrawal) before doing anything else.\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 budget\n```\n\nRead `spendableYieldRawUsdc` in the budget result. **A new deposit is not an immediate payment budget.** Only accrued yield can pay for APIs; wait until it covers the price and fees. There is no guaranteed waiting time. The 1.01 USDC example demonstrates a deposit, not an immediate paid call. A budget read can return the last synced view if refresh fails.\n\n### 5. Call a paid API\n\nObtain a real URL from a seller offering **Solana mainnet USDC `exact` with `extra.feePayer`**. Replace this placeholder:\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 fetch https://seller.example.com/paid-resource\n```\n\nThe default cap is **0.01 USDC**. To allow up to 0.02 USDC:\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 fetch https://seller.example.com/paid-resource 20000\n```\n\nRaising the client cap does not raise owner limits: the setup example above still refuses a price over 0.01 USDC until the owner updates the policy. Confirm the seller's method and request schema before calling a paid endpoint; a seller may charge even when it returns an application error. Success returns `\"paid\": true`, an HTTP 2xx `status` and the response `body`. For `paid: false`, read the reason or HTTP response.\n\nIf the result says `approval_required`, open `approveUrl`, approve, then repeat the **same request and cap** with its `approvalId`:\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 fetch https://seller.example.com/paid-resource 20000 apr_YOUR_APPROVAL_ID\n```\n\n### 6. Withdraw\n\nThis requests 1 USDC back to the **same agent wallet**, subject to liquidity, fees and owner policy:\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 withdraw 1000000\n```\n\nSuccess prints `status: confirmed`. Keep its `withdrawalId`. If owner approval is required, open the returned `approveUrl`, approve, then repeat the same amount with its `approvalId`:\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 withdraw 1000000 apr_YOUR_APPROVAL_ID\n```\n\nLater deposits use the same pattern: append the returned approval ID to the original deposit command. Each ID is valid only for its exact operation.\n\n### Check an interrupted deposit or withdrawal\n\nUse the original wallet, vault and relayer. Replace this ID with the original `depositId` (`dep_...`) or `withdrawalId` (`wdr_...`):\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 status wdr_YOUR_WITHDRAWAL_ID\n```\n\nThis checks the operation without sending another transaction; it requires relayer 0.8.0+. Exit zero only means the lookup worked.\n\n| Result | Next step |\n| --- | --- |\n| `status: confirmed` / `nextAction: done` | Check `actualAmountRawUsdc` and `txSignature`. |\n| `status: submitted` / `nextAction: check_again` | Check the same ID later. Do not repeat the operation. |\n| `status: prepared` or `nextAction: reconcile_with_operator` | Keep the ID and ask the operator to reconcile before a new operation. |\n\n## MCP configuration\n\nComplete the wallet and connection steps above. Configure your host to run `npx -y @subly_fi/pay@0.8.6 mcp` with the same environment. The server uses stdio; it does not open a web page or listen on an HTTP port.\n\nFor hosts accepting `mcpServers`, use this template. Replace every example value with an absolute path or real URL. JSON does not expand `$HOME` or other shell variables.\n\n```json\n{\n  \"mcpServers\": {\n    \"subly\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@subly_fi/pay@0.8.6\", \"mcp\"],\n      \"env\": {\n        \"SUBLY_RELAYER_URL\": \"https://your-relayer.example.com\",\n        \"SOLANA_RPC_URL\": \"https://your-mainnet-rpc.example.com\",\n        \"SUBLY_DEMO_AGENT_KEYPAIR_PATH\": \"/absolute/path/to/.subly/agent.json\",\n        \"SUBLY_MCP_STATE_PATH\": \"/absolute/path/to/.subly/standard-x402-pending.json\",\n        \"SUBLY_MCP_MAX_AMOUNT_RAW_USDC\": \"10000\"\n      }\n    }\n  }\n}\n```\n\nDesktop apps may not inherit terminal exports. Supply variables to the MCP process and restart the host. Use the **same pending-state file** as the CLI for the same wallet. For Windows, escape paths (`C:\\\\Users\\\\your-name\\\\...`) and follow the host's `npx.cmd` launcher instructions.\n\nCodex uses a different configuration format. Follow your host's MCP settings or use the [AI setup prompts](https://github.com/SublyFi/subly-payment-protocol/blob/main/docs/ai-setup-prompts.md).\n\nConfirm the host exposes **13 Subly tools**. Ask the agent to list vaults and create a setup link. After browser approval, tell it to check setup status and continue. Selecting another vault does not move funds; each vault requires its own owner setup.\n\n## Configuration\n\n| Variable | Meaning |\n| --- | --- |\n| `SUBLY_RELAYER_URL` | Your operator's HTTPS URL. Set explicitly. |\n| `SOLANA_RPC_URL` | Trusted mainnet RPC. The default public RPC is rate limited. |\n| `SUBLY_DEMO_AGENT_KEYPAIR_PATH` | Absolute path to a 64-byte Solana JSON keypair. |\n| `SUBLY_DEMO_AGENT_KEYPAIR` | Alternative base58 64-byte secret; overrides the file. Keep secrets out of chat and shell history. |\n| `SUBLY_SIGNER_PROVIDER` | `local` (default), `circle` or `privy`. |\n| `SUBLY_VAULTS_FILE` | Reviewed local vault catalogue; defaults to the built-in vault. |\n| `SUBLY_VAULT_ADDRESS` | Selected catalogue vault. Custom single-vault settings also require matching share mint and farm settings. |\n| `SUBLY_MCP_MAX_AMOUNT_RAW_USDC` | Payment cap; default `10000` (0.01 USDC). |\n| `SUBLY_MCP_STATE_PATH` | Pending-payment file; default `~/.subly/standard-x402-pending.json`. Share one file across CLI/MCP clients for the same wallet. Different machines do not coordinate payments. |\n| `SUBLY_PAY_METHOD` / `SUBLY_PAY_BODY` | HTTP method and body for CLI `fetch`; MCP accepts tool arguments. |\n\nFor Circle, set `SUBLY_SIGNER_PROVIDER=circle` and `CIRCLE_API_KEY`, `CIRCLE_ENTITY_SECRET`, `CIRCLE_WALLET_ID`. For Privy, set `SUBLY_SIGNER_PROVIDER=privy` and `PRIVY_APP_ID`, `PRIVY_APP_SECRET`, `PRIVY_WALLET_ID`, plus `PRIVY_AUTHORIZATION_KEY` when required by wallet ownership. Each credential accepts a `SUBLY_` prefix, which takes precedence. Both require a Solana mainnet wallet and need no local keypair. See [provider details](https://github.com/SublyFi/subly-payment-protocol/blob/main/docs/agent-wallet-providers.md).\n\n## Manage the owner and recover access\n\nRequires client and relayer **0.8.3+**. Keep the original operator domain, wallet and vault.\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 recovery-status\nnpx -y @subly_fi/pay@0.8.6 owner-link --per-payment-cap 2000000\n```\n\nThe cap is an example. Open `ownerUrl` and approve with the **existing** passkey or owner wallet, then check the returned session ID:\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 owner-status st_YOUR_SESSION_ID\n```\n\nOmitted policy fields and the existing expiry stay unchanged. Use `npx -y @subly_fi/pay@0.8.6 owner-link --help` for options; set `--ttl-days` to renew an expired policy. Reactivating without a new TTL does not renew an expired mandate. Expiry falls back to the relayer's default policy; it is not a spending freeze. Policy changes invalidate old approvals, including an unused initial-deposit approval, and do not approve a new deposit.\n\nUse `--allowed-payees` with comma-separated verified seller Solana addresses, `--monthly-api-cap` for a rolling 30-day ceiling, and `--withdrawal-policy owner_approval_required` when withdrawals need owner approval. Obtain payee addresses from the seller's official configuration and review the proposed policy on the owner page. `--allowed-payees any` removes the allowlist and cap value `none` removes that ceiling. Approval never raises an absolute cap or bypasses the payee list. The daily caps use rolling 24-hour windows, not a midnight reset; the requested amount plus previous usage may equal the cap. API usage counts confirmed yield realizations, even when the later seller payment fails.\n\nThe owner page also supports revocation, reactivation and recovery cancellation. Links expire after 10 minutes or a policy change.\n\nIf the owner credential is lost:\n\n```sh\nnpx -y @subly_fi/pay@0.8.6 recovery-start\nnpx -y @subly_fi/pay@0.8.6 recovery-status\n```\n\nAfter the **72-hour** deadline, wait for `effectiveStatus: recovery_elapsed`, then use `setup-link` to register a new owner. The current owner can cancel recovery. Explicitly revoked mandates require the **same owner** to restore access. If that credential and its backup are lost, contact the operator; preserve the wallet key and ledger.\n\n## Recovery and troubleshooting\n\n- **Unknown payment outcome:** preserve pending-state JSON. Investigate the seller/facilitator outcome before paying again. Never delete state or force a new payment to bypass uncertainty.\n- **Interrupted yield withdrawal:** retry the same request with the same wallet, vault, relayer, method, body and headers. Its saved checkpoint resumes the original withdrawal. If no withdrawal ID was saved or the withdrawal failed, ask the operator to reconcile. Do not downgrade while it is pending.\n- **State locked after a crash:** stop all clients using the file before removing only a stale `.lock`. Preserve the JSON.\n- **Deposit or withdrawal interrupted:** check the original ID with `status`; do not repeat the financial operation.\n- **Withdrawal preview failed:** check RPC simulation support and liquidity. Do not disable validation.\n\nYield withdrawal and seller payment are separate transactions. If payment fails afterward, withdrawn USDC may remain in the agent wallet.\n\n[Full troubleshooting](https://github.com/SublyFi/subly-payment-protocol/blob/main/docs/troubleshooting.md) · [Support](https://github.com/SublyFi/subly-payment-protocol/blob/main/SUPPORT.md)\n\n## Build from source\n\nFrom the repository root:\n\n```sh\nnpm ci --ignore-scripts\nnpm ci --prefix packages/pay --ignore-scripts\nnpm run check --prefix packages/pay\nnode packages/pay/dist/cli.js --version\nnode packages/pay/dist/cli.js --help\nnpm run test:package\n```\n\nReplace `npx -y @subly_fi/pay@0.8.6` in this guide with `node packages/pay/dist/cli.js`. For MCP, run `node` with the absolute path to that file and `mcp`. A compatible relayer is still required.\n\n`test:package` checks a packed installation and the MCP handshake. See [validation records](https://github.com/SublyFi/subly-payment-protocol/blob/main/docs/validation.md) for the scope of completed checks.\n","readmeFilename":"README.md"}