<p>The truth is somewhere in the middle. Your colleague is correct to point out that there is an ongoing cost for maintaining your own full nodes. Beside the employee cost, there is also the cost for the actual server infrastructure, which may be higher than you think if you consider that you will need to maintain high availability,  redundancy, testing instances, and that you should sequester each foreign software from your own network and other nodes.</p>
<p>Overall, you can probably get away with having fewer infrastructure engineers than the count of supported cryptocurrencies, as maintaining a full node should not be a full-time effort. For example, the maintenance work between Bitcoin and bitcoin-derived altcoins such as Litecoin and BCH would have large overlaps. Cryptocurrencies with unrelated codebases and more strongly deviating APIs and data structures will be significantly more work. Frankly, the reference implementations of some &quot;top 20&quot; cryptocurrencies are inadequate for production use. If you deploy your nodes in the form of infrastructure as code, you have more development effort up front, but significantly less work later on.</p>
<p>However, the biggest cost difference is the time and effort you will need to invest to build out your own integrations with each different full node. The wallets packaged with full nodes usually do not scale to the needs of an enterprise, so you will likely need to invest in custom blockchain indexing, wallet software, address management, key management, transaction building, balance tracking, user management, etc. This is where the mentioned services can provide a lot of the heavy lifting. If you do end up developing your own integrations, I would definitely recommend having at least one engineer per supported cryptocurrency that is passionate about it specifically.</p>
<p>Even if you decide going with one of the mentioned service providers, I would heartily recommend that you run your own full nodes to reconcile the information the service provides with the corresponding blockchain data. This will still save you from doing your own wallet management, address management, transaction building, multisignature setup, simplify scaling, and let you focus on getting your business off the ground more quickly. You may even consider using a service provider intermittently, and then transition to self-hosting as you finish work on your own integrations.</p>
<p><strong>Just to be clear: you <em>fully entrust</em> the future existence of your company to such a service provider. I hope that makes you at least a little bit uncomfortable and that you thoroughly take their approach to security and your counterparty-risk to them into account for your decision.</strong></p>
<p>In the past few years, I have observed a few companies being extremely successful and rapidly leveling up their UX by focusing just on Bitcoin and sidestepping altcoins altogether. You may even consider a hybrid approach where you build your own Bitcoin solution and use a separate service for whatever alts you must support to limit your exposure.</p>
<p>Disclosure: In my previous job I was the UTXO Coin lead at BitGo.</p>

CC BY-SA 4.0
2021-02-05T19:37:55.443Z
Thank you for your excellent analysis! "I would definitely recommend having at least one engineer per supported cryptocurrency that is passionate about it specifically" As you indicated, with self hosting option it's necessary to hire someone with a high skill set for **each** (loosely related) coin. And since it is a relatively uncommon skill set, this talent won't come cheap. The main problem, the way I see it, is that as a "startup" you are paying a very large sum of $$$ **upfront**, regardless of the number of transactions you process initially  (cont)
Design X
CC BY-SA 4.0
2021-02-05T19:40:31.190Z
(continued) In contrast, while most 3rd party services charge a percentage of the withdrawal amount, you are not paying $200,000 upfront to use their service. You pay only based on the amount of $$$ you process in transactions. I think this is an important issue for startups. Also, the scaling issue you mentioned is important. Do you setup infrastructure to handle 1,000 transaction per day or 100,000?
Design X
CC BY-SA 4.0
2021-02-05T19:58:12.323Z
@DesignX: I agree, developers with a cryptocurrency background is not neither cheap nor abundant. Obviously, it depends on your location, but I suspect that you may find that $40,000 p.a. to be actually highly optimistic. In the US, you'd probably be looking at $150k+ per position (salary+rest). Even going with a service provider, you will not be able to provide the full palette immediately. Start with one or two, do those well, add what makes sense as you grow.
Murch
CC BY-SA 4.0
2021-02-05T20:00:25.973Z
I can't tell you at which volume your operation would break even, it depends on what amounts those transactions encompass, whether you are talking about on-chain transactions or trades, what your actual costs and revenue look like.
Murch
CC BY-SA 4.0
2021-02-09T21:08:58.823Z
While my answer mentions some other cryptocurrencies and comments on the cost of supporting them, I fail to see where I endorse or promote any.
Murch
CC BY-SA 4.0
2021-02-05T19:07:40.377Z
2021-02-05T20:03:17.313Z
2021-02-05T20:03:17.313Z
Murch
<p>We are a medium size company building a blockchain application that requires us to interact with the Bitcoin blockchain (+ several other cryptocurrencies). One option is for us to use a 3rd party service that provides us with a uniform API to interact with the blockchain (some examples are BitPay, BlockCypher, BitGo &amp; CoinPayments). The other option is to self host the blockchain node on our servers and natively interact with the blockchain (no middleman involved).</p>
<p>If we go with 3rd party services there’s usually a monthly fee and/or a small percentage charged for each withdrawal (between 0.25% - 1%). So this would be one big downside of going with a 3rd party service. On the other hand, if we host the blockchain ourselves we would be required to perform ongoing maintenance, server upgrades, implement extra security protocols and so on.</p>
<p><em>A colleague warned me that for every coin we wish to support, we will be required to hire a dedicated expert developer to maintain each node at a cost of <strong>$40,000 per year per node</strong></em></p>
<p>To be clear, we are not concerned about the initial setup of the nodes as we have expert developers who will assist us with that. Our primary concern is related to the <em>ongoing</em> costs to maintain, upgrade, debug and deal with ongoing security concerns of running a large number of nodes on our own server.</p>
<p>It is cheaper for us to hire a developer who will setup all the nodes on our server vs. paying a monthly fee and/or withdrawal fee. Our only concern is related to the <em>long term</em> maintenance costs associated with self hosting nodes.</p>
<p>Are the concerns of my colleague valid or unfounded? Are there valid reasons to believe we will regret self hosting in the long term due to ongoing maintenance costs? If so, what are some issues that we are overlooking with self hosting?</p>
<p>Thank you</p>
<p><strong>Note:</strong></p>
<p>I did see <a href="https://bitcoin.stackexchange.com/a/69864/115128">this SE answer</a> that partially addressees this issue. However, a big part of the answer is focused on the initial setup costs of self hosting:</p>
<blockquote>
<p>Using RPC calls to your local bitcoin node requires then some
developer knowledge, or a dev-team. That can add to costs in setting
up your environment</p>
</blockquote>
<p>As I stated in my question, this is NOT really a concern for us. Our <em>only</em> concern is related to the ongoing costs of self hosting vs. using 3rd party service.</p>

