{"id":19215147,"url":"https://github.com/jaminima/crypto-wallet-wrapper","last_synced_at":"2026-04-17T08:05:14.987Z","repository":{"id":101351019,"uuid":"372449256","full_name":"Jaminima/Crypto-Wallet-Wrapper","owner":"Jaminima","description":"A Wrapper Library \u0026 Web-API for Wallets Based On Bitcoin Core","archived":false,"fork":false,"pushed_at":"2021-06-22T08:20:43.000Z","size":373,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-04T18:24:21.249Z","etag":null,"topics":["bitcoin","crypto","dogecoin","garlicoin","libray","payments","wallet-api","wallet-package","wallet-wrapper","webwallet"],"latest_commit_sha":null,"homepage":"","language":"C#","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/Jaminima.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":"2021-05-31T09:18:15.000Z","updated_at":"2021-06-22T08:20:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"e01c224c-33f9-4c69-8fba-66484091f862","html_url":"https://github.com/Jaminima/Crypto-Wallet-Wrapper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaminima%2FCrypto-Wallet-Wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaminima%2FCrypto-Wallet-Wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaminima%2FCrypto-Wallet-Wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaminima%2FCrypto-Wallet-Wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jaminima","download_url":"https://codeload.github.com/Jaminima/Crypto-Wallet-Wrapper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240289507,"owners_count":19777886,"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":["bitcoin","crypto","dogecoin","garlicoin","libray","payments","wallet-api","wallet-package","wallet-wrapper","webwallet"],"created_at":"2024-11-09T14:12:51.675Z","updated_at":"2025-11-14T08:03:17.245Z","avatar_url":"https://github.com/Jaminima.png","language":"C#","readme":"# Crypto Wallet Wrapper\n\nThis project aims to provide simplified interaction with [Bitcoin Core](https://github.com/bitcoin/bitcoin) like wallets. Enabling the writing of C# apps that can exploit the wallet libray or web enabled apps via the provided simple API.\n\nIncluded is a [Simple Site](https://github.com/Jaminima/Crypto-Wallet-Wrapper/tree/main/Simple-Site), functioning as nothing more than a web wallet. More details are available in its readme.\n\n## Important Notes\n\n## No Security\n\nThere is no real secuirty built into the current version of the API. A session key is provided on Login/Register that identifies a users current session. User does hold a placeholder password field but no validation is performed against this.\n\nSaid session key is stored in plain text in the API's memory. You **WILL** want to improve security if used in any production enviroment.\n\n## Flat File Storage\n\nConfirmed txID's (Wrapper Library) and User (API) data is currently stored in a flat file format. In any production environment it is highly recommended that you use a proper dB service. Chosing not to do so increases the risk of data corruption, especially at higher loads when write collisions may cause a crash.\n\n# Set-Up\n\nIn this section we will go through setting up a Core wallet example along with changing the config to work with said wallet.\n\nDownload your Crypto's core files.\n\n- [Bitcoin Core](https://github.com/bitcoin/bitcoin/releases)\n\n- [Dogecoin Core](https://github.com/dogecoin/dogecoin/releases)\n\n- [Garlicoin Core](https://github.com/GarlicoinOrg/Garlicoin/releases) - [Tutorial](https://guide.garli.co.in/wallet-win.html)\n\n- [Litecoin Core](https://github.com/litecoin-project/litecoin/releases)\n\nOnce downloaded and followed the typical steps to download and setup your core. You must ensure RPC is enabled in your cores config, typically located in a file like **%appdata%/Garlicoin/garlicoin.conf**. Ensure the **Server** setting is set to 1, also set the **rpcuser**, **rpcpassword** \u0026 **rpcport** to sensible values of your choice.\n\nFind the config.json located within your project (requires inital run to generate). Change your **corepath**, **coindName** to match those in your core folder. Also change the **rpcAddress**, **username** \u0026 **password** to match what you set in the core config.\n\nWhen using Garlicoin Core my config ends up looking like:\n\n| ![](https://github.com/Jaminima/Crypto-Wallet-Wrapper/blob/main/Imgs/FolderContents.png) | ![](https://github.com/Jaminima/Crypto-Wallet-Wrapper/blob/main/Imgs/Config.png) |\n| ---------------------------------------------------------------------------------------- |:-------------------------------------------------------------------------------- |\n\n# Working with the Libray\n\nThe Wallet-Wrapper can be imported like any other library. On your apps start the function must be called.\n\n```csharp\nusing Wallet_Wrapper;\n\nprivate static void Main(string[] args){\n    Cli_Manager.Start(true); //By setting to true, the app wont throw an error if the core is already running\n}\n```\n\nKey functions you may want to run are located in the \u003cu\u003eCli-Payments\u003c/u\u003e and \u003cu\u003eCli-Gets\u003c/u\u003e classes.\n\n## Payments\n\n```csharp\nawait Cli_Payments.PayOut(\"ADDRESS\", 0.5f); //Pay to a given address\nawait Cli_Payments.ConfirmPayment(\"receiveAddress\", \"txID\"); //Confirm receipt of a payment\n```\n\n## Gets\n\n```csharp\nObjects.Wallet wallet = await GetWalletInfo(); //Wallets full details\nObjects.Address address = await VerifyAddress(\"ADDRESS\");\nObjects.Transaction transaction = await GetTransaction(\"txID\");\n\nstring network = await GetNetworkInfo();\nstring blockchain = await GetBlockChainInfo();\nstring newAddress = await GetNewWalletAddress();\n\nbool networkRunning = await IsNetworkRunning();\n```\n\n# Working with the API\n\nAn [Insomnia](https://insomnia.rest/download) api doc file is provided in the repos root directory. The api is built using ASP.net so expanding to use a scaffolded database or adding aditional functionality should be easily acheived.\n\nThe **Important Notes** section has imprtant details about the API.\n\n# Known Issues\n\n- Sometimes API requests stall out indefinitely. Typically when using the GetTransaction function.\n\n# Contributing\n\nI welcome all contributions to the project. The addition of endpoints and wrapper functions should be listed and added into docs where possible.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaminima%2Fcrypto-wallet-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaminima%2Fcrypto-wallet-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaminima%2Fcrypto-wallet-wrapper/lists"}