{"_id":"@absol-labs/sdk","_rev":"9-b9a9fa6fc5c0f4ee7469f3a2b928aa0b","name":"@absol-labs/sdk","dist-tags":{"latest":"0.9.1"},"versions":{"0.4.0":{"name":"@absol-labs/sdk","version":"0.4.0","keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/sdk@0.4.0","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"dist":{"shasum":"196eb39fdb36576675a926095ca24fcfefd3a19d","tarball":"https://registry.npmjs.org/@absol-labs/sdk/-/sdk-0.4.0.tgz","fileCount":38,"integrity":"sha512-Hy6kCm8EXkATyZA6cVinLLzEDH83bHZDm2vy3X4E/crTAHfC5ZBsmhFdY4gl/9BtOqDp7rUkzU7n/O9h1DnjWw==","signatures":[{"sig":"MEUCIDUjQJPaYTLJ7VTxVS7ir7Q4NFvehHrvsVJ9OkL+R0DBAiEAvcHJHFWgSawdW6F2G667tt3i+LLBCLV9kVQ7TYBDxbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169916},"main":"dist/index.js","type":"module","_from":"file:absol-labs-sdk-0.4.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.examples.json --noEmit","example:open":"node --env-file=.env --import tsx examples/open-stream.ts","format:check":"prettier --check .","example:monitor":"node --env-file=.env --import tsx examples/monitor.ts","typecheck:examples":"tsc -p tsconfig.examples.json --noEmit","example:claim-reclaim":"node --env-file=.env --import tsx examples/claim-reclaim.ts","example:operator:onboard":"node --env-file=.env --import tsx examples/operator-onboarding.ts","example:operator:service":"node --env-file=.env --import tsx examples/operator-service.ts"},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/cd66201453297b0b6df5b74be13266d0/absol-labs-sdk-0.4.0.tgz","_integrity":"sha512-Hy6kCm8EXkATyZA6cVinLLzEDH83bHZDm2vy3X4E/crTAHfC5ZBsmhFdY4gl/9BtOqDp7rUkzU7n/O9h1DnjWw==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik developer SDK: open, monitor, claim, and reclaim verified service payment streams from AI agents and apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0","@absol-labs/shared":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.0_1787433236709_0.647142117716901","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@absol-labs/sdk","version":"0.5.0","keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/sdk@0.5.0","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"dist":{"shasum":"337eaf63074bd7855ce495c47ade6b9ebb8d5eb0","tarball":"https://registry.npmjs.org/@absol-labs/sdk/-/sdk-0.5.0.tgz","fileCount":48,"integrity":"sha512-6TjRZm8kT+r89bLB0GRSlL9SlutBTD+DNYzF6W+1YfgwED3BDPFpzUG2BVIV/Y26Q1MM3Ho/uoHjaoxnHyjDPA==","signatures":[{"sig":"MEUCIQDdzS29tP2fHKIf/XpS+2CildYvd5U79JQmUi5l7Hj1jwIgecXKlNaYD9gbk8MOkcgZp3F59lPPBuI0MaIO1wLBIgc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279401},"main":"dist/index.js","type":"module","_from":"file:absol-labs-sdk-0.5.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.examples.json --noEmit","example:open":"node --env-file=.env --import tsx examples/open-stream.ts","format:check":"prettier --check .","example:monitor":"node --env-file=.env --import tsx examples/monitor.ts","typecheck:examples":"tsc -p tsconfig.examples.json --noEmit","example:claim-reclaim":"node --env-file=.env --import tsx examples/claim-reclaim.ts","example:operator:onboard":"node --env-file=.env --import tsx examples/operator-onboarding.ts","example:operator:service":"node --env-file=.env --import tsx examples/operator-service.ts"},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/cb2e4d5ed47d1fdfb5d83097822bb8b1/absol-labs-sdk-0.5.0.tgz","_integrity":"sha512-6TjRZm8kT+r89bLB0GRSlL9SlutBTD+DNYzF6W+1YfgwED3BDPFpzUG2BVIV/Y26Q1MM3Ho/uoHjaoxnHyjDPA==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik developer SDK: open, monitor, claim, and reclaim verified service payment streams from AI agents and apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0","@absol-labs/shared":"^0.8.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.5.0_1787528301827_0.5587446828482714","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@absol-labs/sdk","version":"0.5.1","keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/sdk@0.5.1","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"dist":{"shasum":"9df34e44945fe4513e0e62021b09330b89e8490a","tarball":"https://registry.npmjs.org/@absol-labs/sdk/-/sdk-0.5.1.tgz","fileCount":56,"integrity":"sha512-BDijtjQ8ohnBwawOXNXvAsknRwRVCICWHkpfIerJuBCeyiFawkxik4Hwk3Yy+KSSuwjsMXTHE0yrmkS765NhNw==","signatures":[{"sig":"MEUCIQDB+rILS4fY5Qwsb6obzBxCelFSdHUNQWLABKojWMhdagIgDQAudJssILmzQOAbJ6QcFv9/4237RstKDHakXeI1kNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343268},"main":"dist/index.js","type":"module","_from":"file:absol-labs-sdk-0.5.1.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.examples.json --noEmit","example:open":"node --env-file=.env --import tsx examples/open-stream.ts","format:check":"prettier --check .","example:monitor":"node --env-file=.env --import tsx examples/monitor.ts","typecheck:examples":"tsc -p tsconfig.examples.json --noEmit","example:claim-reclaim":"node --env-file=.env --import tsx examples/claim-reclaim.ts","example:operator:onboard":"node --env-file=.env --import tsx examples/operator-onboarding.ts","example:operator:service":"node --env-file=.env --import tsx examples/operator-service.ts"},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/671a446df652cd150f8c1738f48cb211/absol-labs-sdk-0.5.1.tgz","_integrity":"sha512-BDijtjQ8ohnBwawOXNXvAsknRwRVCICWHkpfIerJuBCeyiFawkxik4Hwk3Yy+KSSuwjsMXTHE0yrmkS765NhNw==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik developer SDK: open, monitor, claim, and reclaim verified service payment streams from AI agents and apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0","@absol-labs/shared":"^0.8.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.5.1_1787530437541_0.968084910853809","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@absol-labs/sdk","version":"0.6.0","keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/sdk@0.6.0","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"dist":{"shasum":"01a0993add664a336364e71f8bafcce64b05120f","tarball":"https://registry.npmjs.org/@absol-labs/sdk/-/sdk-0.6.0.tgz","fileCount":61,"integrity":"sha512-oSwT1aw8cPi67N7/Iytg//PkRYGDysXAIBdQPEZXNk4YwFQgAMfpUcDQE+WwfcJ6gf74+RjHfWxNldenppPtPQ==","signatures":[{"sig":"MEUCIQCcAX3WWUiZsp0+hNT8oF03hh57X8C8BCkqV85fV71G/AIgU6ylZEN3yhG4W4o0SUuiJ0xuemFymyxeSN53NwYiK0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":420785},"main":"dist/index.js","type":"module","_from":"file:absol-labs-sdk-0.6.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.examples.json --noEmit","example:open":"node --env-file=.env --import tsx examples/open-stream.ts","format:check":"prettier --check .","example:monitor":"node --env-file=.env --import tsx examples/monitor.ts","typecheck:examples":"tsc -p tsconfig.examples.json --noEmit","example:claim-reclaim":"node --env-file=.env --import tsx examples/claim-reclaim.ts","example:operator:onboard":"node --env-file=.env --import tsx examples/operator-onboarding.ts","example:operator:service":"node --env-file=.env --import tsx examples/operator-service.ts"},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/52959d53010bcae3e1243676203686dc/absol-labs-sdk-0.6.0.tgz","_integrity":"sha512-oSwT1aw8cPi67N7/Iytg//PkRYGDysXAIBdQPEZXNk4YwFQgAMfpUcDQE+WwfcJ6gf74+RjHfWxNldenppPtPQ==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik developer SDK: open, monitor, claim, and reclaim verified service payment streams from AI agents and apps.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0","@absol-labs/shared":"^0.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.6.0_1787606458552_0.3382498411405188","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@absol-labs/sdk","version":"0.7.0","keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/sdk@0.7.0","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"dist":{"shasum":"46e979db1de23d4c97c404fbf76296f2d9b7f7b4","tarball":"https://registry.npmjs.org/@absol-labs/sdk/-/sdk-0.7.0.tgz","fileCount":71,"integrity":"sha512-m/+fNonj+kytiEn7f70knknPhUSwGCnXn+x4nj/G6OyEeosTH1Ug0nkjtTCoiIR0amPcMlr/t9hWNQSwiJT5QQ==","signatures":[{"sig":"MEYCIQD5cSn/DVYmTBfZZJC+qgMS5zWJHV36GLSBqKUn9qjJJAIhAKsagiiHQU6q7PB7OOeO1dXEt31T5CL+iiEE6skQfrVD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":547355},"main":"dist/index.js","type":"module","_from":"file:absol-labs-sdk-0.7.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.examples.json --noEmit","example:open":"node --env-file=.env --import tsx examples/open-stream.ts","format:check":"prettier --check .","example:monitor":"node --env-file=.env --import tsx examples/monitor.ts","typecheck:examples":"tsc -p tsconfig.examples.json --noEmit","example:claim-reclaim":"node --env-file=.env --import tsx examples/claim-reclaim.ts","example:operator:onboard":"node --env-file=.env --import tsx examples/operator-onboarding.ts","example:operator:service":"node --env-file=.env --import tsx examples/operator-service.ts"},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/tmp/46dc10d2e205ad7b3b958e7f74949551/absol-labs-sdk-0.7.0.tgz","_integrity":"sha512-m/+fNonj+kytiEn7f70knknPhUSwGCnXn+x4nj/G6OyEeosTH1Ug0nkjtTCoiIR0amPcMlr/t9hWNQSwiJT5QQ==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik developer SDK: verify delivery and open, monitor, claim, or reclaim service payment streams.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0","multiformats":"^13.3.6","@absol-labs/shared":"^0.11.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.21.3","tsx":"^4.19.0","helia":"6.1.1","undici":"7.29.0","vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0","@libp2p/http":"2.0.0","react-native":"0.81.5","@peculiar/webcrypto":"1.7.0","@helia/verified-fetch":"7.2.4"},"peerDependencies":{"@helia/verified-fetch":"7.2.4"},"peerDependenciesMeta":{"@helia/verified-fetch":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.7.0_1787611472790_0.8808494611371702","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@absol-labs/sdk","version":"0.8.1","keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/sdk@0.8.1","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"dist":{"shasum":"54d3d2c69b6246b6918539a39620fd865cd0a2bb","tarball":"https://registry.npmjs.org/@absol-labs/sdk/-/sdk-0.8.1.tgz","fileCount":71,"integrity":"sha512-VGDLXnTmLbmeOe5KURwP0tlpicjJKMfNavh3Ei1nvcA/wdUoOahrm7SGt9IyjBWruhEJU91gRUhh/DjzD1hfOQ==","signatures":[{"sig":"MEQCIFxKTsmfjSm3HiBwqksGWwt/UQL13B/6zjRTcTkm0BuKAiB2lhRFtzmMqggWku0Ue+ZfiGO4/v840AB5wHNcc70Ecg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":558761},"main":"dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/metrik-sdk-package/absol-labs-sdk-0.8.1.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.examples.json --noEmit","example:open":"node --env-file=.env --import tsx examples/open-stream.ts","format:check":"prettier --check .","test:package":"pnpm build && node scripts/check-packed-package.mjs","example:monitor":"node --env-file=.env --import tsx examples/monitor.ts","typecheck:examples":"tsc -p tsconfig.examples.json --noEmit","example:claim-reclaim":"node --env-file=.env --import tsx examples/claim-reclaim.ts","example:operator:onboard":"node --env-file=.env --import tsx examples/operator-onboarding.ts","example:operator:service":"node --env-file=.env --import tsx examples/operator-service.ts"},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/home/runner/work/_temp/metrik-sdk-package/absol-labs-sdk-0.8.1.tgz","_integrity":"sha512-VGDLXnTmLbmeOe5KURwP0tlpicjJKMfNavh3Ei1nvcA/wdUoOahrm7SGt9IyjBWruhEJU91gRUhh/DjzD1hfOQ==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik developer SDK: verify delivery and open, monitor, claim, or reclaim service payment streams.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0","multiformats":"^13.3.6","@absol-labs/shared":"^0.12.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.21.3","tsx":"^4.19.0","helia":"6.1.1","undici":"7.29.0","vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0","@libp2p/http":"2.0.0","react-native":"0.81.5","@peculiar/webcrypto":"1.7.0","@helia/verified-fetch":"7.2.4"},"peerDependencies":{"@helia/verified-fetch":"7.2.4"},"peerDependenciesMeta":{"@helia/verified-fetch":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.8.1_1787787185710_0.10055319170445731","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@absol-labs/sdk","version":"0.8.2","keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/sdk@0.8.2","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"dist":{"shasum":"d01d7e8893a5f0663a0d956f2dfee40974d907e8","tarball":"https://registry.npmjs.org/@absol-labs/sdk/-/sdk-0.8.2.tgz","fileCount":76,"integrity":"sha512-syxYdnSQw5P2tbe836xTn7RnRMMKarhlnTgbOtAXd0KZvDs1i0pxhFCl79BTUdbjFOK+dAWQMjrUQ8kwuf7OHQ==","signatures":[{"sig":"MEYCIQD+XDz3/TGeQlWepoAzrxH16Xxft8Nl7pr7Rauiov1r6AIhAJI1tr/YmJh10QAUg86AMjbGO5dVqVHNa4BhVUXpQd5c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577085},"main":"dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/metrik-sdk-package/absol-labs-sdk-0.8.2.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.examples.json --noEmit","example:open":"node --env-file=.env --import tsx examples/open-stream.ts","format:check":"prettier --check .","test:package":"pnpm build && node scripts/check-packed-package.mjs","example:monitor":"node --env-file=.env --import tsx examples/monitor.ts","typecheck:examples":"tsc -p tsconfig.examples.json --noEmit","example:claim-reclaim":"node --env-file=.env --import tsx examples/claim-reclaim.ts","example:operator:onboard":"node --env-file=.env --import tsx examples/operator-onboarding.ts","example:operator:service":"node --env-file=.env --import tsx examples/operator-service.ts"},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/home/runner/work/_temp/metrik-sdk-package/absol-labs-sdk-0.8.2.tgz","_integrity":"sha512-syxYdnSQw5P2tbe836xTn7RnRMMKarhlnTgbOtAXd0KZvDs1i0pxhFCl79BTUdbjFOK+dAWQMjrUQ8kwuf7OHQ==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik developer SDK: verify delivery and open, monitor, claim, or reclaim service payment streams.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0","multiformats":"^13.3.6","@absol-labs/shared":"^0.12.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.21.3","tsx":"^4.19.0","helia":"6.1.1","undici":"7.29.0","vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0","@libp2p/http":"2.0.0","react-native":"0.81.5","@peculiar/webcrypto":"1.7.0","@helia/verified-fetch":"7.2.4"},"peerDependencies":{"@helia/verified-fetch":"7.2.4"},"peerDependenciesMeta":{"@helia/verified-fetch":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.8.2_1787957487174_0.6810663810771544","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@absol-labs/sdk","version":"0.9.0","keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"author":{"name":"Absol Labs"},"license":"MIT","_id":"@absol-labs/sdk@0.9.0","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"dist":{"shasum":"527942e4e4654ef1c60430c125dfc153a718a7c1","tarball":"https://registry.npmjs.org/@absol-labs/sdk/-/sdk-0.9.0.tgz","fileCount":76,"integrity":"sha512-AsXZVDTXNjvA6MnUwsTbzIb1umc2roW9gjmwTa+fdRPPwYFHNwkoVD7ycx/e42OoBjzdRiYUoanqxUeKZ6ZITA==","signatures":[{"sig":"MEQCIAkUUUVxcMu6hgOgrVDLGlpugJ9bGFCZTmE44CQAdRQLAiAsOnKasE1owCuXMbdhA5d3aeFZzXzErWDOtJUh4RR39w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587353},"main":"dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/metrik-sdk-package/absol-labs-sdk-0.9.0.tgz","types":"dist/index.d.ts","engines":{"node":">=20 <21","pnpm":"9.15.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"tsc -p tsconfig.json --noEmit","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","format":"prettier --write .","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.examples.json --noEmit","example:open":"node --env-file=.env --import tsx examples/open-stream.ts","format:check":"prettier --check .","test:package":"pnpm build && node scripts/check-packed-package.mjs","example:monitor":"node --env-file=.env --import tsx examples/monitor.ts","typecheck:examples":"tsc -p tsconfig.examples.json --noEmit","example:claim-reclaim":"node --env-file=.env --import tsx examples/claim-reclaim.ts","example:operator:onboard":"node --env-file=.env --import tsx examples/operator-onboarding.ts","example:operator:service":"node --env-file=.env --import tsx examples/operator-service.ts"},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"_resolved":"/home/runner/work/_temp/metrik-sdk-package/absol-labs-sdk-0.9.0.tgz","_integrity":"sha512-AsXZVDTXNjvA6MnUwsTbzIb1umc2roW9gjmwTa+fdRPPwYFHNwkoVD7ycx/e42OoBjzdRiYUoanqxUeKZ6ZITA==","repository":{"url":"git+https://github.com/Absol-Labs/metrik-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Metrik developer SDK: verify delivery and open, monitor, claim, or reclaim service payment streams.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.0","viem":"^2.21.0","multiformats":"^13.3.6","@absol-labs/shared":"^0.12.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ws":"8.21.3","tsx":"^4.19.0","helia":"6.1.1","undici":"7.29.0","vitest":"^2.1.0","prettier":"^3.4.0","typescript":"^5.7.0","@types/node":"^20.17.0","@libp2p/http":"2.0.0","react-native":"0.81.5","@peculiar/webcrypto":"1.7.0","@helia/verified-fetch":"7.2.4"},"peerDependencies":{"@helia/verified-fetch":"7.2.4"},"peerDependenciesMeta":{"@helia/verified-fetch":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.9.0_1788162949704_0.1440246099688114","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@absol-labs/sdk","version":"0.9.1","description":"Metrik developer SDK: verify delivery and open, monitor, claim, or reclaim service payment streams.","license":"MIT","author":{"name":"Absol Labs"},"keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"repository":{"type":"git","url":"git+https://github.com/Absol-Labs/metrik-sdk.git"},"homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"sideEffects":false,"engines":{"node":">=20 <21","pnpm":"9.15.x"},"dependencies":{"@absol-labs/shared":"^0.12.1","multiformats":"^13.3.6","viem":"^2.21.0","zod":"^3.24.0"},"peerDependencies":{"@helia/verified-fetch":"7.2.4"},"peerDependenciesMeta":{"@helia/verified-fetch":{"optional":true}},"devDependencies":{"@helia/verified-fetch":"7.2.4","@libp2p/http":"2.0.0","@peculiar/webcrypto":"1.7.0","@types/node":"^20.17.0","helia":"6.1.1","prettier":"^3.4.0","react-native":"0.81.5","tsx":"^4.19.0","typescript":"^5.7.0","undici":"7.29.0","vitest":"^2.1.0","ws":"8.21.3"},"scripts":{"build":"tsc -p tsconfig.json","example:claim-reclaim":"node --env-file=.env --import tsx examples/claim-reclaim.ts","example:monitor":"node --env-file=.env --import tsx examples/monitor.ts","example:open":"node --env-file=.env --import tsx examples/open-stream.ts","example:operator:onboard":"node --env-file=.env --import tsx examples/operator-onboarding.ts","example:operator:service":"node --env-file=.env --import tsx examples/operator-service.ts","test":"vitest run --passWithNoTests","test:package":"pnpm build && node scripts/check-packed-package.mjs","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.examples.json --noEmit","typecheck:examples":"tsc -p tsconfig.examples.json --noEmit","lint":"tsc -p tsconfig.json --noEmit","format":"prettier --write .","format:check":"prettier --check ."},"_id":"@absol-labs/sdk@0.9.1","_integrity":"sha512-WDDzD2Gr5R4yIPwufGMp97CHsGBlHkVC8p1HP/rcjC+i6RDms4PqkHfr8VuEj4OUO8UZYnGD60/sBXIZuKiE3Q==","_resolved":"/home/runner/work/_temp/metrik-sdk-package/absol-labs-sdk-0.9.1.tgz","_from":"file:/home/runner/work/_temp/metrik-sdk-package/absol-labs-sdk-0.9.1.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-WDDzD2Gr5R4yIPwufGMp97CHsGBlHkVC8p1HP/rcjC+i6RDms4PqkHfr8VuEj4OUO8UZYnGD60/sBXIZuKiE3Q==","shasum":"9f11b79bb48a05ea9260810c3efb6f12d563bd71","tarball":"https://registry.npmjs.org/@absol-labs/sdk/-/sdk-0.9.1.tgz","fileCount":81,"unpackedSize":620229,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDSQtJS9nkTyAl4eZAMidAfZ99XUKZfGk0u42477NHmgQIhALkHf7e9wbFSjMEtJbFUvT7x+TNIn8hK4xTlfmEROOtf"}]},"_npmUser":{"name":"arunabha003","email":"arunabhadhal04@gmail.com"},"directories":{},"maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.9.1_1788191701108_0.26323324081931987"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-22T21:13:56.608Z","modified":"2026-08-31T15:55:01.442Z","0.4.0":"2026-08-22T21:13:56.851Z","0.5.0":"2026-08-23T23:38:21.965Z","0.5.1":"2026-08-24T00:13:57.730Z","0.6.0":"2026-08-24T21:20:58.723Z","0.7.0":"2026-08-24T22:44:32.949Z","0.8.1":"2026-08-26T23:33:05.859Z","0.8.2":"2026-08-28T22:51:27.362Z","0.9.0":"2026-08-31T07:55:49.874Z","0.9.1":"2026-08-31T15:55:01.281Z"},"bugs":{"url":"https://github.com/Absol-Labs/metrik-sdk/issues"},"author":{"name":"Absol Labs"},"license":"MIT","homepage":"https://github.com/Absol-Labs/metrik-sdk#readme","keywords":["metrik","sdk","x402","payment-streams","base","usdc","ai-agents"],"repository":{"type":"git","url":"git+https://github.com/Absol-Labs/metrik-sdk.git"},"description":"Metrik developer SDK: verify delivery and open, monitor, claim, or reclaim service payment streams.","maintainers":[{"name":"arunabha003","email":"arunabhadhal04@gmail.com"}],"readme":"# @absol-labs/sdk\n\nThe typed TypeScript client for **Metrik** — the infra-agnostic verified-service\nmarketplace and payment rail for AI agents on Base. Agents and apps use it to\ndiscover verified services, open USDC payment streams, monitor checkpointed\nentitlement, and claim, close, or reclaim funds. Money releases only for delivery\nthe configured oracle operator has verified, and the buyer can reclaim unspent\nfunds under V2 checkpoint or escape-window rules.\n\n> **x402 proves the payment, Metrik proves the delivery.** Metrik verifies\n> _delivery_ — that a service responded, correctly-shaped, within SLA, to real\n> traffic — not that model output is provably correct. A refund requires the\n> buyer to submit the appropriate V2 reclaim transaction.\n\nThe SDK wraps the escrow ABI and protocol types from\n[`@absol-labs/shared`](https://github.com/Absol-Labs/metrik-protocol) behind a\nsmall, safe surface: typed errors, no unlimited token approvals by default,\nsimulate-before-send on every value move, and optional gas abstraction with\nenforceable spend policies. It is the foundation the agent layer\n([`@absol-labs/agent`](https://github.com/Absol-Labs/metrik-agent)) builds on.\n\n## Install\n\n```bash\npnpm add @absol-labs/sdk\n# or: npm install @absol-labs/sdk\n\n# Opt in only when resolving ipfs:// resources through Helia (Node >=20.19.4):\npnpm add @helia/verified-fetch@7.2.4 helia@6.1.1 @libp2p/http@2.0.0 @peculiar/webcrypto@1.7.0 undici@7.29.0 ws@8.21.3 react-native@0.81.5\n```\n\nPublished to the public npm registry — no auth or token required.\n\n- **Node `>=20 <21`.** The `.node-version` file pins the repo default.\n- **ESM-only.** This package ships as native ES Modules with no CommonJS build,\n  so `require(\"@absol-labs/sdk\")` throws `ERR_PACKAGE_PATH_NOT_EXPORTED`. Import\n  it with `import ... from \"@absol-labs/sdk\"`, or from a CommonJS file load it\n  with a dynamic `await import(\"@absol-labs/sdk\")`.\n\n## Usage\n\nThe full marketplace loop — **discover → hire → monitor → reclaim** — runs from\nthe SDK alone. `MetrikClient.baseSepolia()` defaults to StreamEscrowV2, the oracle\ncheckpoint-proof origin, USDC token, chain, and RPC transport on Base Sepolia, so\na caller typically only supplies a signing account. Omit the account for a\nread-only client (`getStreamV2` and `watchStreamV2`).\n\n```ts\nimport { MetrikClient } from \"@absol-labs/sdk\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst account = privateKeyToAccount(process.env.BUYER_PRIVATE_KEY as `0x${string}`);\n\n// Zero-config on Base Sepolia: V2 escrow, oracle, USDC, chain, and RPC all default.\nconst metrik = MetrikClient.baseSepolia({ account });\n\n// 1. Discover verified services. minTier: 2 restricts to services whose\n//    operator has declared a proof-of-delivery the oracle enforces. No\n//    credentials needed: discovery reads Metrik's public registry endpoint\n//    (https://oracle.metrik.live/listings) by default. That endpoint is only a\n//    transport — every listing is re-derived and signature-checked locally — and\n//    if it cannot be reached, discovery throws RegistryUnavailableError rather\n//    than handing back stale local data you might mistake for the marketplace.\nconst { services } = await metrik.discoverServices({ minTier: 2 });\nconst target = services[0];\n// target.accessUrl is derived only from the verified signed record. Gated\n// services fail closed during discovery if callerAuth.accessUrl is absent.\n\n// 2. Open a metered stream. serviceRef comes from the signed descriptor, so it\n//    matches exactly what the oracle verifies against. The USDC approval is\n//    bounded to budgetUsdc; nothing unlimited is ever approved.\nconst { streamId } = await metrik.hireVerifiedService({\n  operator: target.operator,\n  serviceRef: target.serviceRef,\n  budgetUsdc: 5_000_000n, // 5 USDC (6 decimals)\n  ratePerSecond: 100n, // base units accrued per verified second\n  maxDurationSeconds: 3_600,\n});\n\n// 3. Watch V2 checkpoint settlement state. Cumulative entitlement is computed\n//    by the oracle and redeemed with its Merkle proof, not stored as V1 accrual.\nfor await (const stream of metrik.watchStreamV2(streamId, { intervalMs: 5_000 })) {\n  console.log(stream.status, stream.claimedCumulative, stream.settledCumulative);\n  if (stream.status !== \"active\") break;\n}\n\n// 4. Settle. The buyer closes, then reclaims against the latest oracle proof.\n//    SettlementWindowOpenError means the next checkpoint must cover the close.\nawait metrik.close(streamId); // buyer\nawait metrik.reclaimWithProof(streamId); // buyer — refunds deposit minus entitlement\n```\n\nAn operator claims its verified earnings against the same stream:\n\n```ts\nconst operator = MetrikClient.baseSepolia({ account: operatorAccount });\nconst { txHash } = await operator.claimWithProof(streamId);\n```\n\n`claimWithProof` is operator-only. `close`, `reclaimWithProof`, and\n`reclaimUnverified` are buyer-only. Every write is simulated before it is sent.\nOperator claims may use any of the eight retained checkpoint roots; buyer proof\nreclaim deliberately accepts only the latest root. If the oracle stalls, the\nbuyer can call `reclaimUnverified` after `expiresAt + escapeGraceSeconds`.\n\n### Verify delivered storage bytes\n\n`verifyFetch` proves that the exact bytes a buyer received match the\n`contentHash` committed by a signed service descriptor. HTTPS objects are\nstreamed through a bounded reader and hashed locally. An exact `ipfs://<CID>`\nresource is retrieved through Helia verified-fetch and then independently\nre-hashed by the SDK, so even a faulty injected transport cannot manufacture an\nintegrity verdict.\n\n```ts\nimport { verifyFetch } from \"@absol-labs/sdk\";\n\nconst result = await verifyFetch(\n  \"https://storage.example/models/weights.bin\",\n  {\n    algo: \"cidv1-raw-sha256\",\n    value: \"bafkrei...\", // CIDv1, raw codec, sha2-256 of the exact bytes\n  },\n  {\n    maxBytes: 16 * 1024 * 1024, // default: 16 MiB\n    timeoutMs: 30_000, // default: 30 seconds\n    signal: abortController.signal,\n  },\n);\n\nif (!result.ok) throw new Error(\"delivered bytes do not match the signed descriptor\");\n```\n\nSupported advertisements are CIDv1 raw sha2-256 (as either a bare CID or exact\n`ipfs://<CID>` reference), 32-byte `sha256`, and 32-byte `keccak256`. CID\nreferences may use any multibase encoding and are compared semantically after\nstrict codec/hash validation. A valid-but-different digest returns `{ ok: false }`;\nmalformed inputs, redirects, non-2xx/network failures, timeouts, caller aborts,\nand oversized streams throw typed SDK errors. `merkleRoot`, when present, is\nshape-checked but is **not** claimed as verified by this flat-object helper.\nContent hashing proves integrity of bytes received, not future availability or\npersistence.\n\nHelia is an optional peer: HTTPS verification does not install or load its large\nnetwork stack. Calling the default IPFS path without exactly\n`@helia/verified-fetch@7.2.4` fails closed with\n`IpfsVerifierUnavailableError` (`code: \"IPFS_VERIFIER_UNAVAILABLE\"`); there is no\nplain-gateway integrity fallback. Be aware that Helia's upstream WebRTC graph\ndeclares a non-optional React Native peer, so npm may also install React Native /\nMetro when you opt in. Its broad transitive ranges can also float beyond Node 20.\nThe opt-in graph requires Node `>=20.19.4`. Node-20 consumers should install and\nlock every companion version shown in the install command above (downstream\ninstalls do not inherit this repository's overrides):\n`helia@6.1.1`, `@libp2p/http@2.0.0`, `@peculiar/webcrypto@1.7.0`,\n`undici@7.29.0`, `ws@8.21.3`, and `react-native@0.81.5`, then audit that optional\ngraph in their own deployment environment.\n\n### Preview without broadcasting\n\nTo inspect calldata, size the USDC approval, or preview the resulting\n`streamId` before sending anything — even with an unfunded key — use the\nbuild-only path. `buildHireTx` returns the `openStream` transaction, the bounded\napproval it needs, and a best-effort simulated stream id; `hireVerifiedService`\naccepts an equivalent `{ dryRun: true }` option.\n\n```ts\nconst preview = await metrik.buildHireTx({\n  operator: target.operator,\n  serviceRef: target.serviceRef,\n  budgetUsdc: 5_000_000n,\n  ratePerSecond: 100n,\n  maxDurationSeconds: 3_600,\n});\n// preview.to / preview.data — the openStream tx (nothing sent)\n// preview.approval — the bounded USDC approve (required?, currentAllowance, data)\n// preview.simulatedStreamId — the id a real hire would create\n```\n\n### List a service as an operator\n\nSellers list a running endpoint and payout wallet directly through the SDK.\n`listService` signs an EIP-712 record with the connected account, derives the\n`serviceRef` from the signed object, and fails closed if the recovered signer is\nnot the declared operator. Tier 2 declares the canary and SLA checks the oracle\nruns. If you already hold a signer, the pure builder `buildSignedListing` (and\nits aliases `signListing` / `listService`) returns a `SignedListing` to publish\nout-of-band; `deriveServiceRef` recomputes the `serviceRef` from a signed\nlisting, its inner wrapper, or the raw record.\n\n```ts\nconst seller = MetrikClient.baseSepolia({ account });\nconst { serviceRef, signed } = await seller.listService({\n  tier: 2,\n  operator: account.address,\n  publicUrl: \"https://my-service.example\",\n  name: \"My Inference API\",\n  category: \"inference\",\n  commercial: { minRatePerSecond: \"1\", maxRatePerSecond: \"1000\" },\n  verification: {\n    canaries: [{ path: \"/canary\", matcher: { type: \"includes\", expected: \"ok\" } }],\n  },\n});\n```\n\n### Typed errors and gas abstraction\n\n`claimableForV2(streamId)` and `reclaimableForV2(streamId)` take the escrow's\n`cumulativeAmount` as an OPTIONAL second argument: omit it and the SDK resolves\nthe oracle's latest checkpoint voucher first (answering \"what can I get right\nnow?\", same as `claimable()` / `reclaimable()`); pass it to ask the hypothetical\n\"what would I get if I proved this cumulative?\" with no oracle round-trip.\n\nV2 read methods (`getStreamV2`, `claimableForV2`, `reclaimableForV2`) throw\n`StreamNotFoundError` or `StreamReadError` instead of a raw viem revert; value\nmoves throw `InsufficientAllowanceError`, `ApproveFailedError`,\n`OpenFailedError`, `ClaimFailedError`, `CloseFailedError`, or\n`ReclaimFailedError`. Every one of those messages names the escrow's own custom\nerror when the call reverted — `reclaim simulation failed: NothingToReclaim() —\nthe stream's entire remaining deposit is already accounted to the operator …`,\nnot a bare `reclaim simulation failed` — with the raw viem error kept as\n`cause`. `decodeRevert(error, \"v2\")` and `withRevertReason(base, error, \"v2\")`\nare exported if you want to branch on the error name yourself. Proof fetching\nmaps oracle HTTP 400, 404, and 503 to\n`InvalidCheckpointProofRequestError`, `StreamNotInCheckpointError`, and\n`CheckpointNotReadyError`; malformed success bodies fail closed with\n`InvalidCheckpointProofResponseError`. An early buyer reclaim throws\n`SettlementWindowOpenError` with checkpoint/grace timing context. Gas abstraction\nis opt-in: pass a `gasAbstraction` config and the SDK derives a Coinbase smart\naccount from the caller's signer, routes user operations through the configured\nbundler/paymaster, keeps approvals bounded, and enforces your\nsession/per-merchant `policyHook` before sending. `verifyFetch` uses\n`InvalidVerifyFetchInputError`, `VerifyFetchTransportError`,\n`VerifyFetchRedirectError`, `VerifyFetchTimeoutError`,\n`VerifyFetchAbortedError`, and `VerifyFetchResponseTooLargeError`. Settlement is\nsingle-chain (Base, USDC).\n\n## Key addresses and versions\n\nPrefer the exported constants over hardcoding — they track the live deployment.\n\n| Constant                               | Value                                         |\n| -------------------------------------- | --------------------------------------------- |\n| `BASE_SEPOLIA_ESCROW_V2` (default)     | `0x0f09f36Ccc05A7c9882F438721C08De314dFd46C`  |\n| `BASE_SEPOLIA_ESCROW` (legacy V1)      | `0x21948a5E6AE8d9A3D1050791AB6138657Fb54286`  |\n| `BASE_SEPOLIA_USDC` (Circle test USDC) | `0x036CbD53842c5426634e7929541eC2318f3dCF7e`  |\n| `DEFAULT_ORACLE_BASE_URL`              | `https://oracle.metrik.live`                  |\n| `BASE_SEPOLIA_SEED_LISTINGS`           | built-in tier-0 and tier-2 reference listings |\n| `DEFAULT_BASE_SEPOLIA_RPC_URL`         | default public Base Sepolia transport         |\n\nBase Sepolia testnet only (chainId `84532`). `@absol-labs/sdk` `0.7.0` consumes\nthe canonical `streamEscrowV2Abi` from `@absol-labs/shared ^0.9.0` alongside\n`viem` and `zod`.\n\n> **Naming.** The primary client is `MetrikClient`; `StreamProofClient` remains\n> a deprecated alias for backward compatibility.\n\n## Develop\n\n```bash\ncorepack enable && corepack prepare pnpm@9.15.0 --activate\npnpm install\npnpm format:check\npnpm typecheck\npnpm test\nMETRIK_RUN_NETWORK_TESTS=1 pnpm vitest run test/verify-fetch.integration.test.ts\npnpm build\n```\n\nCI runs the same frozen-install, format-check, typecheck, test, and build\nsequence on PRs and `main`. Runnable buyer and operator scripts live in\n[`examples/`](https://github.com/Absol-Labs/metrik-sdk/blob/main/examples/README.md);\nthe operator health/canary/quality contract is documented in\n[`docs/operator-quickstart.md`](https://github.com/Absol-Labs/metrik-sdk/blob/main/docs/operator-quickstart.md).\n\n## Links\n\n- App — https://app.metrik.live\n- Docs — https://metrik.live\n- All Metrik repositories — https://github.com/Absol-Labs\n","readmeFilename":"README.md"}