I have 2 servers with running the same Bitcoin Core v0.9.3.0-g40d2041-beta (64-bit). I use getrawmempool to get all new transactions in the same time but I have different result. One server always have more transactions. Difference quite big - about 10%.


I am trying monitor all new transactions for some reasons and this difference means for me that getrawmempool not is not good way for this.

  • Where are these servers geographically located? Do they have the same .config files and command line parameters? Did you try restarting them both at the same time?
    – user11221
    Dec 11, 2014 at 22:10
  • In addition to @GeorgeKimionis's suggestions, you may want to use the -addnode start-up option or the addnode RPC to make sure both servers are connected to each other. Dec 11, 2014 at 23:14

2 Answers 2


Why do you expect them to be identical?

There are no guarantees about synchronization between mempool contents. In fact, if there was, we wouldn't need a blockchain at all. We'd just use "time of entering mempool" to order transactions.

Transactions are relayed across the network, but under various conditions, and usually the mempool contents reflects what a node decided to relay.

Reasons for variations between nodes:

  • Only the first of two double spends will typically enter the mempool (but some nodes use different policies, such a replace by fee).
  • There are various versions of nodes out there, with different relay fee requirements.
  • In some cases, relay is subjected to rate limiting, which means arbitrary dropping of transactions.
  • Standardness rules have changed over time, changing which types of transactions are accepted into the mempool.

getrawmempool: lists the transactions in bitcoind's memory and isnt the best way to monitor all new transactions.

You could use data from blockexplorers, the best one that does address tracking and analysis is blocktrail.com

  • I need to get transaction just after payment was made. I know only destination address(not from my wallet) and amount. I do not want to use external services. Let me know if you know another approach without using getrawmempool.
    – Alex
    Dec 12, 2014 at 16:07

Your Answer

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

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