CC BY-SA 4.0
2021-02-05T18:52:56.837Z
Where could they have possibly got the idea that maintaining a bitcoin node costs $40,000 a year?
Claris
CC BY-SA 4.0
2021-02-05T19:21:19.107Z
@Prayank No. I'm fully aware of the alternatives as I explicitly state in my question. My question is NOT about what alternatives exist but about the long term maintenance costs (maintaining, updating, scaling and securing) self hosted nodes vs. using a 3rd party service.
Design X
CC BY-SA 4.0
2021-02-05T22:02:14.773Z
@Anonymous perhaps not for bitcoin, but for some poorly developed altcoins that number is maybe too low
chytrik
<bitcoin-core><bitcoind><exchanges><client><full-node>
Pros & Cons of Self Hosting Bitcoin Node vs using a 3rd Party Service?
Design X
# Pros & Cons of Self Hosting Bitcoin Node vs using a 3rd Party Service?

(Asked by: username_0 on 2021-02-05)

We are a medium size company building a blockchain application that requires us to interact with the Bitcoin blockchain (+ several other cryptocurrencies). One option is for us to use a 3rd party service that provides us with a uniform API to interact with the blockchain (some examples are BitPay, BlockCypher, BitGo & CoinPayments). The other option is to self host the blockchain node on our servers and natively interact with the blockchain (no middleman involved).

If we go with 3rd party services there’s usually a monthly fee and/or a small percentage charged for each withdrawal (between 0.25% - 1%). So this would be one big downside of going with a 3rd party service. On the other hand, if we host the blockchain ourselves we would be required to perform ongoing maintenance, server upgrades, implement extra security protocols and so on.

*A colleague warned me that for every coin we wish to support, we will be required to hire a dedicated expert developer to maintain each node at a cost of **$40,000 per year per node***

To be clear, we are not concerned about the initial setup of the nodes as we have expert developers who will assist us with that. Our primary concern is related to the *ongoing* costs to maintain, upgrade, debug and deal with ongoing security concerns of running a large number of nodes on our own server.

It is cheaper for us to hire a developer who will setup all the nodes on our server vs. paying a monthly fee and/or withdrawal fee. Our only concern is related to the *long term* maintenance costs associated with self hosting nodes.

Are the concerns of my colleague valid or unfounded? Are there valid reasons to believe we will regret self hosting in the long term due to ongoing maintenance costs? If so, what are some issues that we are overlooking with self hosting?

Thank you

**Note:**

