{"id":21656846,"url":"https://github.com/piyushxcoder/solana-multisig-vault","last_synced_at":"2026-05-18T18:31:49.820Z","repository":{"id":264414037,"uuid":"892738541","full_name":"PiyushXCoder/solana-multisig-vault","owner":"PiyushXCoder","description":"It is a multi sig vault made from scratch using solana blockchain.","archived":false,"fork":false,"pushed_at":"2024-11-24T09:53:45.000Z","size":37,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T05:17:44.179Z","etag":null,"topics":["multisig","rust","solana","solana-program"],"latest_commit_sha":null,"homepage":"https://youtu.be/ZPDx6jIwGEg","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PiyushXCoder.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":"2024-11-22T17:22:27.000Z","updated_at":"2024-11-25T05:46:42.000Z","dependencies_parsed_at":"2024-11-24T05:25:09.098Z","dependency_job_id":"9658f713-fcc7-483c-8dc7-059a34948efd","html_url":"https://github.com/PiyushXCoder/solana-multisig-vault","commit_stats":null,"previous_names":["piyushxcoder/solana-multisig-vault"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiyushXCoder%2Fsolana-multisig-vault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiyushXCoder%2Fsolana-multisig-vault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiyushXCoder%2Fsolana-multisig-vault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiyushXCoder%2Fsolana-multisig-vault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PiyushXCoder","download_url":"https://codeload.github.com/PiyushXCoder/solana-multisig-vault/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244554123,"owners_count":20471173,"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":["multisig","rust","solana","solana-program"],"created_at":"2024-11-25T09:17:49.267Z","updated_at":"2026-05-18T18:31:49.771Z","avatar_url":"https://github.com/PiyushXCoder.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solana multisig vault\n\nIt is a multi sig vault made from scratch using solana blockchain. It uses solana program and pda to restrict write permission on data. \n\n\u003e Note: Data can be read without permission. \n\n## How it is different from tradition encryption based multisig approaches?\n\nSince any action(update) to data in the vault is being written in blockchain, we have traceability. In case of corruption the history of who participated remains in the blockchain.\n\n## How I can try?\n\nIt is simple to build and execute. \n\n- Setup environment for solana native and build and deploy. [This guide would be helpful.](https://solana.com/docs/intro/installation)\n- Use `cargo build-sbf` to build project\n- Use `solana program deploy target/deploy/solana_multisig_vault.so` to deploy it. I recommend running local validator since it is easy to clean.\n- You can try test scripts `PROG=\u003cpubkey of program\u003e KEYPAIR1=\u003cpath to key file 1\u003e KEYPAIR2=\u003cpath to key file 2\u003e bash test/test_all.sh`\n  \u003e We have used multiple key file to check for 2 votes. Read late sections to understand flow of multisig\n\n## But I am lazy!\n\nTry it on devnet. Fine?\n\n```Program Id: ESJ5HdSAAxv9k94zfJNVtpQ2CjmVndyaKQrA9PQQ94Wt```\n\n## What is the workflow?\n\nSo it works in 4 steps!\n\n- First of all you create a multisig account. The account now belongs to you*. There are basically 3 PDA accounts created.\n  - Multisg: Keep track of data necessary for permissions and voting rights\n  - Vault: Keeps actual data\n  - In Process: Keeps lits of id of actions active for your multisig\n  \u003e *Note: The PDA account is owned by program.\n- Propose an action: Any pubkey mentioned in multisig account with `Initiate` can propose an action. Proposing an action created 2 new account for that action,\n  - Action: Stores the action to be taken when voting finishes\n  - Voting: Keeps track of votes' vote.\n  \u003e Note: Each proposal has its own seperate action and voting account\n- Voting, as you can guess people votes the proposal\n- Execution, The action is performed and the temproary accounts are cleaned\n\nThats all! Check test scripts to know more.\n\n## Any TODO?\n\n- [ ] Add command to delete unsed proposal\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiyushxcoder%2Fsolana-multisig-vault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiyushxcoder%2Fsolana-multisig-vault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiyushxcoder%2Fsolana-multisig-vault/lists"}