{"_id":"@cascadepay/sdk","_rev":"8-4540fbf2f3067e6492b731321125ab57","name":"@cascadepay/sdk","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@cascadepay/sdk","version":"0.1.0","keywords":["solana","payments","splitting","payment-splitter","escrow","x402","cascadepay","defi","web3","anchor","spl-token"],"author":{"name":"tenequm","email":"hello@cascadepay.io"},"license":"MIT","_id":"@cascadepay/sdk@0.1.0","maintainers":[{"name":"tenequm","email":"tenequm@gmail.com"}],"homepage":"https://github.com/tenequm/cascadepay#readme","bugs":{"url":"https://github.com/tenequm/cascadepay/issues"},"dist":{"shasum":"2d17e30495f29846bf2a6f7ec109599266a0b037","tarball":"https://registry.npmjs.org/@cascadepay/sdk/-/sdk-0.1.0.tgz","fileCount":6,"integrity":"sha512-EfHJ5M/SFqwNdn0QvmIy8otpoOvr3l8Hdn9jw3gXRet9gmk7Wc3LGuza/EHVOz9jawz/TftV2zdLmaERrSlX2w==","signatures":[{"sig":"MEYCIQCQkjXbyeDoJM8vmAcPsPKMbl8alBo2ytsAk9qytvCFjgIhAM2VYtdDAon63IKJZkOdaPit4tMwv2MT96UfQQfoSYFM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38694},"main":"./dist/index.cjs","_from":"file:cascadepay-sdk-0.1.0.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","clean":"rm -rf dist","example":"ts-node src/example.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"tenequm","email":"tenequm@gmail.com"},"_resolved":"/private/var/folders/bt/9pzbvwhj1hb18j2m17f9bp6h0000gn/T/585690a295fa9370aa6b9d38df659ce4/cascadepay-sdk-0.1.0.tgz","_integrity":"sha512-EfHJ5M/SFqwNdn0QvmIy8otpoOvr3l8Hdn9jw3gXRet9gmk7Wc3LGuza/EHVOz9jawz/TftV2zdLmaERrSlX2w==","repository":{"url":"git+https://github.com/tenequm/cascadepay.git","type":"git"},"_npmVersion":"11.6.1","description":"TypeScript SDK for cascadepay payment splitting protocol","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.16.1","ts-node":"^10.9.0","typescript":"^5.7.3","@types/node":"^20.0.0"},"peerDependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1762591602230_0.46080513390518973","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.0":{"name":"@cascadepay/sdk","version":"0.2.0","keywords":["solana","payments","splitting","payment-splitter","escrow","x402","cascadepay","defi","web3","anchor","spl-token"],"author":{"name":"tenequm","email":"hello@cascadepay.io"},"license":"MIT","_id":"@cascadepay/sdk@0.2.0","maintainers":[{"name":"tenequm","email":"tenequm@gmail.com"}],"homepage":"https://github.com/tenequm/cascadepay#readme","bugs":{"url":"https://github.com/tenequm/cascadepay/issues"},"dist":{"shasum":"5350a4c8f4677abb8a1718d88b211ca22b228c7e","tarball":"https://registry.npmjs.org/@cascadepay/sdk/-/sdk-0.2.0.tgz","fileCount":6,"integrity":"sha512-n8vY5dte+S8aXlCxbiF3VPlWLP5zpJ5reVzsW3/+qaMabn84KCPzm5sJrUJZBGvyFGkMDZCG0xUZPdldSWhg8g==","signatures":[{"sig":"MEYCIQC8EKbmHTkhxXwvfDIPU7CZZZUn6E93mJj1YxEyuch3WgIhAJuSGmKUqJwmi0IWKvESqhUINjcFMgmRB3MiQb7wTnUk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51300},"main":"./dist/index.cjs","_from":"file:cascadepay-sdk-0.2.0.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","clean":"rm -rf dist","example":"ts-node src/example.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"tenequm","email":"tenequm@gmail.com"},"_resolved":"/private/var/folders/bt/9pzbvwhj1hb18j2m17f9bp6h0000gn/T/21b2ca9d22885c20a80d8dc050aefdb7/cascadepay-sdk-0.2.0.tgz","_integrity":"sha512-n8vY5dte+S8aXlCxbiF3VPlWLP5zpJ5reVzsW3/+qaMabn84KCPzm5sJrUJZBGvyFGkMDZCG0xUZPdldSWhg8g==","repository":{"url":"git+https://github.com/tenequm/cascadepay.git","type":"git"},"_npmVersion":"11.6.1","description":"TypeScript SDK for cascadepay payment splitting protocol","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.16.1","ts-node":"^10.9.0","typescript":"^5.7.3","@types/node":"^20.0.0"},"peerDependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.0_1762594440603_0.045436049307620685","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.1":{"name":"@cascadepay/sdk","version":"0.2.1","keywords":["solana","payments","splitting","payment-splitter","escrow","x402","cascadepay","defi","web3","anchor","spl-token"],"author":{"name":"tenequm","email":"hello@cascadepay.io"},"license":"MIT","_id":"@cascadepay/sdk@0.2.1","maintainers":[{"name":"tenequm","email":"tenequm@gmail.com"}],"homepage":"https://github.com/tenequm/cascadepay#readme","bugs":{"url":"https://github.com/tenequm/cascadepay/issues"},"dist":{"shasum":"b2cad34b70344a37d77e8b0d2f4ecc3f6b8554cf","tarball":"https://registry.npmjs.org/@cascadepay/sdk/-/sdk-0.2.1.tgz","fileCount":6,"integrity":"sha512-Lz3Jwdc3UZeMs54IpJzB3Vo8BRWoQGAGKjLvfn7FfRsFyzzFevpzcsS0anpnPCYE1VUkD1a0kp8ab5Zyw7YfQw==","signatures":[{"sig":"MEYCIQCzDgE9CPMNNoev3eIODD4Atp7cMN4DztGpO0HuqmP5lAIhAJempoOQ79x/xAjbqaC3r4ODTDRIHRL8SlwRp3o+nWQH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52090},"main":"./dist/index.cjs","_from":"file:cascadepay-sdk-0.2.1.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","clean":"rm -rf dist","example":"ts-node src/example.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"tenequm","email":"tenequm@gmail.com"},"_resolved":"/private/var/folders/bt/9pzbvwhj1hb18j2m17f9bp6h0000gn/T/3665bb85a128c50c4d225f8e0ee70add/cascadepay-sdk-0.2.1.tgz","_integrity":"sha512-Lz3Jwdc3UZeMs54IpJzB3Vo8BRWoQGAGKjLvfn7FfRsFyzzFevpzcsS0anpnPCYE1VUkD1a0kp8ab5Zyw7YfQw==","repository":{"url":"git+https://github.com/tenequm/cascadepay.git","type":"git"},"_npmVersion":"11.6.1","description":"TypeScript SDK for cascadepay payment splitting protocol","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.16.1","ts-node":"^10.9.0","typescript":"^5.7.3","@types/node":"^20.0.0"},"peerDependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.1_1762597278131_0.5549830426799962","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.2":{"name":"@cascadepay/sdk","version":"0.2.2","keywords":["solana","payments","splitting","payment-splitter","escrow","x402","cascadepay","defi","web3","anchor","spl-token"],"author":{"name":"tenequm","email":"hello@cascadepay.io"},"license":"MIT","_id":"@cascadepay/sdk@0.2.2","maintainers":[{"name":"tenequm","email":"tenequm@gmail.com"}],"homepage":"https://github.com/tenequm/cascadepay#readme","bugs":{"url":"https://github.com/tenequm/cascadepay/issues"},"dist":{"shasum":"c2225ec6d28b69bec4e311668e838b56759ff603","tarball":"https://registry.npmjs.org/@cascadepay/sdk/-/sdk-0.2.2.tgz","fileCount":8,"integrity":"sha512-Elfub73qWnrrCARVjdzbqjNUKuuDS+2jDca0/6fTlO97JaHEKgHQmMXqFNEVDF4A8M0d6KaLXzP39na8qh5YgA==","signatures":[{"sig":"MEUCIQDYtlxbUoeLYBy2CH/Im+kU2+8F3Fi6QTBdcKSAzq3uwgIgYAgJ+Ry7A/wFBWJKTebHjmIlic1/dAYRLcMVGdzM4tc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138811},"main":"./dist/index.cjs","_from":"file:cascadepay-sdk-0.2.2.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","clean":"rm -rf dist","example":"ts-node src/example.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"tenequm","email":"tenequm@gmail.com"},"_resolved":"/private/var/folders/bt/9pzbvwhj1hb18j2m17f9bp6h0000gn/T/4ae4992405a69d7541a4f9825cab12a4/cascadepay-sdk-0.2.2.tgz","_integrity":"sha512-Elfub73qWnrrCARVjdzbqjNUKuuDS+2jDca0/6fTlO97JaHEKgHQmMXqFNEVDF4A8M0d6KaLXzP39na8qh5YgA==","repository":{"url":"git+https://github.com/tenequm/cascadepay.git","type":"git"},"_npmVersion":"11.6.1","description":"TypeScript SDK for cascadepay payment splitting protocol","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.16.1","ts-node":"^10.9.0","typescript":"^5.7.3","@types/node":"^20.0.0"},"peerDependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.2_1762597848228_0.4951062021734809","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.3.0":{"name":"@cascadepay/sdk","version":"0.3.0","keywords":["solana","payments","splitting","payment-splitter","escrow","x402","cascadepay","defi","web3","anchor","spl-token"],"author":{"name":"tenequm","email":"hello@cascadepay.io"},"license":"MIT","_id":"@cascadepay/sdk@0.3.0","maintainers":[{"name":"tenequm","email":"tenequm@gmail.com"}],"homepage":"https://github.com/tenequm/cascadepay#readme","bugs":{"url":"https://github.com/tenequm/cascadepay/issues"},"dist":{"shasum":"2e6e4ecf0da4861da24c6e759d581d9a91d294f0","tarball":"https://registry.npmjs.org/@cascadepay/sdk/-/sdk-0.3.0.tgz","fileCount":8,"integrity":"sha512-FdcekO9SyHLW8LUUAucQiBsiWs5rXiiKwrBd+SY37MDSX1f8FkXE56YGnu+xyuHisMm9sTas74rFdUiWLrjiQg==","signatures":[{"sig":"MEQCIDd23bLHn8K2Kf7Y9qA2D/KsgtVBwDAJgISbcW7Lb3+zAiACJrmSnPJDxMKWIBWQ4WwmbWC4ERi7SBhwW9VNbyAdFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140030},"main":"./dist/index.cjs","_from":"file:cascadepay-sdk-0.3.0.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","clean":"rm -rf dist","example":"ts-node src/example.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"tenequm","email":"tenequm@gmail.com"},"_resolved":"/private/var/folders/bt/9pzbvwhj1hb18j2m17f9bp6h0000gn/T/4a250fa2c187a99228f413b8bc693084/cascadepay-sdk-0.3.0.tgz","_integrity":"sha512-FdcekO9SyHLW8LUUAucQiBsiWs5rXiiKwrBd+SY37MDSX1f8FkXE56YGnu+xyuHisMm9sTas74rFdUiWLrjiQg==","repository":{"url":"git+https://github.com/tenequm/cascadepay.git","type":"git"},"_npmVersion":"11.6.1","description":"TypeScript SDK for cascadepay payment splitting protocol","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.16.1","ts-node":"^10.9.0","typescript":"^5.7.3","@types/node":"^20.0.0"},"peerDependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.0_1762765887503_0.503104101177491","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.3.1":{"name":"@cascadepay/sdk","version":"0.3.1","keywords":["solana","payments","splitting","payment-splitter","escrow","x402","cascadepay","defi","web3","anchor","spl-token"],"author":{"name":"tenequm","email":"hello@cascadepay.io"},"license":"MIT","_id":"@cascadepay/sdk@0.3.1","maintainers":[{"name":"tenequm","email":"tenequm@gmail.com"}],"homepage":"https://github.com/tenequm/cascadepay#readme","bugs":{"url":"https://github.com/tenequm/cascadepay/issues"},"dist":{"shasum":"7b032c892a712338548dffbe1f80cfc2c5233fa7","tarball":"https://registry.npmjs.org/@cascadepay/sdk/-/sdk-0.3.1.tgz","fileCount":8,"integrity":"sha512-kABRVMLCpfX4WEtzurPrVTdpljPZrbh4fIgdVU2TNGJ50BHUTtYHpWwvM8R3/UQRG2aSbMX5UVgwlDjJALiZ4Q==","signatures":[{"sig":"MEUCIQDALpMWcnxwFExmnFoHm8ZKe7ogTDi+pDij1VbAFgN+SgIgYisV4m43Rau7Y1Kahr0jyiQeJLkvuoNbIW/ePHwpaJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140036},"main":"./dist/index.cjs","_from":"file:cascadepay-sdk-0.3.1.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","clean":"rm -rf dist","example":"ts-node src/example.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"tenequm","email":"tenequm@gmail.com"},"_resolved":"/private/var/folders/bt/9pzbvwhj1hb18j2m17f9bp6h0000gn/T/8b654149b25569decf0e78d37ae86875/cascadepay-sdk-0.3.1.tgz","_integrity":"sha512-kABRVMLCpfX4WEtzurPrVTdpljPZrbh4fIgdVU2TNGJ50BHUTtYHpWwvM8R3/UQRG2aSbMX5UVgwlDjJALiZ4Q==","repository":{"url":"git+https://github.com/tenequm/cascadepay.git","type":"git"},"_npmVersion":"11.6.1","description":"TypeScript SDK for cascadepay payment splitting protocol","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.16.1","ts-node":"^10.9.0","typescript":"^5.7.3","@types/node":"^20.0.0"},"peerDependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.1_1762774589443_0.030565067603120832","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.4.0":{"name":"@cascadepay/sdk","version":"0.4.0","keywords":["solana","payments","splitting","payment-splitter","escrow","x402","cascadepay","defi","web3","anchor","spl-token"],"author":{"name":"tenequm","email":"hello@cascadepay.io"},"license":"MIT","_id":"@cascadepay/sdk@0.4.0","maintainers":[{"name":"tenequm","email":"tenequm@gmail.com"}],"homepage":"https://github.com/tenequm/cascadepay#readme","bugs":{"url":"https://github.com/tenequm/cascadepay/issues"},"dist":{"shasum":"38ac766f13e3ce7df52e8c52e1f56cc7ae0412d4","tarball":"https://registry.npmjs.org/@cascadepay/sdk/-/sdk-0.4.0.tgz","fileCount":8,"integrity":"sha512-kAVtrStroTku5B1cPxVDEluIAzdjyJA4ceVK8P8MdQrBhGxG8uM54YioOKFa9r1oNpxyve+efiS+OEH9icGs+g==","signatures":[{"sig":"MEUCIQDIyVohz8+mGbnpod88BVzzvqMq0w/68fwHCnPWau3fLgIgAjs/ds0QfHWeoiz5pv/b6EHXsgmxtgORV3twA6TKX8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148211},"main":"./dist/index.cjs","_from":"file:cascadepay-sdk-0.4.0.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsdown --watch","build":"tsdown","clean":"rm -rf dist","example":"ts-node src/example.ts","type-check":"tsc --noEmit"},"_npmUser":{"name":"tenequm","email":"tenequm@gmail.com"},"_resolved":"/private/var/folders/bt/9pzbvwhj1hb18j2m17f9bp6h0000gn/T/53c998cc84f6f3752bb0fd3c62fa60bc/cascadepay-sdk-0.4.0.tgz","_integrity":"sha512-kAVtrStroTku5B1cPxVDEluIAzdjyJA4ceVK8P8MdQrBhGxG8uM54YioOKFa9r1oNpxyve+efiS+OEH9icGs+g==","repository":{"url":"git+https://github.com/tenequm/cascadepay.git","type":"git"},"_npmVersion":"11.6.1","description":"TypeScript SDK for cascadepay payment splitting protocol","directories":{},"_nodeVersion":"24.10.0","dependencies":{"borsh":"^2.0.0","@solana/kit":"^5.0.0","@solana/codecs":"^5.0.0","@solana/compat":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.16.1","ts-node":"^10.9.0","typescript":"^5.7.3","@types/node":"^20.0.0"},"peerDependencies":{"@solana/kit":"^5.0.0","@coral-xyz/anchor":"^0.32.1","@solana-program/token":"^0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.0_1762912869750_0.27939380593227847","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2025-11-08T08:46:42.113Z","modified":"2025-11-28T14:03:43.786Z","0.1.0":"2025-11-08T08:46:42.464Z","0.2.0":"2025-11-08T09:34:00.816Z","0.2.1":"2025-11-08T10:21:18.330Z","0.2.2":"2025-11-08T10:30:48.441Z","0.3.0":"2025-11-10T09:11:27.697Z","0.3.1":"2025-11-10T11:36:29.644Z","0.4.0":"2025-11-12T02:01:09.943Z"},"bugs":{"url":"https://github.com/tenequm/cascadepay/issues"},"author":{"name":"tenequm","email":"hello@cascadepay.io"},"license":"MIT","homepage":"https://github.com/tenequm/cascadepay#readme","keywords":["solana","payments","splitting","payment-splitter","escrow","x402","cascadepay","defi","web3","anchor","spl-token"],"repository":{"url":"git+https://github.com/tenequm/cascadepay.git","type":"git"},"description":"TypeScript SDK for cascadepay payment splitting protocol","maintainers":[{"name":"tenequm","email":"tenequm@gmail.com"}],"readme":"# cascadepay SDK\n\nTypeScript SDK for integrating with the cascadepay payment splitting protocol on Solana.\n\n## Installation\n\n```bash\nnpm install @cascadepay/sdk @coral-xyz/anchor\n```\n\n## Quick Start\n\n```typescript\nimport { createCascadepayClient, IDL } from \"@cascadepay/sdk\";\nimport * as anchor from \"@coral-xyz/anchor\";\n\n// Initialize\nconst connection = new anchor.web3.Connection(\"https://api.mainnet-beta.solana.com\");\nconst wallet = new anchor.Wallet(yourKeypair);\n\nconst sdk = await createCascadepayClient(connection, wallet, IDL);\n\n// Create split config (99% total for recipients, 1% protocol fee)\nconst recipients = [\n  { address: new anchor.web3.PublicKey(\"Platform...\"), percentageBps: 900 },  // 9%\n  { address: new anchor.web3.PublicKey(\"Merchant...\"), percentageBps: 9000 }, // 90%\n];\n\nconst configPDA = await sdk.createSplitConfig({\n  mint: new anchor.web3.PublicKey(\"USDC_MINT\"),\n  recipients,\n});\n\n// Share vault address with customers\nconst config = await sdk.getSplitConfig(configPDA);\nconsole.log(\"Payment vault:\", config.vault.toString());\n\n// Execute split (permissionless)\nawait sdk.executeSplit(configPDA);\n```\n\n## Dual-Format Compatibility\n\nThe SDK accepts **both Web3.js/Anchor format AND @solana/kit format** for maximum compatibility!\n\n### With Web3.js/Anchor (traditional)\n```typescript\nimport { Connection, PublicKey } from '@solana/web3.js';\nimport { createCascadepayClient, IDL } from '@cascadepay/sdk';\n\nconst connection = new Connection(\"https://api.mainnet-beta.solana.com\");\nconst mint = new PublicKey(\"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\");\n\nconst sdk = await createCascadepayClient(connection, wallet, IDL);\nconst pda = await sdk.createSplitConfig({ mint, recipients });\n```\n\n### With @solana/kit (modern)\n```typescript\nimport { address } from '@solana/kit';\nimport { createCascadepayClient, IDL } from '@cascadepay/sdk';\n\nconst rpcUrl = \"https://api.mainnet-beta.solana.com\";\nconst mint = address(\"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\");\n\nconst sdk = await createCascadepayClient(rpcUrl, wallet, IDL);\nconst pda = await sdk.createSplitConfig({ mint, recipients });\n```\n\n### Or even simpler with plain strings\n```typescript\nconst sdk = await createCascadepayClient(\n  \"https://api.mainnet-beta.solana.com\",\n  wallet,\n  IDL\n);\n\nawait sdk.createSplitConfig({\n  mint: \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n  recipients: [\n    { address: \"Platform...\", percentageBps: 900 },\n    { address: \"Merchant...\", percentageBps: 9000 },\n  ],\n});\n```\n\n**All three work!** The SDK automatically handles format conversion internally.\n\n## API Reference\n\n### `createCascadepayClient()`\n\nCreates a new SDK instance.\n\n```typescript\nimport { createCascadepayClient, IDL } from \"@cascadepay/sdk\";\n\nasync function createCascadepayClient(\n  connection: Connection,\n  wallet: anchor.Wallet,\n  idl: Idl\n): Promise<Cascadepay>\n```\n\n**Parameters:**\n- `connection` - Solana RPC connection\n- `wallet` - Anchor wallet for signing transactions\n- `idl` - Program IDL (use the bundled `IDL` export from this package)\n\n### `sdk.createSplitConfig(params)`\n\nCreates a new split configuration with vault.\n\n**Parameters:**\n- `params.mint` - Token mint address (e.g., USDC, USDT)\n- `params.recipients` - Array of recipients with percentages (must sum to 9900 bps = 99%)\n\n**Returns:** PDA address of created split config\n\n**Example:**\n```typescript\nimport * as anchor from \"@coral-xyz/anchor\";\n\nconst configPDA = await sdk.createSplitConfig({\n  mint: new anchor.web3.PublicKey(\"USDC_MINT\"),\n  recipients: [\n    { address: recipient1, percentageBps: 4950 }, // 49.5%\n    { address: recipient2, percentageBps: 4950 }, // 49.5%\n  ],\n});\n```\n\n### `sdk.executeSplit(splitConfigPDA)`\n\nExecutes payment split by draining vault to recipients.\n\n**Permissionless:** Anyone can call this function.\n\n**Parameters:**\n- `splitConfigPDA` - Address of split configuration\n\n**Returns:** Transaction signature\n\n**Example:**\n```typescript\nconst tx = await sdk.executeSplit(configPDA);\nconsole.log(\"Split executed:\", tx);\n```\n\n### `sdk.getSplitConfig(splitConfigPDA)`\n\nFetches split configuration from on-chain PDA.\n\n**Parameters:**\n- `splitConfigPDA` - Address of split configuration\n\n**Returns:** `SplitConfig` object\n\n**Example:**\n```typescript\nconst config = await sdk.getSplitConfig(configPDA);\nconsole.log(\"Vault:\", config.vault.toString());\nconsole.log(\"Recipients:\", config.recipients.length);\n```\n\n### `sdk.claimUnclaimed(splitConfigPDA, recipient)`\n\nRecipients claim their unclaimed funds (if ATA was missing during split).\n\n**Parameters:**\n- `splitConfigPDA` - Address of split configuration\n- `recipient` - Recipient keypair (must sign)\n\n**Returns:** Transaction signature\n\n**Example:**\n```typescript\nconst tx = await sdk.claimUnclaimed(configPDA, recipientKeypair);\n```\n\n### `sdk.updateSplitConfig(splitConfigPDA, newRecipients)`\n\nUpdates split configuration with new recipients.\n\n**Requirements:** Vault must be empty (execute all pending splits first).\n\n**Parameters:**\n- `splitConfigPDA` - Address of split configuration\n- `newRecipients` - New recipients array (must sum to 9900 bps)\n\n**Returns:** Transaction signature\n\n### `sdk.closeSplitConfig(splitConfigPDA)`\n\nCloses split configuration and reclaims rent.\n\n**Requirements:** Vault must be empty and no unclaimed funds.\n\n**Parameters:**\n- `splitConfigPDA` - Address of split configuration\n\n**Returns:** Transaction signature\n\n### `sdk.deriveSplitConfigPDA(authority, mint)`\n\nHelper to derive split config PDA address.\n\n**Parameters:**\n- `authority` - Authority public key\n- `mint` - Token mint address\n\n**Returns:** PDA public key\n\n### `Cascadepay.percentagesToShares(percentages)`\n\nStatic helper to convert percentages to basis points.\n\n**Parameters:**\n- `percentages` - Array of percentages (must sum to 99%)\n\n**Returns:** Array of basis points\n\n**Example:**\n```typescript\nconst bps = Cascadepay.percentagesToShares([59, 30, 10]);\n// Returns: [5900, 3000, 1000]\n```\n\n### `detectSplitVault(destination, connection, programId)`\n\nDetects if a payment destination is a cascadepay vault.\n\n**Use case:** x402 facilitators (PayAI, Coinbase CDP) can auto-detect split vaults and bundle transfer + execute in one transaction.\n\n**Parameters:**\n- `destination` - Payment destination address to check\n- `connection` - Solana connection\n- `programId` - cascadepay program ID\n\n**Returns:** `DetectionResult` with `isSplitVault` boolean and optional `splitConfig` PDA\n\n**Example:**\n```typescript\nimport { detectSplitVault } from \"@cascadepay/sdk\";\nimport * as anchor from \"@coral-xyz/anchor\";\n\nconst result = await detectSplitVault(\n  paymentAddress,\n  connection,\n  programId\n);\n\nif (result.isSplitVault) {\n  console.log(\"Detected split vault!\");\n\n  // Facilitator bundles transfer + execute_split atomically\n  const transferIx = /* create transfer instruction */;\n  const splitIx = await sdk.buildExecuteSplitInstruction(result.splitConfig);\n\n  const tx = new anchor.web3.Transaction()\n    .add(transferIx)\n    .add(splitIx);\n\n  // User signs once, both execute atomically\n  await provider.sendAndConfirm(tx);\n}\n```\n\n### `sdk.buildExecuteSplitInstruction(splitConfigPDA)`\n\nBuilds the execute_split instruction without sending it. For facilitators to bundle atomically with transfer.\n\n**Parameters:**\n- `splitConfigPDA` - Address of split configuration\n\n**Returns:** `TransactionInstruction`\n\n**Example:**\n```typescript\n// Build instruction for atomic bundling\nconst splitIx = await sdk.buildExecuteSplitInstruction(configPDA);\n\n// Combine with user's transfer\nconst tx = new anchor.web3.Transaction()\n  .add(userTransferInstruction)\n  .add(splitIx);\n```\n\n## Types\n\n```typescript\nimport * as anchor from \"@coral-xyz/anchor\";\n\ninterface Recipient {\n  address: anchor.web3.PublicKey;\n  percentageBps: number; // 0-9900 (must total 99%)\n}\n\ninterface SplitConfig {\n  authority: anchor.web3.PublicKey;\n  mint: anchor.web3.PublicKey;\n  vault: anchor.web3.PublicKey;\n  recipients: Recipient[];\n  unclaimedAmounts: UnclaimedAmount[];\n  bump: number;\n  version: number;\n}\n\ninterface UnclaimedAmount {\n  recipient: anchor.web3.PublicKey;\n  amount: anchor.BN;\n  timestamp: anchor.BN;\n}\n\ninterface DetectionResult {\n  isSplitVault: boolean;\n  splitConfig?: anchor.web3.PublicKey;\n}\n```\n\n## Examples\n\nSee [`src/example.ts`](./src/example.ts) for comprehensive usage examples including:\n\n1. Creating split configurations\n2. Executing payment splits\n3. Claiming unclaimed funds\n4. x402 facilitator integration (auto-detection)\n5. Using percentage helpers\n6. Updating configurations\n7. Closing configurations\n\n## Protocol Details\n\n- **Protocol Fee:** Fixed 1% enforced by program\n- **Recipients:** 2-20 recipients, must total 99% (9900 basis points)\n- **Token Support:** Both SPL Token and Token-2022\n- **Graceful Degradation:** Failed recipient payments held as \"unclaimed\" for later claim\n\n## License\n\nMIT\n","readmeFilename":"README.md"}