{"_id":"@bluprynt/kyi-widget-sdk","_rev":"8-754d773eab87eea30ddfebf4d08d19f6","name":"@bluprynt/kyi-widget-sdk","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.1":{"name":"@bluprynt/kyi-widget-sdk","version":"0.0.1","keywords":["bluprynt","kyi","know-your-issuer","widget","iframe","sdk","verification","web3","wallet"],"author":{"name":"Bluprynt"},"license":"MIT","_id":"@bluprynt/kyi-widget-sdk@0.0.1","maintainers":[{"name":"ivanzotov","email":"ivanzotov@gmail.com"}],"homepage":"https://github.com/bluprynt/kyi-widget-sdk#readme","bugs":{"url":"https://github.com/bluprynt/kyi-widget-sdk/issues"},"dist":{"shasum":"3988842d9d8a7e85399712bc32d15977705ca530","tarball":"https://registry.npmjs.org/@bluprynt/kyi-widget-sdk/-/kyi-widget-sdk-0.0.1.tgz","fileCount":21,"integrity":"sha512-2IlWpdUS7H0fyDAkP5cB9dzDqZV/VuXqRbVsy1KL3lmD1ZkOjKvfq3asWsCIUdU+0QCq+cnXZZ762kufb7kxqA==","signatures":[{"sig":"MEQCIC7SLJB0tm5nqo5DkgypXrDgqN6NTyeM4mIFoSUyRZv3AiA8UW6oWIo5IPOZDStAWJNu85h/MkqYt5KZHZaBcE1pPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159514},"main":"./dist/index.cjs","type":"module","_from":"file:bluprynt-kyi-widget-sdk-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"dev":"concurrently -k -n build,serve -c blue,green \"tsdown --watch --out-dir docs/dist\" \"npx serve docs -l 3000\"","lint":"biome check .","build":"tsdown && pnpm run playground:build","format":"biome format --write .","release":"changeset publish","version":"changeset version","lint:fix":"biome check --write .","changeset":"changeset","typecheck":"tsc --noEmit","prerelease":"pnpm run build","playground:build":"tsdown --out-dir docs/dist"},"_npmUser":{"name":"ivanzotov","email":"ivanzotov@gmail.com"},"_resolved":"/tmp/d1bd5c34244e0a7173f0d9aef56e2057/bluprynt-kyi-widget-sdk-0.0.1.tgz","_integrity":"sha512-2IlWpdUS7H0fyDAkP5cB9dzDqZV/VuXqRbVsy1KL3lmD1ZkOjKvfq3asWsCIUdU+0QCq+cnXZZ762kufb7kxqA==","repository":{"url":"git+https://github.com/bluprynt/kyi-widget-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Bluprynt KYI Widget SDK - Embed Know Your Issuer verification into your application","directories":{},"_nodeVersion":"20.20.1","dependencies":{"jose":"^5.9.6"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.1","typescript":"^5.7.2","concurrently":"^9.1.2","@biomejs/biome":"^1.9.4","@changesets/cli":"^2.27.10"},"_npmOperationalInternal":{"tmp":"tmp/kyi-widget-sdk_0.0.1_1773996607315_0.7054005343916983","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@bluprynt/kyi-widget-sdk","version":"0.0.2","keywords":["bluprynt","kyi","know-your-issuer","widget","iframe","sdk","verification","web3","wallet"],"author":{"name":"Bluprynt"},"license":"MIT","_id":"@bluprynt/kyi-widget-sdk@0.0.2","maintainers":[{"name":"ivanzotov","email":"ivanzotov@gmail.com"},{"name":"sergeyzbp","email":"sergeyz@bluprynt.com"}],"homepage":"https://github.com/bluprynt/kyi-widget-sdk#readme","bugs":{"url":"https://github.com/bluprynt/kyi-widget-sdk/issues"},"dist":{"shasum":"3320c88b86a23035431c081a14ffdc709627dce1","tarball":"https://registry.npmjs.org/@bluprynt/kyi-widget-sdk/-/kyi-widget-sdk-0.0.2.tgz","fileCount":21,"integrity":"sha512-etbutWDLOKKlcJPcYnCq7HLwME15+XPAX6ZD8GmnwPi6iYSqxJ0lLF4+IihNnYj2p0QL9rBmzLsVZWvTPN7DXQ==","signatures":[{"sig":"MEUCIQD+1tvmFnYHeqQJ059QkmyVAOLFkQeKydRnTIb1EmQHvQIgE6RXysAzQ12LQQfNrLrZ167mRA5Koh9FvVFNHW79K+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159630},"main":"./dist/index.cjs","type":"module","_from":"file:bluprynt-kyi-widget-sdk-0.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"dev":"concurrently -k -n build,serve -c blue,green \"tsdown --watch --out-dir docs/dist\" \"npx serve docs -l 3000\"","lint":"biome check .","build":"tsdown && pnpm run playground:build","format":"biome format --write .","release":"changeset publish","version":"changeset version","lint:fix":"biome check --write .","changeset":"changeset","typecheck":"tsc --noEmit","prerelease":"pnpm run build","playground:build":"tsdown --out-dir docs/dist"},"_npmUser":{"name":"ivanzotov","email":"ivanzotov@gmail.com"},"_resolved":"/tmp/abd2fad940fdfe4f53da09db0b977a89/bluprynt-kyi-widget-sdk-0.0.2.tgz","_integrity":"sha512-etbutWDLOKKlcJPcYnCq7HLwME15+XPAX6ZD8GmnwPi6iYSqxJ0lLF4+IihNnYj2p0QL9rBmzLsVZWvTPN7DXQ==","repository":{"url":"git+https://github.com/bluprynt/kyi-widget-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Bluprynt KYI Widget SDK - Embed Know Your Issuer verification into your application","directories":{},"_nodeVersion":"20.20.1","dependencies":{"jose":"^5.9.6"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.1","typescript":"^5.7.2","concurrently":"^9.1.2","@biomejs/biome":"^1.9.4","@changesets/cli":"^2.27.10"},"_npmOperationalInternal":{"tmp":"tmp/kyi-widget-sdk_0.0.2_1774009393689_0.8630101933693242","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@bluprynt/kyi-widget-sdk","version":"0.0.3","keywords":["bluprynt","kyi","know-your-issuer","widget","iframe","sdk","verification","web3","wallet"],"author":{"name":"Bluprynt"},"license":"MIT","_id":"@bluprynt/kyi-widget-sdk@0.0.3","maintainers":[{"name":"ivanzotov","email":"ivanzotov@gmail.com"},{"name":"sergeyzbp","email":"sergeyz@bluprynt.com"}],"homepage":"https://github.com/bluprynt/kyi-widget-sdk#readme","bugs":{"url":"https://github.com/bluprynt/kyi-widget-sdk/issues"},"dist":{"shasum":"707eaf91d0c76b91177930ebe0ee350f9f65e365","tarball":"https://registry.npmjs.org/@bluprynt/kyi-widget-sdk/-/kyi-widget-sdk-0.0.3.tgz","fileCount":21,"integrity":"sha512-xhtxUJ+A/tMWV41ox4HCasrlcMoOwlYeh09v1yEgj4BwPCADki9yvAfdNdEbZshsUy7aOtDiuKirfThpNgzwxw==","signatures":[{"sig":"MEYCIQCKN8h2q8R0Ieo2ttpt5z3LR8W7gkys1xxdlFBjp645wwIhAIBRlUzwItc9Yv7W+bQoeEEbs+GehVY7XiWHgaHKsWpt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159227},"main":"./dist/index.cjs","type":"module","_from":"file:bluprynt-kyi-widget-sdk-0.0.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"dev":"concurrently -k -n build,serve -c blue,green \"tsdown --watch --out-dir docs/dist\" \"npx serve docs -l 3000\"","lint":"biome check .","build":"tsdown && pnpm run playground:build","format":"biome format --write .","release":"changeset publish","version":"changeset version","lint:fix":"biome check --write .","changeset":"changeset","typecheck":"tsc --noEmit","prerelease":"pnpm run build","playground:build":"tsdown --out-dir docs/dist"},"_npmUser":{"name":"ivanzotov","email":"ivanzotov@gmail.com"},"_resolved":"/tmp/d04884dea7b68ad31dcc9fddbe989971/bluprynt-kyi-widget-sdk-0.0.3.tgz","_integrity":"sha512-xhtxUJ+A/tMWV41ox4HCasrlcMoOwlYeh09v1yEgj4BwPCADki9yvAfdNdEbZshsUy7aOtDiuKirfThpNgzwxw==","repository":{"url":"git+https://github.com/bluprynt/kyi-widget-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Bluprynt KYI Widget SDK - Embed Know Your Issuer verification into your application","directories":{},"_nodeVersion":"20.20.1","dependencies":{"jose":"^5.9.6"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.1","typescript":"^5.7.2","concurrently":"^9.1.2","@biomejs/biome":"^1.9.4","@changesets/cli":"^2.27.10"},"_npmOperationalInternal":{"tmp":"tmp/kyi-widget-sdk_0.0.3_1774605619912_0.7146595236834445","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@bluprynt/kyi-widget-sdk","version":"0.0.4","keywords":["bluprynt","kyi","know-your-issuer","widget","iframe","sdk","verification","web3","wallet"],"author":{"name":"Bluprynt"},"license":"MIT","_id":"@bluprynt/kyi-widget-sdk@0.0.4","maintainers":[{"name":"ivanzotov","email":"ivanzotov@gmail.com"},{"name":"sergeyzbp","email":"sergeyz@bluprynt.com"}],"homepage":"https://github.com/bluprynt/kyi-widget-sdk#readme","bugs":{"url":"https://github.com/bluprynt/kyi-widget-sdk/issues"},"dist":{"shasum":"a265abfd72d308cfe7a55195e84f3759726aa54d","tarball":"https://registry.npmjs.org/@bluprynt/kyi-widget-sdk/-/kyi-widget-sdk-0.0.4.tgz","fileCount":21,"integrity":"sha512-xwS8oDRXMXGfzd65l56lMu5HDxCyCnpqw9wa43iutoJaBJqHkm79yRrqoeoOX9R7txCqFUlPFSDQATVR+Vg9EA==","signatures":[{"sig":"MEUCIQCVW0pOJxbuc1MiTwphWJ/GiVqmGBZwI/U3enMDMV5Y7AIgJQMFqz0WlYTbrQDa4OCxJFInv2tFGht8jQ0yVh3tEC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158181},"main":"./dist/index.cjs","type":"module","_from":"file:bluprynt-kyi-widget-sdk-0.0.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"dev":"concurrently -k -n build,serve -c blue,green \"tsdown --watch --out-dir docs/dist\" \"npx serve docs -l 3000\"","lint":"biome check .","build":"tsdown && pnpm run playground:build","format":"biome format --write .","release":"changeset publish","version":"changeset version","lint:fix":"biome check --write .","changeset":"changeset","typecheck":"tsc --noEmit","prerelease":"pnpm run build","playground:build":"tsdown --out-dir docs/dist"},"_npmUser":{"name":"ivanzotov","email":"ivanzotov@gmail.com"},"_resolved":"/tmp/8865d090630561546cf25ff2ba469b9b/bluprynt-kyi-widget-sdk-0.0.4.tgz","_integrity":"sha512-xwS8oDRXMXGfzd65l56lMu5HDxCyCnpqw9wa43iutoJaBJqHkm79yRrqoeoOX9R7txCqFUlPFSDQATVR+Vg9EA==","repository":{"url":"git+https://github.com/bluprynt/kyi-widget-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Bluprynt KYI Widget SDK - Embed Know Your Issuer verification into your application","directories":{},"_nodeVersion":"20.20.1","dependencies":{"jose":"^5.9.6"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.1","typescript":"^5.7.2","concurrently":"^9.1.2","@biomejs/biome":"^1.9.4","@changesets/cli":"^2.27.10"},"_npmOperationalInternal":{"tmp":"tmp/kyi-widget-sdk_0.0.4_1774606553369_0.46035203783985135","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@bluprynt/kyi-widget-sdk","version":"0.1.0","keywords":["bluprynt","kyi","know-your-issuer","widget","iframe","sdk","verification","web3","wallet"],"author":{"name":"Bluprynt"},"license":"MIT","_id":"@bluprynt/kyi-widget-sdk@0.1.0","maintainers":[{"name":"ivanzotov","email":"ivanzotov@gmail.com"},{"name":"sergeyzbp","email":"sergeyz@bluprynt.com"}],"homepage":"https://github.com/bluprynt/kyi-widget-sdk#readme","bugs":{"url":"https://github.com/bluprynt/kyi-widget-sdk/issues"},"dist":{"shasum":"48ee8f4479cc87ffa426045a6b6045bd112cf6ec","tarball":"https://registry.npmjs.org/@bluprynt/kyi-widget-sdk/-/kyi-widget-sdk-0.1.0.tgz","fileCount":21,"integrity":"sha512-jUSxkON4NTcrlok2Rd7kF4VFk2VpnkbYkhYUE921jKPsZzuD3a61fFrRhxN1F/so2JQV27xbqEfcqaYTMDTGFQ==","signatures":[{"sig":"MEUCIA2y79Zqwh2cfNOI5i+cF6jhb9yWu1Ef4ItxBjEyRnOGAiEAo/l7ErBveCVqK6/kB3tokQK8RZEGh/iyaCTK1BMRmr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160373},"main":"./dist/index.cjs","type":"module","_from":"file:bluprynt-kyi-widget-sdk-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"dev":"concurrently -k -n build,serve -c blue,green \"tsdown --watch --out-dir docs/dist\" \"npx serve docs -l 3000\"","lint":"biome check .","build":"tsdown && pnpm run playground:build","format":"biome format --write .","release":"changeset publish","version":"changeset version","lint:fix":"biome check --write .","changeset":"changeset","typecheck":"tsc --noEmit","prerelease":"pnpm run build","playground:build":"tsdown --out-dir docs/dist"},"_npmUser":{"name":"ivanzotov","email":"ivanzotov@gmail.com"},"_resolved":"/tmp/4df4e38451aa7d4cf2ad32d9a3a1a6d2/bluprynt-kyi-widget-sdk-0.1.0.tgz","_integrity":"sha512-jUSxkON4NTcrlok2Rd7kF4VFk2VpnkbYkhYUE921jKPsZzuD3a61fFrRhxN1F/so2JQV27xbqEfcqaYTMDTGFQ==","repository":{"url":"git+https://github.com/bluprynt/kyi-widget-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Bluprynt KYI Widget SDK - Embed Know Your Issuer verification into your application","directories":{},"_nodeVersion":"20.20.1","dependencies":{"jose":"^5.9.6"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.1","typescript":"^5.7.2","concurrently":"^9.1.2","@biomejs/biome":"^1.9.4","@changesets/cli":"^2.27.10"},"_npmOperationalInternal":{"tmp":"tmp/kyi-widget-sdk_0.1.0_1774942093522_0.9905073212123365","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bluprynt/kyi-widget-sdk","version":"0.1.1","keywords":["bluprynt","kyi","know-your-issuer","widget","iframe","sdk","verification","web3","wallet"],"author":{"name":"Bluprynt"},"license":"MIT","_id":"@bluprynt/kyi-widget-sdk@0.1.1","maintainers":[{"name":"ivanzotov","email":"ivanzotov@gmail.com"},{"name":"sergeyzbp","email":"sergeyz@bluprynt.com"}],"homepage":"https://github.com/bluprynt/kyi-widget-sdk#readme","bugs":{"url":"https://github.com/bluprynt/kyi-widget-sdk/issues"},"dist":{"shasum":"cf13c0402eb0ddd5963628edca91457a59f10709","tarball":"https://registry.npmjs.org/@bluprynt/kyi-widget-sdk/-/kyi-widget-sdk-0.1.1.tgz","fileCount":21,"integrity":"sha512-OGi36pF6ypovf5lhJwZHy2Ho6+kf+xO4VCFovJd7Yav0YQfNLzBXdXjO7ZeG995Z/MT+u+Cgp4JfVjeMbeUiGw==","signatures":[{"sig":"MEUCIFJ9zHvyL6I8ljd1BQoAsTL4BM6HaVpac/pqxi6FzI+rAiEA8M3753ybdt+XaXIaC1ozm9jDqB3kJRshpg7BS7+bddI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155467},"main":"./dist/index.cjs","type":"module","_from":"file:bluprynt-kyi-widget-sdk-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"dev":"concurrently -k -n build,serve -c blue,green \"tsdown --watch --out-dir docs/dist\" \"npx serve docs -l 3000\"","lint":"biome check .","build":"tsdown && pnpm run playground:build","format":"biome format --write .","release":"changeset publish","version":"changeset version","lint:fix":"biome check --write .","changeset":"changeset","typecheck":"tsc --noEmit","prerelease":"pnpm run build","playground:build":"tsdown --out-dir docs/dist"},"_npmUser":{"name":"ivanzotov","email":"ivanzotov@gmail.com"},"_resolved":"/tmp/83c412a543677523c6819da124f1cb30/bluprynt-kyi-widget-sdk-0.1.1.tgz","_integrity":"sha512-OGi36pF6ypovf5lhJwZHy2Ho6+kf+xO4VCFovJd7Yav0YQfNLzBXdXjO7ZeG995Z/MT+u+Cgp4JfVjeMbeUiGw==","repository":{"url":"git+https://github.com/bluprynt/kyi-widget-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"Bluprynt KYI Widget SDK - Embed Know Your Issuer verification into your application","directories":{},"_nodeVersion":"20.20.1","dependencies":{"jose":"^5.9.6"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.9.1","typescript":"^5.7.2","concurrently":"^9.1.2","@biomejs/biome":"^1.9.4","@changesets/cli":"^2.27.10"},"_npmOperationalInternal":{"tmp":"tmp/kyi-widget-sdk_0.1.1_1774943381154_0.25973033081576236","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-03-20T08:50:07.254Z","modified":"2026-08-21T09:39:06.048Z","0.0.1":"2026-03-20T08:50:07.478Z","0.0.2":"2026-03-20T12:23:13.825Z","0.0.3":"2026-03-27T10:00:20.051Z","0.0.4":"2026-03-27T10:15:53.510Z","0.1.0":"2026-03-31T07:28:13.816Z","0.1.1":"2026-03-31T07:49:41.330Z"},"bugs":{"url":"https://github.com/bluprynt/kyi-widget-sdk/issues"},"author":{"name":"Bluprynt"},"license":"MIT","homepage":"https://github.com/bluprynt/kyi-widget-sdk#readme","keywords":["bluprynt","kyi","know-your-issuer","widget","iframe","sdk","verification","web3","wallet"],"repository":{"url":"git+https://github.com/bluprynt/kyi-widget-sdk.git","type":"git"},"description":"Bluprynt KYI Widget SDK - Embed Know Your Issuer verification into your application","maintainers":[{"email":"ivanzotov@gmail.com","name":"ivanzotov"},{"email":"sergeyz@bluprynt.com","name":"sergeyzbp"},{"email":"igor@hoodies.team","name":"igor-hoodies"}],"readme":"# Bluprynt KYI Widget SDK\n\n[![SOC 2 Type 1](https://img.shields.io/badge/SOC%202-Type%201-blue)](https://bluprynt.com)\n[![npm version](https://img.shields.io/npm/v/@bluprynt/kyi-widget-sdk)](https://www.npmjs.com/package/@bluprynt/kyi-widget-sdk)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nEmbed Bluprynt's KYI (Know Your Issuer) verification widget into your web application.\n\n## Installation\n\n```bash\nnpm install @bluprynt/kyi-widget-sdk\n```\n\n```bash\nyarn add @bluprynt/kyi-widget-sdk\n```\n\n```bash\npnpm add @bluprynt/kyi-widget-sdk\n```\n\n## How KYI Widget SDK works\n\n1. Ask Bluprynt for `SECRET_KEY` as part of partner integration.\n1. Implement Access Token JWT generation on your backend side.\n1. Use KYI Widget SDK with generated Access Token on behalf of your user.\n\nUse [playground](https://blupryntco.github.io/kyi-widget-sdk) to test KYI Widget SDK.\n\n## Quick Start\n\n### 1. Generate Access Token (Server-side)\n\nIf you use Node.js on backend, feel free to use this package to generate the token:\n\n```typescript\n// server.ts (Node.js)\nimport { generateToken } from \"@bluprynt/kyi-widget-sdk/server\";\n\nconst accessToken = await generateToken({\n  issuer: \"your-partner-id\",\n  secretKey: process.env.BLUPRYNT_SECRET_KEY!,\n  userId: \"user-123\", // Your internal user identifier\n  expiresIn: 3600, // Optional: token expiry in seconds (default: 1 hour)\n});\n\n// Return token to your frontend\nres.json({ accessToken });\n```\n\nIt is okay to use other platforms rather than Node.js, but you will need generate JWT by yourself and sign it with `SECRET_KEY` that you get from Bluprynt. Keep in mind the token's payload must have to following structure:\n\n```json\n{\n  \"sub\": \"user-123\",\n  \"iss\": \"your-partner-id\",\n  \"iat\": 1766146154,\n  \"exp\": 1766149754\n}\n```\n\n### 2. Embed Widget (Client-side)\n\nUse the access token to embed the KYI widget:\n\n```typescript\n// client.ts (Browser)\nimport { kyi } from \"@bluprynt/kyi-widget-sdk\";\n\n// Fetch token from your backend\nconst { accessToken } = await fetch(\"/api/kyi-token\").then((r) => r.json());\n\n// Embed the widget\nconst widget = kyi(\"modal\", \"kyi\", accessToken, {\n  onClose: () => {\n    console.log(\"Widget closed\");\n  },\n  onError: (error) => {\n    console.error(\"Error:\", error);\n  },\n});\n\n// Later: clean up when done\nwidget.destroy();\n```\n\n## Widget Modes\n\n### Inline Mode\n\nEmbeds the widget directly into a specified container element:\n\n```typescript\nconst container = document.getElementById(\"kyi-container\");\n\nconst widget = kyi(\"inline\", \"kyi\", accessToken, {\n  parentElement: container,\n});\n```\n\n```html\n<div id=\"kyi-container\" style=\"height: 600px;\"></div>\n```\n\n### Modal Mode\n\nDisplays the widget in a centered modal overlay:\n\n```typescript\nconst widget = kyi(\"modal\", \"kyi\", accessToken, {\n  onClose: () => console.log(\"Modal closed\"),\n});\n```\n\n### Drawer Mode\n\nDisplays the widget in a slide-in panel from the right:\n\n```typescript\nconst widget = kyi(\"drawer\", \"kyi\", accessToken, {\n  onClose: () => console.log(\"Drawer closed\"),\n});\n```\n\n## Widget Scopes\n\nThe `scope` parameter determines which page to display:\n\n| Scope                  | Description                     |\n| ---------------------- | ------------------------------- |\n| `kyi`                  | New KYI application flow        |\n| `asset-list`           | View list of verified assets    |\n| `wallet-list`          | View list of connected wallets  |\n\n```typescript\n// Start a new KYI application\nkyi(\"modal\", \"kyi\", accessToken);\n\n// View assets\nkyi(\"modal\", \"asset-list\", accessToken);\n\n// View wallets\nkyi(\"inline\", \"wallet-list\", accessToken, { parentElement: container });\n```\n\n## Checking KYI Status (Server-side)\n\nQuery the current KYI status for a user from your backend:\n\n```typescript\nimport { checkStatus } from \"@bluprynt/kyi-widget-sdk/server\";\n\nconst status = await checkStatus({\n  issuer: \"your-partner-id\",\n  secretKey: process.env.BLUPRYNT_SECRET_KEY!,\n  userId: \"user-123\",\n});\n\nconsole.log(status);\n```\n\n## API Reference\n\n### `kyi(mode, scope, accessToken, options?)`\n\nCreates a KYI widget instance.\n\n**Parameters:**\n\n| Parameter     | Type                               | Description                           |\n| ------------- | ---------------------------------- | ------------------------------------- |\n| `mode`        | `'inline' \\| 'modal' \\| 'drawer'`  | Widget display mode                   |\n| `scope`       | `'kyi' \\| 'asset-list' \\| 'wallet-list'` | Widget scope       |\n| `accessToken` | `string`                           | JWT access token from `generateToken` |\n| `options`     | `KYIOptions`                       | Optional configuration                |\n\n**Options:**\n\n| Option          | Type                     | Description                            |\n| --------------- | ------------------------ | -------------------------------------- |\n| `parentElement` | `HTMLElement`            | Container element (inline mode only)   |\n| `onClose`       | `() => void`             | Called when widget is closed           |\n| `onError`       | `(error: Error) => void` | Called when an error occurs            |\n| `onReady`       | `() => void`             | Called when widget is loaded and ready |\n\n**Returns:** `KYIWidget`\n\n| Property  | Type                  | Description                      |\n| --------- | --------------------- | -------------------------------- |\n| `iframe`  | `HTMLIFrameElement`   | Reference to the iframe element  |\n| `destroy` | `() => void`          | Remove widget and clean up       |\n\n### `generateToken(options)` (Server-side)\n\nGenerates a JWT access token for widget authentication.\n\n**Parameters:**\n\n| Option      | Type     | Description                                |\n| ----------- | -------- | ------------------------------------------ |\n| `issuer`    | `string` | Your partner identifier                    |\n| `secretKey` | `string` | Your Bluprynt secret key                   |\n| `userId`    | `string` | Your internal user identifier              |\n| `expiresIn` | `number` | Token expiry in seconds (default: `3600`)  |\n\n**Returns:** `Promise<string>` - The signed JWT token\n\n### `checkStatus(options)` (Server-side)\n\nChecks the KYI verification status for a user.\n\n**Parameters:**\n\n| Option      | Type     | Description                     |\n| ----------- | -------- | ------------------------------- |\n| `issuer`    | `string` | Your partner identifier         |\n| `secretKey` | `string` | Your Bluprynt secret key        |\n| `userId`    | `string` | Your internal user identifier   |\n\n**Returns:** `Promise<KYIStatus>`\n\n## Framework Examples\n\n### React\n\n```tsx\nimport { useEffect, useRef } from \"react\";\nimport { kyi, type KYIWidget } from \"@bluprynt/kyi-widget-sdk\";\n\nfunction KYIButton({ accessToken }: { accessToken: string }) {\n  const widgetRef = useRef<KYIWidget | null>(null);\n\n  const openWidget = () => {\n    widgetRef.current = kyi(\"modal\", \"kyi\", accessToken);\n  };\n\n  useEffect(() => {\n    return () => widgetRef.current?.destroy();\n  }, []);\n\n  return <button onClick={openWidget}>Start KYI</button>;\n}\n```\n\n## Security\n\n- **Never expose your `SECRET_KEY` on the client-side.** Token generation must happen on your backend.\n- Access tokens are short-lived JWTs. Generate a fresh token for each widget session.\n- The widget uses `postMessage` for secure iframe communication.\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n---\n\nBuilt with care by [Bluprynt](https://bluprynt.com)\n","readmeFilename":"README.md"}