diff --git a/rpc/api.go b/rpc/api.go
index 5930a4c7b3..6f7a814744 100644
--- a/rpc/api.go
+++ b/rpc/api.go
@@ -465,6 +465,8 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
 			return err
 		}
 		*reply = api.xeth().Whisper().Messages(args.Id)
+	case "eth_hashrate":
+		*reply = newHexNum(api.xeth().HashRate())
 
 	// case "eth_register":
 	// 	// Placeholder for actual type
diff --git a/xeth/xeth.go b/xeth/xeth.go
index 693acb9107..710fec5c5b 100644
--- a/xeth/xeth.go
+++ b/xeth/xeth.go
@@ -280,6 +280,10 @@ func (self *XEth) IsMining() bool {
 	return self.backend.IsMining()
 }
 
+func (self *XEth) HashRate() int64 {
+	return self.backend.Miner().HashRate()
+}
+
 func (self *XEth) EthVersion() string {
 	return fmt.Sprintf("%d", self.backend.EthVersion())
 }