{"_id":"@unifold/headless-react","_rev":"19-b199e63ccbdbc68c7a665a683e141ac7","name":"@unifold/headless-react","dist-tags":{"beta":"0.1.71-beta.2","latest":"0.1.85"},"versions":{"0.1.70-beta.1":{"name":"@unifold/headless-react","version":"0.1.70-beta.1","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.70-beta.1","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"57e6eea62bad912b42c63022446cf2ce9bb1a15d","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.70-beta.1.tgz","fileCount":6,"integrity":"sha512-J4aGe+P/rC6iNeEBbuSYU8TrkuzlNNEuszx9onCf4aeCcEFtO9h5yN5oFmFYye0d9aGxcGJ636YU88hoAMRHEg==","signatures":[{"sig":"MEUCICn+tP6+8gdF+uCqDGAWuEF9VKrAqBvR+5RowFAnCY/MAiEAwMRQiseq5dG5pXrFvw5LXujTp3Pj5Oix9mOTuI4JsLQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57601},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.70-beta.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/private/var/folders/zp/zq090dz165x9xy4y_nfq7mq00000gn/T/fb38a1f4ace5505018703a1d046ae8a1/unifold-headless-react-0.1.70-beta.1.tgz","_integrity":"sha512-J4aGe+P/rC6iNeEBbuSYU8TrkuzlNNEuszx9onCf4aeCcEFtO9h5yN5oFmFYye0d9aGxcGJ636YU88hoAMRHEg==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.70-beta.1","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.70-beta.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.70-beta.1_1784048178055_0.547101917997153","host":"s3://npm-registry-packages-npm-production"}},"0.1.70":{"name":"@unifold/headless-react","version":"0.1.70","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.70","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"e081ddc3c1750da484963cf99e4451b5d8dd6f7c","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.70.tgz","fileCount":6,"integrity":"sha512-R9LhJspSk9DayMNdaQwnq1vCgsYRLiu1HIjtPpeav+igV0BdwXH3wFuB8DWbtYd99yiTwGtnB5FQyxLZuneNBw==","signatures":[{"sig":"MEYCIQCk2J8D3DLjnjqNp0U6eNne1du/R/6mVE9MFaljpUxgfgIhAM2JV/JWgCKQ0jxAOLO11DHlM2Uhukk8PfwO6naE9Isn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59959},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.70.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/private/var/folders/zp/zq090dz165x9xy4y_nfq7mq00000gn/T/b50f0b2c9b0f05f6792f68a1ea15df46/unifold-headless-react-0.1.70.tgz","_integrity":"sha512-R9LhJspSk9DayMNdaQwnq1vCgsYRLiu1HIjtPpeav+igV0BdwXH3wFuB8DWbtYd99yiTwGtnB5FQyxLZuneNBw==","_npmVersion":"11.13.0","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@unifold/core":"0.1.70","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.70"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.70_1784320075002_0.5826109424932677","host":"s3://npm-registry-packages-npm-production"}},"0.1.71-beta.1":{"name":"@unifold/headless-react","version":"0.1.71-beta.1","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.71-beta.1","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"f8894642698af8289c868a5ccc4831de45eb2ea0","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.71-beta.1.tgz","fileCount":6,"integrity":"sha512-QEdJAkGpno7B4+ZgX3FuVC+yVQrrnu/a8+FWvbUaZVgv292l2ppZKey/pBi1kvfZgR/R3FnpaItCPJhHGtzJ2A==","signatures":[{"sig":"MEQCIGxbAyGT0hYDYx76yCeT7gHHONthg9NWvk4D7gXQBc/fAiB3DbGV2o9sqOPudn8USKqioyRk4GuEillKENTEEhU6KA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59980},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.71-beta.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/private/var/folders/zp/zq090dz165x9xy4y_nfq7mq00000gn/T/b4a812865d2e97e06006deb648e879ea/unifold-headless-react-0.1.71-beta.1.tgz","_integrity":"sha512-QEdJAkGpno7B4+ZgX3FuVC+yVQrrnu/a8+FWvbUaZVgv292l2ppZKey/pBi1kvfZgR/R3FnpaItCPJhHGtzJ2A==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.71-beta.1","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.71-beta.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.71-beta.1_1784517908166_0.2964912216648945","host":"s3://npm-registry-packages-npm-production"}},"0.1.71-beta.2":{"name":"@unifold/headless-react","version":"0.1.71-beta.2","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.71-beta.2","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"0cb54b1eaf842985233278537a1b3ffd9aecf79c","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.71-beta.2.tgz","fileCount":6,"integrity":"sha512-a99W/+9RyBJDa2WgRn+fLJORbB3sgxirhA5cTt48hx/czT8EAyU03Lipe9j2+v0fuVFaKaT5Urt+Aj22xp75/g==","signatures":[{"sig":"MEYCIQCHH14nE4WOX3z941HScDCMqj26awidc5PpOJZkAYCe4AIhANcqlgg9DcogzYgobSTdhPIZiL3yJbcAR7szEW5jl0hH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59980},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.71-beta.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/private/var/folders/zp/zq090dz165x9xy4y_nfq7mq00000gn/T/4e64fe7d44cf313be5362805d5a508f2/unifold-headless-react-0.1.71-beta.2.tgz","_integrity":"sha512-a99W/+9RyBJDa2WgRn+fLJORbB3sgxirhA5cTt48hx/czT8EAyU03Lipe9j2+v0fuVFaKaT5Urt+Aj22xp75/g==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.71-beta.2","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.71-beta.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.71-beta.2_1784519336322_0.6934889125359229","host":"s3://npm-registry-packages-npm-production"}},"0.1.71":{"name":"@unifold/headless-react","version":"0.1.71","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.71","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"27f57bed9891b658add9cdb48a06490c7516f5bf","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.71.tgz","fileCount":6,"integrity":"sha512-fo+OAL8NK6c8bELVfRwDUEdxCh425pHB0Od5N0y9l1H8vbSSVGkq/6iZBMw1UhzCe4zB201TZli0C4MYqn7PNA==","signatures":[{"sig":"MEUCIQCZgQmags3oEvrPFAlmp0MpBfDnpble7zrCabcS0Jfn9AIgJDtP9D3nWBkw10W7henl0nwkarvk6kO+xXsekqFL9rg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59959},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.71.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/private/var/folders/zp/zq090dz165x9xy4y_nfq7mq00000gn/T/f18a26fe8458adbbd169a0d49980b0c0/unifold-headless-react-0.1.71.tgz","_integrity":"sha512-fo+OAL8NK6c8bELVfRwDUEdxCh425pHB0Od5N0y9l1H8vbSSVGkq/6iZBMw1UhzCe4zB201TZli0C4MYqn7PNA==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.71","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.71"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.71_1784559518187_0.5251426271023572","host":"s3://npm-registry-packages-npm-production"}},"0.1.72":{"name":"@unifold/headless-react","version":"0.1.72","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.72","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"be544ff68a861207a02d56107b4b491d4288b0d7","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.72.tgz","fileCount":6,"integrity":"sha512-D+pdEYmSc5kea45QQuEgpmIhhvcsJWM8GoJtA+XoSzJF3/YdF0ZfWPr2PXzrmeuaibkfdaWFSBxewL8OT5nDHQ==","signatures":[{"sig":"MEUCIClwAV7BTLiDq1tgCvLI1o2KWH4/RLqTrhXTHko39A2OAiEAn6bNJ9epYhbJEbJDz+7A9EOC+R0nqO+U8kWlNbfoEyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59959},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.72.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/d111cbefefaa795ee323ef1a0bd477f1/unifold-headless-react-0.1.72.tgz","_integrity":"sha512-D+pdEYmSc5kea45QQuEgpmIhhvcsJWM8GoJtA+XoSzJF3/YdF0ZfWPr2PXzrmeuaibkfdaWFSBxewL8OT5nDHQ==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.72","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.72"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.72_1785857501593_0.4089821520372223","host":"s3://npm-registry-packages-npm-production"}},"0.1.73":{"name":"@unifold/headless-react","version":"0.1.73","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.73","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"240180b8004434c4b869cfa390b0c0d1f18d128e","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.73.tgz","fileCount":6,"integrity":"sha512-5DEV7dDdjudVccHFyKB2xmCaha4kYqA1vVlQZ22Dvwb9Wnp9mWJl0atcJAtXRiJtWCxrOmOOApcVRZ5qzoacRQ==","signatures":[{"sig":"MEUCIENSQo7nZVJtMuR81IRN2dFLtQqC6Mvv2MM3GafxiwnmAiEAlymH3sBOOAXQfyW3zKsgqBXAEkv230kkJUShSbgFeBc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59959},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.73.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/9825624f47d13ddf6bc37096a28f6532/unifold-headless-react-0.1.73.tgz","_integrity":"sha512-5DEV7dDdjudVccHFyKB2xmCaha4kYqA1vVlQZ22Dvwb9Wnp9mWJl0atcJAtXRiJtWCxrOmOOApcVRZ5qzoacRQ==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.73","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.73"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.73_1785866490370_0.34552021727762083","host":"s3://npm-registry-packages-npm-production"}},"0.1.74":{"name":"@unifold/headless-react","version":"0.1.74","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.74","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"e029e75bb6011f252a7332fe3f4b325cf3713dfe","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.74.tgz","fileCount":6,"integrity":"sha512-wc2x9BPfdHWu1fGmyrxCRZJzioTXDfSQwxWrlF3Bs5mjbinHxnrQO1Bhx9YQeBt3hD/ZVXVoz7QEiER4547xyA==","signatures":[{"sig":"MEYCIQC7Df9AWPsn9439Wq4Y+ReFogBFqK5h7b4KbVFjsp1R3QIhAPNBtEhFcwd5+9a3Jn8UeCncTDaAEFrKBdHUaVsOIjah","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59959},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.74.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/be2a9fec67c7ce0ef1e5155dd36d01fd/unifold-headless-react-0.1.74.tgz","_integrity":"sha512-wc2x9BPfdHWu1fGmyrxCRZJzioTXDfSQwxWrlF3Bs5mjbinHxnrQO1Bhx9YQeBt3hD/ZVXVoz7QEiER4547xyA==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.74","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.74"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.74_1786382958814_0.881740694727341","host":"s3://npm-registry-packages-npm-production"}},"0.1.75":{"name":"@unifold/headless-react","version":"0.1.75","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.75","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"7c2e8a0cab6df599fd49edcdb1c53f6d5504693d","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.75.tgz","fileCount":6,"integrity":"sha512-H4CHDnQ1NFa1vphZPa1aoXiIYxHlDQH4wf03pMPiE/cK9hfk+0FxMc0HHbEvcHy6qjVUIJ9NsyAeGdWxRBepxQ==","signatures":[{"sig":"MEYCIQDcKj0+qwtF2JVhvjwaDko8HKGhECTh+j86TQV47IGvIgIhAKZJnrztYaky8/k2Wn+rmkwNQZ29sRqQ13jVyPViUEjc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59959},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.75.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/138bb8c68b1c20d50b543700ebd6b4fa/unifold-headless-react-0.1.75.tgz","_integrity":"sha512-H4CHDnQ1NFa1vphZPa1aoXiIYxHlDQH4wf03pMPiE/cK9hfk+0FxMc0HHbEvcHy6qjVUIJ9NsyAeGdWxRBepxQ==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.75","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.75"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.75_1786729599661_0.2288489738344277","host":"s3://npm-registry-packages-npm-production"}},"0.1.76":{"name":"@unifold/headless-react","version":"0.1.76","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.76","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"826e7d674a192b673d7ee16704e117ea31ffa910","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.76.tgz","fileCount":6,"integrity":"sha512-fUx795P4UHVOXkKyOD6DDs03ltkvETsHeDys7vyMUev75gazmO8YUJFNShG++Owj3Og2yAgXjWhTtis+78JGJw==","signatures":[{"sig":"MEUCIQDAiRqKSeeTnauJB233BY+UKegh8ctZqSXwz+H4iNFnUQIgUVBuekKH0HMTiEE/BHGWd+Z24/YnBObY8xZygRhfIjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101664},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.76.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/194cfa8ec041d6f497de02eb3d40cb75/unifold-headless-react-0.1.76.tgz","_integrity":"sha512-fUx795P4UHVOXkKyOD6DDs03ltkvETsHeDys7vyMUev75gazmO8YUJFNShG++Owj3Og2yAgXjWhTtis+78JGJw==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.76","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.76"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.76_1787110827407_0.7125659879569839","host":"s3://npm-registry-packages-npm-production"}},"0.1.77":{"name":"@unifold/headless-react","version":"0.1.77","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.77","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"1ebe6ba71cc3857a5c438b19302e55971fa3209b","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.77.tgz","fileCount":6,"integrity":"sha512-2IZdReg4ps89aOcmV0EKRas9E7P9+cyiuZlUtNGvWwWpYyN+oUWrIJh7X2iT4l+7tWVMwSo/gpMtBKgwOzWMAw==","signatures":[{"sig":"MEQCICOVeh7T70ewuSHeGiz6eNkcRxeqnzCIVCBZRnJb4ev+AiAaAdg+YyxTdVmemYdDrvANwTa3X6cbWPpZuaLncfwphQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101664},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.77.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/a717a232df9c91e2207801919fad4ec0/unifold-headless-react-0.1.77.tgz","_integrity":"sha512-2IZdReg4ps89aOcmV0EKRas9E7P9+cyiuZlUtNGvWwWpYyN+oUWrIJh7X2iT4l+7tWVMwSo/gpMtBKgwOzWMAw==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.77","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.77"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.77_1787353677288_0.7502703968367481","host":"s3://npm-registry-packages-npm-production"}},"0.1.78":{"name":"@unifold/headless-react","version":"0.1.78","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.78","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"bc21fa128f31b6699e8b539507c8edbba1fa586d","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.78.tgz","fileCount":6,"integrity":"sha512-F543FLiHQGIcY8jTwbJRkrdPKs4BZI8LscMnmb19PWu6D5Ijk46fqGmc4zU8inxkhv4eSyqloBMNpU7Vhm3/8w==","signatures":[{"sig":"MEUCIQDlQVglV2DxQcJkut7+P8AzBCeDfI/6+x3BLPUPDBXJbAIgGye8b0wig27AfznHwLsxuyWWfClTuLKXvHIDMgmL0zs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101664},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.78.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/298a1a0e9dff39c7faca5270ba810a54/unifold-headless-react-0.1.78.tgz","_integrity":"sha512-F543FLiHQGIcY8jTwbJRkrdPKs4BZI8LscMnmb19PWu6D5Ijk46fqGmc4zU8inxkhv4eSyqloBMNpU7Vhm3/8w==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.78","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.78"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.78_1787937933577_0.42785344172144146","host":"s3://npm-registry-packages-npm-production"}},"0.1.79":{"name":"@unifold/headless-react","version":"0.1.79","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.79","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"5af1d1fafb27eca43627bf91c9fd5325f1aba987","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.79.tgz","fileCount":6,"integrity":"sha512-aS+7UjfZnAVnKNWA6bZqG6Y6p7zhye3gRRmuOClwQATKlt9bYBS9G2cop+rChz6LnJM7pw110osLns8Z9RSISQ==","signatures":[{"sig":"MEYCIQDZZX+h79AQ3fk2j2fvcMVEuPEoC+DPx3g6wr9WGOfsdgIhAK5STMmRKf4ao5jlamUS41+Q0mRbZZ2FHjAMMiFSyO6U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101664},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.79.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/d27b8606abe74084972f1479e024053c/unifold-headless-react-0.1.79.tgz","_integrity":"sha512-aS+7UjfZnAVnKNWA6bZqG6Y6p7zhye3gRRmuOClwQATKlt9bYBS9G2cop+rChz6LnJM7pw110osLns8Z9RSISQ==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.79","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.79"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.79_1787949918165_0.055264131913429715","host":"s3://npm-registry-packages-npm-production"}},"0.1.80":{"name":"@unifold/headless-react","version":"0.1.80","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.80","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"0e249de76f2755009d258d1a95be04ad2f0a044b","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.80.tgz","fileCount":6,"integrity":"sha512-ENNrMenA99BfnPQylUx78v2T27DkK/kW1YHAi6cdlIujcHSJekY6zwNiBa/aEv4H7RJPQYkPKOsbDwyTWkd9uw==","signatures":[{"sig":"MEQCIGPTss5VZ6h1/fHWgdMVITe1smtpT/J9xpb4wFXvXkkjAiBNxXpPfvHcZL5dIvRUirnYIreFLGSpVG1nTb+5weYoBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101664},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.80.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/b6c35a714db9031ba08950a5f0a31fa4/unifold-headless-react-0.1.80.tgz","_integrity":"sha512-ENNrMenA99BfnPQylUx78v2T27DkK/kW1YHAi6cdlIujcHSJekY6zwNiBa/aEv4H7RJPQYkPKOsbDwyTWkd9uw==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.80","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.80"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.80_1788141527885_0.8886907808558056","host":"s3://npm-registry-packages-npm-production"}},"0.1.81":{"name":"@unifold/headless-react","version":"0.1.81","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.81","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"9d497fde571857f5f40c110e28d8940e97f9a440","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.81.tgz","fileCount":6,"integrity":"sha512-ZY2Frx0YIKQA8qMKyjZhWjZTC9gU994QamsGQRxyyVoaRjwlPOVc0WlwIwmW+f6yymDmrFrc6ccgnoijuV9a/Q==","signatures":[{"sig":"MEUCIQDTcjQswpfrOOatYrdVjgcFdoqILd0PN6bU6gwAx8MBRQIgPVwGr861Q7jfQbRV6g+68lddIQbTYYt5RyRm96yEWRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101664},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.81.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/2891cf33c9f0b8d133226a98f471d1f1/unifold-headless-react-0.1.81.tgz","_integrity":"sha512-ZY2Frx0YIKQA8qMKyjZhWjZTC9gU994QamsGQRxyyVoaRjwlPOVc0WlwIwmW+f6yymDmrFrc6ccgnoijuV9a/Q==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.81","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.81"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.81_1788894112675_0.7946390085184425","host":"s3://npm-registry-packages-npm-production"}},"0.1.82":{"name":"@unifold/headless-react","version":"0.1.82","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.82","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"b84912dc4d52ba6dad266521c86c4f70ec1dec9c","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.82.tgz","fileCount":6,"integrity":"sha512-nUpU0HTL1pyZ9qAIi5uXrTxK4Asouo5X2hZd7+IEqw5WEjiyNMxVImxK5j9MezEKAi0vgU0gqz/1OPui0Ti5kw==","signatures":[{"sig":"MEQCIBK3NfpgLcUhqmXDbDzrBxtdxXNUQiyZSssH4HJaF/NLAiBLpkVbXyC1RQMGYU6ba/MFIT20sSinopYQfkQUsFsqjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101664},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.82.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/536726cf9d6dc5c65cf819a77905f6b0/unifold-headless-react-0.1.82.tgz","_integrity":"sha512-nUpU0HTL1pyZ9qAIi5uXrTxK4Asouo5X2hZd7+IEqw5WEjiyNMxVImxK5j9MezEKAi0vgU0gqz/1OPui0Ti5kw==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.82","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.82"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.82_1789499005128_0.6232788126108111","host":"s3://npm-registry-packages-npm-production"}},"0.1.83":{"name":"@unifold/headless-react","version":"0.1.83","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.83","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"26969cc2c214f5cde6005d289536614b5b088d6f","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.83.tgz","fileCount":6,"integrity":"sha512-1n/wEC7XnrN922PtaXgSXpmD75AkwDcG1SqM9JsdiCxFHMSQPX5uQbaKOQu18PAdgLYg4e23ghxmpu3jZpMhMA==","signatures":[{"sig":"MEYCIQDmc9So4Eezfve72E21v82+nxsmpPd0qG6JcxHcn0dD/QIhAMKvz5YKYphL9+1qZ2alfd4bChP3iRN2/53zBXmiUvX0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCrnKNuMmcGI1Fz/xQMYUdVQ66B4Uij8Ra2YXaWYvNh1wIgMDPcTZjiIOKrOyeauImvhY1ylbZWju7c9DItBEk/V3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101664},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.83.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/9adc5d60fa7a0ccf58f1c949e748aa85/unifold-headless-react-0.1.83.tgz","_integrity":"sha512-1n/wEC7XnrN922PtaXgSXpmD75AkwDcG1SqM9JsdiCxFHMSQPX5uQbaKOQu18PAdgLYg4e23ghxmpu3jZpMhMA==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.83","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.83"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.83_1790028946441_0.021681938791178412","host":"s3://npm-registry-packages-npm-production"}},"0.1.84":{"name":"@unifold/headless-react","version":"0.1.84","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"author":{"name":"unifold.io"},"license":"Apache-2.0","_id":"@unifold/headless-react@0.1.84","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"dist":{"shasum":"74c579f64bd668c63325d6fe4172908b285e01da","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.84.tgz","fileCount":6,"integrity":"sha512-2KNhbBEXJikLMxgfuzEjgNk3Sm7iLcIVOzuKxoBugXp+3CL+R0aV3laucbPQ20/P/FDm0lAc+KyDNcvMV8tuIw==","signatures":[{"sig":"MEQCIG+og0jfko82IvXOmsF5YSJ7PF52fTodD2QFUfnYutj1AiAxxd1k8PqIu9kSBHLp2XyfQsAjv3kxih8fozy5NeQ0YA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDTXA2MBkvuRlqKjWTQT8OKDFO7GF1C+z51AfLT+BbaVwIgVMcYLynO3q4gdfpNn+d5G+8sCAGa+aCXd2a4n3E/3RM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101664},"main":"./dist/index.js","_from":"file:unifold-headless-react-0.1.84.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"_resolved":"/tmp/7e1b4b649429f12df0b1ceeff0d36dbb/unifold-headless-react-0.1.84.tgz","_integrity":"sha512-2KNhbBEXJikLMxgfuzEjgNk3Sm7iLcIVOzuKxoBugXp+3CL+R0aV3laucbPQ20/P/FDm0lAc+KyDNcvMV8tuIw==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.84","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.84"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/headless-react_0.1.84_1790046934884_0.6133762500029711","host":"s3://npm-registry-packages-npm-production"}},"0.1.85":{"_id":"@unifold/headless-react@0.1.85","dist":{"shasum":"12982d1ba9761043d96d33653af260e9c915cfd6","tarball":"https://registry.npmjs.org/@unifold/headless-react/-/headless-react-0.1.85.tgz","fileCount":6,"integrity":"sha512-nPV8NW+SnDtMY2MF/f2pH7GTLXb6tmH03GOI1UUo4pX1aVaVf2tv+bqRmTnZgZK8advPeeNXFsdYMfk9MxHiFg==","signatures":[{"sig":"MEQCIEgBqmpvUNAT7KaIav5zl9gN+OuMC846PwtGFfjI/NpHAiAzm4thHhBlO9qzmuaEntSCcI9HBWrAh7FNF9OUl5VoOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBv78FKRahNFoqucTdTc+CokJKvL7X265LB7xu5C2PWhAiBJkArBrGFKSqA1q44gBVFHUCm2obUsb/qrGcKRsnKuVg=="}],"unpackedSize":101664},"main":"./dist/index.js","name":"@unifold/headless-react","_from":"file:unifold-headless-react-0.1.85.tgz","types":"./dist/index.d.ts","author":{"name":"unifold.io"},"module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"license":"Apache-2.0","scripts":{"dev":"tsup --watch","lint":"eslint \"src/**/*.{ts,tsx}\"","build":"tsup","clean":"rm -rf dist","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint \"src/**/*.{ts,tsx}\" --fix","type-check":"tsc --noEmit","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"version":"0.1.85","_npmUser":{"name":"unifold-developer","email":"developer@unifold.io"},"keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"_resolved":"/tmp/3f08b5cbe94f6f85766bd13834eb7c75/unifold-headless-react-0.1.85.tgz","_integrity":"sha512-nPV8NW+SnDtMY2MF/f2pH7GTLXb6tmH03GOI1UUo4pX1aVaVf2tv+bqRmTnZgZK8advPeeNXFsdYMfk9MxHiFg==","_npmVersion":"10.8.2","description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","directories":{},"maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"_nodeVersion":"20.19.5","dependencies":{"@unifold/core":"0.1.85","@tanstack/react-query":"^5.90.11","@unifold/react-provider":"0.1.85"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","eslint":"^8.57.0","prettier":"^3.2.5","typescript":"^5.0.0","@types/react":"^19.0.0","eslint-plugin-react":"^7.34.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","eslint-plugin-react-hooks":"^4.6.0","@typescript-eslint/eslint-plugin":"^6.21.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/headless-react_0.1.85_1790274713385_0.11707188888032571"}}},"time":{"created":"2026-07-14T16:56:17.513Z","modified":"2026-09-24T18:31:53.725Z","0.1.70-beta.1":"2026-07-14T16:56:18.201Z","0.1.70":"2026-07-17T20:27:55.141Z","0.1.71-beta.1":"2026-07-20T03:25:08.316Z","0.1.71-beta.2":"2026-07-20T03:48:56.452Z","0.1.71":"2026-07-20T14:58:38.386Z","0.1.72":"2026-08-04T15:31:41.787Z","0.1.73":"2026-08-04T18:01:30.514Z","0.1.74":"2026-08-10T17:29:18.952Z","0.1.75":"2026-08-14T17:46:39.803Z","0.1.76":"2026-08-19T03:40:27.550Z","0.1.77":"2026-08-21T23:07:57.470Z","0.1.78":"2026-08-28T17:25:33.726Z","0.1.79":"2026-08-28T20:45:18.314Z","0.1.80":"2026-08-31T01:58:48.018Z","0.1.81":"2026-09-08T19:01:52.818Z","0.1.82":"2026-09-15T19:03:25.509Z","0.1.83":"2026-09-21T22:15:46.545Z","0.1.84":"2026-09-22T03:15:34.971Z","0.1.85":"2026-09-24T18:31:53.464Z"},"author":{"name":"unifold.io"},"license":"Apache-2.0","keywords":["unifold","headless","hooks","react","sdk","crypto","deposit","web3"],"description":"Unifold Headless React SDK - hooks-only (no UI) crypto deposit flows","maintainers":[{"name":"unifold-developer","email":"developer@unifold.io"},{"name":"tom-unifold","email":"tom@unifold.io"}],"readme":"# @unifold/headless-react\n\nHooks-only (no UI) React SDK for Unifold crypto deposits. You own 100% of the\nrendering; the SDK owns the data flow, session lifecycle, polling, and events.\n\n- **Zero UI, zero CSS** — no components, no Tailwind, no portals.\n- **Layered like Stripe.js** — the flow logic lives in a framework-agnostic\n  `DepositSession` controller in `@unifold/core`; this package is a thin React\n  binding over it.\n- **Events first** — every state transition is observable as a typed event\n  using the same webhook-style envelope (`{ id, type, created, data: { object } }`)\n  as `@unifold/connect-react`'s `onEvent`. Callbacks (`onSuccess`, …) are sugar\n  over the event stream.\n\n> Already using `@unifold/connect-react` (the modal SDK)? Don't install this\n> package — import the same hooks from `@unifold/connect-react/headless`\n> instead. Install exactly one of the two packages.\n\n## Install\n\n```bash\nnpm install @unifold/headless-react\n# or\npnpm add @unifold/headless-react\n```\n\n## Setup\n\nSame provider as the modal SDK — the two SDKs can coexist in one app, sharing\nthe provider and QueryClient:\n\n```tsx\nimport { UnifoldProvider } from '@unifold/headless-react';\n\nfunction App() {\n  return (\n    <UnifoldProvider publishableKey=\"pk_live_...\">\n      <YourApp />\n    </UnifoldProvider>\n  );\n}\n```\n\n## Quickstart — a custom deposit screen\n\n```tsx\nimport { useDeposit } from '@unifold/headless-react';\n\nfunction DepositUSDC({ externalUserId }: { externalUserId: string }) {\n  const { status, getAddress, latestExecution } = useDeposit({\n    externalUserId,\n    destination: {\n      chainType: 'ethereum',\n      chainId: '8453',\n      tokenAddress: USDC_BASE,\n      recipientAddress: userTreasuryAddress,\n    },\n    onSuccess: (execution) => toast.success(`Received $${execution.destinationAmountUsd}`),\n  });\n\n  const eth = getAddress({ chainType: 'ethereum' });\n  if (!eth) return <Spinner />;\n\n  return (\n    <div>\n      <MyQrCode value={eth.address} />\n      <CopyField value={eth.address} />\n      {status === 'processing' && <MyProgress execution={latestExecution!} />}\n    </div>\n  );\n}\n```\n\n`useDeposit` drives an explicit **lifecycle** state machine:\n\n```\nidle → creating_addresses → ready ⇄ processing\n                          ↘ error (fatal: address creation / invalid recipient)\n```\n\n`processing` is a live hint — “an execution is currently in flight” — and\ntoggles back to `ready` when everything settles. **Outcomes never\nappear on the session status**: a session is an ongoing watcher that can\nobserve many executions, so a session-level \"succeeded\"/\"failed\" would\nmislead the moment a second deposit arrives. Read outcomes from\n`executions`/`latestExecution` statuses, the `direct_execution.succeeded` /\n`.failed` events, or `waitForSuccess()`.\n\nThe headless SDK is deliberately **not IP-aware** — `useDeposit` never geo-gates\naddress creation. If you want the modal's region gate, opt in with\n`useAllowedCountry` and gate your own UI on `isAllowed`.\n\n### Manual confirmation + full event wiring\n\n```tsx\nconst deposit = useDeposit({\n  externalUserId,\n  destination,\n  confirmationMode: 'manual',\n  onEvent: (event) => analytics.track(event.type, event),\n  onExecutionUpdated: (execution) => setTimeline((t) => [...t, execution]),\n  onError: (error) => {\n    if (error.code === 'POLLING_ERROR') showBanner('Connection hiccup — still watching');\n    else showFailure(error);\n  },\n});\n\n<Button onClick={deposit.confirmFundsSent} disabled={deposit.isCheckingDeposit}>\n  I've made the transfer\n</Button>;\n```\n\n### Promise waiters\n\nFor imperative flows, the session exposes `await`-style sugar over the event\nstream (they only listen — neither starts nor stops the session):\n\n```ts\n// Generic primitive over the lifecycle state machine:\nawait session.waitForStatus('processing'); // live activity detected\nawait session.waitForStatus('ready'); // addresses ready / all settled\n\n// The 90% case — mirrors beginDeposit()'s promise contract\n// (resolve on success, reject on failure):\ntry {\n  const execution = await session.waitForSuccess();\n  creditUser(execution.destinationAmountUsd);\n} catch (error) {\n  // DepositSessionWaitError: DEPOSIT_FAILED | SESSION_ERROR | ABORTED | DESTROYED\n}\n```\n\nBoth accept `{ signal }` — an `AbortSignal` cancels the _wait_, never the\nsession (a deposit isn't cancelable: once the user sends funds, they arrive\nwhether or not anyone is awaiting). For a deadline, compose the platform\nprimitive — `waitForSuccess({ signal: AbortSignal.timeout(60_000) })` — and\ntreat it as \"outcome still unknown\", not failure: keep the session (and your\nUI) watching. From `useDeposit`, reach the waiters via the `session` escape\nhatch.\n\n**One session, many executions.** Unlike quote-scoped models (e.g. Privy's,\nwhere one address maps to one order), a Unifold session can observe multiple\nexecutions — the user may send twice, or on two different chains, to the same\nuniversal addresses. `waitForSuccess` is one-shot **first-completion**\ndetection; the session keeps polling afterwards, and every settlement fires\nits own `direct_execution.succeeded` event.\n\n**Live outcomes only.** The 60s lookback window exists to catch deposits sent\nmoments before the session started — it only admits executions still\n_in-flight_ at first sight (their settlement then fires live). An execution\nthat already settled before the session began is history and never re-fires\nsuccess/failure events, so reopening a deposit screen right after a success\ncannot double-credit. Render history with `useExecutions` instead. To credit each deposit, subscribe\nto events (dedupe on `execution.id`) or render `executions` from the hook:\n\n```ts\nsession.on(DepositSessionEventType.EXECUTION_SUCCEEDED, ({ data }) => {\n  creditUser(data.object); // fires once per settled execution\n});\n```\n\n## Buy with card — a custom fiat onramp screen\n\n`useOnramp` is the no-UI equivalent of\n`beginDeposit({ initialScreen: 'card' })`: provider quotes + a hosted\ncheckout URL + the same settlement watching as a transfer. You render the\namount input, the provider list, and the progress UI.\n\n```tsx\nimport { useOnramp, useFiatCurrencies } from '@unifold/headless-react';\n\nfunction BuyUSDC({ externalUserId }: Props) {\n  const [amount, setAmount] = useState('100');\n  const { data: fiat } = useFiatCurrencies(); // min/max limits, suggested amounts\n\n  const buy = useOnramp({\n    externalUserId,\n    // Payer country is auto-detected from IP; pass `countryCode` to override.\n    sourceAmount: amount, // live: changes refetch quotes (debounced 500ms)\n    destination: {\n      chainType: 'ethereum',\n      chainId: '8453',\n      tokenAddress: USDC_BASE,\n      recipientAddress: userTreasuryAddress,\n    },\n    onSuccess: (execution) => toast.success(`Received $${execution.destinationAmountUsd}`),\n  });\n\n  return (\n    <div>\n      <AmountInput value={amount} onChange={setAmount} />\n      {/* canSelectProvider is false under fiat-onramp smart routing (the\n          backend routes to a single provider) or when only one provider\n          quotes — hide the picker then, like the modal does. */}\n      {buy.canSelectProvider && (\n        <ProviderList\n          quotes={buy.quotes}\n          selected={buy.selectedQuote}\n          onSelect={(q) => buy.selectQuote(q.serviceProvider)}\n        />\n      )}\n      <button\n        disabled={buy.status !== 'ready' || !buy.selectedQuote}\n        onClick={() => {\n          // Synchronous URL build — safe to open inside the click handler.\n          const checkout = buy.createCheckout();\n          if (checkout) window.open(checkout.url, '_blank');\n        }}\n      >\n        Continue\n      </button>\n      {buy.status === 'awaiting_payment' && <WaitingForProvider checkout={buy.checkout!} />}\n      {buy.status === 'processing' && <MyProgress execution={buy.latestExecution!} />}\n    </div>\n  );\n}\n```\n\nThe lifecycle state machine:\n\n```\nidle → preparing → quoting → ready → awaiting_payment ⇄ processing\n              ↘ error (fatal: addresses / no onramp route / invalid recipient)\n```\n\nA full reference screen — amount modes, currency picker, provider list,\ncheckout redirect, settlement — lives in `apps/ui-demo/app/onramp/headless`\n(`/demo/onramp/headless`), and `docs/recipes/deposits/headless-card-onramp.mdx`\nwalks through building the flow step by step (amount input and prefills,\nquoting, checkout, polling, crediting, error handling).\n\nSame outcome philosophy as `useDeposit`: **outcomes never appear on the\nsession status** — read them from `executions`/`latestExecution`, the\n`direct_execution.succeeded`/`.failed` events, or `session.waitForSuccess()`.\nUnder the hood the settlement phase _is_ a `DepositSession` (method `'card'`)\ncomposed over the same deposit addresses, so detection polling, the scan\nnudge, and the lookback window behave identically across rails.\n\nWorth knowing:\n\n- **Quotes auto-refresh every 60s** until checkout (configure with\n  `quoteRefreshIntervalMs`, 0 disables); `quotesUpdatedAt` drives your own\n  countdown. `selectQuote()` is sticky across refreshes and falls back to the\n  backend's top quote if the provider stops quoting.\n- **Provider choice has three modes.** Default: the backend's top quote\n  (`quotes[0]` — the order encodes provider priority) is auto-selected. Host\n  choice: render `quotes` and call `selectQuote()`, or pass a one-shot\n  `createCheckout({ serviceProvider })` without touching the sticky\n  selection. Backend choice: projects with **fiat-onramp smart routing**\n  enabled get exactly one routed quote — `canSelectProvider` is `false` and\n  there is nothing to pick.\n- **Quote failures are non-fatal** (`error.code === 'QUOTES_FAILED'`) — quotes\n  are cleared rather than left stale, and refresh keeps trying.\n- **Payer country is auto-detected** from the user's IP when `countryCode`\n  is omitted ('US' fallback if detection fails — modal parity); the\n  effective value is exposed as `countryCode` on the result. Pass\n  `countryCode` (live) to override with your own geo signal. This is the\n  one deliberate exception to the headless SDK's not-IP-aware stance:\n  for the onramp, country is a functional input of quoting, not a policy\n  gate. Changing it live re-resolves the onramp route as well as the quotes\n  (routing is geo-dependent), so `destinationToken` and `quotes` are briefly\n  empty while that settles.\n- **Amount validation is host-side**: check `minimum_amount`/`maximum_amount`\n  from `useFiatCurrencies` before quoting; the session only requires a\n  parseable amount > 0.\n- **Two amount modes — provide exactly one.** `sourceAmount` (\"spend 100\n  USD\", fees included; `quote.destinationAmount` is what you receive) or\n  `destinationAmount` (\"receive exactly 100 USDC\", provider fees added on\n  top; `quote.sourceAmount` is the fiat the user pays). Both are live inputs;\n  swapping which one you pass switches modes in place. In destination mode\n  only providers that support fixed-destination quoting appear in `quotes` —\n  the backend filters the rest — and the destination token has to be a\n  stablecoin (`destinationToken.isStablecoin`), because the amount prices the\n  provider-side currency. For anything else, quoting stops with a non-fatal\n  `DESTINATION_AMOUNT_UNSUPPORTED` error until you switch back to\n  `sourceAmount` (the modal shows an error screen for the same case).\n- `onramp_session.created` and `direct_execution.*` events are byte-compatible\n  with the modal SDK's `onEvent`, so one handler can serve both surfaces.\n- Other rails ride the same hook via `paymentMethodType`\n  (`'card' | 'apple_pay' | 'sepa' | 'us_bank_account'`; default `'card'`).\n\n### Vanilla JS (no React)\n\nThe controllers are usable without React from `@unifold/core`:\n\n```ts\nimport { createUnifoldClient } from '@unifold/core';\n\nconst unifold = createUnifoldClient({ publishableKey: 'pk_live_...' });\nconst session = unifold.createDepositSession({ externalUserId, destination });\n\nawait session.start();\nrenderQr(session.getSnapshot().addresses);\n\nconst execution = await session.waitForSuccess();\nshowSuccess(execution);\nsession.destroy();\n```\n\nThe onramp follows the same shape:\n\n```ts\nconst card = unifold.createOnrampSession({\n  externalUserId,\n  destination,\n  quoteRequest: { sourceAmount: '100' }, // country auto-detected; override with countryCode\n});\nawait card.start(); // addresses + onramp route + first quotes\nconst checkout = card.createCheckout(); // sync — build URL from the selected quote\nopenUrl(checkout.url);\nconst execution = await card.waitForSuccess();\ncard.destroy();\n```\n\n## Hooks\n\n| Hook                        | Purpose                                                                                     |\n| --------------------------- | ------------------------------------------------------------------------------------------- |\n| `useDeposit`                | Flagship flow hook: deposit addresses + execution detection + status state machine + events |\n| `useOnramp`                 | Card onramp flow hook: quotes + provider checkout URL + settlement watching                 |\n| `useDepositAddresses`       | Addresses without a live session (cached, idempotent create)                                |\n| `useSupportedDepositTokens` | Source token/chain list for custom pickers                                                  |\n| `useFiatCurrencies`         | Fiat currencies + amount limits/suggestions for card onramp screens                         |\n| `useExecutions`             | Deposit history (tracker screens)                                                           |\n| `useAllowedCountry`         | Geo gate the modal uses; decide what to render when blocked                                 |\n| `useAddressValidation`      | Inline recipient validation (e.g. Algorand opt-in)                                          |\n| `useUnifoldClient`          | Escape hatch to the configured vanilla client                                               |\n\n## Events\n\n`resource.action` names with webhook-mirroring envelopes; `direct_execution.succeeded`\nis byte-compatible with the modal SDK's `onEvent`:\n\nEnvelope fields mirror the webhook payload, so `created` is a Unix timestamp in\n**seconds** (multiply by 1000 before handing it to `Date`).\n\n- `deposit_session.started` / `.addresses_created` / `.confirmation_started` / `.stopped` / `.errored`\n- `onramp_session.started` / `.addresses_created` / `.quotes_updated` / `.created` / `.stopped` / `.errored`\n  (`onramp_session.created` = checkout built — same name and `externalId` payload as the modal)\n- `direct_execution.detected` / `.updated` / `.succeeded` / `.failed`\n\nWhen mixing the modal and headless surfaces, dedupe on `execution.id` (envelope\n`sevt_` ids are minted per emitter), and keep one active surface per flow at a\ntime.\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}