diff --git a/internal/pkg/config/config.go b/internal/pkg/config/config.go
index 0e446a9..7d6c4e4 100644
--- a/internal/pkg/config/config.go
+++ b/internal/pkg/config/config.go
@@ -53,9 +53,10 @@
 	// defaultHearbeatFailReportInterval is the time adapter will wait before updating the state to the core.
 	defaultHearbeatFailReportInterval = 180 * time.Second
 	//defaultKafkaReconnectRetries -1: reconnect endlessly.
-	defaultKafkaReconnectRetries = -1
-	defaultCurrentReplica        = 1
-	defaultTotalReplicas         = 1
+	defaultKafkaReconnectRetries      = -1
+	defaultCurrentReplica             = 1
+	defaultTotalReplicas              = 1
+	defaultMaxTimeoutInterAdapterComm = 30 * time.Second
 )
 
 // AdapterFlags represents the set of configurations used by the read-write adaptercore service
@@ -87,6 +88,7 @@
 	KafkaReconnectRetries       int
 	CurrentReplica              int
 	TotalReplicas               int
+	MaxTimeoutInterAdapterComm  time.Duration
 }
 
 // NewAdapterFlags returns a new RWCore config
@@ -118,6 +120,7 @@
 		KafkaReconnectRetries:       defaultKafkaReconnectRetries,
 		CurrentReplica:              defaultCurrentReplica,
 		TotalReplicas:               defaultTotalReplicas,
+		MaxTimeoutInterAdapterComm:  defaultMaxTimeoutInterAdapterComm,
 	}
 	return &adapterFlags
 }
@@ -200,6 +203,10 @@
 	help = "Total number of instances for this adapter"
 	flag.IntVar(&(so.TotalReplicas), "total_replica", defaultTotalReplicas, help)
 
+	help = fmt.Sprintf("Maximum Number of seconds for the default interadapter communication timeout")
+	flag.DurationVar(&(so.MaxTimeoutInterAdapterComm), "max_timeout_interadapter_comm",
+		defaultMaxTimeoutInterAdapterComm, help)
+
 	flag.Parse()
 	containerName := getContainerInfo()
 	if len(containerName) > 0 {
