I am currently using block.io however with their "low" tag fee transactions are still $2+ and they do not offer a way to set custom withdraw fees in their API.

I'm not too sure what my options are but I want to look into setting up my own Bitcoin node/wallet on an external server that we can integrate with our dashboard.

I have a few questions:

1) How would I go about doing it?

2) How many hours would it take for someone with limited experiance? (I will probably be paying someone)

3) Right now block.io is nice because we have unlimited addresses I presume this wont be a problem with the RPC server?

1 Answer 1


There are two ways you can about doing this:

  • Using a Bitcoin Node (RPC)
  • Using a library like this

You asked about RPC so I will talk about that.


1. You can install the Bitcoin Daemon like this:
$ sudo apt-get install bitcoind

2. You have to start the daemon and wait for blocks to download.
You can start the daemon like so: $ bitcoind -daemon
You can check the progress of blockchain download like so: $ bitcoin-cli getinfo

If you don't have space to download the full chain, you can use the prune method. Create a new file ~/.bitcoin/bitcoin.conf and add prune {megabytes of space}. This will limit blockchain space allocation to the value of the prune method.

3. Setup your JSON RPC configuration. You can refer to this thread for adding your RPC username and password.

4. After the blockchain has been downloaded (~150GB), you can connect to the RPC server on port 8332 by default. You may use this library or this library to make calls to the RPC server in NodeJS; you may also use any JSON RPC client to make calls.

5. Use walletnotify to receive transaction updates related to your wallet. Setup an insight-api if you want to receive transaction updates from any wallet. You can use insight-api to index and retrieve transaction data and block data on demand as well.


Bitcoin API Calls - You may want to reference to these methods as you are programming

Bitcoin Full Node - More information on starting a local node if you are coming across trouble

Insight API - Used for indexing displaying all transactions and blocks.

walletnotify - Information on how to use walletnotify.

  • Thanks for the reply. Question about pruning, will the wallets API still be able to list transactions that happened before the prune? For example if we have 1GB limit would there be any problems in 6 months from now showing those transactions on our website?
    – Smittyyy
    Nov 28, 2017 at 17:27
  • I would not imagine so... the data would need to be stored somewhere.
    – Monstrum
    Nov 28, 2017 at 21:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.