{"_id":"@chainberry/expo-wallet-sdk","_rev":"6-c70449e7d34ca27421c8da80731f7113","name":"@chainberry/expo-wallet-sdk","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@chainberry/expo-wallet-sdk","version":"1.0.0","keywords":["blockchain","wallet","expo","react-native","self-custody","ethereum","bitcoin","solana","tron","ton","xrp","litecoin"],"license":"MIT","_id":"@chainberry/expo-wallet-sdk@1.0.0","maintainers":[{"name":"chainberry","email":"pd@chainberry.com"}],"dist":{"shasum":"e3cbcc796ff794ec20ee97575457bbf69c290365","tarball":"https://registry.npmjs.org/@chainberry/expo-wallet-sdk/-/expo-wallet-sdk-1.0.0.tgz","fileCount":39,"integrity":"sha512-jSMc/SawYCnVXQeBaeg9wn/XYlbe4MSdOv2pqF/QOQQtyXVS+D2kciFp1Cju+C4rx95ngqNCo1VWcHOPq3rVSQ==","signatures":[{"sig":"MEUCIDai9cnisbub4cmTfzXRaLrOKCL2w+j7bF0kyEc9PgWpAiEA4fPioAK6ZsWYGNSqeeoMK5KdXehCxuZotpA39BhCdoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":315049},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"a5446f04ddfd22cfdc1a32d86567ddffa11293fc","_npmUser":{"name":"chainberry","email":"pd@chainberry.com"},"_npmVersion":"11.6.2","description":"React Native / Expo wallet SDK — multi-chain wallet lifecycle, signing, sending, balances and validation, backed by @chainberry/trust-wallet-core's native self-custody module and the berry-stream broadcast/read API","directories":{},"_nodeVersion":"25.0.0","dependencies":{"tslib":"2.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~56.0.6","react":"19.2.3","buffer":"^6.0.3","typescript":"~6.0.3","@types/react":"~19.2.2","react-native":"0.85.3","expo-file-system":"~56.0.7","expo-modules-core":"~56.0.13","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":"^2.5.1"},"peerDependencies":{"expo":">=54.0.0","xrpl":"^5.0.0","react":">=19.0.0","buffer":"^6.0.3","ethers":"^6.13.5","tronweb":"^6.1.1","@ton/core":"^0.62.0","react-native":">=0.79.0","bitcoinjs-lib":"^7.0.1","@solana/web3.js":"^1.98.4","expo-file-system":">=54.0.0","expo-modules-core":"*","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":">=2.5.1"},"peerDependenciesMeta":{"expo":{"optional":false},"xrpl":{"optional":false},"react":{"optional":false},"buffer":{"optional":false},"ethers":{"optional":false},"tronweb":{"optional":false},"@ton/core":{"optional":false},"react-native":{"optional":false},"bitcoinjs-lib":{"optional":false},"@solana/web3.js":{"optional":false},"expo-file-system":{"optional":false},"expo-modules-core":{"optional":false},"react-native-quick-crypto":{"optional":false},"@chainberry/trust-wallet-core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/expo-wallet-sdk_1.0.0_1789037920446_0.8121146251929672","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@chainberry/expo-wallet-sdk","version":"1.0.2","keywords":["blockchain","wallet","expo","react-native","self-custody","ethereum","bitcoin","solana","tron","ton","xrp","litecoin"],"license":"MIT","_id":"@chainberry/expo-wallet-sdk@1.0.2","maintainers":[{"name":"chainberry","email":"pd@chainberry.com"}],"dist":{"shasum":"ced55a065080484b4acf65349fd44899fbd2455f","tarball":"https://registry.npmjs.org/@chainberry/expo-wallet-sdk/-/expo-wallet-sdk-1.0.2.tgz","fileCount":29,"integrity":"sha512-obrgkiuLcIIX0/s/+f7rmFtEMuRhZOHV1mziWeDaaIOvXAOYsRWEyagt3w6Lvsz9eSyzLecwkyN18hQRQPKWDg==","signatures":[{"sig":"MEUCIC3sJMXp2y9YdX2SA0Nfh7FjvMNqcT0Tyqb86Mkl5vbFAiEAx0+js67BW5YAf+S2qrjP/IfyPbAlNtTclXXpxW9LG64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81140},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"f05e4cb61fda10946b544e01cbdbad1fa82c1efb","scripts":{"build":"tsc -p tsconfig.lib.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"chainberry","email":"pd@chainberry.com"},"_npmVersion":"11.6.2","description":"React Native / Expo wallet SDK — multi-chain wallet lifecycle, signing, sending, balances and validation, backed by @chainberry/trust-wallet-core's native self-custody module and the berry-stream broadcast/read API","directories":{},"_nodeVersion":"25.0.0","dependencies":{"tslib":"2.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~56.0.6","react":"19.2.3","buffer":"^6.0.3","typescript":"~6.0.3","@types/react":"~19.2.2","react-native":"0.85.3","expo-file-system":"~56.0.7","expo-modules-core":"~56.0.13","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":"^2.5.1"},"peerDependencies":{"expo":">=54.0.0","xrpl":"^5.0.0","react":">=19.0.0","buffer":"^6.0.3","ethers":"^6.13.5","tronweb":"^6.1.1","@ton/core":"^0.62.0","react-native":">=0.79.0","bitcoinjs-lib":"^7.0.1","@solana/web3.js":"^1.98.4","expo-file-system":">=54.0.0","expo-modules-core":"*","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":">=2.5.1"},"peerDependenciesMeta":{"expo":{"optional":false},"xrpl":{"optional":false},"react":{"optional":false},"buffer":{"optional":false},"ethers":{"optional":false},"tronweb":{"optional":false},"@ton/core":{"optional":false},"react-native":{"optional":false},"bitcoinjs-lib":{"optional":false},"@solana/web3.js":{"optional":false},"expo-file-system":{"optional":false},"expo-modules-core":{"optional":false},"react-native-quick-crypto":{"optional":false},"@chainberry/trust-wallet-core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/expo-wallet-sdk_1.0.2_1789040710223_0.6434263230678698","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@chainberry/expo-wallet-sdk","version":"1.0.3","keywords":["blockchain","wallet","expo","react-native","self-custody","ethereum","bitcoin","solana","tron","ton","xrp","litecoin"],"license":"MIT","_id":"@chainberry/expo-wallet-sdk@1.0.3","maintainers":[{"name":"chainberry","email":"pd@chainberry.com"}],"dist":{"shasum":"4f9f00dc96e2019556e95ca62f5c425b66fef397","tarball":"https://registry.npmjs.org/@chainberry/expo-wallet-sdk/-/expo-wallet-sdk-1.0.3.tgz","fileCount":29,"integrity":"sha512-AHAwrrYFsp2PtOl1HxXIbOf7OGHZQgYEQYFhqn8mPVbeCVaF8s2sNnu4FYc6igVMQf4v7yzcJ05A6PGLDJyLWA==","signatures":[{"sig":"MEUCIQCX5o4U9rpwZJa7ApQXQhYOWEu2DDRrAZy6tnmoGES/JwIgYaGbbfS4APwM5DIsK6Gks97Uzo0L8hyifZS3b4/lrBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83973},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"bf6bd5baf7d36150c7f584e16e12fa8727163608","scripts":{"build":"tsc -p tsconfig.lib.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"chainberry","email":"pd@chainberry.com"},"_npmVersion":"11.6.2","description":"React Native / Expo wallet SDK — multi-chain wallet lifecycle, signing, sending, balances and validation, backed by @chainberry/trust-wallet-core's native self-custody module and the berry-stream broadcast/read API","directories":{},"_nodeVersion":"25.0.0","dependencies":{"tslib":"2.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~56.0.6","react":"19.2.3","buffer":"^6.0.3","typescript":"~6.0.3","@types/react":"~19.2.2","react-native":"0.85.3","expo-file-system":"~56.0.7","expo-modules-core":"~56.0.13","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":"^2.5.2"},"peerDependencies":{"expo":">=54.0.0","xrpl":"^5.0.0","react":">=19.0.0","buffer":"^6.0.3","ethers":"^6.13.5","tronweb":"^6.1.1","@ton/core":"^0.62.0","react-native":">=0.79.0","bitcoinjs-lib":"^7.0.1","@solana/web3.js":"^1.98.4","expo-file-system":">=54.0.0","expo-modules-core":"*","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":">=2.5.2"},"peerDependenciesMeta":{"expo":{"optional":false},"xrpl":{"optional":false},"react":{"optional":false},"buffer":{"optional":false},"ethers":{"optional":false},"tronweb":{"optional":false},"@ton/core":{"optional":false},"react-native":{"optional":false},"bitcoinjs-lib":{"optional":false},"@solana/web3.js":{"optional":false},"expo-file-system":{"optional":false},"expo-modules-core":{"optional":false},"react-native-quick-crypto":{"optional":false},"@chainberry/trust-wallet-core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/expo-wallet-sdk_1.0.3_1789312412176_0.9446030422305887","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@chainberry/expo-wallet-sdk","version":"1.0.4","keywords":["blockchain","wallet","expo","react-native","self-custody","ethereum","bitcoin","solana","tron","ton","xrp","litecoin"],"license":"MIT","_id":"@chainberry/expo-wallet-sdk@1.0.4","maintainers":[{"name":"chainberry","email":"pd@chainberry.com"}],"dist":{"shasum":"c8741574cb0ef3b3a8d2f93c014860e01e206970","tarball":"https://registry.npmjs.org/@chainberry/expo-wallet-sdk/-/expo-wallet-sdk-1.0.4.tgz","fileCount":29,"integrity":"sha512-a9ZITl4xAh7akrX/+MhYDaIePVqz7gcaOoAE5mhiQ8S263WGbUh0QhKJ7BV6IXNQAjr9+TKItZtuP00XZT8iMQ==","signatures":[{"sig":"MEUCIQC0VyGWEgcV7Z6hREpYnXGHIOHB2OINAaDj07s5fyLB4gIgbOF4H91NuK3uxGtRRWJajMrmuwsxkm85mEWR3SlvT6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84284},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"20b6fc8ad38987ee1884dd0bc9e1669e0117acae","scripts":{"build":"tsc -p tsconfig.lib.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"chainberry","email":"pd@chainberry.com"},"_npmVersion":"11.6.2","description":"React Native / Expo wallet SDK — multi-chain wallet lifecycle, signing, sending, balances and validation, backed by @chainberry/trust-wallet-core's native self-custody module and the berry-stream broadcast/read API","directories":{},"_nodeVersion":"25.0.0","dependencies":{"tslib":"2.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~56.0.6","react":"19.2.3","buffer":"^6.0.3","typescript":"~6.0.3","@types/react":"~19.2.2","react-native":"0.85.3","expo-file-system":"~56.0.7","expo-modules-core":"~56.0.13","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":"^2.5.2"},"peerDependencies":{"expo":">=54.0.0","xrpl":"^5.0.0","react":">=19.0.0","buffer":"^6.0.3","ethers":"^6.13.5","tronweb":"^6.1.1","@ton/core":"^0.62.0","react-native":">=0.79.0","bitcoinjs-lib":"^7.0.1","@solana/web3.js":"^1.98.4","expo-file-system":">=54.0.0","expo-modules-core":"*","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":">=2.5.2"},"peerDependenciesMeta":{"expo":{"optional":false},"xrpl":{"optional":false},"react":{"optional":false},"buffer":{"optional":false},"ethers":{"optional":false},"tronweb":{"optional":false},"@ton/core":{"optional":false},"react-native":{"optional":false},"bitcoinjs-lib":{"optional":false},"@solana/web3.js":{"optional":false},"expo-file-system":{"optional":false},"expo-modules-core":{"optional":false},"react-native-quick-crypto":{"optional":false},"@chainberry/trust-wallet-core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/expo-wallet-sdk_1.0.4_1789317225632_0.33868987924084326","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@chainberry/expo-wallet-sdk","version":"1.1.0","keywords":["blockchain","wallet","expo","react-native","self-custody","ethereum","bitcoin","solana","tron","ton","xrp","litecoin"],"license":"MIT","_id":"@chainberry/expo-wallet-sdk@1.1.0","maintainers":[{"name":"chainberry","email":"pd@chainberry.com"}],"dist":{"shasum":"697d715200bf44455ad2ff9d793fe677f51accf7","tarball":"https://registry.npmjs.org/@chainberry/expo-wallet-sdk/-/expo-wallet-sdk-1.1.0.tgz","fileCount":29,"integrity":"sha512-rvgJenKCpBdWNO73QKZolMUY8adqgqSE6VBmXppEFnEfHs9Wj1KjxdMBs30NL8SHlQNXzQPRyo+ZsKAyv8ruyA==","signatures":[{"sig":"MEUCIHIicpr5PIry2gyRp5wZ0RcYFTgCwvHge5fQPJvOXRLNAiEAj5Wc1yPpffPc6IfVTryxsr6tB3M5NgEJvN+6rauJ2vw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD0QGUNSRxvO7k4Ug7gMhkiMYgar0JOeX/dAOB0opw0IAIgWY5kImxu4+a6ZW1UeEqxicOhryA+smMDI69xPQZT+f0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90838},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"edbba84f94144b11c20fa5f6149ca68b6b9f2d09","scripts":{"build":"tsc -p tsconfig.lib.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"chainberry","email":"pd@chainberry.com"},"_npmVersion":"10.9.2","description":"React Native / Expo wallet SDK — multi-chain wallet lifecycle, signing, sending, balances and validation, backed by @chainberry/trust-wallet-core's native self-custody module and the berry-stream broadcast/read API","directories":{},"_nodeVersion":"23.11.0","dependencies":{"tslib":"2.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~56.0.6","react":"19.2.3","buffer":"^6.0.3","typescript":"~6.0.3","@types/react":"~19.2.2","react-native":"0.85.3","expo-file-system":"~56.0.7","expo-modules-core":"~56.0.13","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":"^2.5.1"},"peerDependencies":{"expo":">=54.0.0","xrpl":"^5.0.0","react":">=19.0.0","buffer":"^6.0.3","ethers":"^6.13.5","tronweb":"^6.1.1","@ton/core":"^0.62.0","react-native":">=0.79.0","bitcoinjs-lib":"^7.0.1","@solana/web3.js":"^1.98.4","expo-file-system":">=54.0.0","expo-modules-core":"*","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":">=2.5.1"},"peerDependenciesMeta":{"expo":{"optional":false},"xrpl":{"optional":false},"react":{"optional":false},"buffer":{"optional":false},"ethers":{"optional":false},"tronweb":{"optional":false},"@ton/core":{"optional":false},"react-native":{"optional":false},"bitcoinjs-lib":{"optional":false},"@solana/web3.js":{"optional":false},"expo-file-system":{"optional":false},"expo-modules-core":{"optional":false},"react-native-quick-crypto":{"optional":false},"@chainberry/trust-wallet-core":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/expo-wallet-sdk_1.1.0_1790242753657_0.742680651529561","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"_id":"@chainberry/expo-wallet-sdk@1.2.0","dist":{"shasum":"67fdc5fc5e12f0193357f6a2be9060b3459c9ff1","tarball":"https://registry.npmjs.org/@chainberry/expo-wallet-sdk/-/expo-wallet-sdk-1.2.0.tgz","fileCount":29,"integrity":"sha512-vMqQTIBJlc6V/vrIlx9VX4h0DxBcP4728C07XuTanBBQzTegXLXf4w/jB7clKo0DmEoKdAzo9iJVzwWBG/0flA==","signatures":[{"sig":"MEQCIEoz8HUtBWXv7CqyjO+Lq1qfX6g9OqDJOmV/8bH2/b8VAiBLmuLDlzVGoWN9wpQTAPMOpuotuELkc6MNTch0LrugcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDihZS0+SIQyVmtu7TnQrjqtrxdeVe5sOeUOr6EZ+d5ggIgJRxrpT45nm1uR5LHltTVesmlw/Ddx0oBY5ZCQWaf4QY="}],"unpackedSize":91001},"main":"./dist/index.js","name":"@chainberry/expo-wallet-sdk","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"edbba84f94144b11c20fa5f6149ca68b6b9f2d09","license":"MIT","scripts":{"build":"tsc -p tsconfig.lib.json","prepublishOnly":"npm run build"},"version":"1.2.0","_npmUser":{"name":"chainberry","email":"pd@chainberry.com"},"keywords":["blockchain","wallet","expo","react-native","self-custody","ethereum","bitcoin","solana","tron","ton","xrp","litecoin"],"_npmVersion":"10.9.2","description":"React Native / Expo wallet SDK — multi-chain wallet lifecycle, signing, sending, balances and validation, backed by @chainberry/trust-wallet-core's native self-custody module and the berry-stream broadcast/read API","directories":{},"maintainers":[{"name":"chainberry","email":"pd@chainberry.com"}],"_nodeVersion":"23.11.0","dependencies":{"tslib":"2.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~56.0.6","react":"19.2.3","buffer":"^6.0.3","typescript":"~6.0.3","@types/react":"~19.2.2","react-native":"0.85.3","expo-file-system":"~56.0.7","expo-modules-core":"~56.0.13","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":"^2.6.0"},"peerDependencies":{"expo":">=54.0.0","xrpl":"^5.0.0","react":">=19.0.0","buffer":"^6.0.3","ethers":"^6.13.5","tronweb":"^6.1.1","@ton/core":"^0.62.0","react-native":">=0.79.0","bitcoinjs-lib":"^7.0.1","@solana/web3.js":"^1.98.4","expo-file-system":">=54.0.0","expo-modules-core":"*","react-native-quick-crypto":"^1.1.5","@chainberry/trust-wallet-core":">=2.6.0"},"peerDependenciesMeta":{"expo":{"optional":false},"xrpl":{"optional":false},"react":{"optional":false},"buffer":{"optional":false},"ethers":{"optional":false},"tronweb":{"optional":false},"@ton/core":{"optional":false},"react-native":{"optional":false},"bitcoinjs-lib":{"optional":false},"@solana/web3.js":{"optional":false},"expo-file-system":{"optional":false},"expo-modules-core":{"optional":false},"react-native-quick-crypto":{"optional":false},"@chainberry/trust-wallet-core":{"optional":false}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/expo-wallet-sdk_1.2.0_1790276693904_0.4028991962965194"}}},"time":{"created":"2026-09-10T10:58:40.339Z","modified":"2026-09-24T19:04:54.192Z","1.0.0":"2026-09-10T10:58:40.584Z","1.0.2":"2026-09-10T11:45:10.368Z","1.0.3":"2026-09-13T15:13:32.293Z","1.0.4":"2026-09-13T16:33:45.768Z","1.1.0":"2026-09-24T09:39:13.746Z","1.2.0":"2026-09-24T19:04:53.996Z"},"license":"MIT","keywords":["blockchain","wallet","expo","react-native","self-custody","ethereum","bitcoin","solana","tron","ton","xrp","litecoin"],"description":"React Native / Expo wallet SDK — multi-chain wallet lifecycle, signing, sending, balances and validation, backed by @chainberry/trust-wallet-core's native self-custody module and the berry-stream broadcast/read API","maintainers":[{"name":"chainberry","email":"pd@chainberry.com"}],"readme":"# @chainberry/expo-wallet-sdk\n\nReact Native / Expo wallet SDK — multi-chain wallet lifecycle (create/import/list/delete,\nmnemonic reveal), signing and sending, balances/rates/fees, and per-network address validation.\nBacked by [`@chainberry/trust-wallet-core`](https://www.npmjs.com/package/@chainberry/trust-wallet-core)\n(the native module that does all key generation, storage, and signing — mnemonics/private keys\nnever cross into this package or the JS bridge at all) and the berry-stream broadcast/read API\n(RPC calls, fee/nonce lookups, and broadcasting all happen server-side — this package never talks\nto chain RPC endpoints directly).\n\nSupported networks: Ethereum, BNB Smart Chain, Polygon, Avalanche, Base, Arbitrum, Optimism,\nSonic, Solana, Tron, TON, Bitcoin, Bitcoin Cash (derivation-only, sending unsupported), Dogecoin,\nLitecoin, XRP Ledger, Cosmos — mainnet and testnet.\n\n## Requires a dev build\n\n`@chainberry/trust-wallet-core` is an Expo autolinked native module — this package will not run\ninside Expo Go. Use `expo prebuild` / EAS / a custom dev client.\n\n## Install\n\n```sh\nnpm install @chainberry/expo-wallet-sdk @chainberry/trust-wallet-core\n```\n\nPeer dependencies you also need installed (all required, none optional — every one is imported\nunconditionally by this package):\n\n```sh\nnpm install \\\n  expo-file-system react-native-quick-crypto buffer \\\n  ethers @solana/web3.js tronweb @ton/core xrpl bitcoinjs-lib\n```\n\n## Required Metro config\n\nThis package's peer deps overlap with other `file:`-linked or npm-linked packages your app may\nalready pull in (e.g. duplicate copies of `bitcoinjs-lib`/`tronweb`/`ethers`). Some of them —\nnotably `bitcore-lib-cash`, if you use Bitcoin Cash derivation elsewhere in your app — throw at\nruntime if loaded twice (\"More than one instance … found\"), and duplicate `bitcoinjs-lib`/`ecpair`\ninstances risk subtle `instanceof`/prototype mismatches. Force every consumer in your app\n(including this package) to resolve to a single shared copy in your `metro.config.js`:\n\n```js\nconst { getDefaultConfig } = require(\"expo/metro-config\");\nconst config = getDefaultConfig(__dirname);\n\nconst sharedLibs = [\n  \"bitcoinjs-lib\",\n  \"tronweb\",\n  \"xrpl\",\n  \"ethers\",\n  \"@ton/core\",\n  \"@solana/web3.js\",\n].reduce((acc, name) => {\n  acc[name] = require.resolve(name);\n  return acc;\n}, {});\n\nconfig.resolver.extraNodeModules = {\n  ...config.resolver.extraNodeModules,\n  ...sharedLibs,\n  crypto: require.resolve(\"react-native-quick-crypto\"),\n  buffer: require.resolve(\"buffer\"),\n};\n\nconfig.resolver.resolveRequest = (context, moduleName, platform) => {\n  if (sharedLibs[moduleName]) {\n    return { filePath: sharedLibs[moduleName], type: \"sourceFile\" };\n  }\n  return context.resolveRequest(context, moduleName, platform);\n};\n\nmodule.exports = config;\n```\n\nThe list above is exactly this package's own unconditional peer-dependency imports (see\n`services/validation.ts`) — nothing more. In particular, this package's Bitcoin Cash, Litecoin\n(mainnet and testnet), and TON address validation only ever call `bitcoinjs-lib`'s\n`address.toOutputScript` against a plain JS network-preset object, or `@ton/core`'s `Address.parse`\n— no ECC/signing library (`ecpair`, `tiny-secp256k1`, `bitcore-lib-cash`, `@ton/crypto`, `@ton/ton`)\nis imported anywhere in this package, since actual signing happens natively inside\n`@chainberry/trust-wallet-core`, not in this JS layer. If your app does its own signing or other\nBitcoin Cash/TON work *outside* this package, you may need those libraries too — but that's a\nseparate concern from this package's requirements, and they'd need their own `sharedLibs` entries\nonly if your app links in more than one copy of them.\n\n`@chainberry/trust-wallet-core`'s autolinking is unaffected by any of the above — it's a\nseparate, native-side concern; see that package's own README.\n\n## Bootstrap (required, once, before any other call)\n\n```ts\nimport { configure } from \"@chainberry/expo-wallet-sdk\";\n\nconfigure({\n  berryStreamBaseUrl: process.env.EXPO_PUBLIC_BERRY_STREAM_BASE_URL,\n  berryStreamApiKey: process.env.EXPO_PUBLIC_BERRY_STREAM_API_KEY,\n  isTestnet: process.env.EXPO_PUBLIC_WALLET_ENV === \"testnet\",\n});\n```\n\nPut this at the top of your app's root entry point (e.g. `app/_layout.tsx`), before any component\nuses `useWallet` or any other export from this package.\n\n- RN polyfills (a global `Buffer`, the JSI crypto backend, `Symbol.for`/`Symbol.keyFor` shims,\n  and routing `ethers`' network calls through RN's native `fetch`) install themselves\n  automatically the moment you import anything from this package — no separate call needed.\n  This has to be automatic rather than an explicit function you call: some of this package's own\n  dependencies (`@ton/core`) touch the global `Buffer` at their own module-load time, and a\n  single `import { configure } from \"@chainberry/expo-wallet-sdk\"` already fully evaluates this\n  package's entire dependency graph before any statement after that import would get a chance to\n  run — so an explicit `installPolyfills()` call always arrives too late. An `installPolyfills()`\n  export still exists (idempotent, safe to call) if you want explicit control, but it's no\n  longer required.\n- `configure()` is how this package learns your berry-stream API base URL/key and whether to\n  operate against testnet or mainnet — **it does not read `process.env.EXPO_PUBLIC_*` itself**;\n  your app reads its own env vars and passes them in. If you skip this call, requests silently\n  go to berry-stream's staging API and default to mainnet — fine for local development, not for\n  a production build.\n\n## Usage\n\n```tsx\nimport { useWallet } from \"@chainberry/expo-wallet-sdk\";\n\nfunction WalletScreen() {\n  const { wallet, loading, error, generate, resumeWallet, sendEthereum } = useWallet();\n\n  useEffect(() => {\n    resumeWallet();\n  }, []);\n\n  // ...\n}\n```\n\nSee `src/hooks/use-wallet.ts` for the full `WalletState`/`WalletActions` surface, and\n`src/services/wallet.ts` for the lower-level functions (`createWallet`, `sendTx`, `fetchBalance`,\n`fetchRates`, `estimateTxFee`, `isValidAddress`, `describeInvalidSendInput`, etc.) `useWallet`\nwraps, if you need them outside a hook (e.g. in a non-component context).\n\n## Known gaps\n\n- `NETWORKS`/`SENDABLE_NETWORKS` include `aptos`/`tezos` in the network registry, but their\n  metadata (`name`/`symbol`/`color`) is not yet filled in — carried over as-is from the app this\n  package was extracted from, not introduced here. Don't rely on those two entries for display\n  until this is fixed upstream.\n","readmeFilename":"README.md"}