diff --git a/core/vm/runtime/fuzz.go b/core/vm/runtime/fuzz.go
new file mode 100644
index 0000000000000000000000000000000000000000..de5b0f45d946e5624a1ad7ea0941e640dac33a5a
--- /dev/null
+++ b/core/vm/runtime/fuzz.go
@@ -0,0 +1,20 @@
+// +build gofuzz
+
+package runtime
+
+// Fuzz is the basic entry point for the go-fuzz tool
+//
+// This returns 1 for valid parsable/runable code, 0
+// for invalid opcode.
+func Fuzz(input []byte) int {
+	_, _, err := Execute(input, input, &Config{
+		GasLimit: 3000000,
+	})
+
+	// invalid opcode
+	if err != nil && len(err.Error()) > 6 && string(err.Error()[:7]) == "invalid" {
+		return 0
+	}
+
+	return 1
+}