{"_id":"@0xkey-io/indexed-db-stamper","_rev":"4-b3853395434790930da778582152d0cb","name":"@0xkey-io/indexed-db-stamper","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@0xkey-io/indexed-db-stamper","version":"0.1.0","keywords":["0xkey","http","stamper"],"author":{"url":"https://0xkey.com/","name":"0xkey"},"license":"Apache-2.0","_id":"@0xkey-io/indexed-db-stamper@0.1.0","maintainers":[{"name":"0xkey-developer","email":"developer@0xkey.io"}],"homepage":"https://github.com/0xkey-io/sdk-js/tree/main/packages/indexed-db-stamper","bugs":{"url":"https://github.com/0xkey-io/sdk-js/issues"},"dist":{"shasum":"294da2e3ead1515df415314bbfbff8d481541e9a","tarball":"https://registry.npmjs.org/@0xkey-io/indexed-db-stamper/-/indexed-db-stamper-0.1.0.tgz","fileCount":10,"integrity":"sha512-x092Ek9+phcAqVCOD5CUFMeB9htEGDwIT0pG1WkJ6BUJmq8jBI8zXSbT5sELmpPLR6NU2+DzrcKYkOIfeSnPaQ==","signatures":[{"sig":"MEYCIQCzh7OmotWuXiHFrwlKpwPIsbXEYeJQSmwzOz7V5laXawIhAKgr6PjU3mCJJfahPCOSZmffeALVh8mrs9Ig/PtROj/R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44526},"main":"./dist/index.js","_from":"file:0xkey-io-indexed-db-stamper-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"test":"jest","build":"rollup -c","clean":"rimraf ./dist ./.cache","typecheck":"tsc -p tsconfig.typecheck.json"},"_npmUser":{"name":"0xkey-developer","email":"developer@0xkey.io"},"_resolved":"/private/var/folders/lf/b69416ms3zvccf0ght6bq02r0000gn/T/10a8ed7024fa1c00fe809f40515d7cac/0xkey-io-indexed-db-stamper-0.1.0.tgz","_integrity":"sha512-x092Ek9+phcAqVCOD5CUFMeB9htEGDwIT0pG1WkJ6BUJmq8jBI8zXSbT5sELmpPLR6NU2+DzrcKYkOIfeSnPaQ==","repository":{"url":"git+https://github.com/0xkey-io/sdk-js.git","type":"git","directory":"packages/indexed-db-stamper"},"_npmVersion":"11.4.2","description":"IndexedDB-based stamper for @0xkey-io/http","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@0xkey-io/encoding":"0.1.0","@0xkey-io/api-key-stamper":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","@types/jest":"^29.5.3"},"_npmOperationalInternal":{"tmp":"tmp/indexed-db-stamper_0.1.0_1779443529745_0.5146618055214665","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@0xkey-io/indexed-db-stamper","version":"0.1.1","keywords":["0xkey","http","stamper"],"author":{"url":"https://0xkey.com/","name":"0xkey"},"license":"Apache-2.0","_id":"@0xkey-io/indexed-db-stamper@0.1.1","maintainers":[{"name":"0xkey-developer","email":"developer@0xkey.io"}],"homepage":"https://github.com/0xkey-io/sdk-js/tree/main/packages/indexed-db-stamper","bugs":{"url":"https://github.com/0xkey-io/sdk-js/issues"},"dist":{"shasum":"bd6484c3b2b520fa95139a7259fce30284b840e0","tarball":"https://registry.npmjs.org/@0xkey-io/indexed-db-stamper/-/indexed-db-stamper-0.1.1.tgz","fileCount":10,"integrity":"sha512-6H24CD2vVlXs/RWoODqtb4s/egUV4iPlFFXmOWECJ90Vm4Xol7eyuPz9Y+eVJqmrxkPv1CalqwX8y4LgIKv1AQ==","signatures":[{"sig":"MEQCIB8nqLFVQUGaPiveOOpnJl/1DU8kgcEYXUkHAmygh20/AiAJR/J45enW7eG0/gG4aLImajqsH5bsVwfNdz6uCvfF/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44648},"main":"./dist/index.js","_from":"file:0xkey-io-indexed-db-stamper-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"test":"jest","build":"rollup -c","clean":"rimraf ./dist ./.cache","typecheck":"tsc -p tsconfig.typecheck.json"},"_npmUser":{"name":"0xkey-developer","email":"developer@0xkey.io"},"_resolved":"/private/var/folders/lf/b69416ms3zvccf0ght6bq02r0000gn/T/5c509afe40bceedee45594739582ae94/0xkey-io-indexed-db-stamper-0.1.1.tgz","_integrity":"sha512-6H24CD2vVlXs/RWoODqtb4s/egUV4iPlFFXmOWECJ90Vm4Xol7eyuPz9Y+eVJqmrxkPv1CalqwX8y4LgIKv1AQ==","repository":{"url":"git+https://github.com/0xkey-io/sdk-js.git","type":"git","directory":"packages/indexed-db-stamper"},"_npmVersion":"11.4.2","description":"IndexedDB-based stamper for @0xkey-io/http","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@0xkey-io/encoding":"0.1.1","@0xkey-io/api-key-stamper":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","@types/jest":"^29.5.3"},"_npmOperationalInternal":{"tmp":"tmp/indexed-db-stamper_0.1.1_1779451993198_0.1736882489879692","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@0xkey-io/indexed-db-stamper","version":"0.1.2","keywords":["0xkey","http","stamper"],"author":{"url":"https://0xkey.com/","name":"0xkey"},"license":"Apache-2.0","_id":"@0xkey-io/indexed-db-stamper@0.1.2","maintainers":[{"name":"0xkey-developer","email":"developer@0xkey.io"}],"homepage":"https://github.com/0xkey-io/sdk-js/tree/main/packages/indexed-db-stamper","bugs":{"url":"https://github.com/0xkey-io/sdk-js/issues"},"dist":{"shasum":"e96da484435c74c3eed93ea57e572d4d4bbe23a3","tarball":"https://registry.npmjs.org/@0xkey-io/indexed-db-stamper/-/indexed-db-stamper-0.1.2.tgz","fileCount":10,"integrity":"sha512-IeWAbSZ9MNuQhNRA6IzujhmByztbt9EN6QXrWGQK2VPKif7mhT79oOCdGwN3omQUSdCogFSIa9hjTwiuq2jSaA==","signatures":[{"sig":"MEUCIDKQp3ThHQpOa+QhVogbz/H212O/MCLO1tnzPkpR5kChAiEA1P/rdKe6eNdHjDSDaQ3N+JZooSpXQWrzz7iD5W9Xq68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44741},"main":"./dist/index.js","_from":"file:0xkey-io-indexed-db-stamper-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"test":"jest","build":"rollup -c","clean":"rimraf ./dist ./.cache","typecheck":"tsc -p tsconfig.typecheck.json"},"_npmUser":{"name":"0xkey-developer","email":"developer@0xkey.io"},"_resolved":"/tmp/272a7e7b7d245b0fa0f936471dba1682/0xkey-io-indexed-db-stamper-0.1.2.tgz","_integrity":"sha512-IeWAbSZ9MNuQhNRA6IzujhmByztbt9EN6QXrWGQK2VPKif7mhT79oOCdGwN3omQUSdCogFSIa9hjTwiuq2jSaA==","repository":{"url":"git+https://github.com/0xkey-io/sdk-js.git","type":"git","directory":"packages/indexed-db-stamper"},"_npmVersion":"11.5.1","description":"IndexedDB-based stamper for @0xkey-io/http","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@0xkey-io/encoding":"0.1.1","@0xkey-io/api-key-stamper":"0.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","@types/jest":"^29.5.3"},"_npmOperationalInternal":{"tmp":"tmp/indexed-db-stamper_0.1.2_1782244108771_0.4016677740602479","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@0xkey-io/indexed-db-stamper","version":"0.1.3","main":"./dist/index.js","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js","default":"./dist/index.mjs"}},"types":"./dist/index.d.ts","license":"Apache-2.0","description":"IndexedDB-based stamper for @0xkey-io/http","keywords":["0xkey","http","stamper"],"author":{"name":"0xkey","url":"https://0xkey.com/"},"homepage":"https://github.com/0xkey-io/sdk-js/tree/main/packages/indexed-db-stamper","bugs":{"url":"https://github.com/0xkey-io/sdk-js/issues"},"repository":{"type":"git","url":"git+https://github.com/0xkey-io/sdk-js.git","directory":"packages/indexed-db-stamper"},"publishConfig":{"access":"public"},"engines":{"node":">=18.0.0"},"dependencies":{"@0xkey-io/api-key-stamper":"0.1.3","@0xkey-io/encoding":"0.1.1"},"devDependencies":{"@types/jest":"^29.5.3","jest":"^29.7.0"},"scripts":{"build":"rollup -c","clean":"rimraf ./dist ./.cache","test":"jest","typecheck":"tsc -p tsconfig.typecheck.json"},"_id":"@0xkey-io/indexed-db-stamper@0.1.3","_integrity":"sha512-1sMjNCovQEE7aXEO5sN5vOeeE9tWk6mnH3aF/3H+1PVqyQsDeqE5cyKgkKoy/2lzQQLUIboTKdIBLm9q0xopug==","_resolved":"/tmp/745ec9ad21ab4a5778e4c8ba722e8ecf/0xkey-io-indexed-db-stamper-0.1.3.tgz","_from":"file:0xkey-io-indexed-db-stamper-0.1.3.tgz","_nodeVersion":"20.17.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-1sMjNCovQEE7aXEO5sN5vOeeE9tWk6mnH3aF/3H+1PVqyQsDeqE5cyKgkKoy/2lzQQLUIboTKdIBLm9q0xopug==","shasum":"54180eb39817f1392add55d5d7f7845138412684","tarball":"https://registry.npmjs.org/@0xkey-io/indexed-db-stamper/-/indexed-db-stamper-0.1.3.tgz","fileCount":10,"unpackedSize":44834,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHkeWN3CWL3OY1JTIRIlrjxMxyDUmoNhLQqY8GN100b5AiEAz4kwLEiWJ20YPCqBohdzUpQ9m54o9OrGXb/xMAtIino="}]},"_npmUser":{"name":"0xkey-developer","email":"developer@0xkey.io"},"directories":{},"maintainers":[{"name":"0xkey-developer","email":"developer@0xkey.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/indexed-db-stamper_0.1.3_1783079750275_0.12323169233511289"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-22T09:52:09.582Z","modified":"2026-07-03T11:55:50.534Z","0.1.0":"2026-05-22T09:52:09.876Z","0.1.1":"2026-05-22T12:13:13.360Z","0.1.2":"2026-06-23T19:48:28.947Z","0.1.3":"2026-07-03T11:55:50.409Z"},"bugs":{"url":"https://github.com/0xkey-io/sdk-js/issues"},"author":{"name":"0xkey","url":"https://0xkey.com/"},"license":"Apache-2.0","homepage":"https://github.com/0xkey-io/sdk-js/tree/main/packages/indexed-db-stamper","keywords":["0xkey","http","stamper"],"repository":{"type":"git","url":"git+https://github.com/0xkey-io/sdk-js.git","directory":"packages/indexed-db-stamper"},"description":"IndexedDB-based stamper for @0xkey-io/http","maintainers":[{"name":"0xkey-developer","email":"developer@0xkey.io"}],"readme":"# @0xkey-io/indexed-db-stamper\n\n[![npm](https://img.shields.io/npm/v/@0xkey-io/indexed-db-stamper?color=%234C48FF)](https://www.npmjs.com/package/@0xkey-io/indexed-db-stamper)\n\nThe `@0xkey-io/indexed-db-stamper` package enables secure request stamping using an unextractable P-256 keypair stored in the browser’s IndexedDB. It serves the same purpose as [`@0xkey-io/api-key-stamper`](../api-key-stamper/), allowing you to sign and approve requests to ZeroXKey’s API, but without exposing the private key. This is ideal for long-lived browser sessions in progressive web apps (PWAs), wallet extensions, or any context where the key must remain secure and persistent across reloads.\n\nThe IndexedDbStamper generates the private key using SubtleCrypto and stores it in a non-exportable format, ensuring that it cannot be extracted or exfiltrated by application code. The keypair is stored in IndexedDB so that it can be reused in subsequent sessions.\n\nUsage:\n\nThe `IndexedDbStamper` class implements the `TStamper` interface used by the `ZeroXKeyClient` in the [`@0xkey-io/http`](../http/) module. It encapsulates the logic necessary to sign activity requests and generates the appropriate HTTP headers for authentication.\n\n```ts\nimport { IndexedDbStamper } from \"@0xkey-io/indexed-db-stamper\";\n\n// Initialize the stamper and generate or load the keypair\nconst stamper = new IndexedDbStamper();\nawait stamper.init();\n\n// Once initialized, the stamper is ready to be passed into the ZeroXKeyClient.\nconst httpClient = new ZeroXKeyClient(\n  { baseUrl: \"https://api.0xkey.com\" },\n  stamper,\n);\n```\n","readmeFilename":"README.md"}