{"id":14968459,"url":"https://github.com/viaprotocol/web3-wallets","last_synced_at":"2025-04-05T00:05:25.379Z","repository":{"id":36963445,"uuid":"452568966","full_name":"viaprotocol/web3-wallets","owner":"viaprotocol","description":"Connect multiple web3 wallets to your dapp easily","archived":false,"fork":false,"pushed_at":"2024-07-15T03:03:33.000Z","size":767,"stargazers_count":159,"open_issues_count":3,"forks_count":68,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-28T23:03:26.948Z","etag":null,"topics":["blockchain","dapp","erc20","eth","ethereum","evm","metamask","phantom","solana","solidity","walletconnect","web3"],"latest_commit_sha":null,"homepage":"https://via.exchange","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/viaprotocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-01-27T06:40:21.000Z","updated_at":"2025-03-04T04:54:00.000Z","dependencies_parsed_at":"2024-09-27T10:00:50.168Z","dependency_job_id":"0c643ee4-ce7e-4fb7-adee-5dba577f8b71","html_url":"https://github.com/viaprotocol/web3-wallets","commit_stats":{"total_commits":221,"total_committers":15,"mean_commits":"14.733333333333333","dds":0.7104072398190044,"last_synced_commit":"44e90aa26487bf7625da771a2f2eaf3e4a05eb98"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viaprotocol%2Fweb3-wallets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viaprotocol%2Fweb3-wallets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viaprotocol%2Fweb3-wallets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viaprotocol%2Fweb3-wallets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viaprotocol","download_url":"https://codeload.github.com/viaprotocol/web3-wallets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266562,"owners_count":20910836,"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":["blockchain","dapp","erc20","eth","ethereum","evm","metamask","phantom","solana","solidity","walletconnect","web3"],"created_at":"2024-09-24T13:39:57.625Z","updated_at":"2025-04-05T00:05:25.357Z","avatar_url":"https://github.com/viaprotocol.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://via.exchange\" target=\"_blank\"\u003e\u003cimg alt=\"Via Protocol is the most advanced cross-chain aggregation protocol\" src=\"https://user-images.githubusercontent.com/55061526/185308497-3d70e503-d4c8-4b9f-a5fd-9bf9083c4793.png\" width=\"100%\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n\n# Web3 wallets\n\u003e Universal adapter to Ethereum and Solana\n\n[![NPM Version][npm-image]][npm-url]\n[![Downloads Stats][npm-downloads]][npm-url]\n[![Discord][discord-image]][discord-url]\n[![Gitmoji support][gitmoji-image]][gitmoji-url]\n\n## Features\n\n- 🚀 Built-in functions for working with signatures, connecting wallets, tracking the status of transactions, ENS names, and more.\n- 💼 Built-in wallet connectors for MetaMask, WalletConnect, Coinbase Wallet, Keplr, xDefi, Phantom (Solana) and Injected wallets.\n- 🌀 Auto-refresh data on wallet, block, and network changes\n- 🦄 TypeScript ready\n- 🌏 All supported networks are in [networks.ts](https://github.com/viaprotocol/web3-wallets/blob/main/src/networks.ts)\n\n\n## Supported wallets\n\n- MetaMask\n- WalletConnect (all WalletConnect-compatible wallets are supported, **\u003e100 wallets!**)\n- Coinbase Wallet\n- Phantom (Solana)\n- Keplr (Cosmos, Osmosis, Astar)\n- xDeFi (EVM networks, Bitcoin, Bitcoin Cash, Litecoin)\n- Safe (aka Gnosis Safe Multisig Wallet)\n\n\n## Installation\n\n```bash\nyarn add @viaprotocol/web3-wallets\n```\n\n## Quick start\n\n```tsx\nimport { useContext } from 'react'\nimport { WalletContext, WalletProvider } from '@viaprotocol/web3-wallets'\n\nfunction App() {\n  return (\n    \u003cWalletProvider\u003e\n      \u003cNestedComponent /\u003e\n    \u003c/WalletProvider\u003e\n  )\n}\n\nfunction NestedComponent() {\n  const { connect, isConnected, address } = useContext(WalletContext)\n\n  if (!isConnected) {\n    return (\n      // Select MetaMask and connect to ETH Mainnet\n      \u003cbutton\n        type=\"button\"\n        onClick={() =\u003e connect({ name: 'MetaMask', chainId: 1 })}\n      \u003eConnect wallet\u003c/button\u003e\n    )\n  }\n\n  return (\n    \u003cp\u003e{address}\u003c/p\u003e\n  )\n}\n```\n\n\n## Local development\n\nUnfortunately, there is no playground in the library at the moment, so local development is done with [yalc](https://github.com/wclr/yalc).\n\n1. First, install the library:\n\n```\nyarn global add yalc\n```\n\n2. Make changes to the `web3-wallets` code\n\n3. Run the following command to build the library:\n\n```\nyarn publish:yalc\n```\n\n4. In the project you are going to test your functionality, initialize the package fetch from `yalc`\n\n```\nyalc add @viaprotocol/web3-wallets\n```\n\n5. Install `yalc` version of web3-wallets\n\n```\nyarn add @viaprotocol/web3-wallets\n```\n\n6. After the library is installed, you can use it in your project.\n\n(if you are using vite, you need to run it with `--force` param)\n\n7. Run the following command to remove the library, after you are done with testing:\n\n```\nyalc remove @viaprotocol/web3-wallets \u0026\u0026 yarn\n```\n\n\n## Contributing\n\nWe use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) in our project to name commits. And we would be very grateful if you would also follow this convention.\n\n*Scope is optional.*\n\n✌🏻 Additionally, it would be cool to put emoji according to [Gitmoji's guide](https://gitmoji.dev/) ([VSCode plugin](https://marketplace.visualstudio.com/items?itemName=seatonjiang.gitmoji-vscode), [WebStorm plugin](https://plugins.jetbrains.com/plugin/12383-gitmoji-plus-commit-button))\n\n1. Fork it (\u003chttps://github.com/viaprotocol/web3-wallets/fork\u003e)\n2. Create your feature branch (`git checkout -b feature/fooBar`)\n3. Commit your changes (`git commit -am '✨ feat: add some fooBar'`)\n4. Push to the branch (`git push origin feature/fooBar`)\n5. Create a new Pull Request\n\n\n## Any questions?\n\nYou can write us in [Discord](https://discord.gg/viaexchange) with any questions about usage, integrations, adding new wallets, etc.\n\n\u003c!-- Markdown link \u0026 img dfn's --\u003e\n[npm-image]: https://img.shields.io/npm/v/@viaprotocol/web3-wallets.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/@viaprotocol/web3-wallets\n[npm-downloads]: https://img.shields.io/npm/dm/@viaprotocol/web3-wallets?style=flat-square\n[gitmoji-url]: https://gitmoji.dev\n[gitmoji-image]: https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat-square\n[discord-url]: https://discord.gg/viaexchange\n[discord-image]: https://badgen.net/discord/members/viaexchange\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviaprotocol%2Fweb3-wallets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviaprotocol%2Fweb3-wallets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviaprotocol%2Fweb3-wallets/lists"}