{"id":34968606,"url":"https://github.com/kristoferlund/sui-wallet","last_synced_at":"2025-12-26T23:28:40.432Z","repository":{"id":320220374,"uuid":"1080728738","full_name":"kristoferlund/sui-wallet","owner":"kristoferlund","description":"A SUI wallet on ICP","archived":false,"fork":false,"pushed_at":"2025-10-22T15:09:54.000Z","size":1256,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-22T17:17:47.499Z","etag":null,"topics":["internet-computer","rust","sui","wallet"],"latest_commit_sha":null,"homepage":"https://ltouy-taaaa-aaaas-qcoca-cai.icp0.io/","language":"JavaScript","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/kristoferlund.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-21T19:29:59.000Z","updated_at":"2025-10-22T16:44:11.000Z","dependencies_parsed_at":"2025-10-22T17:18:08.264Z","dependency_job_id":"30856bd8-53c1-44b6-ace2-e9506202cbc1","html_url":"https://github.com/kristoferlund/sui-wallet","commit_stats":null,"previous_names":["kristoferlund/sui-wallet"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/kristoferlund/sui-wallet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kristoferlund%2Fsui-wallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kristoferlund%2Fsui-wallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kristoferlund%2Fsui-wallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kristoferlund%2Fsui-wallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kristoferlund","download_url":"https://codeload.github.com/kristoferlund/sui-wallet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kristoferlund%2Fsui-wallet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28064601,"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-12-26T02:00:06.189Z","response_time":55,"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":["internet-computer","rust","sui","wallet"],"created_at":"2025-12-26T23:28:39.239Z","updated_at":"2025-12-26T23:28:40.425Z","avatar_url":"https://github.com/kristoferlund.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A multiuser SUI wallet built on the Internet Computer (ICP)\n\nThis multiuser Sui wallet allows the user to generate a Sui address by logging in with their Internet Identity. The user can then send and receive Sui tokens to other users.\n\n\u003e [!TIP]\n\u003e Use this repository as a starting point for building your own multiuser Sui wallet on the Internet Computer.\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]](LICENSE)\n\n\n## Try it!\n\nYou can try a predeployed versions of the wallet:\n\nTestnet: \u003chttps://ltouy-taaaa-aaaas-qcoca-cai.icp0.io\u003e\n\n![](./media/screenshot.png)\n\n## Project notes\n\nAt all times when interacting with canisters on the IC you should consider the\ncosts involved, and the fact that update calls take 2-3 seconds to complete.\n\n- The Sui public key is retrieved from the backend canister on each login and\n  cached using React Query for the current session.\n- The balance and transactions are queried from the Sui blockchain via the Sui\n  RPC API. The backend canister handles signing transactions using the user's derived private key.\n\n\u003e [!IMPORTANT]\n\u003e This project is not affiliated with or endorsed by the DFINITY Foundation. It has not undergone any formal security review and is intended for educational and experimental purposes only. Do not use this code in production environments.\n\n## Setup, pre-requisites\n\nSetup your Internet Computer developer environment.\n\n[https://internetcomputer.org/docs/current/developer-docs/](https://internetcomputer.org/docs/current/developer-docs/)\n\n## Deploying the project\n\n### 1. Start the Internet Computer\n\n```bash\ndfx start --clean\n```\n\n### 2. Install dependencies\n\n```\npnpm install\n```\n\n### 3. Deploy the canisters\n\n```\ndfx deploy\n```\n\n\u003e [!TIP]\n\u003e If you get a permissions error when deploying, you might need to set the execute\n\u003e bit on the build script.\n\u003e\n\u003e ```\n\u003e chmod +x build.sh\n\u003e ```\n\n## Develop\n\nDuring development, you can run the frontend with hot reloading using Vite.\n\n```bash\npnpm run dev\n```\n\n## Before you start testing\n\n\u003e [!IMPORTANT]\n\u003e Make sure your Sui testnet configuration is set up correctly and you have testnet tokens for testing transactions.\n\n## Backend canister methods\n\n### `get_public_key`\n\nGet the secp256k1 public key for the calling principal.\n\nCall signature:\n\n```\nget_public_key : () -\u003e (result : variant { Ok : vec nat8; Err : text });\n```\n\nGet the public key for the calling principal:\n\n```bash\ndfx canister call backend get_public_key\n```\n\n### `sign`\n\nSign a 32-byte message digest using the ECDSA key derived for the calling principal.\n\nCall signature:\n\n```\nsign : (msg : vec nat8) -\u003e (result : variant { Ok : vec nat8; Err : text });\n```\n\nSign a message (must be exactly 32 bytes):\n\n```bash\ndfx canister call backend sign '(vec { /* 32 bytes */ })'\n```\n\n## Contributors\n\n\u003c!-- readme: collaborators,contributors -start --\u003e\n\u003ctable\u003e\n\t\u003ctbody\u003e\n\t\t\u003ctr\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003ca href=\"https://github.com/kristoferlund\"\u003e\n                    \u003cimg src=\"https://avatars.githubusercontent.com/u/9698363?v=4\" width=\"100;\" alt=\"kristoferlund\"/\u003e\n                    \u003cbr /\u003e\n                    \u003csub\u003e\u003cb\u003eKristofer\u003c/b\u003e\u003c/sub\u003e\n                \u003c/a\u003e\n            \u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003ctbody\u003e\n\u003c/table\u003e\n\u003c!-- readme: collaborators,contributors -end --\u003e\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for more\ndetails.\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request if you\nhave any suggestions or improvements.\n\n[contributors-shield]: https://img.shields.io/github/contributors/kristoferlund/sui-wallet.svg?style=for-the-badge\n[contributors-url]: https://github.com/kristoferlund/sui-wallet/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/kristoferlund/sui-wallet.svg?style=for-the-badge\n[forks-url]: https://github.com/kristoferlund/sui-wallet/network/members\n[stars-shield]: https://img.shields.io/github/stars/kristoferlund/sui-wallet?style=for-the-badge\n[stars-url]: https://github.com/kristoferlund/sui-wallet/stargazers\n[issues-shield]: https://img.shields.io/github/issues/kristoferlund/sui-wallet.svg?style=for-the-badge\n[issues-url]: https://github.com/kristoferlund/sui-wallet/issues\n[license-shield]: https://img.shields.io/github/license/kristoferlund/sui-wallet.svg?style=for-the-badge\n[license-url]: https://github.com/kristoferlund/sui-wallet/blob/master/LICENSE.txt\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkristoferlund%2Fsui-wallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkristoferlund%2Fsui-wallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkristoferlund%2Fsui-wallet/lists"}