BitcoinCashClient 1.5.6

dotnet add package BitcoinCashClient --version 1.5.6                
NuGet\Install-Package BitcoinCashClient -Version 1.5.6                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BitcoinCashClient" Version="1.5.6" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BitcoinCashClient --version 1.5.6                
#r "nuget: BitcoinCashClient, 1.5.6"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install BitcoinCashClient as a Cake Addin
#addin nuget:?package=BitcoinCashClient&version=1.5.6

// Install BitcoinCashClient as a Cake Tool
#tool nuget:?package=BitcoinCashClient&version=1.5.6                

Build Status

About

BitcoinCashClient makes it trivially easy to integrate native (non-custodial) Bitcoin Cash transactions into any C# .NET application with internet access.

This library provides a simple interface enabling on-chain sending and receiving of Bitcoin Cash by abstracting away as much complexity as possible. Wallet (private key and public address) creation, fetching wallet info from a block explorer, fetching up-to-date price data, managing utxos (hashes and indexes), inputs and outputs, network fee calculation, transaction signing, and broadcasting to the network are ALL handled by this library behind the scenes.

Private keys are never exposed. Don't trust. Verify.

How to Use

Instantiate

using BitcoinCash;

var client = new BitcoinCashClient();

Create new wallet

Generate a new Bitcoin Cash private key and its associated public address.

var wallet = client.GetWallet();

Get existing live wallet

Use a private key to get a live wallet. This operation retrieves all utxos, calculates the wallet balance (and fiat value), and enables sending funds.

var privateKey = "<your-private-key>";
var wallet = client.GetWallet(privateKey);

Note: Again, the private key is never exposed. The key is used to compute the public address, which is then used to fetch the wallet info from a block explorer.

Send

Send the specified amount of Bitcoin Cash to the specified address.

// send one dollar's worth of BCH to the destination address
wallet.Send("<destination-address>", 1m, Currency.USDollar);

Send All

Send the entire wallet balance to the specified address.

wallet.SendAll("<destination-address>");

Get existing read-only wallet

Use a public address to get a read-only wallet.

var publicAddress = "<any-valid-bch-address>";
var wallet = client.GetWalletByAddress(publicAddress);

Please view the sample project for simple live examples.

For a detailed explanation of the code, please see this tutorial.

Version History

1.5

  • .NET 8 and C# 12
  • Send to many
  • Unambiguous error states

1.4

  • Convert address to CashAddr format
  • Check if address is valid

1.3

  • Mass wallet balance check

1.2

  • Support for many fiat currencies
  • Support for legacy addresses

1.1

  • Get fiat value

1.0

  • Create wallet
  • Get live wallet by private key
  • Get read-only wallet by public address
  • Get list of live wallets by list of private keys
  • Get list of read-only wallets by list of public addresses
  • All wallets include balance in satoshis and current value in USD
  • Send specified amount of USD or BCH to specified address
  • Send entire wallet balance to specified address

Feedback

BitcoinCashClient is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.5.6 222 8/1/2024
1.5.5 90 8/1/2024
1.5.4 69 7/29/2024
1.5.3 93 7/27/2024
1.5.2 91 7/27/2024
1.4.4 621 11/1/2023
1.4.3 150 10/26/2023
1.4.2 161 10/16/2023
1.4.1 175 10/10/2023
1.4.0 144 9/29/2023
1.3.0 171 9/26/2023
1.2.6 145 9/23/2023
1.2.5 128 9/23/2023
1.2.4 239 8/18/2023
1.2.3 201 7/3/2023
1.2.2 157 5/10/2023
1.2.1 153 5/5/2023
1.2.0 155 5/1/2023
1.1.1 166 4/26/2023
1.1.0 182 4/19/2023
1.0.8 196 3/31/2023
1.0.7 204 3/27/2023
1.0.6 185 3/27/2023
1.0.5 207 3/27/2023
1.0.4 222 3/19/2023
1.0.3 210 3/19/2023
1.0.2 209 3/19/2023
1.0.1 222 3/19/2023
1.0.0 227 3/7/2023

See ReadMe