<p>Why do you expect them to be identical?</p>

<p>There are <strong>no guarantees</strong> 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.</p>

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

<p>Reasons for variations between nodes:</p>

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

CC BY-SA 3.0
2015-03-12T16:28:08.243Z
2015-03-12T16:28:08.243Z
Pieter Wuille
<p>getrawmempool: lists the transactions in bitcoind's memory and isnt the best way to monitor all new transactions.</p>

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

CC BY-SA 3.0
2014-12-12T16:07:20.003Z
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
CC BY-SA 3.0
2014-12-12T00:21:47.503Z
2014-12-12T00:21:47.503Z
Lisa Cheng
<p>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%.</p>

<p>Why?</p>

<p>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.</p>

CC BY-SA 3.0
2014-12-11T23:14:25.857Z
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.
David A. Harding
<bitcoin-core><mempool>
2 bitcoinqt - getrawmempool returns different results
Alex
# 2 bitcoinqt - getrawmempool returns different results

(Asked by: username_0 on 2014-12-11)

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%.

Why?

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.

**Tags:** bitcoin-core, mempool

> **Comments:**
> **username_1**: 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.  

---

## 2 answers

### Answer by username_2 on 2015-03-12. Score: 3

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.


---

### Answer by username_3 on 2014-12-12. Score: 0

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

> **Comments:**
> **username_0**: 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.  

---

