{"id":"9611e01a-fc24-42f3-ac64-203420d8b727","shortId":"GzmF3G","kind":"skill","title":"use-wallet","tagline":">-","description":"# @txnlab/use-wallet\n\nA framework-agnostic Algorand wallet integration library (v4.x) with reactive adapters for React, Vue, SolidJS, and Svelte. Requires **algosdk v3**.\n\n## Packages\n\n| Package                       | Purpose                                       |\n| ----------------------------- | --------------------------------------------- |\n| `@txnlab/use-wallet`          | Core library (framework-agnostic)             |\n| `@txnlab/use-wallet-react`    | React adapter (hooks + WalletProvider)        |\n| `@txnlab/use-wallet-vue`      | Vue adapter (composables + plugin)            |\n| `@txnlab/use-wallet-solid`    | SolidJS adapter (primitives + WalletProvider) |\n| `@txnlab/use-wallet-svelte`   | Svelte adapter (primitives + context)         |\n| `@txnlab/use-wallet-ui-react` | React UI components (WalletButton, menus)     |\n\n## Routing Guide\n\nRead the reference file that matches the developer's task:\n\n### Setup & Configuration\n\n- **Getting started (any framework)**: [references/getting-started.md](references/getting-started.md) — Installation, WalletManager config, supported wallets table, webpack fallbacks\n\n### Framework-Specific Integration\n\n- **Vanilla JS/TS (no framework)**: [references/vanilla.md](references/vanilla.md) — WalletManager direct usage, BaseWallet subscribe, no provider wrapper\n- **React**: [references/react.md](references/react.md) — WalletProvider, useWallet, useNetwork hooks\n- **Vue**: [references/vue.md](references/vue.md) — WalletManagerPlugin, useWallet/useNetwork composables\n- **SolidJS**: [references/solid.md](references/solid.md) — WalletProvider, useWallet/useNetwork primitives (signals)\n- **Svelte**: [references/svelte.md](references/svelte.md) — useWalletContext, useWallet/useNetwork primitives (.current)\n\n### Features & Guides\n\n- **Signing transactions**: [references/signing-transactions.md](references/signing-transactions.md) — signTransactions, transactionSigner with ATC, AlgoKit Utils\n- **Signing data (ARC-60/SIWA)**: [references/signing-data.md](references/signing-data.md) — Sign In With Algorand, Lute wallet, verification\n- **Network switching & custom networks**: [references/network-configuration.md](references/network-configuration.md) — NetworkConfigBuilder, custom AVM networks (Voi), runtime node config, useNetwork\n- **Pre-built UI components**: [references/wallet-ui.md](references/wallet-ui.md) — @txnlab/use-wallet-ui-react: WalletButton, menus, theming, Tailwind setup\n- **Testing**: [references/testing.md](references/testing.md) — Mnemonic wallet provider for dev/testing/E2E\n- **Custom wallet provider**: [references/custom-provider.md](references/custom-provider.md) — Implementing CustomProvider interface\n\n### Reference\n\n- **Full API reference**: [references/api-reference.md](references/api-reference.md) — WalletManager, useWallet, useNetwork, enums, types\n- **Migration from v3**: [references/migration-v3.md](references/migration-v3.md) — algosdk v3, network config changes, useNetwork extraction\n\n## Quick Reference: Supported Wallets\n\n| Wallet           | WalletId        | Required Package                                               |\n| ---------------- | --------------- | -------------------------------------------------------------- |\n| Pera             | `PERA`          | `@perawallet/connect`                                          |\n| Defly            | `DEFLY`         | `@blockshake/defly-connect`                                    |\n| Defly Web (beta) | `DEFLY_WEB`     | `@agoralabs-sh/avm-web-provider`                               |\n| Exodus           | `EXODUS`        | —                                                              |\n| Kibisis          | `KIBISIS`       | `@agoralabs-sh/avm-web-provider`                               |\n| Lute             | `LUTE`          | `lute-connect`                                                 |\n| WalletConnect    | `WALLETCONNECT` | `@walletconnect/sign-client`, `@walletconnect/modal`           |\n| Magic            | `MAGIC`         | `magic-sdk`, `@magic-ext/algorand`                             |\n| Web3Auth         | `WEB3AUTH`      | `@web3auth/modal`, `@web3auth/base`, `@web3auth/base-provider` |\n| W3 Wallet        | `W3_WALLET`     | —                                                              |\n| KMD              | `KMD`           | — (dev only)                                                   |\n| Mnemonic         | `MNEMONIC`      | — (test only, never MainNet)                                   |\n| Custom           | `CUSTOM`        | — (implement CustomProvider)                                   |\n\nWallets that require no extra package use built-in browser APIs or AVM web provider.\n\n## Key Patterns\n\n### Minimal Setup (React)\n\n```tsx\nimport {\n  WalletProvider,\n  WalletManager,\n  NetworkId,\n  WalletId,\n} from '@txnlab/use-wallet-react'\n\nconst manager = new WalletManager({\n  wallets: [WalletId.PERA, WalletId.DEFLY, WalletId.LUTE],\n  defaultNetwork: NetworkId.TESTNET,\n})\n\nfunction App() {\n  return (\n    <WalletProvider manager={manager}>\n      <YourApp />\n    </WalletProvider>\n  )\n}\n```\n\n### Accessing Wallet State\n\n```tsx\nconst {\n  wallets,\n  activeAddress,\n  isReady,\n  signTransactions,\n  transactionSigner,\n  algodClient,\n} = useWallet()\nconst {\n  activeNetwork,\n  setActiveNetwork,\n  updateAlgodConfig,\n  resetNetworkConfig,\n} = useNetwork()\n```\n\n## Important Notes\n\n- v4.x requires **algosdk v3** — see migration guide if upgrading from v3.x\n- In v4.0.0, network features moved from `useWallet` to a separate `useNetwork` hook/composable/primitive\n- Default networks (MainNet, TestNet, BetaNet, LocalNet) use Nodely's free API\n- Some wallet providers require signature requests from direct user interaction (button clicks)\n- Only Lute supports ARC-60 data signing (`signData`)","tags":["use","wallet","skills","txnlab","agent-skills","algorand","claude-code","haystack-router","nfd","use-wallet"],"capabilities":["skill","source-txnlab","skill-use-wallet","topic-agent-skills","topic-algorand","topic-claude-code","topic-haystack-router","topic-nfd","topic-use-wallet"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/TxnLab/skills/use-wallet","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add TxnLab/skills","source_repo":"https://github.com/TxnLab/skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (5,786 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:23.437Z","embedding":null,"createdAt":"2026-05-18T13:22:00.333Z","updatedAt":"2026-05-18T19:14:23.437Z","lastSeenAt":"2026-05-18T19:14:23.437Z","tsv":"'-60':149,414 '/algorand':275 '/avm-web-provider':249,257 '/siwa':150 'access':344 'activeaddress':350 'activenetwork':357 'adapt':16,37,42,47,52 'agnost':8,34 'agoralab':247,255 'agoralabs-sh':246,254 'algodcli':354 'algokit':144 'algorand':9,156 'algosdk':24,220,366 'api':206,310,397 'app':339 'arc':148,413 'atc':143 'avm':168,312 'basewallet':102 'beta':243 'betanet':391 'blockshake/defly-connect':240 'browser':309 'built':177,307 'built-in':306 'button':408 'chang':224 'click':409 'compon':58,179 'compos':43,119 'config':83,173,223 'configur':74 'connect':262 'const':328,348,356 'context':54 'core':30 'current':133 'custom':162,167,196,295,296 'customprovid':202,298 'data':147,415 'default':387 'defaultnetwork':336 'defli':238,239,241,244 'dev':287 'dev/testing/e2e':195 'develop':70 'direct':100,405 'enum':213 'exodus':250,251 'ext':274 'extra':303 'extract':226 'fallback':88 'featur':134,378 'file':66 'framework':7,33,78,90,96 'framework-agnost':6,32 'framework-specif':89 'free':396 'full':205 'function':338 'get':75 'guid':62,135,370 'hook':38,113 'hook/composable/primitive':386 'implement':201,297 'import':321,362 'instal':81 'integr':11,92 'interact':407 'interfac':203 'isreadi':351 'js/ts':94 'key':315 'kibisi':252,253 'kmd':285,286 'librari':12,31 'localnet':392 'lute':157,258,259,261,411 'lute-connect':260 'magic':267,268,270,273 'magic-ext':272 'magic-sdk':269 'mainnet':294,389 'manag':329,342,343 'match':68 'menus':60,184 'migrat':215,369 'minim':317 'mnemon':191,289,290 'move':379 'network':160,163,169,222,377,388 'networkconfigbuild':166 'networkid':324 'networkid.testnet':337 'never':293 'new':330 'node':172,394 'note':363 'packag':26,27,234,304 'pattern':316 'pera':235,236 'perawallet/connect':237 'plugin':44 'pre':176 'pre-built':175 'primit':48,53,125,132 'provid':105,193,198,314,400 'purpos':28 'quick':227 'react':18,36,56,107,319 'reactiv':15 'read':63 'refer':65,204,207,228 'references/api-reference.md':208,209 'references/custom-provider.md':199,200 'references/getting-started.md':79,80 'references/migration-v3.md':218,219 'references/network-configuration.md':164,165 'references/react.md':108,109 'references/signing-data.md':151,152 'references/signing-transactions.md':138,139 'references/solid.md':121,122 'references/svelte.md':128,129 'references/testing.md':189,190 'references/vanilla.md':97,98 'references/vue.md':115,116 'references/wallet-ui.md':180,181 'request':403 'requir':23,233,301,365,401 'resetnetworkconfig':360 'return':340 'rout':61 'runtim':171 'sdk':271 'see':368 'separ':384 'setactivenetwork':358 'setup':73,187,318 'sh':248,256 'sign':136,146,153,416 'signal':126 'signatur':402 'signdata':417 'signtransact':140,352 'skill' 'skill-use-wallet' 'solidj':20,46,120 'source-txnlab' 'specif':91 'start':76 'state':346 'subscrib':103 'support':84,229,412 'svelt':22,51,127 'switch':161 'tabl':86 'tailwind':186 'task':72 'test':188,291 'testnet':390 'theme':185 'topic-agent-skills' 'topic-algorand' 'topic-claude-code' 'topic-haystack-router' 'topic-nfd' 'topic-use-wallet' 'transact':137 'transactionsign':141,353 'tsx':320,347 'txnlab/use-wallet':4,29 'txnlab/use-wallet-react':35,327 'txnlab/use-wallet-solid':45 'txnlab/use-wallet-svelte':50 'txnlab/use-wallet-ui-react':55,182 'txnlab/use-wallet-vue':40 'type':214 'ui':57,178 'updatealgodconfig':359 'upgrad':372 'usag':101 'use':2,305,393 'use-wallet':1 'usenetwork':112,174,212,225,361,385 'user':406 'usewallet':111,211,355,381 'usewallet/usenetwork':118,124,131 'usewalletcontext':130 'util':145 'v3':25,217,221,367 'v3.x':374 'v4.0.0':376 'v4.x':13,364 'vanilla':93 'verif':159 'voi':170 'vue':19,41,114 'w3':281,283 'wallet':3,10,85,158,192,197,230,231,282,284,299,332,345,349,399 'walletbutton':59,183 'walletconnect':263,264 'walletconnect/modal':266 'walletconnect/sign-client':265 'walletid':232,325 'walletid.defly':334 'walletid.lute':335 'walletid.pera':333 'walletmanag':82,99,210,323,331 'walletmanagerplugin':117 'walletprovid':39,49,110,123,322,341 'web':242,245,313 'web3auth':276,277 'web3auth/base':279 'web3auth/base-provider':280 'web3auth/modal':278 'webpack':87 'wrapper':106","prices":[{"id":"f988edae-0fbb-4fe6-abb3-3c766affd5b8","listingId":"9611e01a-fc24-42f3-ac64-203420d8b727","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"TxnLab","category":"skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:00.333Z"}],"sources":[{"listingId":"9611e01a-fc24-42f3-ac64-203420d8b727","source":"github","sourceId":"TxnLab/skills/use-wallet","sourceUrl":"https://github.com/TxnLab/skills/tree/main/skills/use-wallet","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:00.333Z","lastSeenAt":"2026-05-18T19:14:23.437Z"}],"details":{"listingId":"9611e01a-fc24-42f3-ac64-203420d8b727","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TxnLab","slug":"use-wallet","github":{"repo":"TxnLab/skills","stars":6,"topics":["agent-skills","ai","algorand","claude-code","haystack-router","nfd","use-wallet"],"license":"mit","html_url":"https://github.com/TxnLab/skills","pushed_at":"2026-02-19T16:56:59Z","description":"Curated agent skills for TxnLab's Algorand ecosystem — NFDomains, use-wallet, Haystack Router","skill_md_sha":"2429d4c139fd33aede96582f475172840b02902a","skill_md_path":"skills/use-wallet/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TxnLab/skills/tree/main/skills/use-wallet"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"use-wallet","description":">-"},"skills_sh_url":"https://skills.sh/TxnLab/skills/use-wallet"},"updatedAt":"2026-05-18T19:14:23.437Z"}}