{"id":21870002,"url":"https://github.com/solana-developers/tinywallet","last_synced_at":"2026-05-21T07:16:48.822Z","repository":{"id":264738899,"uuid":"894247547","full_name":"solana-developers/tinywallet","owner":"solana-developers","description":"An example core library for wallet abstraction","archived":false,"fork":false,"pushed_at":"2024-11-26T03:11:47.000Z","size":156,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-26T16:44:50.104Z","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/solana-developers.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":"2024-11-26T02:41:58.000Z","updated_at":"2024-11-26T03:11:50.000Z","dependencies_parsed_at":"2024-11-26T04:46:53.560Z","dependency_job_id":null,"html_url":"https://github.com/solana-developers/tinywallet","commit_stats":null,"previous_names":["solana-developers/tinywallet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solana-developers%2Ftinywallet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solana-developers%2Ftinywallet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solana-developers%2Ftinywallet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solana-developers%2Ftinywallet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solana-developers","download_url":"https://codeload.github.com/solana-developers/tinywallet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244875044,"owners_count":20524591,"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":"2024-11-28T06:09:55.665Z","updated_at":"2026-05-21T07:16:48.795Z","avatar_url":"https://github.com/solana-developers.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TinyWallet\n\nTinyWallet is an extendable wallet library designed to abstract different kinds of wallets for use within other programs.  \nIt is a basic demonstration of wallet management and transaction handling, conceptually similar to [Solana's Wallet Adapter](https://github.com/solana-labs/wallet-adapter).\n\n## Features\n\n- **Support for Multiple Keystore Types**: \n  - Local Filesystem\n  - Ledger Hardware Wallet\n  - Turnkey Service\n  - Environment Variables\n- **Transaction Building and Signing**: Easily build, sign, and send transactions using the provided key managers.\n- **Extendable Architecture**: Add support for additional keystore types as needed.\n\n## Installation\n\nTo install TinyWallet, use npm or yarn:\n\n```bash\npnpm install tinywallet\n```\n\n## Usage\n\nTo use TinyWallet, you need to create an instance of the `core` class with the desired keystore type. Here's a basic example:\n\n```javascript\nimport { core, KeystoreType } from 'tinywallet';\n\nasync function initializeWallet() {\n    const wallet = await core.CreateAsync(KeystoreType.Local);\n    console.log(`Keystore Type: ${wallet.GetKeystoreType()}`);\n}\n\ninitializeWallet();\n```\n\n## Configuration\n\nTinyWallet uses environment variables for configuration. Ensure the following variables are set in your `.env` file:\n\n- `KEYSTORE_TYPE`: The type of keystore to use (e.g., `local`, `ledger`, `turnkey`, `environment`).\n- `RPC_URL`: The Solana RPC URL.\n- `COMMITMENT`: The commitment level for transactions.\n\nFor Turnkey and Environment keystores, additional environment variables are required:\n\n- `BASE_URL`, `API_PUBLIC_KEY`, `API_PRIVATE_KEY`, `ORGANIZATION_ID`, `WALLET_ID` for Turnkey.\n- `ENV_PRIVATE_KEY` for Environment.\n\n## Testing\n\nTinyWallet includes a suite of tests to ensure functionality. To run the tests, use:\n\n```bash\npnpm test\n```\n\nEnsure that your environment is properly configured before running tests, as they may require network access and valid credentials.\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolana-developers%2Ftinywallet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolana-developers%2Ftinywallet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolana-developers%2Ftinywallet/lists"}