I did see [this SE answer](https://bitcoin.stackexchange.com/a/69864/115128) that partially addressees this issue. However, a big part of the answer is focused on the initial setup costs of self hosting:

> Using RPC calls to your local bitcoin node requires then some
> developer knowledge, or a dev-team. That can add to costs in setting
> up your environment

As I stated in my question, this is NOT really a concern for us. Our *only* concern is related to the ongoing costs of self hosting vs. using 3rd party service.

**Tags:** bitcoin-core, bitcoind, exchanges, client, full-node

> **Comments:**
> **username_1**: Where could they have possibly got the idea that maintaining a bitcoin node costs $40,000 a year?  
> **username_0**: @Prayank No. I'm fully aware of the alternatives as I explicitly state in my question. My question is NOT about what alternatives exist but about the long term maintenance costs (maintaining, updating, scaling and securing) self hosted nodes vs. using a 3rd party service.  
> **username_2**: @Anonymous perhaps not for bitcoin, but for some poorly developed altcoins that number is maybe too low  

---

## 1 answers

### Answer by username_3 on 2021-02-05. Score: 3 | Accepted answer

The truth is somewhere in the middle. Your colleague is correct to point out that there is an ongoing cost for maintaining your own full nodes. Beside the employee cost, there is also the cost for the actual server infrastructure, which may be higher than you think if you consider that you will need to maintain high availability, redundancy, testing instances, and that you should sequester each foreign software from your own network and other nodes.

Overall, you can probably get away with having fewer infrastructure engineers than the count of supported cryptocurrencies, as maintaining a full node should not be a full-time effort. For example, the maintenance work between Bitcoin and bitcoin-derived altcoins such as Litecoin and BCH would have large overlaps. Cryptocurrencies with unrelated codebases and more strongly deviating APIs and data structures will be significantly more work. Frankly, the reference implementations of some "top 20" cryptocurrencies are inadequate for production use. If you deploy your nodes in the form of infrastructure as code, you have more development effort up front, but significantly less work later on.

However, the biggest cost difference is the time and effort you will need to invest to build out your own integrations with each different full node. The wallets packaged with full nodes usually do not scale to the needs of an enterprise, so you will likely need to invest in custom blockchain indexing, wallet software, address management, key management, transaction building, balance tracking, user management, etc. This is where the mentioned services can provide a lot of the heavy lifting. If you do end up developing your own integrations, I would definitely recommend having at least one engineer per supported cryptocurrency that is passionate about it specifically.

Even if you decide going with one of the mentioned service providers, I would heartily recommend that you run your own full nodes to reconcile the information the service provides with the corresponding blockchain data. This will still save you from doing your own wallet management, address management, transaction building, multisignature setup, simplify scaling, and let you focus on getting your business off the ground more quickly. You may even consider using a service provider intermittently, and then transition to self-hosting as you finish work on your own integrations.

**Just to be clear: you *fully entrust* the future existence of your company to such a service provider. I hope that makes you at least a little bit uncomfortable and that you thoroughly take their approach to security and your counterparty-risk to them into account for your decision.**

In the past few years, I have observed a few companies being extremely successful and rapidly leveling up their UX by focusing just on Bitcoin and sidestepping altcoins altogether. You may even consider a hybrid approach where you build your own Bitcoin solution and use a separate service for whatever alts you must support to limit your exposure.

Disclosure: In my previous job I was the UTXO Coin lead at BitGo.

> **Comments:**
> **username_0**: Thank you for your excellent analysis! "I would definitely recommend having at least one engineer per supported cryptocurrency that is passionate about it specifically" As you indicated, with self hosting option it's necessary to hire someone with a high skill set for **each** (loosely related) coin. And since it is a relatively uncommon skill set, this talent won't come cheap. The main problem, the way I see it, is that as a "startup" you are paying a very large sum of $$$ **upfront**, regardless of the number of transactions you process initially  (cont)  
> **username_0**: (continued) In contrast, while most 3rd party services charge a percentage of the withdrawal amount, you are not paying $200,000 upfront to use their service. You pay only based on the amount of $$$ you process in transactions. I think this is an important issue for startups. Also, the scaling issue you mentioned is important. Do you setup infrastructure to handle 1,000 transaction per day or 100,000?  
> **username_3**: @username_0: I agree, developers with a cryptocurrency background is not neither cheap nor abundant. Obviously, it depends on your location, but I suspect that you may find that $40,000 p.a. to be actually highly optimistic. In the US, you'd probably be looking at $150k+ per position (salary+rest). Even going with a service provider, you will not be able to provide the full palette immediately. Start with one or two, do those well, add what makes sense as you grow.  
> **username_3**: I can't tell you at which volume your operation would break even, it depends on what amounts those transactions encompass, whether you are talking about on-chain transactions or trades, what your actual costs and revenue look like.  
> **username_3**: While my answer mentions some other cryptocurrencies and comments on the cost of supporting them, I fail to see where I endorse or promote any.  

---

