diff --git a/rpc/tendermint/core/accounts.go b/rpc/tendermint/core/accounts.go
index b5e67d7d6c0741fe487931dfc31172670ef4c619..86d99f8a5640d342ff1b8371536a87061fef52a3 100644
--- a/rpc/tendermint/core/accounts.go
+++ b/rpc/tendermint/core/accounts.go
@@ -2,6 +2,7 @@ package core
 
 import (
 	"fmt"
+
 	acm "github.com/eris-ltd/eris-db/account"
 	ctypes "github.com/eris-ltd/eris-db/rpc/tendermint/core/types"
 	. "github.com/tendermint/go-common"
@@ -13,7 +14,7 @@ func GenPrivAccount() (*ctypes.ResultGenPrivAccount, error) {
 
 // If the account is not known, returns nil, nil.
 func GetAccount(address []byte) (*ctypes.ResultGetAccount, error) {
-	cache := erisdbApp.GetCheckCache()
+	cache := erisMint.GetCheckCache()
 	// cache := mempoolReactor.Mempool.GetCache()
 	account := cache.GetAccount(address)
 	if account == nil {
@@ -24,7 +25,7 @@ func GetAccount(address []byte) (*ctypes.ResultGetAccount, error) {
 }
 
 func GetStorage(address, key []byte) (*ctypes.ResultGetStorage, error) {
-	state := erisdbApp.GetState()
+	state := erisMint.GetState()
 	// state := consensusState.GetState()
 	account := state.GetAccount(address)
 	if account == nil {
@@ -43,7 +44,7 @@ func GetStorage(address, key []byte) (*ctypes.ResultGetStorage, error) {
 func ListAccounts() (*ctypes.ResultListAccounts, error) {
 	var blockHeight int
 	var accounts []*acm.Account
-	state := erisdbApp.GetState()
+	state := erisMint.GetState()
 	blockHeight = state.LastBlockHeight
 	state.GetAccounts().Iterate(func(key []byte, value []byte) bool {
 		accounts = append(accounts, acm.DecodeAccount(value))
@@ -53,7 +54,7 @@ func ListAccounts() (*ctypes.ResultListAccounts, error) {
 }
 
 func DumpStorage(address []byte) (*ctypes.ResultDumpStorage, error) {
-	state := erisdbApp.GetState()
+	state := erisMint.GetState()
 	account := state.GetAccount(address)
 	if account == nil {
 		return nil, fmt.Errorf("UnknownAddress: %X", address)
diff --git a/rpc/tendermint/core/mempool.go b/rpc/tendermint/core/mempool.go
index eb71714908bb4985aafa6ac007cbaad4ca24a065..78afb7121b410591928241a2442a839ff4a7c545 100644
--- a/rpc/tendermint/core/mempool.go
+++ b/rpc/tendermint/core/mempool.go
@@ -2,6 +2,7 @@ package core
 
 import (
 	"fmt"
+
 	ctypes "github.com/eris-ltd/eris-db/rpc/tendermint/core/types"
 	txs "github.com/eris-ltd/eris-db/txs"
 	"github.com/tendermint/tendermint/types"
@@ -21,7 +22,6 @@ func BroadcastTxAsync(tx types.Tx) (*ctypes.ResultBroadcastTx, error) {
 
 // Note: tx must be signed
 func BroadcastTxSync(tx txs.Tx) (*ctypes.ResultBroadcastTx, error) {
-	fmt.Println("BROADCAST!", tx)
 	resCh := make(chan *tmsp.Response, 1)
 	err := mempoolReactor.BroadcastTx(txs.EncodeTx(tx), func(res *tmsp.Response) {
 		resCh <- res
@@ -30,9 +30,37 @@ func BroadcastTxSync(tx txs.Tx) (*ctypes.ResultBroadcastTx, error) {
 		return nil, fmt.Errorf("Error broadcasting transaction: %v", err)
 	}
 	res := <-resCh
-	return &ctypes.ResultBroadcastTx{
-		Code: res.Code,
-		Data: res.Data,
-		Log:  res.Log,
-	}, nil
+	switch r:= res.Value.(type) {
+	case *tmsp.Response_AppendTx:
+		return &ctypes.ResultBroadcastTx{
+			Code: r.AppendTx.Code,
+			Data: r.AppendTx.Data,
+			Log:  r.AppendTx.Log,
+		}, nil
+	case *tmsp.Response_CheckTx:
+		return &ctypes.ResultBroadcastTx{
+			Code: r.CheckTx.Code,
+			Data: r.CheckTx.Data,
+			Log:  r.CheckTx.Log,
+		}, nil
+	case *tmsp.Response_Commit:
+		return &ctypes.ResultBroadcastTx{
+			Code: r.Commit.Code,
+			Data: r.Commit.Data,
+			Log:  r.Commit.Log,
+		}, nil
+	case *tmsp.Response_Query:
+		return &ctypes.ResultBroadcastTx{
+			Code: r.Query.Code,
+			Data: r.Query.Data,
+			Log:  r.Query.Log,
+		}, nil
+	default:
+		return &ctypes.ResultBroadcastTx{
+			Code: tmsp.CodeType_OK,
+			Data: []byte{},
+			Log:  "",
+		}, nil
+
+	}
 }
diff --git a/rpc/tendermint/core/names.go b/rpc/tendermint/core/names.go
index da9e74fcd50131c4b7ae182adb86aed7b85aa951..2842feda6ae5bb13724e45a482e447cffd85502b 100644
--- a/rpc/tendermint/core/names.go
+++ b/rpc/tendermint/core/names.go
@@ -9,7 +9,7 @@ import (
 )
 
 func GetName(name string) (*ctypes.ResultGetName, error) {
-	st := erisdbApp.GetState()
+	st := erisMint.GetState()
 	entry := st.GetNameRegEntry(name)
 	if entry == nil {
 		return nil, fmt.Errorf("Name %s not found", name)
@@ -20,7 +20,7 @@ func GetName(name string) (*ctypes.ResultGetName, error) {
 func ListNames() (*ctypes.ResultListNames, error) {
 	var blockHeight int
 	var names []*txs.NameRegEntry
-	state := erisdbApp.GetState()
+	state := erisMint.GetState()
 	blockHeight = state.LastBlockHeight
 	state.GetNames().Iterate(func(key []byte, value []byte) bool {
 		names = append(names, sm.DecodeNameRegEntry(value))
diff --git a/rpc/tendermint/core/pipe.go b/rpc/tendermint/core/pipe.go
index 43f2146058da87a1f3a83577518176ec4fd80322..3e62f095f37d3ffee35b94d53167e3e17f600f10 100644
--- a/rpc/tendermint/core/pipe.go
+++ b/rpc/tendermint/core/pipe.go
@@ -1,8 +1,8 @@
 package core
 
 import (
+	erismint "github.com/eris-ltd/eris-db/manager/eris-mint"
 	stypes "github.com/eris-ltd/eris-db/manager/eris-mint/state/types"
-	"github.com/eris-ltd/eris-db/tmsp"
 
 	bc "github.com/tendermint/tendermint/blockchain"
 	"github.com/tendermint/tendermint/consensus"
@@ -20,7 +20,7 @@ var mempoolReactor *mempl.MempoolReactor
 var p2pSwitch *p2p.Switch
 var privValidator *tmtypes.PrivValidator
 var genDoc *stypes.GenesisDoc // cache the genesis structure
-var erisdbApp *tmsp.ErisDBApp
+var erisMint *erismint.ErisMint
 
 var config cfg.Config = nil
 
@@ -28,8 +28,8 @@ func SetConfig(c cfg.Config) {
 	config = c
 }
 
-func SetErisDBApp(edbApp *tmsp.ErisDBApp) {
-	erisdbApp = edbApp
+func SetErisDBApp(edbApp *erismint.ErisMint) {
+	erisMint = edbApp
 }
 
 func SetBlockStore(bs *bc.BlockStore) {
diff --git a/rpc/tendermint/core/txs.go b/rpc/tendermint/core/txs.go
index 4bbe01ead4034a44c39961e5f1be689fe1e88394..ab9ed78414fb049a7b9617c11a8933c6aa8ed3ac 100644
--- a/rpc/tendermint/core/txs.go
+++ b/rpc/tendermint/core/txs.go
@@ -28,7 +28,7 @@ func toVMAccount(acc *acm.Account) *vm.Account {
 // Run a contract's code on an isolated and unpersisted state
 // Cannot be used to create new contracts
 func Call(fromAddress, toAddress, data []byte) (*ctypes.ResultCall, error) {
-	st := erisdbApp.GetState()
+	st := erisMint.GetState()
 	cache := state.NewBlockCache(st)
 	outAcc := cache.GetAccount(toAddress)
 	if outAcc == nil {
@@ -57,8 +57,8 @@ func Call(fromAddress, toAddress, data []byte) (*ctypes.ResultCall, error) {
 // Cannot be used to create new contracts
 func CallCode(fromAddress, code, data []byte) (*ctypes.ResultCall, error) {
 
-	st := erisdbApp.GetState()
-	cache := erisdbApp.GetCheckCache()
+	st := erisMint.GetState()
+	cache := erisMint.GetCheckCache()
 	callee := &vm.Account{Address: LeftPadWord256(fromAddress)}
 	caller := &vm.Account{Address: LeftPadWord256(fromAddress)}
 	txCache := state.NewTxCache(cache)