diff --git a/client/client.go b/client/client.go
index f8cdfd042a951705fabe9786599d0be54eeefe6a..f733ec1b8cdebd5cd1a48a648e181964e1a390be 100644
--- a/client/client.go
+++ b/client/client.go
@@ -18,7 +18,7 @@ package client
 
 import (
 	"fmt"
-	"strings"
+	// "strings"
 
 	"github.com/tendermint/go-rpc/client"
 
@@ -91,19 +91,20 @@ func (erisNodeClient *ErisNodeClient) DeriveWebsocketClient() (nodeWsClient Node
 	var wsAddr string
 	// TODO: clean up this inherited mess on dealing with the address prefixes.
 	nodeAddr := erisNodeClient.broadcastRPC
-	if strings.HasPrefix(nodeAddr, "http://") {
-		wsAddr = strings.TrimPrefix(nodeAddr, "http://")
-	}
-	if strings.HasPrefix(nodeAddr, "tcp://") {
-		wsAddr = strings.TrimPrefix(nodeAddr, "tcp://")
-	}
-	if strings.HasPrefix(nodeAddr, "unix://") {
-		log.WithFields(log.Fields{
-			"node address": nodeAddr,
-		}).Error("Unable to subscribe to websocket from unix socket.")
-		return nil, fmt.Errorf("Unable to construct websocket from unix socket: %s", nodeAddr)
-	}
-	wsAddr = "ws://" + wsAddr
+	// if strings.HasPrefix(nodeAddr, "http://") {
+	// 	wsAddr = strings.TrimPrefix(nodeAddr, "http://")
+	// }
+	// if strings.HasPrefix(nodeAddr, "tcp://") {
+	// 	wsAddr = strings.TrimPrefix(nodeAddr, "tcp://")
+	// }
+	// if strings.HasPrefix(nodeAddr, "unix://") {
+	// 	log.WithFields(log.Fields{
+	// 		"node address": nodeAddr,
+	// 	}).Error("Unable to subscribe to websocket from unix socket.")
+	// 	return nil, fmt.Errorf("Unable to construct websocket from unix socket: %s", nodeAddr)
+	// }
+	// wsAddr = "ws://" + wsAddr
+	wsAddr = nodeAddr
 	log.WithFields(log.Fields{
 		"websocket address": wsAddr,
 		"endpoint": "/websocket",
diff --git a/client/core/transaction_factory_util.go b/client/core/transaction_factory_util.go
index c856fc1fc4d9665d3ae5d41052c94fa47bc7ff3d..3ad64a6ba36ad88ad5c11b6a0d70584285239095 100644
--- a/client/core/transaction_factory_util.go
+++ b/client/core/transaction_factory_util.go
@@ -120,7 +120,7 @@ func checkCommon(nodeClient client.NodeClient, keyClient keys.KeyClient, pubkey,
 		}
 		pubKeyBytes, err2 = keyClient.PublicKey(addressBytes)
 		if err2 != nil {
-			err = fmt.Errorf("Failed to fetch pubkey for address (%s): %v", addr, err)
+			err = fmt.Errorf("Failed to fetch pubkey for address (%s): %v", addr, err2)
 			return
 		}
 	}
diff --git a/keys/key_client.go b/keys/key_client.go
index 44a60f1f5c9f94f0839ec58eb8e115f2d9ec1d1e..994f5a67010943a3c7ac27416d192cb6cd2be067 100644
--- a/keys/key_client.go
+++ b/keys/key_client.go
@@ -68,7 +68,7 @@ func (erisKeys *ErisKeyClient) Sign(signBytesString string, signAddress []byte)
 // the eris-keys server.
 func (erisKeys *ErisKeyClient) PublicKey(address []byte) (publicKey []byte, err error) {
 	args := map[string]string{
-		"addr": string(address),
+		"addr": fmt.Sprintf("%X", address),
 	}
 	pubS, err := RequestResponse(erisKeys.rpcString, "pub", args)
 	if err != nil {