Matching a good architecture with any particular use-case is never an easy task. The following section will explore the most common architectural patterns of interacting with the Bitcoin network. This should give you, the developer, a good general frame of reference within which to make the best decision for your specific use case.

There are several ways in which an application can interact with the Bitcoin network.

Bitcoin Node APIs

You can make a direct connection to a Bitcoin Node via JSON-RPC, and listen for events via ZeroMQ.

Merchant API (mAPI)

Connect to a third-party service provider’s API (typically a miner/transaction processor)

UTXO Managers

These are slightly more complicated edge applications which you deploy in your own infrastructure and which acts as a proxy to the larger bitcoin network.