diff --git a/rpc/jeth.go b/rpc/jeth.go
index 4e83be8a63afa7046864ade1cb94cf4e6cd55e57..9d33f45e1d8b46b87558c25b43ee20053cc49601 100644
--- a/rpc/jeth.go
+++ b/rpc/jeth.go
@@ -46,9 +46,11 @@ func (self *Jeth) Send(call otto.FunctionCall) (response otto.Value) {
 	}
 	self.re.Set("ret_jsonrpc", jsonrpcver)
 	self.re.Set("ret_id", req.Id)
-	self.re.Set("ret_result", respif)
+
+	res, _ := json.Marshal(respif)
+	self.re.Set("ret_result", string(res))
 	response, err = self.re.Run(`
-		ret_response = { jsonrpc: ret_jsonrpc, id: ret_id, result: ret_result };
+		ret_response = { jsonrpc: ret_jsonrpc, id: ret_id, result: JSON.parse(ret_result) };
 	`)
 	return
 }