diff --git a/cmd/rpcdaemon/cli/config.go b/cmd/rpcdaemon/cli/config.go
index 61f1d8664a3bb1cb7b24ec52db057c499dcff516..28e6d666a1b88adaa11fc4e57ada892083b54d57 100644
--- a/cmd/rpcdaemon/cli/config.go
+++ b/cmd/rpcdaemon/cli/config.go
@@ -91,7 +91,7 @@ func RootCommand() (*cobra.Command, *httpcfg.HttpCfg) {
 	rootCmd.PersistentFlags().IntVar(&cfg.GRPCPort, "grpc.port", node.DefaultGRPCPort, "GRPC server listening port")
 	rootCmd.PersistentFlags().BoolVar(&cfg.GRPCHealthCheckEnabled, "grpc.healthcheck", false, "Enable GRPC health check")
 	rootCmd.PersistentFlags().StringVar(&cfg.StarknetGRPCAddress, "starknet.grpc.address", "127.0.0.1:6066", "Starknet GRPC address")
-	rootCmd.PersistentFlags().StringVar(&cfg.JWTSecretPath, "jwt-secret", "", "Token to ensure safe connection between CL and EL")
+	rootCmd.PersistentFlags().StringVar(&cfg.JWTSecretPath, utils.JWTSecretPath.Name, utils.JWTSecretPath.Value, "Token to ensure safe connection between CL and EL")
 
 	if err := rootCmd.MarkPersistentFlagFilename("rpc.accessList", "json"); err != nil {
 		panic(err)
@@ -563,32 +563,24 @@ func isWebsocket(r *http.Request) bool {
 // or from the default location. If neither of those are present, it generates
 // a new secret and stores to the default location.
 func obtainJWTSecret(cfg httpcfg.HttpCfg) ([]byte, error) {
-	var fileName string
-	if len(cfg.JWTSecretPath) > 0 {
-		// path provided
-		fileName = cfg.JWTSecretPath
-	} else {
-		// no path provided, use default
-		fileName = JwtDefaultFile
-	}
 	// try reading from file
-	log.Info("Reading JWT secret", "path", fileName)
-	if data, err := os.ReadFile(fileName); err == nil {
+	log.Info("Reading JWT secret", "path", cfg.JWTSecretPath)
+	if data, err := os.ReadFile(cfg.JWTSecretPath); err == nil {
 		jwtSecret := common.FromHex(strings.TrimSpace(string(data)))
 		if len(jwtSecret) == 32 {
 			return jwtSecret, nil
 		}
-		log.Error("Invalid JWT secret", "path", fileName, "length", len(jwtSecret))
+		log.Error("Invalid JWT secret", "path", cfg.JWTSecretPath, "length", len(jwtSecret))
 		return nil, errors.New("invalid JWT secret")
 	}
 	// Need to generate one
 	jwtSecret := make([]byte, 32)
 	rand.Read(jwtSecret)
 
-	if err := os.WriteFile(fileName, []byte(hexutil.Encode(jwtSecret)), 0600); err != nil {
+	if err := os.WriteFile(cfg.JWTSecretPath, []byte(hexutil.Encode(jwtSecret)), 0600); err != nil {
 		return nil, err
 	}
-	log.Info("Generated JWT secret", "path", fileName)
+	log.Info("Generated JWT secret", "path", cfg.JWTSecretPath)
 	return jwtSecret, nil
 }
 
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index fced0984a1492e4e670620c5376a6cdfe4d9acfe..662ea391d1af415327067d745496a30fcbbd0791 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -329,6 +329,12 @@ var (
 		Value: node.DefaultEngineHTTPPort,
 	}
 
+	JWTSecretPath = cli.StringFlag{
+		Name:  "authrpc.jwtsecret",
+		Usage: "Token to ensure safe connection between CL and EL",
+		Value: "jwt.hex",
+	}
+
 	HttpCompressionFlag = cli.BoolFlag{
 		Name:  "http.compression",
 		Usage: "Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard.",
diff --git a/turbo/cli/default_flags.go b/turbo/cli/default_flags.go
index 037dc7c24d8115efa213d2eba28904fcd882d572..8ef61e65c092f5e9f6153f352b481f35821944a8 100644
--- a/turbo/cli/default_flags.go
+++ b/turbo/cli/default_flags.go
@@ -52,6 +52,7 @@ var DefaultFlags = []cli.Flag{
 	utils.HTTPPortFlag,
 	utils.EngineAddr,
 	utils.EnginePort,
+	utils.JWTSecretPath,
 	utils.HttpCompressionFlag,
 	utils.HTTPCORSDomainFlag,
 	utils.HTTPVirtualHostsFlag,
diff --git a/turbo/cli/flags.go b/turbo/cli/flags.go
index 95d728b6dd8b7605376e9e8c802655c3d37ee288..1d3b8e6ceaf318240b701129f1c9fa7af9b4a677 100644
--- a/turbo/cli/flags.go
+++ b/turbo/cli/flags.go
@@ -298,6 +298,7 @@ func setEmbeddedRpcDaemon(ctx *cli.Context, cfg *node.Config) {
 		HttpPort:                ctx.GlobalInt(utils.HTTPPortFlag.Name),
 		EngineHTTPListenAddress: ctx.GlobalString(utils.EngineAddr.Name),
 		EnginePort:              ctx.GlobalInt(utils.EnginePort.Name),
+		JWTSecretPath:           ctx.GlobalString(utils.JWTSecretPath.Name),
 		HttpCORSDomain:          strings.Split(ctx.GlobalString(utils.HTTPCORSDomainFlag.Name), ","),
 		HttpVirtualHost:         strings.Split(ctx.GlobalString(utils.HTTPVirtualHostsFlag.Name), ","),
 		API:                     strings.Split(ctx.GlobalString(utils.HTTPApiFlag.Name), ","),