diff --git a/op-batcher/batcher/driver.go b/op-batcher/batcher/driver.go
index 155f4c66165fc..00a8231441e3e 100644
--- a/op-batcher/batcher/driver.go
+++ b/op-batcher/batcher/driver.go
@@ -728,7 +728,7 @@ func (l *BatchSubmitter) calldataTxCandidate(data []byte) *txmgr.TxCandidate {
 func (l *BatchSubmitter) celestiaTxCandidate(data []byte) (*txmgr.TxCandidate, error) {
 	l.Log.Info("Building Celestia transaction candidate", "size", len(data))
 	ctx, cancel := context.WithTimeout(context.Background(), 30*time.Duration(l.RollupConfig.BlockTime)*time.Second)
-	ids, err := l.DAClient.Client.Submit(ctx, [][]byte{data}, -1, l.DAClient.Namespace)
+	ids, err := l.DAClient.Client.Submit(ctx, [][]byte{data}, l.DAClient.GasPrice, l.DAClient.Namespace)
 	cancel()
 	if err != nil {
 		return nil, err
diff --git a/op-batcher/batcher/service.go b/op-batcher/batcher/service.go
index 20ccea9851af6..f23ecc17a4860 100644
--- a/op-batcher/batcher/service.go
+++ b/op-batcher/batcher/service.go
@@ -383,7 +383,7 @@ func (bs *BatcherService) initAltDA(cfg *CLIConfig) error {
 }
 
 func (bs *BatcherService) initDA(cfg *CLIConfig) error {
-	client, err := celestia.NewDAClient(cfg.DaConfig.Rpc, cfg.DaConfig.AuthToken, cfg.DaConfig.Namespace, cfg.DaConfig.FallbackMode)
+	client, err := celestia.NewDAClient(cfg.DaConfig.Rpc, cfg.DaConfig.AuthToken, cfg.DaConfig.Namespace, cfg.DaConfig.FallbackMode, cfg.DaConfig.GasPrice)
 	if err != nil {
 		return err
 	}
diff --git a/op-celestia/cli.go b/op-celestia/cli.go
index c0ab92606c44d..33b2f1767552c 100644
--- a/op-celestia/cli.go
+++ b/op-celestia/cli.go
@@ -28,12 +28,17 @@ const (
 	EthFallbackDisabledFlagName = "da.eth_fallback_disabled"
 	// FallbackModeFlagName defines the flag for fallback mode
 	FallbackModeFlagName = "da.fallback_mode"
+	// GasPriceFlagName defines the flag for gas price
+	GasPriceFlagName = "da.gas_price"
 
 	// NamespaceSize is the size of the hex encoded namespace string
 	NamespaceSize = 58
 
 	// defaultRPC is the default rpc dial address
 	defaultRPC = "grpc://localhost:26650"
+
+	// defaultGasPrice is the default gas price
+	defaultGasPrice = -1
 )
 
 func CLIFlags(envPrefix string) []cli.Flag {
@@ -77,6 +82,12 @@ func CLIFlags(envPrefix string) []cli.Flag {
 				return nil
 			},
 		},
+		&cli.Float64Flag{
+			Name:    GasPriceFlagName,
+			Usage:   "gas price of the data availability client",
+			Value:   defaultGasPrice,
+			EnvVars: opservice.PrefixEnvVar(envPrefix, "DA_GAS_PRICE"),
+		},
 	}
 }
 
@@ -85,6 +96,7 @@ type CLIConfig struct {
 	AuthToken    string
 	Namespace    string
 	FallbackMode string
+	GasPrice     float64
 }
 
 func (c CLIConfig) Check() error {
@@ -103,5 +115,6 @@ func ReadCLIConfig(ctx *cli.Context) CLIConfig {
 		AuthToken:    ctx.String(AuthTokenFlagName),
 		Namespace:    ctx.String(NamespaceFlagName),
 		FallbackMode: ctx.String(FallbackModeFlagName),
+		GasPrice:     ctx.Float64(GasPriceFlagName),
 	}
 }
diff --git a/op-celestia/da_client.go b/op-celestia/da_client.go
index f5c14fe50377f..b15940ca335da 100644
--- a/op-celestia/da_client.go
+++ b/op-celestia/da_client.go
@@ -14,9 +14,10 @@ type DAClient struct {
 	GetTimeout   time.Duration
 	Namespace    da.Namespace
 	FallbackMode string
+	GasPrice     float64
 }
 
-func NewDAClient(rpc, token, namespace, fallbackMode string) (*DAClient, error) {
+func NewDAClient(rpc, token, namespace, fallbackMode string, gasPrice float64) (*DAClient, error) {
 	client, err := proxy.NewClient(rpc, token)
 	if err != nil {
 		return nil, err
@@ -33,5 +34,6 @@ func NewDAClient(rpc, token, namespace, fallbackMode string) (*DAClient, error)
 		GetTimeout:   time.Minute,
 		Namespace:    ns,
 		FallbackMode: fallbackMode,
+		GasPrice:     gasPrice,
 	}, nil
 }
diff --git a/op-node/rollup/driver/da.go b/op-node/rollup/driver/da.go
index a8e29000e714c..6fa2cd7504562 100644
--- a/op-node/rollup/driver/da.go
+++ b/op-node/rollup/driver/da.go
@@ -17,7 +17,7 @@ func SetDAClient(cfg celestia.CLIConfig) error {
 	// The read path always operates in the most permissive mode and is
 	// independent of the fallback mode.
 	// Therefore the configuration value for FallbackMode passed here does not matter.
-	client, err := celestia.NewDAClient(cfg.Rpc, cfg.AuthToken, cfg.Namespace, cfg.FallbackMode)
+	client, err := celestia.NewDAClient(cfg.Rpc, cfg.AuthToken, cfg.Namespace, cfg.FallbackMode, cfg.GasPrice)
 	if err != nil {
 		return err
 	}