{"_id":"@circle-fin/unified-balance-kit","_rev":"33-a7abafb4a770f42f6fb0a7007746af12","name":"@circle-fin/unified-balance-kit","dist-tags":{"latest":"1.7.0"},"versions":{"1.0.0":{"name":"@circle-fin/unified-balance-kit","version":"1.0.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.0.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"36987e0bf1bd086714854b47b4c9d84b04f3a90c","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.0.0.tgz","fileCount":9,"integrity":"sha512-nYSiq2TkkcZF2IDzFolSEhkyQALSME1zVkl4Zm4rCqRfkUAfSqDE4l3RMF9N91uqkvWhPeP9Rl31G7LlAxrTPQ==","signatures":[{"sig":"MEUCIQCAgMqjEZAweQ53puEqSuS1dxrvFZ/OIG63hR5fSB9+pQIgMDW5zVy8RVvF7pt/L71fWOnT6TucvrJSRFr4rGWOq3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1732044},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"12231c7632fd3c1223671a382bb67d2a7d21e7e9","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.0.0"},"publishConfig":{"access":"public","directory":"../../dist/kits/unified-balance-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.0.0_1776809786857_0.8477765362562826","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@circle-fin/unified-balance-kit","version":"1.0.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.0.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"04851f79a4c2a21b7898e14534475338c2459d29","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.0.1.tgz","fileCount":9,"integrity":"sha512-3kJFGk0LEedLO7tQ8vwqSPsp/eH/n2sYvc2MKxpqegXrJL1XlBKg2mIJNR8skMx+0BWNVCMIGdpxjkHdodaraQ==","signatures":[{"sig":"MEQCIBG+VDmaGVhfKAafWrHmbPcP4CTD2ltNs2UJDqiPtdZZAiBKsfucNuXE7FJ0h6sEy+6iP3tuvyrMz33m26/FpfhPHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1732455},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"d812ede0ce336bde3af64f9ec0fcbf6dcd92c7c3","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.0.1"},"publishConfig":{"access":"public","directory":"../../dist/kits/unified-balance-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.0.1_1776823026894_0.07414574900150184","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@circle-fin/unified-balance-kit","version":"1.0.2","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.0.2","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"5a65aa3e34df2834d992e417bc9d8f60062222ce","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.0.2.tgz","fileCount":9,"integrity":"sha512-S5iWki636u9KuQr0oLFACeCxFpxzCa/4jA267yqv8JZFC4fJ3GE9wTcVTexGOMYcxXZGfVh/Zn86SIQD+g1jmg==","signatures":[{"sig":"MEUCICO8Gcu5MoGIayvphYERtwdZkw8W66UqzymxkQ1sU7h3AiEAxJyuUhKVoj/Znaobd3ssVDY6sXv+jK9ZnfdDTjaEWCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1740412},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1618ab7a978fadeb57af7a87a42d535b4b6fd82f","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.0.2"},"publishConfig":{"access":"public","directory":"../../dist/kits/unified-balance-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.0.2_1777964467916_0.8967185511299312","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@circle-fin/unified-balance-kit","version":"1.1.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.1.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"jasperkim_crcl","email":"jasper.kim@circle.com"},{"name":"haommmmmm","email":"hao.min@circle.com"},{"name":"han.chen.circle","email":"han.chen@circle.com"},{"name":"bagarwal_crcl","email":"bhushit.agarwal@circle.com"},{"name":"charleszzz_circle","email":"charles.zhang@circle.com"},{"name":"yingyingzhengcrcl","email":"yingying.zheng+1@circle.com"},{"name":"ariayhu","email":"yue.hu@circle.com"},{"name":"elvin-circle","email":"elvin.du@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"62285d89e57e64983d1a585a0b97d1153708271f","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.1.0.tgz","fileCount":9,"integrity":"sha512-+SJXt3hbyo130blW6D9/PWPVQsOsD8NZ4ZAXNbueA+jjvGe/VfD+AAaAg8i8ADcxs1mUzmNdsvSHN+ljRc2dCQ==","signatures":[{"sig":"MEYCIQDe0zyFqARtywK1M8da1iu6kykTmSYBqk0YSNE85ZA99wIhAKvBEF2iqXZez0x27ntGR7yC5m0VYUdxe2Koffpp3FyP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1768036},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"4c80435b3db3e481c813002f5da48736e8763842","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.0.3"},"publishConfig":{"access":"public","directory":"../../dist/kits/unified-balance-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.1.0_1778289322534_0.7567101869138404","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@circle-fin/unified-balance-kit","version":"1.1.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.1.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"jasperkim_crcl","email":"jasper.kim@circle.com"},{"name":"haommmmmm","email":"hao.min@circle.com"},{"name":"han.chen.circle","email":"han.chen@circle.com"},{"name":"bagarwal_crcl","email":"bhushit.agarwal@circle.com"},{"name":"litao110102","email":"li.tao+2@circle.com"},{"name":"charleszzz_circle","email":"charles.zhang@circle.com"},{"name":"yingyingzhengcrcl","email":"yingying.zheng+1@circle.com"},{"name":"ariayhu","email":"yue.hu@circle.com"},{"name":"elvin-circle","email":"elvin.du@circle.com"},{"name":"mayuroza","email":"mayur.oza@circle.com"},{"name":"harshalbhangale-crcl","email":"harshal.bhangale@circle.com"},{"name":"bipul-sinha_crcl","email":"bipul.sinha@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"db40bd1150ec0eec81835a84cfaea57abeab3915","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.1.1.tgz","fileCount":9,"integrity":"sha512-+ySFsdi+xoFHEuqNmFHUmbTtcKiliVadfUAki3D3IQP6pnKEZgPSsxhyqjoUDGwwKrH6HEJSoX6py9IrJ2Ue7A==","signatures":[{"sig":"MEQCIBctpEWUPgntaYnp8y4LUn3VNbOw8eU5jv+M1I5jgFm8AiAPXeE3Ns6nMh63E7xjLdBueQ/l2oSURXhCB/25Nd9W0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1781124},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"d745ff14913dffb58d4349485768042779986043","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.7","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.0.4"},"publishConfig":{"access":"public","directory":"../../dist/kits/unified-balance-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.1.1_1778722689741_0.36525132005990035","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@circle-fin/unified-balance-kit","version":"1.1.2","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.1.2","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"c26792f084d2da21fc45ba5acbd6391b96d310be","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.1.2.tgz","fileCount":9,"integrity":"sha512-DFrGsiJrv0hpjPOnSaSyfBnVBGoJOlaM8VyWfGvYkJifBxCk/QRdeePKapnCz3reRBhWDgQSVzDfHxevbNK0gA==","signatures":[{"sig":"MEYCIQCFz9g88dpyQqNAYAS95XJ3wqfnZyruBOaqsDiMzdpsCQIhAMxOAbMp4g2I3ZQgm36PFlun8IG/WwIAHcGSWdb8zQoJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1787046},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"77d189653ad962bf6825e459fa9f2a2a9fddfa78","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.0.5"},"publishConfig":{"access":"public","directory":"../../dist/kits/unified-balance-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.1.2_1779147290409_0.4966718900878393","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@circle-fin/unified-balance-kit","version":"1.1.3","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.1.3","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"85da447841bfec68b1688af4b05da9b87186e82b","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.1.3.tgz","fileCount":9,"integrity":"sha512-sMR3fw2vmMcr3jLgFq8eJI2UprSO3/coe2i7zWedE73YRvDzyhSYqz5pnCqcGLVuefedcdzhqXJUHXeqtX0YFg==","signatures":[{"sig":"MEUCIDjYYhG5rkIAMbiAFxwjxYuqhI3YJJEQ99ZDnGxLQxsrAiEA+iuHNL3W61uUejiZwpQ3qLi65y+3b8C00T+ymwpWkj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1784275},"main":"./index.cjs","types":"./index.d.ts","module":"./index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./index.d.ts","import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"bf5ce2b0de083a0f78b4474b8fd466e80c9f9149","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"_nodeVersion":"22.22.3","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.0.6"},"publishConfig":{"access":"public","directory":"../../dist/kits/unified-balance-kit"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.1.3_1780010114138_0.12622102598461504","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@circle-fin/unified-balance-kit","version":"1.2.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.2.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"1892bdcdbee230bd7126357559ce2f11dad09a5c","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.2.0.tgz","fileCount":11,"integrity":"sha512-W/3j1BmYg/dbLnvAfZFo2st1+0Jbk8CueiovAQetYYafvpfbnCXBKXMuz0VdAqa2XlCNiH/+/Qh1e7+0j4Ta+Q==","signatures":[{"sig":"MEUCIQC8uzHyH8u8v0bTjf1cSuT1kEo8HdDpJejmMuO77hXS8gIgSUTQsgw6cAHnhTEHgxOeiWtZkfYBBMco34peDQ0I0uA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2443003},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1240b913d570266a456f694a4c404f898e3971ac","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.2.0_1782258217243_0.03731494021967663","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@circle-fin/unified-balance-kit","version":"1.2.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.2.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"51a09d137d1ed4ed60845bb71065be7cc8e547da","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.2.1.tgz","fileCount":11,"integrity":"sha512-mNnuBJOqAiBdvhb3bZLThX3rQLh7enazDnW+Fo39fwJzqTVvyrrsibadngOmbFHY3Zpx4779d0lprqQsnHUpYA==","signatures":[{"sig":"MEUCIA012/GKi79zs6Nf+jWCLyt9HqJVTr2o2JrOdl9bohWuAiEApmx/fVEWauU57vPw+U+ql/x2NeBD1vLBgITPZ3ZLlH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2445180},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1b8bfa2935cce6a2d20990f42432d3887f77139d","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","abitype":"^1.1.0","@solana/web3.js":"^1.98.4","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.2.1_1782328555158_0.7345924950004068","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@circle-fin/unified-balance-kit","version":"1.2.2","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.2.2","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"83d092370e0e518cc2f8cd141b5bdd23935fdccf","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.2.2.tgz","fileCount":11,"integrity":"sha512-imd0XGjC+6i6dMBJnk3dNVgLeQChDqrGYUdhDsxTMLdSsqCEeSI4flwAEHChPa1LNWY4Baebeo7V7JZ067CUPQ==","signatures":[{"sig":"MEUCIH2oTEkMppkXTpA6ZuJG/U2SeeinmhjhSxH8EihBim8zAiEAuO07jExysMn3jVVNIIQ1uSKADHIFTTCTHiFSR8zh0vY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2451880},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"be9a2da6f763f149630c6c13c5c1f55ff41e088a","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.2.2_1783370813314_0.6147262642440081","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@circle-fin/unified-balance-kit","version":"1.3.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.3.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"60d796dbda30606d9eb4f8b67f34834ab1396179","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.3.0.tgz","fileCount":11,"integrity":"sha512-tTfPun7oxPdpOi+/hfh+5Bm+BQbjj1QcwCuXRlREz7qHU/kQjRE/VJMEu1sGfDOun8g+DYxIWbLCIIQsDcjDCg==","signatures":[{"sig":"MEYCIQDNAU5eZzbLCSE9PfLeBMKWLBG1Ta0L1qU+t+/asuiG7QIhAPJcf/r+0B1+K8DX6HHxUE9aXfAPeg10T6u8p+0JDFe3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2540312},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"903f729eda4c4daaa041a973d74e885cd5f28d30","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.3.0_1784139162457_0.356884063897831","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@circle-fin/unified-balance-kit","version":"1.3.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.3.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"2fe54206361f5bcb7f36a41fe2225d2b7f3fde1b","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.3.1.tgz","fileCount":11,"integrity":"sha512-zlXS0ayGY+M1rWUhUA2yz24HBDNQaka3rJWGe826XPIZ+X9MExyycB4NntfNGso2bOQq54KmZ9LwRW+eZUP8rA==","signatures":[{"sig":"MEYCIQCec3bmma5RNIaCRG/eYHY19L9DmXrI0N73jCflwZtgQQIhAPq7+/XB0kobvnRlK30mRLKqRXmt6UoCiIG0PANDq+Km","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2549309},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"191745f9068376056e144e612e74cdd68747fb32","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.3.1_1785274087501_0.20267717451908407","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@circle-fin/unified-balance-kit","version":"1.4.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.4.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"8be908191102f7a944a41d212f0e67b52a983f75","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.4.0.tgz","fileCount":11,"integrity":"sha512-hg2yQ+/P3LL1Y4AwA7qlZISj4tII1W21AAUW+NhPWjGUAhKVCOP4UKZeL5+hwqdIsiarGQ5RBLSKMP8fKQ8LVQ==","signatures":[{"sig":"MEYCIQDoKssxnZ/f4f2XBerJBU/78QmkfmnZuqq8BzXwTjZPsQIhANPl8B6kd5ITbwXvwaRGk/NweO98shch8y5JfxKg2ENd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2566361},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"789a49161025a99df1950726437b252becea64bc","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.4.0_1786132759230_0.925231904959521","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@circle-fin/unified-balance-kit","version":"1.4.1","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.4.1","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"c735631e392f6bc89b9b5387a0036498f563ec84","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.4.1.tgz","fileCount":11,"integrity":"sha512-IkWZOKZSnDlAew2qTIvTq7/sHSWv23v0swVKT0AGCmoiMu5rxPWylhFa9qdnBv7S3qUn4OJ22u2ba7MoO+/wQQ==","signatures":[{"sig":"MEYCIQDV9qTgaUzEfy7hYDAOGCOpaD9mPhkgcCgUkRcc+BlpJQIhAMr9hoVkuvQr8xuXJscr3uwlRuekVLRgUCvAen70bMp7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2584651},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"bd2baaedcf8710331a7641968a8382ecd33ef242","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.4.1_1787268341789_0.6579137773081605","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@circle-fin/unified-balance-kit","version":"1.5.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.5.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"a1b9ffcc03e9f1a5bd89f20281f069f4d3bf5b18","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.5.0.tgz","fileCount":11,"integrity":"sha512-N7c2oIGaYmuc8fGXg3aeiqkex+TmMV4Tn5W7PeH+3RlRrwTDm0BRYCI8NcwCJqdy0Qc+s5XNWkHBNvjq3bGLeg==","signatures":[{"sig":"MEUCIQDrP10dW4i5ZRjukLwEAZUhf7Em8YfuuYhsfWHJXRUCwgIgA+cB1enSQS22YyD6xLncRIDwHX/8OQWP16Rek8AUm2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICd9+8LsVpd68e670yuOb4fZQ3kP2E9hwRkjyKAmDtHcAiBDb3335oAjOMN84IPAXuw4AfDMmcrkZZNQPeK+614q2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2627952},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"d9855bd5f7195ee1b91920206108a9995ff6fa80","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-gateway-v1":"1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.5.0_1787933034470_0.9387164927351188","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@circle-fin/unified-balance-kit","version":"1.6.0","keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_id":"@circle-fin/unified-balance-kit@1.6.0","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"dist":{"shasum":"fcff902590550837fe54e1056d8351bed25362bb","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.6.0.tgz","fileCount":11,"integrity":"sha512-cPjr78gqbl7x9koSi9dtVCWBUXpstBw6En/UIwSEDvnLOihd7Lcmo04w72gB5GmrhkYvVKemoD65ZmEb0e883Q==","signatures":[{"sig":"MEQCIHuFiElYMZ8uXhhLQDIhGMGe9TeUqbxqkVjdgM3H75NhAiAU77WaMMWn+YMJRgbH5lmX7VWcz8udQTumDD2sXY08mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAhZnKCEp5gWJreDM5jV4ZEw/goBnn6w+Vy1MCVrWSL+AiEA3XOrOAAVK4WmALwrst08JriWttisAFzJhSjxseLlnzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3607852},"main":"./index.cjs","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"c2a7a00c58dbca7a65867370c7626c5394e59e5b","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","uuid":"^14.0.1","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-fee-v1":"0.3.0","@circle-fin/provider-cctp-v2":"1.13.0","@circle-fin/provider-gateway-v1":"1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/unified-balance-kit_1.6.0_1788393597049_0.6941113175958995","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"_id":"@circle-fin/unified-balance-kit@1.7.0","dist":{"shasum":"2cd1f800f599f2c68b00a3b5545938fa10653c85","tarball":"https://registry.npmjs.org/@circle-fin/unified-balance-kit/-/unified-balance-kit-1.7.0.tgz","fileCount":11,"integrity":"sha512-VEp7bUhQLs2x7yc9+Ll39inxRsOXJJBDvn585ur1YcGlqo3tKoAZ+lCB6mLplTDC3xjnSxKijKBE81Rga8l4Bg==","signatures":[{"sig":"MEUCIQDSKSWDxX5PI8SqH/qF/JuUDJsDkouj/6iQi1Wi0tRO4wIgZV3QrqZ3cpS1jFrTdsyh5uLRdMULz3RoQHkG7vBCw9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDYJ+jbc42vwE0xbPfc4inZNFdRylbLOY0jCkpCdER5hAiApWsdQq6uS7dh2B2miL6vsbZBfz46Iupp+5gOFkNcR1A=="}],"unpackedSize":3698809},"main":"./index.cjs","name":"@circle-fin/unified-balance-kit","type":"module","types":"./index.d.cts","module":"./index.mjs","engines":{"node":">=20.0.0"},"exports":{".":{"types":{"import":"./index.d.mts","require":"./index.d.cts"},"import":"./index.mjs","default":"./index.cjs","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"5aa7ba5ea62678adf92458d83ef5afe1c61f4a41","version":"1.7.0","_npmUser":{"name":"circle-npm-ci","email":"devops@circle.com"},"keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"_npmVersion":"10.9.8","description":"SDK for cross-chain USDC deposits, spending, and balance queries","directories":{},"maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"zod":"3.25.67","bs58":"6.0.0","uuid":"^14.0.1","bn.js":"^5.2.3","abitype":"^1.1.0","@noble/curves":"1.4.2","@solana/web3.js":"^1.98.4","@coral-xyz/anchor":"^0.31.1","@ethersproject/abi":"^5.8.0","@ethersproject/bytes":"^5.8.0","@ethersproject/units":"^5.8.0","@ethersproject/address":"^5.8.0","@circle-fin/provider-fee-v1":"0.3.1","@circle-fin/provider-cctp-v2":"1.14.0","@circle-fin/provider-gateway-v1":"1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unified-balance-kit_1.7.0_1789519169110_0.5223747009784951"}}},"time":{"created":"2026-04-21T22:16:26.767Z","modified":"2026-09-16T00:39:29.395Z","1.0.0":"2026-04-21T22:16:27.095Z","1.0.1":"2026-04-22T01:57:07.113Z","1.0.2":"2026-05-05T07:01:08.145Z","1.1.0":"2026-05-09T01:15:22.761Z","1.1.1":"2026-05-14T01:38:10.018Z","1.1.2":"2026-05-18T23:34:50.655Z","1.1.3":"2026-05-28T23:15:14.324Z","1.2.0":"2026-06-23T23:43:37.402Z","1.2.1":"2026-06-24T19:15:55.331Z","1.2.2":"2026-07-06T20:46:53.553Z","1.3.0":"2026-07-15T18:12:42.630Z","1.3.1":"2026-07-28T21:28:07.694Z","1.4.0":"2026-08-07T19:59:19.475Z","1.4.1":"2026-08-20T23:25:42.012Z","1.5.0":"2026-08-28T16:03:54.648Z","1.6.0":"2026-09-02T23:59:57.190Z","1.7.0":"2026-09-16T00:39:29.227Z"},"keywords":["circle","circle-fin","usdc","stablecoin","sdk","typescript","gateway","balance","multi-chain","cross-chain","unified-balance-kit","app-kit","evm","non-evm","solana","usdc-sdk"],"description":"SDK for cross-chain USDC deposits, spending, and balance queries","maintainers":[{"name":"tomleicircle","email":"mengda.lei@circle.com"},{"name":"igaskin-circle","email":"isaac.gaskin@circle.com"},{"name":"circle-npm-ci","email":"devops@circle.com"}],"readme":"# Unified Balance Kit\n\n<div align=\"center\">\n\n[![npm version](https://badge.fury.io/js/@circle-fin%2Funified-balance-kit.svg)](https://badge.fury.io/js/@circle-fin%2Funified-balance-kit)\n[![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue.svg)](https://www.typescriptlang.org/)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Discord](https://img.shields.io/discord/473781666251538452?label=Discord&logo=discord)](https://discord.com/invite/buildoncircle)\n\n**A strongly-typed SDK for cross-chain USDC deposits, spending, and balance queries**\n\n_Move USDC across chains with simple method calls—no manual bridging, no liquidity pre-positioning, no on-chain delays for normal spend flows_\n\n</div>\n\n## Table of Contents\n\n- [Unified Balance Kit](#unified-balance-kit)\n  - [Table of Contents](#table-of-contents)\n  - [Overview](#overview)\n    - [Why Unified Balance Kit?](#why-unified-balance-kit)\n  - [Architecture Flow](#architecture-flow)\n  - [Installation](#installation)\n    - [Adapters](#adapters)\n  - [Quick Start](#quick-start)\n    - [🚀 Easiest Setup: Deposit and Spend](#-easiest-setup-deposit-and-spend)\n    - [🎯 Send to Different Address](#-send-to-different-address)\n    - [📊 Query Balances](#-query-balances)\n    - [💰 Cost Estimation](#-cost-estimation)\n  - [Configuration](#configuration)\n    - [Kit Context](#kit-context)\n    - [Spend Parameters](#spend-parameters)\n    - [Balance Parameters](#balance-parameters)\n  - [Custom Fees](#custom-fees)\n  - [Error Handling](#error-handling)\n  - [Retrying Failed Mints](#retrying-failed-mints)\n  - [API Reference](#api-reference)\n    - [Core Methods](#core-methods)\n    - [Functional vs Class API](#functional-vs-class-api)\n  - [Development](#development)\n    - [Building](#building)\n    - [Testing](#testing)\n    - [Local Development](#local-development)\n  - [Community & Support](#community--support)\n  - [License](#license)\n\n## Overview\n\nThe Stablecoin Kit ecosystem is Circle's open-source effort to streamline stablecoin development with SDKs that are easy to use correctly and hard to misuse. Kits are cross-framework (viem, ethers, @solana/web3) and integrate cleanly into any stack. They're opinionated with sensible defaults, but offer escape hatches for full control. A pluggable architecture makes implementation flexible, and all kits are interoperable, so they can be composed to suit a wide range of use cases.\n\nThe Unified Balance Kit provides a high-level abstraction for cross-chain USDC operations via Circle's Gateway protocol. Deposit, spend (mint), and query balances across multiple chains with simple method calls—no manual bridging steps, no liquidity pre-positioning, and no on-chain delays for normal spend flows.\n\nUse `spend` for normal movement out of a Unified Balance. `removeFund` is a trustless recovery path for situations where the normal spend flow is unavailable, and it requires a 7-day withdrawal delay before funds can be removed.\n\n### Why Unified Balance Kit?\n\n- **🌐 Unified balance model**: Single abstraction for deposits, spends, and balance queries across chains\n- **⚡ Instant cross-chain moves**: Pull from multiple source chains and mint on destination in one flow\n- **🔧 Bring your own adapters**: Use viem, ethers, or @solana/web3.js adapters\n- **🔒 Production-ready**: Leverages Circle's Gateway v1 with attestations and deterministic flows\n- **🚀 Developer experience**: Complete TypeScript support, comprehensive validation, and structured errors\n- **📦 Multi-source spends**: Allocate amounts from multiple chains in a single spend operation\n- **🛡️ Robust error handling**: Structured KitError with recoverability and retry support\n- **📡 Event monitoring**: Track lifecycle events for deposits, spends, and balance operations\n\n## Architecture Flow\n\nThe Unified Balance Kit follows a three-layer architecture designed for flexibility and type safety:\n\n```text\n┌─────────────────────┐    ┌──────────────────┐    ┌─────────────────┐\n│  Unified Balance    │────│     Provider     │────│   Adapter       │\n│  Kit (Orchestrator) │    │  (Gateway v1)    │    │ (Blockchain)    │\n└─────────────────────┘    └──────────────────┘    └─────────────────┘\n```\n\n1. **Adapter**: Handles blockchain-specific operations (wallets, transactions, gas) and enables you to use whatever framework you're comfortable with (viem, ethers, @solana/web3.js)\n2. **Provider**: Implements the Gateway protocol (currently Gateway v1)\n3. **Unified Balance Kit**: Orchestrates adapters and providers with validation and routing\n\nThis separation ensures that each component has a single responsibility while maintaining seamless integration across the entire cross-chain lifecycle.\n\n## Installation\n\n```bash\nnpm install @circle-fin/unified-balance-kit\n# or\nyarn add @circle-fin/unified-balance-kit\n```\n\n### Adapters\n\nChoose the appropriate adapter for your target chains:\n\n```bash\n# For EVM chains (Ethereum, Base, Arbitrum, etc.)\nnpm install @circle-fin/adapter-viem-v2 viem\n# or\nyarn add @circle-fin/adapter-viem-v2 viem\n\n# For EVM chains using Ethers.js\nnpm install @circle-fin/adapter-ethers-v6\n# or\nyarn add @circle-fin/adapter-ethers-v6\n\n# For Solana\nnpm install @circle-fin/adapter-solana @solana/web3.js\n# or\nyarn add @circle-fin/adapter-solana @solana/web3.js\n```\n\n## Quick Start\n\n### 🚀 Easiest Setup: Deposit and Spend\n\n**Best for**: Getting started quickly, simple deposits and cross-chain spends\n\n```typescript\nimport {\n  createUnifiedBalanceKitContext,\n  deposit,\n  spend,\n} from '@circle-fin/unified-balance-kit'\nimport { createViemAdapterFromPrivateKey } from '@circle-fin/adapter-viem-v2'\n\n// Create context with default Gateway v1 provider\nconst context = createUnifiedBalanceKitContext()\n\n// Create adapter that works across chains\nconst adapter = createViemAdapterFromPrivateKey({\n  privateKey: process.env.PRIVATE_KEY as `0x${string}`,\n})\n\n// Deposit USDC on Ethereum\nawait deposit(context, {\n  from: { adapter, chain: 'Ethereum' },\n  amount: '100',\n})\n\n// Spend (mint) USDC on Base by pulling from Ethereum\nconst result = await spend(context, {\n  amount: '50',\n  from: {\n    adapter,\n    allocations: { amount: '50', chain: 'Ethereum' },\n  },\n  to: { adapter, chain: 'Base' },\n})\n\nconsole.log('Spend tx:', result.txHash, result.explorerUrl)\n```\n\n### 🎯 Send to Different Address\n\n**Best for**: Sending funds to someone else's wallet, custodial services\n\nUse `recipientAddress` when the recipient is different from your adapter's address:\n\n```typescript\nconst result = await spend(context, {\n  amount: '50',\n  from: {\n    adapter,\n    allocations: { amount: '50', chain: 'Ethereum' },\n  },\n  to: {\n    adapter,\n    chain: 'Base',\n    recipientAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',\n  },\n})\n```\n\n### 📊 Query Balances\n\n**Best for**: Displaying aggregated or per-chain USDC balances\n\n```typescript\nimport {\n  createUnifiedBalanceKitContext,\n  getBalances,\n} from '@circle-fin/unified-balance-kit'\n\nconst context = createUnifiedBalanceKitContext()\nconst adapter = createViemAdapterFromPrivateKey({\n  privateKey: process.env.PRIVATE_KEY as `0x${string}`,\n})\n\n// Get confirmed balances across all supported chains\nconst balances = await getBalances(context, {\n  sources: { adapter },\n})\n\nconsole.log('Confirmed:', balances.totalConfirmedBalance)\n\n// Include pending deposits in the result\nconst withPending = await getBalances(context, {\n  sources: { adapter },\n  includePending: true,\n})\n\nconsole.log('Confirmed:', withPending.totalConfirmedBalance)\nconsole.log('Pending:', withPending.totalPendingBalance)\n```\n\n### 💰 Cost Estimation\n\n**Best for**: Showing users fees upfront before spending\n\n```typescript\nimport {\n  createUnifiedBalanceKitContext,\n  estimateSpend,\n} from '@circle-fin/unified-balance-kit'\n\nconst context = createUnifiedBalanceKitContext()\n\nconst estimate = await estimateSpend(context, {\n  amount: '100',\n  from: {\n    adapter,\n    allocations: { amount: '100', chain: 'Ethereum' },\n  },\n  to: { adapter, chain: 'Base' },\n})\n\nconsole.log('Estimated fees:', estimate.fees)\n```\n\n## Configuration\n\n### Kit Context\n\nThe kit uses a context object that holds providers. Create it with `createUnifiedBalanceKitContext`:\n\n```typescript\n// Default: Gateway v1 provider\nconst context = createUnifiedBalanceKitContext()\n\n// Or with additional providers\nconst customContext = createUnifiedBalanceKitContext({\n  providers: [myCustomProvider],\n})\n```\n\n### Spend Parameters\n\n```typescript\n// Single source allocation\nconst spendParams = {\n  amount: '100',\n  from: {\n    adapter,\n    allocations: { amount: '100', chain: 'Ethereum' },\n  },\n  to: { adapter, chain: 'Base' },\n}\n\n// Multi-source allocation (pull from multiple chains)\nconst multiSourceSpend = {\n  amount: '100',\n  from: {\n    adapter,\n    allocations: [\n      { amount: '50', chain: 'Ethereum' },\n      { amount: '50', chain: 'Base' },\n    ],\n  },\n  to: { adapter, chain: 'Avalanche' },\n}\n```\n\n### Balance Parameters\n\n```typescript\n// By adapter (wallet-controlled)\nconst balances = await getBalances(context, {\n  sources: { adapter },\n})\n\n// By address (read-only, no adapter needed)\nconst balancesByAddress = await getBalances(context, {\n  sources: { address: '0x...', chains: ['Ethereum', 'Base'] },\n})\n```\n\n## Custom Fees\n\nThe kit supports custom fees on spend operations. Fees are added on top of the transfer amount. Use the class API with `setCustomFeePolicy` for dynamic fee calculation, or pass `config.customFee` per spend:\n\n```typescript\nimport { UnifiedBalanceKit } from '@circle-fin/unified-balance-kit'\n\nconst kit = new UnifiedBalanceKit()\n\n// Kit-level policy (class API)\nkit.setCustomFeePolicy({\n  computeFee: (params) => {\n    const total = parseFloat(params.amount)\n    return (total * 0.01).toFixed(6) // 1%\n  },\n  resolveFeeRecipientAddress: (destinationChain) => {\n    return destinationChain.type === 'solana'\n      ? 'SolanaAddressBase58...'\n      : '0xEvmAddress...'\n  },\n})\n\n// Or per-spend override (works with both APIs)\nawait spend(context, {\n  amount: '100',\n  from: { adapter, allocations: { amount: '100', chain: 'Ethereum' } },\n  to: { adapter, chain: 'Base' },\n  config: {\n    customFee: {\n      value: '1.0',\n      recipientAddress: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',\n    },\n  },\n})\n```\n\n### Fee recipients across chain types\n\n`spend()` can pull funds from multiple source chains (e.g. combining an EVM\nand a Solana source), but every fee payout in a spend mints to the **same\nsingle destination chain** — the one you pass as `to`. So `destinationChain`\nabove is always the spend's destination, never a source chain, and exactly\none recipient address (valid on that destination) is resolved per spend.\n\nIf you spend to different destination chain types across calls (some spends\nto an EVM chain, others to Solana), configure `setFeeRecipients` once with an\naddress for each chain type instead of writing chain-branching logic\nyourself. **`setFeeRecipients` only affects which recipient address is used\n— you still need `setCustomFeePolicy`'s `computeFee` to determine the fee\namount.** Calling `setFeeRecipients` without ever calling\n`setCustomFeePolicy` throws at spend time (there is no `computeFee` to\ndetermine an amount):\n\n```typescript\nkit.setCustomFeePolicy({\n  computeFee: (params) => (parseFloat(params.amount) * 0.01).toFixed(6), // 1%\n})\nkit.setFeeRecipients({\n  evm: '0xEvmAddress...',\n  solana: 'SolanaAddressBase58...',\n})\n```\n\nAt spend time the kit maps the resolved destination chain to its chain type\n(`'evm'` or `'solana'` today) and looks up the matching entry.\n`setFeeRecipients` takes priority over `resolveFeeRecipientAddress` for any\nchain type it has an entry for — the callback is never invoked for that\ntype. If the map is missing an entry for the resolved destination's chain\ntype and a `resolveFeeRecipientAddress` callback is also configured, the\nkit falls back to that callback for the missing type (a warning is logged\nso the fallback isn't a silent surprise). The spend throws before any fee\ncollection is attempted only if neither the map nor the callback can\nresolve an address for the destination's chain type. Existing integrations\nusing only `resolveFeeRecipientAddress` or a single-string `recipientAddress`\ncontinue to work unchanged.\n\n## Error Handling\n\nThe kit uses structured `KitError` instances with consistent properties:\n\n- **code**: Numeric error code (e.g., 1001, 5001)\n- **name**: Human-readable ID (e.g., `INPUT_VALIDATION_FAILED`, `ONCHAIN_TRANSACTION_REVERTED`)\n- **type**: Error category (`INPUT`, `BALANCE`, `ONCHAIN`, `RPC`, `NETWORK`)\n- **recoverability**: `FATAL`, `RETRYABLE`, or `RESUMABLE`\n- **message**: User-friendly explanation\n- **cause.trace**: Additional context for debugging\n\n```typescript\nimport {\n  createUnifiedBalanceKitContext,\n  spend,\n  KitError,\n  isKitError,\n  getErrorCode,\n} from '@circle-fin/unified-balance-kit'\n\nconst context = createUnifiedBalanceKitContext()\n\ntry {\n  await spend(context, params)\n} catch (error) {\n  if (isKitError(error)) {\n    console.error(`Error ${error.code}: ${error.name}`, error.message)\n    if (error.recoverability === 'RESUMABLE' && error.cause?.trace) {\n      // Handle retry (see Retrying Failed Mints)\n    }\n  }\n  throw error\n}\n```\n\n## Retrying Failed Mints\n\nWhen the on-chain mint step fails after the transfer was committed (funds locked), the kit throws a `KitError` with `recoverability: 'RESUMABLE'` and `attestation`/`signature` in `cause.trace`. Use `config.retry` to reattempt:\n\n```typescript\ntry {\n  const result = await spend(context, params)\n  console.log('Success:', result.txHash)\n} catch (error) {\n  if (\n    error instanceof KitError &&\n    error.recoverability === 'RESUMABLE' &&\n    error.cause?.trace\n  ) {\n    const { attestation, signature } = error.cause.trace as {\n      attestation: string\n      signature: string\n    }\n    // Retry with the attestation\n    const result = await spend(context, {\n      ...params,\n      config: { retry: { attestation, signature } },\n    })\n    console.log('Retry success:', result.txHash)\n  } else {\n    throw error\n  }\n}\n```\n\n## API Reference\n\n### Core Methods\n\n| Method                                          | Description                                                        |\n| ----------------------------------------------- | ------------------------------------------------------------------ |\n| `deposit(context, params)`                      | Deposit USDC into the caller's account on a chain                  |\n| `depositFor(context, params)`                   | Deposit USDC into another account                                  |\n| `spend(context, params)`                        | Spend (mint) USDC on a destination chain by pulling from source(s) |\n| `estimateSpend(context, params)`                | Get fee estimate before spending                                   |\n| `getBalances(context, params)`                  | Query aggregated and per-chain balances                            |\n| `getSupportedChains(context, token?, options?)` | Get chains supported by configured providers                       |\n| `addDelegate(context, params)`                  | Add a delegate for the account                                     |\n| `removeDelegate(context, params)`               | Remove a delegate                                                  |\n| `getDelegateStatus(context, params)`            | Check delegate status: `'none'`, `'pending'`, or `'ready'`         |\n| `initiateRemoveFund(context, params)`           | Start recovery-only fund removal and the 7-day delay               |\n| `removeFund(context, params)`                   | Complete recovery-only fund removal after the 7-day delay          |\n\nUse `spend` for normal movement out of a Unified Balance. Use `removeFund`\nonly as a trustless recovery path when the normal spend flow is unavailable.\n\n#### Delegate status and finality\n\nAfter calling `addDelegate`, the delegate may not be immediately usable for `spend` on\nchains with slow finality (e.g. Ethereum, Base, Arbitrum). `getDelegateStatus` returns\na tri-state that reflects Gateway's finality view:\n\n```typescript\nconst status = await kit.getDelegateStatus({ from, delegateAddress })\nif (status === 'ready') { await kit.spend(...) }\nif (status === 'pending') { /* poll until 'ready' */ }\n```\n\n- `'none'` — not a delegate on-chain\n- `'pending'` — delegate set on-chain but Gateway hasn't finalized it yet; spend will fail\n- `'ready'` — finalized at Gateway; spend will succeed\n\n### Functional vs Class API\n\n**Functional API** (recommended):\n\n```typescript\nimport {\n  createUnifiedBalanceKitContext,\n  deposit,\n  spend,\n  getBalances,\n} from '@circle-fin/unified-balance-kit'\n\nconst context = createUnifiedBalanceKitContext()\nawait deposit(context, { from: { adapter, chain: 'Ethereum' }, amount: '100' })\nconst result = await spend(context, {\n  amount: '50',\n  from: { adapter, allocations: { amount: '50', chain: 'Ethereum' } },\n  to: { adapter, chain: 'Base' },\n})\nconst balances = await getBalances(context, { sources: { adapter } })\n```\n\n**Class API**:\n\n```typescript\nimport { UnifiedBalanceKit } from '@circle-fin/unified-balance-kit'\n\nconst kit = new UnifiedBalanceKit()\n\nkit.on('gateway.deposit.succeeded', (payload) => {\n  console.log('Deposit succeeded:', payload.data)\n})\n\nkit.on('gateway.spend.succeeded', (payload) => {\n  console.log('Spend succeeded:', payload.data.txHash)\n})\n\nawait kit.deposit({ from: { adapter, chain: 'Ethereum' }, amount: '100' })\nconst result = await kit.spend({\n  amount: '50',\n  from: { adapter, allocations: { amount: '50', chain: 'Ethereum' } },\n  to: { adapter, chain: 'Base' },\n})\n```\n\n## Development\n\n### Building\n\n```bash\n# From the root of the monorepo\nnx build @circle-fin/unified-balance-kit\n```\n\n### Testing\n\n```bash\n# From the root of the monorepo\nnx test @circle-fin/unified-balance-kit\n```\n\n### Local Development\n\n```bash\n# Install dependencies\nyarn install\n\n# Build all packages\nyarn build\n\n# Build the unified-balance-kit specifically\nnx build @circle-fin/unified-balance-kit\n\n# Run tests\nnx test @circle-fin/unified-balance-kit\n```\n\n## Community & Support\n\n- **💬 Discord**: [Join our community](https://discord.com/invite/buildoncircle)\n\n## License\n\nThis project is licensed under the Apache 2.0 License. Contact [support](https://help.circle.com/s/submit-ticket) for details.\n\n---\n\n<div align=\"center\">\n\n**Ready to build cross-chain USDC apps?**\n\n[Join Discord](https://discord.com/invite/buildoncircle)\n\n_Built with ❤️ by Circle_\n\n</div>\n","readmeFilename":"README.md"}