{"id":16869208,"url":"https://github.com/TeamRaccoons/Unified-Wallet-Kit","last_synced_at":"2025-11-12T01:30:15.747Z","repository":{"id":191378668,"uuid":"667701719","full_name":"TeamRaccoons/Unified-Wallet-Kit","owner":"TeamRaccoons","description":"Unified Wallet Kit is an open-sourced, Swiss Army Knife wallet adapter, striving for the best wallet integration experience for developers, and best wallet experience for your users.","archived":false,"fork":false,"pushed_at":"2024-12-23T05:17:59.000Z","size":5102,"stargazers_count":65,"open_issues_count":8,"forks_count":23,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-12-23T06:24:00.204Z","etag":null,"topics":["adapter","react","solana","wallet"],"latest_commit_sha":null,"homepage":"http://unified.jup.ag","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TeamRaccoons.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-18T05:50:06.000Z","updated_at":"2024-12-06T01:40:27.000Z","dependencies_parsed_at":"2023-08-29T16:18:46.068Z","dependency_job_id":"e9feaf94-db8e-4b73-b7cf-911df7a27023","html_url":"https://github.com/TeamRaccoons/Unified-Wallet-Kit","commit_stats":null,"previous_names":["teamraccoons/unified-wallet-kit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeamRaccoons%2FUnified-Wallet-Kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeamRaccoons%2FUnified-Wallet-Kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeamRaccoons%2FUnified-Wallet-Kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TeamRaccoons%2FUnified-Wallet-Kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TeamRaccoons","download_url":"https://codeload.github.com/TeamRaccoons/Unified-Wallet-Kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239599061,"owners_count":19665911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adapter","react","solana","wallet"],"created_at":"2024-10-13T15:00:35.201Z","updated_at":"2025-11-12T01:30:15.706Z","avatar_url":"https://github.com/TeamRaccoons.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Unified Wallet Kit\n\n\u003cimg src=\"public/unified-wallet-kit-demo.gif\" /\u003e\n\nUnified Wallet Kit is an open-sourced, Swiss Army Knife wallet adapter, striving for the best wallet integration experience for developers, and best wallet experience for your users.\n\nAlong with [Terminal](https://terminal.jup.ag), it's the fastest way to get started on Solana.\n\nUsed by Jupiter and Meteora.\n\nNPM: https://www.npmjs.com/package/@jup-ag/wallet-adapter\n\n## Motives\n\nWhy not just use the existing wallet adapters?\n\n- To bootstrap a dApp, we always find ourself doing the same thing over and over again, such as:\n  - Notification when wallets are selected, connecting, connected, disconnected.\n  - Auto reconnect to the last connected wallet\n  - Mobile-first, responsive design\n  - Themeing support\n  - Internationalization (i18n) support\n  - New user onboarding\n- Built on-top of `@solana/wallet-adapter-base`, `@solana/wallet-adapter-react` and `@solana-mobile/wallet-adapter-mobile`, you are always welcomed to onboard or depart.\n\n## Philosophy\n\n- Set a sensible defaults\n- Lightweight, easy to adopt, fast to access\n- Extensible wallets, with a BYOW (Bring your own wallets) approach\n- Better onboarding experience for new users\n\n## Core features\n\n- [x] Main esm bundle at 94Kb (~20Kb gzipped)\n- [x] Built-in Wallet Standard, Mobile Wallet Adapter support\n- [x] Abstracted wallet adapter, with a BYOW (Bring your own wallets) approach\n- [x] Mobile responsive\n- [x] Notification plug-in\n- [x] Internationalization (i18n)\n\n  - More contributions required for more languages\n  - Currently generated from Copilot\n  - [Help contribute](https://github.com/TeamRaccoons/Unified-Wallet-Kit/blob/main/src/contexts/TranslationProvider/i18n.ts)\n\n- [x] New user onboarding [on Jupiter Station](https://station.jup.ag/partners?category=Wallets)\n  - PR welcomed on [Jupiter Station Github](https://github.com/jup-ag/space-station/)\n- [x] Theming\n  - Light, Dark, Jupiter\n  - More thmes coming soon\n- [x] Pluralization for i18n\n\n## Getting Started\n\n- `pnpm i @jup-ag/wallet-adapter`\n- Wrap your app with `\u003cUnifiedWalletProvider /\u003e` and pass in as little to as many wallets you would like to support.\n- Below example is `ExampleBaseOnly.tsx`\n\n```tsx\nconst ExampleBaseOnly = () =\u003e {\n  return (\n    \u003cUnifiedWalletProvider\n      wallets={[]}\n      config={{\n        autoConnect: false,\n        env: 'mainnet-beta',\n        metadata: {\n          name: 'UnifiedWallet',\n          description: 'UnifiedWallet',\n          url: 'https://jup.ag',\n          iconUrls: ['https://jup.ag/favicon.ico'],\n        },\n        notificationCallback: WalletNotification,\n        walletlistExplanation: {\n          href: 'https://station.jup.ag/docs/additional-topics/wallet-list',\n        },\n      }}\n    \u003e\n      \u003cUnifiedWalletButton /\u003e\n    \u003c/UnifiedWalletProvider\u003e\n  );\n};\n\nexport default ExampleBaseOnly;\n```\n\n- More example can be found on the demo page, or in `src/components/examples`\n\n## More features\n\n- [x] Wallet attachment\n  - Target specific wallet and attach custom element to it\n  - \u003cimg src=\"public/features/wallet-atachments.png\" width=\"200\" /\u003e\n\n```tsx\nconfig={{\n  walletAttachments: { \n    'Phantom': {\n      attachment: \u003cdiv tw=\"text-xs rounded-md bg-red-500 px-2 mx-2 text-center\"\u003eAuto Confirm\u003c/div\u003e\n    } \n  }\n}}\n```\n\n## FAQs\n\n- Why not ship with all wallets?\n\n  - Unnecessary bloat and bundle size on your dApp\n  - It's not sensible to always maintain an ever-growing list of wallets\n  - Many existing wallets are not well maintained, often with unpatched security, or abandoned development\n  - Lack of users\n  - Does not support Versioned Transaction, severely limiting the adoption of many innovative functionalities of dApp.\n  - And hopefully, a gradually disappearing list of installed wallet adapter, as they migrate to wallet-standard\n\n- Why not ship with notification by default\n\n  - Existing dApp might already have their own notification system\n  - Checkout `src/components/examples/WalletNotification.tsx` for an example of how to use the notification system\n\n- How to add/develop a new wallet?\n  - We recommend new developer develops Wallets that comforms to WalletStandard or MWA, to get instant discoverability.\n  - https://github.com/solana-labs/wallet-adapter/blob/master/WALLET.md\n\n### #By Raccoons\n\n\u003cimg src=\"public/raccoons_wallet.jpg\" width=\"200\" /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTeamRaccoons%2FUnified-Wallet-Kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTeamRaccoons%2FUnified-Wallet-Kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTeamRaccoons%2FUnified-Wallet-Kit/lists"}