{"_id":"@dexterai/wallet-connect","_rev":"2-bf5693a32a80caaf4bd0240f74970753","name":"@dexterai/wallet-connect","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@dexterai/wallet-connect","version":"1.0.0","license":"MIT","_id":"@dexterai/wallet-connect@1.0.0","maintainers":[{"name":"nrsander","email":"nrsander@gmail.com"}],"dist":{"shasum":"785d1799beb8ca3c50217283bb33332afd4e603c","tarball":"https://registry.npmjs.org/@dexterai/wallet-connect/-/wallet-connect-1.0.0.tgz","fileCount":13,"integrity":"sha512-7U5HqvofInM3fGf4h8jqGq2dSEH8T0Uj+/Z9Dad9rFfvSd5uFVLWt6hOXWVGgi+1AvlkgQet6LztRHNFDpbO4Q==","signatures":[{"sig":"MEUCIGUAOXg2JAH1YU8qvji7mg9gFVfuaV+saHqnVw0JmPVnAiEAif0l5QOTIv0eUV/VASr1Gu8YsvnpLmpXQxipPGmY5Lo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52214},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"nrsander","email":"nrsander@gmail.com"},"_npmVersion":"10.9.3","description":"Non-custodial multi-chain (Solana + EVM) wallet connect for Dexter apps — Wallet Standard picker, EIP-1193 connect, and x402 payment hooks.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@solana/web3.js":"^1.98.4","@wallet-standard/app":"^1.1.0","@wallet-standard/base":"^1.1.0","@wallet-standard/features":"^1.1.0","@solana/wallet-standard-features":"^1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.5","react-dom":"^19.2.5","typescript":"^5.7.0","@types/node":"^22.19.19","@types/react":"^19.2.5","@dexterai/x402":"^3.3.0"},"peerDependencies":{"react":">=18","react-dom":">=18","@dexterai/x402":">=3"},"_npmOperationalInternal":{"tmp":"tmp/wallet-connect_1.0.0_1779059568078_0.561401781215247","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@dexterai/wallet-connect","version":"1.1.0","description":"Non-custodial multi-chain (Solana + EVM) wallet connect for Dexter apps — Wallet Standard picker, EIP-1193 connect, and x402 payment hooks.","license":"MIT","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"peerDependencies":{"@dexterai/x402":">=3","react":">=18","react-dom":">=18"},"dependencies":{"@solana/wallet-standard-features":"^1.3.0","@solana/web3.js":"^1.98.4","@wallet-standard/app":"^1.1.0","@wallet-standard/base":"^1.1.0","@wallet-standard/features":"^1.1.0"},"devDependencies":{"@dexterai/x402":"^3.3.0","@types/node":"^22.19.19","@types/react":"^19.2.5","react":"^19.2.5","react-dom":"^19.2.5","typescript":"^5.7.0"},"publishConfig":{"access":"public"},"_id":"@dexterai/wallet-connect@1.1.0","gitHead":"83d379c751ba08ca4fc47e47028cccf5019a859c","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-lV6frHivMoFgzu8ujT7OkneKlDF1mC/xzGE4En3iTHYa95C3YGHw8i+e4vd/XLN6jepHgEFkbNtanjQBlsYdHg==","shasum":"ed4f720ebf8790d5578a75d34cae28b153d47920","tarball":"https://registry.npmjs.org/@dexterai/wallet-connect/-/wallet-connect-1.1.0.tgz","fileCount":14,"unpackedSize":60531,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDNSlDJ8AVn7bFc2B0nARk6wjKkH1c51JcNf+Vet/NIhwIhAMSykYVo+z6tdespgobanOHGZ8I1l01fCanq1re5F4DW"}]},"_npmUser":{"name":"nrsander","email":"nrsander@gmail.com"},"directories":{},"maintainers":[{"name":"nrsander","email":"nrsander@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wallet-connect_1.1.0_1779118826158_0.558689541334872"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-17T23:12:48.018Z","modified":"2026-05-18T15:40:26.470Z","1.0.0":"2026-05-17T23:12:48.227Z","1.1.0":"2026-05-18T15:40:26.308Z"},"license":"MIT","description":"Non-custodial multi-chain (Solana + EVM) wallet connect for Dexter apps — Wallet Standard picker, EIP-1193 connect, and x402 payment hooks.","maintainers":[{"name":"nrsander","email":"nrsander@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/Dexter-DAO/dexter-x402-sdk/main/assets/dexter-wordmark.svg\" alt=\"Dexter\" width=\"360\">\n</p>\n\n<h1 align=\"center\">@dexterai/wallet-connect</h1>\n\n<p align=\"center\">\n  <strong>Non-custodial multi-chain wallet connect for Dexter apps. Solana + EVM, Wallet Standard picker, x402 payment hooks, and SIWS/SIWE message signing — one provider.</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@dexterai/wallet-connect\"><img src=\"https://img.shields.io/npm/v/@dexterai/wallet-connect.svg\" alt=\"npm\"></a>\n  <a href=\"https://nodejs.org\"><img src=\"https://img.shields.io/badge/react-%3E=18-brightgreen.svg\" alt=\"React\"></a>\n  <a href=\"https://x402.org\"><img src=\"https://img.shields.io/badge/protocol-x402_v2-00FF88\" alt=\"x402\"></a>\n</p>\n\n---\n\n## What this is\n\nA React wallet provider shared across Dexter apps (dexter-fe, x402gle). One\n`<WalletProvider>` gives every descendant a connected Solana and/or EVM wallet,\nready-to-use x402 payment hooks, live balances, and the message-signing\nprimitive behind Sign-In-With-Solana / Sign-In-With-Ethereum.\n\nThe user holds their own keys. Nothing here is custodial — the package\nconnects external wallets (Phantom, Solflare, Backpack, MetaMask, Coinbase,\nRabby), it never creates or holds one.\n\n## Install\n\n```bash\nnpm install @dexterai/wallet-connect @dexterai/x402 react react-dom\n```\n\n## Quick start\n\n```tsx\nimport { WalletProvider, useWallets } from '@dexterai/wallet-connect';\n\nfunction App() {\n  return (\n    <WalletProvider>\n      <PayButton />\n    </WalletProvider>\n  );\n}\n\nfunction PayButton() {\n  const { solanaHook, isAnyConnected } = useWallets();\n  return (\n    <button\n      disabled={!isAnyConnected}\n      onClick={() => solanaHook.fetch('https://api.example.com/paid')}\n    >\n      Pay $0.05\n    </button>\n  );\n}\n```\n\n`solanaHook` / `baseHook` are [`useX402Payment`](https://www.npmjs.com/package/@dexterai/x402)\ninstances — `.fetch()` handles the full `402 → sign → settle → retry` cycle\nagainst the connected wallet's own balance.\n\n## What `useWallets()` gives you\n\n| Field | What it is |\n|---|---|\n| `solanaAdapter` / `evmAdapter` | SDK-compatible wallet adapters — `signTransaction`, `signTypedData`, **`signMessage`** |\n| `solanaHook` / `baseHook` | x402 payment hooks, one per chain |\n| `solanaBalance` / `baseBalance` | USDC balances |\n| `isSolanaConnected` / `isBaseConnected` / `isAnyConnected` | connection status |\n| `connectEvmWallet` / `disconnectAll` | connect / disconnect helpers |\n\n## Message signing (SIWS / SIWE)\n\nBoth adapters expose `signMessage` — the identity proof for wallet sign-in.\nThe same connected wallet that pays for x402 calls also signs the login\nchallenge; no separate connect step.\n\n```ts\nconst { solanaAdapter, evmAdapter } = useWallets();\n\n// Solana — Wallet Standard solana:signMessage.\n// Returns the bytes the wallet actually signed (it may prefix them) and\n// the Ed25519 signature. Verify the signature against `signedMessage`.\nif (solanaAdapter?.canSignMessage) {\n  const { signedMessage, signature } =\n    await solanaAdapter.signMessage(new TextEncoder().encode(challenge));\n}\n\n// EVM — EIP-191 personal_sign. Returns the 0x-prefixed signature.\nconst signature = await evmAdapter?.signMessage({ message: challenge });\n```\n\n## Exports\n\n- `WalletProvider` — the context provider. Props: `solanaRpcUrl`, `baseRpcUrl`\n  (default to Dexter's public RPC proxies).\n- `useWallets()` — the consumer hook.\n- `SolanaWalletPicker` — Wallet Standard picker modal, filterable by\n  capability (`signMessage` / `signTransaction` / `both`).\n- `hasSolanaSignMessage` / `hasSolanaSignTransaction` — capability checks.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}