diff --git a/op-service/testutils/anvil/anvil.go b/op-service/testutils/anvil/anvil.go
index 406d7d07c77edb303b85d1474fd6251bd3bc0766..fdfcf7c8601c2621b181176bc168e61dd4022323 100644
--- a/op-service/testutils/anvil/anvil.go
+++ b/op-service/testutils/anvil/anvil.go
@@ -33,18 +33,21 @@ type Runner struct {
 }
 
 func New(l1RPCURL string, logger log.Logger) (*Runner, error) {
+	return NewWithOpts(l1RPCURL, "1000000000", logger)
+}
+
+func NewWithOpts(l1RPCURL string, baseFee string, logger log.Logger) (*Runner, error) {
 	if _, err := exec.LookPath("anvil"); err != nil {
 		return nil, fmt.Errorf("anvil not found in PATH: %w", err)
 	}
 
-	proc := exec.Command(
-		"anvil",
-		"--fork-url", l1RPCURL,
-		"--port",
-		"0",
-		"--base-fee",
-		"1000000000",
-	)
+	args := []string{"--port", "0", "--base-fee", baseFee}
+	if l1RPCURL != "" {
+		args = append([]string{"--fork-url", l1RPCURL}, args...)
+	}
+
+	proc := exec.Command("anvil", args...)
+
 	stdout, err := proc.StdoutPipe()
 	if err != nil {
 		return nil, err