{"id":27982107,"url":"https://github.com/codebender828/sonic-squads-toolkit","last_synced_at":"2026-02-28T16:30:58.601Z","repository":{"id":279525270,"uuid":"939097308","full_name":"codebender828/sonic-squads-toolkit","owner":"codebender828","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-26T01:57:39.000Z","size":29,"stargazers_count":1,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-08T04:45:30.894Z","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/codebender828.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-26T01:37:56.000Z","updated_at":"2025-03-17T17:44:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"81ea2e11-6a9b-4b14-9d11-0e269861bda1","html_url":"https://github.com/codebender828/sonic-squads-toolkit","commit_stats":null,"previous_names":["mirrorworld-universe/sonic-squads-toolkit","codebender828/sonic-squads-toolkit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codebender828/sonic-squads-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebender828%2Fsonic-squads-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebender828%2Fsonic-squads-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebender828%2Fsonic-squads-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebender828%2Fsonic-squads-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codebender828","download_url":"https://codeload.github.com/codebender828/sonic-squads-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebender828%2Fsonic-squads-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29942779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T13:49:17.081Z","status":"ssl_error","status_checked_at":"2026-02-28T13:48:50.396Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-05-08T03:48:07.864Z","updated_at":"2026-02-28T16:30:58.586Z","avatar_url":"https://github.com/codebender828.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sonic Squads Toolkit\n\nThis toolkit provides utilities for working with Squads V4 multi-signature wallets on Solana.\n\n## Quick Reference\n\n| Network             | RPC URL                                | Squads V4 Program ID                          |\n| ------------------- | -------------------------------------- | --------------------------------------------- |\n| Sonic Testnet       | `https://api.testnet.sonic.game`       | `sqdsFBUUwbsuoLUhoWdw343Je6mvn7dGVVRYCa4wtqJ` |\n| Sonic Mainnet-Alpha | `https://api.mainnet-alpha.sonic.game` | `sqdsFBUUwbsuoLUhoWdw343Je6mvn7dGVVRYCa4wtqJ` |\n\n## Installation\n\nTo install dependencies:\n\n```bash\nbun install\n```\n\n## Create Multisig\n\nThe toolkit includes a script to create a new Squads V4 multisig with configurable members and threshold.\n\n### Setup\n\n**Important**: Before using the toolkit, you must replace the dummy keypair file with your own admin keypair:\n\n1. Generate your own Solana keypair if you don't already have one\n2. Create a `.credentials` directory if it doesn't exist: `mkdir -p .credentials`\n3. Save your keypair JSON file as `.credentials/multisig_admin.json`\n\n⚠️ **Security Warning**: Never share your keypair or commit it to version control. The sample keypair included in this repository is for demonstration purposes only and should not be used.\n\n### Usage\n\n```bash\nbun run src/create-multisig.ts --keypair \u003cpath-to-keypair\u003e [options]\n```\n\n### Required Parameters\n\n- `--keypair \u003cpath\u003e`: Path to the admin keypair JSON file that will be used to sign transactions and will be the first member of the multisig\n\n### Optional Parameters\n\n- `--url \u003crpc-url\u003e`: Custom RPC URL (defaults to https://api.testnet.sonic.game)\n- `--memo \u003cstring\u003e`: Custom memo for the multisig creation transaction\n- `--member \u003cpubkey\u003e`: Additional member public key (can be specified multiple times)\n- `--threshold \u003cnumber\u003e`: Number of signatures required to approve transactions (defaults to 1, cannot exceed total members)\n\n### Examples\n\nCreate a basic multisig with just the admin keypair as a member:\n\n```bash\nbun run src/create-multisig.ts --keypair .credentials/multisig_admin.json\n```\n\nCreate a multisig with additional members and custom threshold:\n\n```bash\nbun run src/create-multisig.ts \\\n  --keypair .credentials/multisig_admin.json \\\n  --member EHRFSE3mnpCVkBtL3F23miWyjgaLVjnucC9VDuT5Qin7 \\\n  --member 6Qs4nVtVLH3V22146JENLPCdVnk11xPzvEYBxbBpK31g \\\n  --threshold 2\n```\n\nCreate a multisig for Sonic Mainnet:\n\n```bash\nbun run src/create-multisig.ts \\\n  --keypair .credentials/multisig_admin.json \\\n  --url https://api.mainnet-alpha.sonic.game \\\n  --memo \"My Project Treasury Multisig\"\n```\n\n### Output\n\nOn successful execution, the script will output:\n\n- The transaction signature\n- The multisig account address (important to save for future interactions)\n\n## Notes\n\n- By default, the threshold is set to 1 if not specified\n- All members are given full permissions in the multisig\n- The admin keypair will automatically be included as the first member of the multisig\n- Ensure you have sufficient SOL in your admin account to pay for transaction fees\n- The threshold represents the minimum number of signatures required to approve a transaction\n\nThis project was created using `bun init` in bun v1.1.18. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodebender828%2Fsonic-squads-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodebender828%2Fsonic-squads-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodebender828%2Fsonic-squads-toolkit/lists"}