{"id":28380688,"url":"https://github.com/0xsequence/ecosystem-wallet","last_synced_at":"2025-06-24T21:31:31.676Z","repository":{"id":267489449,"uuid":"871136434","full_name":"0xsequence/ecosystem-wallet","owner":"0xsequence","description":"Cross App Embedded Wallet solution for linking Embedded Wallets from anywhere","archived":false,"fork":false,"pushed_at":"2025-06-16T15:06:58.000Z","size":1312,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-06-16T15:26:06.290Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/0xsequence.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-11T10:46:55.000Z","updated_at":"2025-06-16T14:27:47.000Z","dependencies_parsed_at":"2025-02-03T15:21:14.980Z","dependency_job_id":"476e6a2f-6a5c-4ca6-83a6-1655353b7625","html_url":"https://github.com/0xsequence/ecosystem-wallet","commit_stats":null,"previous_names":["0xsequence/cross-app-embedded-wallet","0xsequence/ecosystem-wallet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0xsequence/ecosystem-wallet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fecosystem-wallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fecosystem-wallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fecosystem-wallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fecosystem-wallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xsequence","download_url":"https://codeload.github.com/0xsequence/ecosystem-wallet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xsequence%2Fecosystem-wallet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261759113,"owners_count":23205498,"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":[],"created_at":"2025-05-30T03:09:03.702Z","updated_at":"2025-06-24T21:31:31.669Z","avatar_url":"https://github.com/0xsequence.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ecosystem Wallet\n\n- `./wallet` contains a react app with embedded wallet integration + `walletTransport` that allows it to act as a wallet.\n- `./dapp` contains a react demo dapp that uses [`@0xsequence/cross-app-embedded-wallet-connector`](https://github.com/0xsequence/cross-app-embedded-wallet-connector) wagmi connector to use communicate to and use `./wallet` with user permission.\n\n## Architecture Overview\n\n![Cross App Embedded Wallet Architecture](./docs/architecture.png)\n\nThe cross-app embedded wallet implements a communication flow between dApps and the wallet application:\n\n1. The dApp communicates with the wallet through the cross-app embedded wallet connector for Wagmi\n2. The connector uses a ProviderTransport to handle communication\n3. Messages are sent between the ProviderTransport and WalletTransport\n4. The Wallet component handles three main functionalities:\n   - User Authentication\n   - Transaction Signing\n   - Message Signing\n\nThe wallet can be opened and send messages back to the dApp through the transport layer, enabling secure cross-application communication.\n\n## Wallet Environment Variables\n\nThe wallet application requires the following environment variables to be set:\n\n### Configuration\n\n- `VITE_PROJECT_ACCESS_KEY`: Sequence project access key\n- `VITE_WAAS_CONFIG_KEY`: WaaS (Wallet-as-a-Service) configuration key from sequence.build\n- `VITE_GOOGLE_CLIENT_ID`: Google OAuth client ID for social authentication\n- `VITE_APPLE_CLIENT_ID`: Apple client ID\n- `VITE_APPLE_REDIRECT_URI`: Apple redirect URI\n\n\n### Theme Customization\n\nThese environment variables allow you to customize the appearance and content of your project.\n\n#### General Settings\n\n- `VITE_PROJECT_NAME` - Sets the project name, used in page titles.\n- `VITE_FAVICON` - Specifies an image for the site favicon.\n- `VITE_PROJECT_BASE_THEME` - Sets the base theme for the design system. Options: `dark` (default) or `light`.\n- `VITE_PROJECT_HEADER_LOGO` - Specifies the logo used in the header/navigation (top left).\n- `VITE_PROJECT_BACKGROUND` - Defines the background image used across the site.\n- `VITE_PROJECT_BACKGROUND_MODE` - Determines how the background is displayed. Options: `cover` (default) or `tile` (repeat).\n- `VITE_PROJECT_AUTH_LOGO` - Logo to be used on the authentication card.\n\n#### Optional Authentication Screen \u0026 Messaging Customization\n\n- `VITE_PROJECT_AUTH_LOGO_SIZE` - Dimensions of the authentication logo in `{width}x{height}` format (e.g., `48x48`).\n- `VITE_PROJECT_AUTH_COVER` - A marketing image displayed next to the login methods.\n- `VITE_PROJECT_AUTH_TITLE` - A marketing title shown on the authentication screen.\n- `VITE_PROJECT_AUTH_MESSAGE` - A marketing message displayed on the authentication screen.\n- `VITE_PROJECT_AUTH_MESSAGE_COLOR` - Defines the color of the authentication message. Options: `black` or `white` (default: `white`).\n- `VITE_PROJECT_EMPTY_INVENTORY_MESSAGE`** - A message that the user sees when they have no inventory\n\nCreate a `.env` file in the `./wallet` directory and copy these variables from `.env.example`, replacing the values as needed for your configuration.\n\n### Discover Section Items\n\nThe discover items (apps/games) are configured via the `VITE_DISCOVER_ITEMS` environment variable. To update the items:\n\n1. Add `discover-items.json` with your items under /wallet\n2. Run `node stringify-discover-items.cjs`\n3. Copy the output into your `.env` file as `VITE_DISCOVER_ITEMS`\n\nThe resulting format will be,\n\n```json\n[\n  {\n    \"id\":\"mining-quest\",\n    \"title\":\"Mining Quest\",\n    \"img\":\"https://sequence.tor1.digitaloceanspaces.com/n64-pickaxe-mining-game-coverart.jpg\",\n    \"href\":\"https://arbitrum-game.ecosystem-demo.xyz/\",\n    \"categories\":[\"Games\"],\n    \"description\":\"Mining Quest is an addictive clicker game where you smash through rocks to uncover valuable treasures, rare gems, and hidden relics! Upgrade your tools, harness powerful boosts, and dig deeper into the depths to uncover legendary artifacts. Can you break through the toughest stones and become the ultimate miner? Start your journey and strike it rich in Mining Quest!\"\n  }\n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xsequence%2Fecosystem-wallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xsequence%2Fecosystem-wallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xsequence%2Fecosystem-wallet/lists"}