{"id":13762022,"url":"https://github.com/near/wallet-selector","last_synced_at":"2025-08-10T07:37:23.399Z","repository":{"id":37097991,"uuid":"437100101","full_name":"near/wallet-selector","owner":"near","description":"This is a wallet selector modal that allows users to interact with NEAR dApps with a selection of available wallets.","archived":false,"fork":false,"pushed_at":"2025-08-03T02:42:17.000Z","size":82420,"stargazers_count":175,"open_issues_count":37,"forks_count":180,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-08-03T04:21:38.847Z","etag":null,"topics":["blockchain","dapps","ledger","near-blockchain","near-wallet","nearprotocol","wallets"],"latest_commit_sha":null,"homepage":"https://near.github.io/wallet-selector/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/near.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-10T20:03:29.000Z","updated_at":"2025-08-01T06:35:07.000Z","dependencies_parsed_at":"2022-08-08T19:15:30.805Z","dependency_job_id":"d696add7-dc03-4602-8765-0380af57340a","html_url":"https://github.com/near/wallet-selector","commit_stats":{"total_commits":2647,"total_committers":85,"mean_commits":"31.141176470588235","dds":0.6433698526633925,"last_synced_commit":"1340183042d32042c063b1a34592d69293788b69"},"previous_names":["near-projects/wallet-selector"],"tags_count":128,"template":false,"template_full_name":null,"purl":"pkg:github/near/wallet-selector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/near%2Fwallet-selector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/near%2Fwallet-selector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/near%2Fwallet-selector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/near%2Fwallet-selector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/near","download_url":"https://codeload.github.com/near/wallet-selector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/near%2Fwallet-selector/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268495482,"owners_count":24259387,"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","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["blockchain","dapps","ledger","near-blockchain","near-wallet","nearprotocol","wallets"],"created_at":"2024-08-03T14:00:33.682Z","updated_at":"2025-08-10T07:37:23.390Z","avatar_url":"https://github.com/near.png","language":"TypeScript","funding_links":[],"categories":["Libraries / Frameworks"],"sub_categories":[],"readme":"# NEAR Wallet Selector\n\nNEAR Wallet Selector makes it easy for users to interact with your dApp by providing an abstraction over various wallets within the NEAR ecosystem:\n\n- [Arepa Wallet](https://www.npmjs.com/package/@near-wallet-selector/arepa-wallet) - Browser wallet.\n- [Bitget Wallet](https://www.npmjs.com/package/@near-wallet-selector/bitget-wallet) - Injected wallet.\n- [Bitte Wallet](https://www.npmjs.com/package/@near-wallet-selector/bitte-wallet) - Injected wallet.\n- [Coin98 Wallet](https://www.npmjs.com/package/@near-wallet-selector/coin98-wallet) - Injected wallet.\n- [Ethereum wallets](https://www.npmjs.com/package/@near-wallet-selector/ethereum-wallets) - Injected wallet.\n- [Here Wallet](https://www.npmjs.com/package/@near-wallet-selector/here-wallet) - Mobile wallet.\n- [HOT Wallet](https://www.npmjs.com/package/@near-wallet-selector/hot-wallet) - Injected wallet.\n- [Unity Wallet](https://www.npmjs.com/package/@near-wallet-selector/unity-wallet) - Mobile wallet.\n- [Ledger](https://www.npmjs.com/package/@near-wallet-selector/ledger) - Hardware wallet.\n- [Math Wallet](https://www.npmjs.com/package/@near-wallet-selector/math-wallet) - Injected wallet.\n- [Metamask Snap](https://www.npmjs.com/package/@near-wallet-selector/near-snap) - Injected wallet.\n- [Meteor Wallet](https://www.npmjs.com/package/@near-wallet-selector/meteor-wallet) - Injected wallet.\n- [Meteor Wallet App](https://www.npmjs.com/package/@near-wallet-selector/meteor-wallet-app) - Instant link wallet.\n- [My NEAR Wallet](https://www.npmjs.com/package/@near-wallet-selector/my-near-wallet) - Browser wallet.\n- [Narwallets](https://www.npmjs.com/package/@near-wallet-selector/narwallets) - Injected wallet.\n- [Near Mobile Wallet](https://www.npmjs.com/package/@near-wallet-selector/near-mobile-wallet) - Mobile Wallet.\n- [Nightly](https://www.npmjs.com/package/@near-wallet-selector/nightly) - Injected wallet.\n- [OKX Wallet](https://www.npmjs.com/package/@near-wallet-selector/okx-wallet) - Injected wallet.\n- [Ramper Wallet](https://www.npmjs.com/package/@near-wallet-selector/ramper-wallet) - Injected wallet.\n- [Sender](https://www.npmjs.com/package/@near-wallet-selector/sender) - Injected wallet.\n- [WalletConnect](https://www.npmjs.com/package/@near-wallet-selector/wallet-connect) - Bridge wallet.\n- [WELLDONE Wallet](https://www.npmjs.com/package/@near-wallet-selector/welldone-wallet) - Injected wallet.\n- [XDEFI Wallet](https://www.npmjs.com/package/@near-wallet-selector/xdefi) - Injected wallet.\n- [Intear Wallet](https://www.npmjs.com/package/@near-wallet-selector/intear-wallet) - Injected wallet.\n\n## Preview\n\n[React](https://reactjs.org/) / [Next.js](https://nextjs.org/) and [Angular](https://angular.io/) variations of the [Guest Book](https://github.com/near-examples/guest-book/) dApp can be found in the [`examples`](/examples) directory. You can use these to gain a concrete understanding of how to integrate NEAR Wallet Selector into your own dApp.\n\n![Preview](./images/preview.gif)\n\n## Installation and Usage\n\nThe easiest way to use NEAR Wallet Selector is to install the [`core`](https://www.npmjs.com/package/@near-wallet-selector/core) package from the NPM registry, some packages may require `near-api-js` v1.0.0 or above check them at [`packages`](./packages)\n\n```bash\n# Using Yarn\nyarn add near-api-js\n\n# Using NPM.\nnpm install near-api-js\n```\n\n```bash\n# Using Yarn\nyarn add @near-wallet-selector/core\n\n# Using NPM.\nnpm install @near-wallet-selector/core\n```\n\nNext, you'll need to install the wallets you want to support:\n\n```bash\n# Using Yarn\nyarn add \\\n  @near-wallet-selector/arepa-wallet \\\n  @near-wallet-selector/bitget-wallet \\\n  @near-wallet-selector/bitte-wallet \\\n  @near-wallet-selector/coin98-wallet \\\n  @near-wallet-selector/ethereum-wallets \\\n  @near-wallet-selector/here-wallet \\\n  @near-wallet-selector/hot-wallet \\\n  @near-wallet-selector/intear-wallet \\\n  @near-wallet-selector/ledger \\\n  @near-wallet-selector/math-wallet \\\n  @near-wallet-selector/meteor-wallet \\\n  @near-wallet-selector/meteor-wallet-app \\\n  @near-wallet-selector/my-near-wallet \\\n  @near-wallet-selector/narwallets \\\n  @near-wallet-selector/near-mobile-wallet \\\n  @near-wallet-selector/near-snap \\\n  @near-wallet-selector/nightly \\\n  @near-wallet-selector/okx-wallet \\\n  @near-wallet-selector/ramper-wallet \\\n  @near-wallet-selector/react-hook \\\n  @near-wallet-selector/sender \\\n  @near-wallet-selector/unity-wallet \\\n  @near-wallet-selector/wallet-connect \\\n  @near-wallet-selector/welldone-wallet \\\n  @near-wallet-selector/xdefi\n\n\n# Using NPM.\nnpm install \\\n  @near-wallet-selector/arepa-wallet \\\n  @near-wallet-selector/bitget-wallet \\\n  @near-wallet-selector/bitte-wallet \\\n  @near-wallet-selector/coin98-wallet \\\n  @near-wallet-selector/ethereum-wallets \\\n  @near-wallet-selector/here-wallet \\\n  @near-wallet-selector/hot-wallet \\\n  @near-wallet-selector/intear-wallet \\\n  @near-wallet-selector/ledger \\\n  @near-wallet-selector/math-wallet \\\n  @near-wallet-selector/meteor-wallet \\\n  @near-wallet-selector/meteor-wallet-app \\\n  @near-wallet-selector/my-near-wallet \\\n  @near-wallet-selector/narwallets \\\n  @near-wallet-selector/near-mobile-wallet \\\n  @near-wallet-selector/near-snap \\\n  @near-wallet-selector/nightly \\\n  @near-wallet-selector/okx-wallet \\\n  @near-wallet-selector/ramper-wallet \\\n  @near-wallet-selector/react-hook \\\n  @near-wallet-selector/sender \\\n  @near-wallet-selector/unity-wallet \\\n  @near-wallet-selector/wallet-connect \\\n  @near-wallet-selector/welldone-wallet \\\n  @near-wallet-selector/xdefi\n```\n\nOptionally, you can install our [`modal-ui`](https://www.npmjs.com/package/@near-wallet-selector/modal-ui) (react) or [`modal-ui-js`](https://www.npmjs.com/package/@near-wallet-selector/modal-ui-js) package for a pre-built interface that wraps the `core` API and presents the supported wallets:\n\n```bash\n# Using Yarn\nyarn add @near-wallet-selector/modal-ui\n\n# Using NPM.\nnpm install @near-wallet-selector/modal-ui\n```\n\nFor React applications, you can also install the [`react-hook`](https://www.npmjs.com/package/@near-wallet-selector/react-hook) package which provides a React Hook and Context for easier integration:\n\n```bash\n# Using Yarn\nyarn add @near-wallet-selector/react-hook\n\n# Using NPM.\nnpm install @near-wallet-selector/react-hook\n```\n\nThen in your dApp:\n\n```ts\nimport { setupWalletSelector } from \"@near-wallet-selector/core\";\nimport { setupModal } from \"@near-wallet-selector/modal-ui\";\nimport { setupArepaWallet } from \"@near-wallet-selector/arepa-wallet\";\nimport { setupBitgetWallet } from \"@near-wallet-selector/bitget-wallet\";\nimport { setupBitteWallet } from \"@near-wallet-selector/bitte-wallet\";\nimport { setupCoin98Wallet } from \"@near-wallet-selector/coin98-wallet\";\nimport { setupEthereumWallets } from \"@near-wallet-selector/ethereum-wallets\";\nimport { setupHereWallet } from \"@near-wallet-selector/here-wallet\";\nimport { setupHotWallet } from \"@near-wallet-selector/hot-wallet\";\nimport { setupIntearWallet } from \"@near-wallet-selector/intear-wallet\";\nimport { setupLedger } from \"@near-wallet-selector/ledger\";\nimport { setupMathWallet } from \"@near-wallet-selector/math-wallet\";\nimport { setupMeteorWallet } from \"@near-wallet-selector/meteor-wallet\";\nimport { setupMeteorWalletApp } from \"@near-wallet-selector/meteor-wallet-app\";\nimport { setupMyNearWallet } from \"@near-wallet-selector/my-near-wallet\";\nimport { setupNarwallets } from \"@near-wallet-selector/narwallets\";\nimport { setupNearMobileWallet } from \"@near-wallet-selector/near-mobile-wallet\";\nimport { setupNearSnap } from \"@near-wallet-selector/near-snap\";\nimport { setupNightly } from \"@near-wallet-selector/nightly\";\nimport { setupOkxWallet } from \"@near-wallet-selector/okx-wallet\";\nimport { setupRamperWallet } from \"@near-wallet-selector/ramper-wallet\";\nimport { setupSender } from \"@near-wallet-selector/sender\";\nimport { setupUnityWallet } from \"@near-wallet-selector/unity-wallet\";\nimport { setupWalletConnect } from \"@near-wallet-selector/wallet-connect\";\nimport { setupWelldoneWallet } from \"@near-wallet-selector/welldone-wallet\";\nimport { setupXDEFI } from \"@near-wallet-selector/xdefi\";\n\nconst selector = await setupWalletSelector({\n  network: \"testnet\",\n  modules: [\n    setupArepaWallet(),\n    setupBitgetWallet(),\n    setupBitteWallet(),\n    setupCoin98Wallet(),\n    setupEthereumWallets({ wagmiConfig, web3Modal }),\n    setupHereWallet(),\n    setupHotWallet(),\n    setupIntearWallet(),\n    setupLedger(),\n    setupMathWallet(),\n    setupMeteorWallet(),\n    setupMeteorWalletApp({ contractId: \"guest-book.testnet\" }),\n    setupMyNearWallet(),\n    setupNarwallets(),\n    setupNearMobileWallet(),\n    setupNearSnap(),\n    setupNightly(),\n    setupOkxWallet(),\n    setupRamperWallet(),\n    setupSender(),\n    setupUnityWallet({\n      projectId: \"c4f79cc...\",\n      metadata: {\n        name: \"Your dApp name\",\n        description: \"Example dApp used by NEAR Wallet Selector\",\n        url: \"https://github.com/near/wallet-selector\",\n        icons: [\"https://avatars.githubusercontent.com/u/37784886\"],\n      },\n    }),\n    setupWalletConnect({\n      projectId: \"c4f79cc...\",\n      metadata: {\n        name: \"NEAR Wallet Selector\",\n        description: \"Example dApp used by NEAR Wallet Selector\",\n        url: \"https://github.com/near/wallet-selector\",\n        icons: [\"https://avatars.githubusercontent.com/u/37784886\"],\n      },\n    }),\n    setupWelldoneWallet(),\n    setupXDEFI(),\n  ],\n});\n\nconst modal = setupModal(selector, {\n  contractId: \"guest-book.testnet\"\n});\n```\n\n## Wallet Package Documentation\n\nEach wallet package contains its own `README` document, please refer inside the [packages folder](https://github.com/near/wallet-selector/tree/main/packages) for extra information.\n\n## Contributing\n\nContributors may find the [`examples`](./examples) directory useful as it provides a quick and consistent way to manually test new changes and/or bug fixes.\n\nMore details around contributing to this project can be found [here](./CONTRIBUTING.md).\n\n## Editor Setup\n\nThis project uses [ESLint](https://eslint.org/) (with [Prettier](https://prettier.io/)) to enforce a consistent coding style. It's important that you configure your editor correctly to avoid issues when you're ready to open a Pull Request.\n\nAlthough this project uses Prettier, it's simply an \"internal\" dependency to our ESLint configuration. This is because we want Prettier to handle code styling while avoiding conflicts with ESLint which specifically focuses on potentially problematic code. As a result, **it's important that you switch off Prettier in your editor and ensure only ESLint is enabled**.\n\n## License\n\nThis repository is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See [LICENSE-MIT](LICENSE-MIT) and [LICENSE-APACHE](LICENSE-APACHE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnear%2Fwallet-selector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnear%2Fwallet-selector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnear%2Fwallet-selector/lists"}