diff --git a/peer/peer.go b/peer/peer.go
index 02c3fbd02..8f136fcfe 100644
--- a/peer/peer.go
+++ b/peer/peer.go
@@ -235,6 +235,10 @@ type Config struct {
 	// peer.MaxProtocolVersion will be used.
 	ProtocolVersion uint32
 
+	// DisableRelayTx specifies if the remote peer should be informed to
+	// not send inv messages for transactions.
+	DisableRelayTx bool
+
 	// Listeners houses callback functions to be invoked on receiving peer
 	// messages.
 	Listeners MessageListeners
@@ -798,6 +802,9 @@ func (p *Peer) pushVersionMsg() error {
 	// Advertise our max supported protocol version.
 	msg.ProtocolVersion = int32(p.ProtocolVersion())
 
+	// Advertise if inv messages for transactions are desired.
+	msg.DisableRelayTx = p.cfg.DisableRelayTx
+
 	p.QueueMessage(msg, nil)
 	return nil
 }
diff --git a/server.go b/server.go
index f887970f2..28c9e90fb 100644
--- a/server.go
+++ b/server.go
@@ -1403,6 +1403,7 @@ func newPeerConfig(sp *serverPeer) *peer.Config {
 		UserAgentVersion: userAgentVersion,
 		ChainParams:      sp.server.chainParams,
 		Services:         sp.server.services,
+		DisableRelayTx:   false,
 	}
 }