diff --git a/plugins/tangle/misc.go b/plugins/tangle/misc.go
index 08fc8de9334f214beebda36ba810fdd7a6961027..490f52d74aa145b2498f2afa7b65da5ba2fc6f03 100644
--- a/plugins/tangle/misc.go
+++ b/plugins/tangle/misc.go
@@ -1,11 +1,16 @@
 package tangle
 
-import "github.com/iotaledger/iota.go/trinary"
+import (
+	"github.com/iotaledger/hive.go/typeutils"
+	"github.com/iotaledger/iota.go/trinary"
+)
 
 func databaseKeyForHashPrefixedHash(address trinary.Hash, transactionHash trinary.Hash) []byte {
-	return append(databaseKeyForHashPrefix(address), trinary.MustTrytesToBytes(transactionHash)...)
+	//return append(databaseKeyForHashPrefix(address), trinary.MustTrytesToBytes(transactionHash)...)
+	return append(databaseKeyForHashPrefix(address), typeutils.StringToBytes(transactionHash)...)
 }
 
 func databaseKeyForHashPrefix(hash trinary.Hash) []byte {
-	return trinary.MustTrytesToBytes(hash)
+	//return trinary.MustTrytesToBytes(hash)
+	return typeutils.StringToBytes(hash)
 }
diff --git a/plugins/tangle/plugin.go b/plugins/tangle/plugin.go
index 50cbafaa0c5d00038900900855ec73675f0c277d..483d57b7b084e6c5fe8b75ee0589f00776f05d71 100644
--- a/plugins/tangle/plugin.go
+++ b/plugins/tangle/plugin.go
@@ -18,6 +18,7 @@ func configure(*node.Plugin) {
 	configureTransactionMetaDataDatabase()
 	configureApproversDatabase()
 	configureBundleDatabase()
+	configureTransactionHashesForAddressDatabase()
 	configureSolidifier()
 }
 
diff --git a/plugins/tangle/solidifier.go b/plugins/tangle/solidifier.go
index 4b3dd663e564e257060d2a06dce1e67f1045757f..7e6e8c4f84e269fc0ae8eb2bd770e781fb3b9805 100644
--- a/plugins/tangle/solidifier.go
+++ b/plugins/tangle/solidifier.go
@@ -192,6 +192,17 @@ func processMetaTransaction(metaTransaction *meta_transaction.MetaTransaction) {
 func processTransaction(transaction *value_transaction.ValueTransaction) {
 	Events.TransactionStored.Trigger(transaction)
 
+	// store transaction hash for address in DB
+	err := StoreTransactionHashForAddressInDatabase(
+		&TxHashForAddress{
+			Address: transaction.GetAddress(),
+			TxHash:  transaction.GetHash(),
+		},
+	)
+	if err != nil {
+		log.Errorw(err.Error())
+	}
+
 	transactionHash := transaction.GetHash()
 
 	// register tx as approver for trunk
@@ -211,7 +222,7 @@ func processTransaction(transaction *value_transaction.ValueTransaction) {
 	}
 
 	// update the solidity flags of this transaction and its approvers
-	_, err := IsSolid(transaction)
+	_, err = IsSolid(transaction)
 	if err != nil {
 		log.Errorf("Unable to check solidity: %s", err.Error())
 		return
@@ -232,6 +243,6 @@ func requestTransaction(hash trinary.Trytes) {
 		return
 	}
 
-	log.Infow("Requesting tx", "hash", hash)
+	log.Debugw("Requesting tx", "hash", hash)
 	requester.RequestTransaction(hash)
 }
diff --git a/plugins/tangle/solidifier_test.go b/plugins/tangle/solidifier_test.go
index 14573d43de02ed6c4c967f0f63cdfbe021c7e9b5..bb677a5c620fc6b489501cb9056760df18b5dc43 100644
--- a/plugins/tangle/solidifier_test.go
+++ b/plugins/tangle/solidifier_test.go
@@ -46,6 +46,7 @@ func TestSolidifier(t *testing.T) {
 	transaction4 := value_transaction.New()
 	transaction4.SetValue(4)
 	transaction4.SetBranchTransactionHash(transaction3.GetHash())
+	transaction4.SetAddress("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
 	require.NoError(t, transaction4.DoProofOfWork(meta_transaction.MIN_WEIGHT_MAGNITUDE))
 
 	// setup event handlers
@@ -72,6 +73,10 @@ func TestSolidifier(t *testing.T) {
 	// wait until all are solid
 	wg.Wait()
 
+	txAddr, err := ReadTransactionHashesForAddressFromDatabase(transaction4.GetAddress())
+	require.NoError(t, err)
+	require.Equal(t, transaction4.GetHash(), txAddr[0])
+
 	// shutdown test node
 	node.Shutdown()
 }
diff --git a/plugins/tangle/tx_per_address.go b/plugins/tangle/tx_per_address.go
index 87a568284b8f6bd770392dcf509cd40b3e69688f..c344aeda6028d238a1705f2adcfc169c324f2f09 100644
--- a/plugins/tangle/tx_per_address.go
+++ b/plugins/tangle/tx_per_address.go
@@ -2,6 +2,7 @@ package tangle
 
 import (
 	"github.com/iotaledger/goshimmer/packages/database"
+	"github.com/iotaledger/hive.go/typeutils"
 	"github.com/iotaledger/iota.go/trinary"
 )
 
@@ -29,9 +30,7 @@ func StoreTransactionHashForAddressInDatabase(address *TxHashForAddress) error {
 	); err != nil {
 		return ErrDatabaseError.Derive(err, "failed to store tx for address in database")
 	}
-	log.Info("Stored Address:", address.Address)
-	log.Info("TxHash:", address.TxHash)
-	log.Info("txForAddr: ", trinary.MustBytesToTrytes(databaseKeyForHashPrefixedHash(address.Address, address.TxHash), 81))
+
 	return nil
 }
 
@@ -48,10 +47,10 @@ func DeleteTransactionHashForAddressInDatabase(address *TxHashForAddress) error
 func ReadTransactionHashesForAddressFromDatabase(address trinary.Hash) ([]trinary.Hash, error) {
 	var transactionHashes []trinary.Hash
 	err := transactionsHashesForAddressDatabase.ForEachWithPrefix(databaseKeyForHashPrefix(address), func(key []byte, value []byte) {
-		log.Info("Len key:", len(key))
-		txHash := trinary.MustBytesToTrytes(key)[81:]
-		log.Info("Len ALL:", len(txHash))
-		transactionHashes = append(transactionHashes, txHash)
+		k := typeutils.BytesToString(key)
+		if len(k) > 81 {
+			transactionHashes = append(transactionHashes, k[81:])
+		}
 	})
 
 	if err != nil {