![]() |
VOOZH | about |
dotnet add package NBXplorer.Client --version 5.0.6
NuGet\Install-Package NBXplorer.Client -Version 5.0.6
<PackageReference Include="NBXplorer.Client" Version="5.0.6" />
<PackageVersion Include="NBXplorer.Client" Version="5.0.6" />Directory.Packages.props
<PackageReference Include="NBXplorer.Client" />Project file
paket add NBXplorer.Client --version 5.0.6
#r "nuget: NBXplorer.Client, 5.0.6"
#:package NBXplorer.Client@5.0.6
#addin nuget:?package=NBXplorer.Client&version=5.0.6Install as a Cake Addin
#tool nuget:?package=NBXplorer.Client&version=5.0.6Install as a Cake Tool
👁 NuGet
👁 Docker Automated buil
👁 CircleCI
A minimalist UTXO tracker for HD wallets. The goal is to provide a flexible, .NET-based UTXO tracker for HD wallets. The explorer supports P2SH, P2PKH, P2WPKH, P2WSH, Taproot and multi-signature derivations.
It works on a pruned node and indexes only what you track.
This explorer is not intended to be exposed to the internet; it should be used as an infrastructure tool for tracking the UTXOs of your own service.
You start by Creating a wallet (hot wallet), or Tracking a derivation scheme (cold wallet).
Second, Get the next unused address to get paid.
Listen to events through Polling, Long Polling or Web Sockets.
You can then List transactions, List UTXOs, or Create a PSBT for your app to sign.
When the transaction is signed, Broadcast it.
You can also track multiple derivation schemes or individual addresses by Creating a group.
It currently supports the following altcoins:
Read our API Specification.
Use --postgres flag to setup the connection string. See .
Read our .
If you are using Bitcoin core default settings:
On Powershell:
.\build.ps1
On Linux:
./build.sh
Then to run:
On Powershell:
.\run.ps1 --help
On Linux:
./run.sh --help
Example, if you have ltc node and btc node on regtest (default configuration), and want to connect to them: (see documentation for other options in the postgres connection string)
./run.sh --chains=btc,ltc --network=regtest --postgres "User ID=postgres;Host=127.0.0.1;Port=5432;Database=nbxplorer"
Check the API documentation, you can then use any client library:
Here is showing a 2-2 multisig with Alice and Bob that you can run on regtest.
Use our image. You can check for configuring and composing it bitcoin core.
If you are on Windows, I recommend Visual Studio 2022 (17.8.0). If you are on other platform and want lightweight environment, use Visual Studio Code. If you are hardcore, you can code on vim.
I like Visual Studio Code and Visual Studio 2022 as it allows me to debug in step by step.
NBXplorer supports configuration through command line arguments, configuration file, or environment variables.
If you are not using standard install for bitcoind, you will have to change the configuration file: In Windows it is located in
C:\Users\<user>\AppData\Roaming\NBXplorer\<network>\settings.config
On linux or mac:
~/.nbxplorer/<network>/settings.config
The default configuration assumes mainnet with only btc chain supported, and uses the default settings of bitcoind.
You can change the location of the configuration file with the --conf=pathToConf command line argument.
Please note that NBXplorer uses cookie authentication by default. If you run your Bitcoin/Litecoin/Dash nodes using their daemon (like bitcoind, litecoind or dashd), they generate a new cookie every time you start them, and that should work without any extra configuration.
If you run the node(s) using the GUI versions, like Bitcoin\Litecoin\Dash Core Qt with the -server parameter while you set the rpcusername and rpcpassword in their .conf files, you must set those values for every crypto you are planning to support.
See samples below.
You should use run.ps1 (Windows) or run.sh (Linux) to execute NBXplorer, but you can also execute it manually with the following command:
dotnet run --no-launch-profile -p .\NBXplorer\NBXplorer.csproj -- <parameters>
If you already have a compiled DLL, you can run the executable with the following command:
dotnet NBXplorer.dll <parameters>
Running NBXplorer HTTP server on port 20300, connecting to the BTC mainnet node locally.
--port=20300 --network=mainnet --btcnodeendpoint=127.0.0.1:32939
Running NBXplorer on testnet, supporting Bitcoin, Litecoin and Dash, using cookie authentication for BTC and LTC, and RPC username and password for Dash, connecting to all of them locally.
--chains=btc,ltc,dash --network=testnet --dashrpcuser=myuser --dashrpcpassword=mypassword
The same settings as above, for example export NBXPLORER_PORT=20300. This is usefull for configuring docker.
You can use the dotnet command which is part of .NET Core to run NBXplorer. To run from source you must have the .NET Core SDK installed e.g.
dotnet run NBXplorer.dll
As described above you may add configuration parameters if desired.
If you have a compiled version of NBXplorer you should have a file in your build folder named NBXplorer.dll. This cannot itself be directly executed on the command line as it is not an executable file. Instead we can use the dotnet runtime to execute the dll file.
e.g. dotnet NBXplorer.dll
This tool will only start scanning from the configured startheight. (By default, the height of the blockchain during your first run)
This means that you might not see old payments from your HD key.
If you need to see old payments, you need to configure --[crypto]startheight to a specific height of your choice, then run it again with --[crypto]rescan, e.g.
./run.sh --chains=ltc --ltcrescan --ltcstartheight=101
Postman is a useful tool for testing and experimenting with REST API's.
You can test the NBXplorer API quickly and easily using Postman.
If you use cookie authentication (enabled by default) in your locally run NBXplorer, you need to set that up in Postman:
__cookie__:0ff9cd83a5ac7c19a6b56a3d1e7a5c96e113d42dba7720a1f72a3a5e8c4b6c66__cookie__ part of your cookie file into username (whatever comes before the 😃Basic will be your Base64 encoded username and password.You can also disable authentication in NBXplorer for testing with the --noauth parameter. This makes testing quicker:
--noauth command line argument or the environment variable NBXPLORER_NOAUTH=1You are now ready to test the API - it is easiest to start with something simple such as the fees endpoint e.g.
http://localhost:24444/v1/cryptos/btc/fees/3
this should return a JSON payload e.g.
{
"feeRate": 9,
"blockCount": 3
}
If you receive a 401 Unauthorized then your cookie data is not working. Check you are using the current cookie by opening the cookie file again - also check the date/time of the cookie file to ensure it is the latest cookie (generated when you launched NBXplorer).
If you receive a 404 or timeout then Postman cannot see the endpoint
A better documentation is on the way, for now the only documentation is the client API in C# on nuget.
The ExplorerClient classes allows you to query unused addresses, and the UTXO of an HD PubKey.
You can take a look at the tests to see how it works.
There is a simple use case documented on Blockchain Programming in C#.
This is easy, from repo directory:
cd NBXplorer.Tests
dotnet test
The tests can take long the first time, as it download Bitcoin Core binaries. (Between 5 and 10 minutes)
First you need to add support for your altcoin to NBitcoin.Altcoins. (See here).
Once this is done and NBXplorer updated to use the last version of NBitcoin.Altcoins, follow .
If you want to test if everything is working, modify to match your altcoin.
Then run the tests.
Electrum wallet requires an unpruned node with indexing, which is space-intensive and may be difficult to sync.Electrum wallet only supports a single cryptocurrency on a single server. If you are an exchange, you would end up running multiple versions of barely maintained Electrum instances.Personal Electrum Server supports only a single wallet.Electrum protocol is cumbersome for HD wallets.Bitcoin Core RPC is inflexible and difficult to use. It also scales poorly when a wallet has too many addresses or UTXOs.Bitcoin Core RPC supports multiple wallets but isn't designed to handle thousands of them. Having too many wallets will not scale.This project is under MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 netstandard2.1 is compatible. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 3 NuGet packages that depend on NBXplorer.Client:
| Package | Downloads |
|---|---|
|
NArk.Core
Core services for the Ark protocol .NET SDK. Includes spending, batch management, VTXO synchronization, sweeping, wallet infrastructure, and gRPC transport. |
|
|
NLCoreBase
Package Description |
|
|
NArk.Blockchain.NBXplorer
Package Description |
Showing the top 3 popular GitHub repositories that depend on NBXplorer.Client:
| Repository | Stars |
|---|---|
|
btcpayserver/btcpayserver
Accept Bitcoin payments. Free, open-source & self-hosted, Bitcoin payment processor.
|
|
|
btcpayserver/NBXplorer
NBitcoin Explorer
|
|
|
bizanc/Bizanc.io.Core
Bizanc Blockchain
|
| Version | Downloads | Last Updated |
|---|---|---|
| 5.0.6 | 5,672 | 4/21/2026 |
| 5.0.5 | 15,448 | 7/2/2025 |
| 5.0.4 | 374 | 6/9/2025 |
| 5.0.3 | 336 | 6/9/2025 |
| 5.0.2 | 326 | 6/9/2025 |
| 5.0.1 | 327 | 6/9/2025 |
| 5.0.0 | 301 | 6/2/2025 |
| 4.3.12 | 299 | 6/2/2025 |
| 4.3.11 | 247 | 6/2/2025 |
| 4.3.10 | 255 | 6/2/2025 |
| 4.3.9 | 9,133 | 1/30/2025 |
| 4.3.8 | 231 | 1/30/2025 |
| 4.3.7 | 245 | 1/30/2025 |
| 4.3.6 | 3,258 | 11/30/2024 |
| 4.3.5 | 231 | 11/28/2024 |
| 4.3.4 | 5,591 | 11/14/2024 |
| 4.3.3 | 225 | 11/14/2024 |
| 4.3.2 | 5,521 | 6/4/2024 |
| 4.3.1 | 9,377 | 5/21/2024 |
| 4.3.0 | 10,290 | 1/18/2024 |