diff --git a/packages/binary/valuetransfer/address/signaturescheme/bls.go b/packages/binary/valuetransfer/address/signaturescheme/bls.go
index 8ff3a296209c9e4eb7da2db0c7bc5e9abc88cd3c..83e403d98383d46952fc22cd4e2d7020773346bc 100644
--- a/packages/binary/valuetransfer/address/signaturescheme/bls.go
+++ b/packages/binary/valuetransfer/address/signaturescheme/bls.go
@@ -170,36 +170,6 @@ func (sig *blsSignature) String() string {
 	return base58.Encode(sig[:])
 }
 
-func AggregateBLSSignatureSchemes(sigSchemes ...SignatureScheme) (SignatureScheme, error) {
-	priKeys := make([]kyber.Scalar, len(sigSchemes))
-	pubKeys := make([]kyber.Point, len(sigSchemes))
-	for i, s := range sigSchemes {
-		ss, ok := s.(*blsSignatureScheme)
-		if !ok {
-			return nil, fmt.Errorf("not a BLS signature scheme")
-		}
-		priKeys[i] = ss.priKey
-		pubKeys[i] = ss.pubKey
-	}
-	aggregatedPriKey := suite.G2().Scalar().Zero()
-	// sum up all private keys
-	for i := range priKeys {
-		aggregatedPriKey = aggregatedPriKey.Add(aggregatedPriKey, priKeys[i])
-	}
-	mask, _ := sign.NewMask(suite, pubKeys, nil)
-	for i := range pubKeys {
-		_ = mask.SetBit(i, true)
-	}
-	aggregatedPubKey, err := bdn.AggregatePublicKeys(suite, mask)
-	if err != nil {
-		return nil, err
-	}
-	return &blsSignatureScheme{
-		priKey: aggregatedPriKey,
-		pubKey: aggregatedPubKey,
-	}, nil
-}
-
 func AggregateBLSSignatures(sigs ...Signature) (Signature, error) {
 	if len(sigs) == 0 {
 		return nil, fmt.Errorf("must be at least one signature to aggregate")
diff --git a/packages/binary/valuetransfer/address/signaturescheme/bls_test.go b/packages/binary/valuetransfer/address/signaturescheme/bls_test.go
index 28e1a3a78b508d3d304f2aa365eabeb696e44694..d1376109a4025fceefd2c1f4d8de327505cf8d01 100644
--- a/packages/binary/valuetransfer/address/signaturescheme/bls_test.go
+++ b/packages/binary/valuetransfer/address/signaturescheme/bls_test.go
@@ -2,20 +2,40 @@ package signaturescheme
 
 import (
 	"github.com/magiconair/properties/assert"
+	"github.com/mr-tron/base58"
 	"testing"
 )
 
 var dataToSign = []byte("Hello Boneh-Lynn-Shacham (BLS) --> Boneh-Drijvers-Neven (BDN)")
 
-func TestBLS_base(t *testing.T) {
+func TestBLS_rndSigSheme(t *testing.T) {
 
-	blsSigScheme := RandBLS()
-	t.Logf("generating random BLS signature scheme: %s\n", blsSigScheme.(*blsSignatureScheme).String())
-	signature := blsSigScheme.Sign(dataToSign)
+	sigScheme := RandBLS()
+	t.Logf("generating random BLS signature scheme: %s\n", sigScheme.(*blsSignatureScheme).String())
+	signature := sigScheme.Sign(dataToSign)
 
-	assert.Equal(t, blsSigScheme.Address(), signature.Address())
-	res := signature.IsValid(dataToSign)
-	assert.Equal(t, res, true)
+	assert.Equal(t, sigScheme.Address(), signature.Address())
+	assert.Equal(t, signature.IsValid(dataToSign), true)
+}
+
+const (
+	priKeyTest = "Cjsu52qf28G4oLiUDcimEY7SPbWJQA9zoKCNi4ywMxg"
+	pubKeyTest = "28LgNCDp52gTotmd21hcEXKar5tTyxuJKqQdGHCJnZ5Z1M7Rdh4Qo2BYC3s3NicLD99tZ3yX9mZvRmsnQLMRcHnzqgq2CQp7CYWCKfTUT9yzJKUTQ4JmN2DhSkSNc5kau4KE8PRGByQxpiYQq4DRF4Qb3Dn4cHmhTrDi9xQiYTxoAYW"
+)
+
+func TestBLS_sigScheme(t *testing.T) {
+	priKeyBin, err := base58.Decode(priKeyTest)
+	assert.Equal(t, err, nil)
+
+	pubKeyBin, err := base58.Decode(pubKeyTest)
+	assert.Equal(t, err, nil)
+
+	sigScheme, err := BLS(priKeyBin, pubKeyBin)
+	assert.Equal(t, err, nil)
+
+	signature := sigScheme.Sign(dataToSign)
+	assert.Equal(t, sigScheme.Address(), signature.Address())
+	assert.Equal(t, signature.IsValid(dataToSign), true)
 }
 
 // number of signatures to aggregate
@@ -29,16 +49,13 @@ func TestBLS_aggregation(t *testing.T) {
 		sigSchemes[i] = RandBLS()
 		sigs[i] = sigSchemes[i].Sign(dataToSign)
 	}
-	aggregatedSig1, err := AggregateBLSSignatures(sigs...)
+	// aggregate 2 signatures
+	a01, err := AggregateBLSSignatures(sigs[0], sigs[1])
 	assert.Equal(t, err, nil)
+	assert.Equal(t, a01.IsValid(dataToSign), true)
 
-	assert.Equal(t, aggregatedSig1.IsValid(dataToSign), true)
-
-	aggregatedScheme, err := AggregateBLSSignatureSchemes(sigSchemes...)
+	// aggregate N signatures
+	aN, err := AggregateBLSSignatures(sigs...)
 	assert.Equal(t, err, nil)
-
-	if err == nil {
-		aggregatedSig2 := aggregatedScheme.Sign(dataToSign)
-		assert.Equal(t, aggregatedSig2, aggregatedSig2)
-	}
+	assert.Equal(t, aN.IsValid(dataToSign), true)
 }