diff --git a/auth/interface.go b/auth/interface.go
index 92ad54b7752de8531b43faa947568845b7908f0c..e01e5576685fede4971dbcf8ccd542f08a464bb4 100644
--- a/auth/interface.go
+++ b/auth/interface.go
@@ -16,6 +16,7 @@ import (
 	"gitlab.com/elixxir/primitives/format"
 	"gitlab.com/xx_network/primitives/id"
 	"gitlab.com/xx_network/primitives/id/ephemeral"
+	"io"
 )
 
 type State interface {
@@ -94,6 +95,9 @@ type State interface {
 
 	// VerifyOwnership checks if the received ownership proof is valid
 	VerifyOwnership(received, verified contact.Contact, e2e e2e.Handler) bool
+
+	//Closer stops listening to auth
+	io.Closer
 }
 
 // Callbacks is the interface for auth callback methods.
diff --git a/auth/state.go b/auth/state.go
index 751f60312a3eccbc9a30ffbf3c8820f7dff49c1b..0cd1a33ea9c9c3614bc713a13d3929bf63160605 100644
--- a/auth/state.go
+++ b/auth/state.go
@@ -119,3 +119,18 @@ func (s *state) CallAllReceivedRequests() {
 func makeStorePrefix(partner *id.ID) string {
 	return "authStore:" + base64.StdEncoding.EncodeToString(partner.Marshal())
 }
+
+func (s *state) Close() error {
+	s.net.DeleteService(s.e2e.GetReceptionID(), message.Service{
+		Identifier: s.e2e.GetReceptionID()[:],
+		Tag:        s.params.RequestTag,
+		Metadata:   nil,
+	}, nil)
+
+	s.net.AddService(s.e2e.GetReceptionID(), message.Service{
+		Identifier: s.e2e.GetReceptionID()[:],
+		Tag:        s.params.ResetRequestTag,
+		Metadata:   nil,
+	}, nil)
+	return nil
+}
diff --git a/bindings/connect.go b/bindings/connect.go
index b7d1bcb181c94b96aee86c3a997a52499e95492d..9910af952b93165e769b15e9e54d508adcf378e3 100644
--- a/bindings/connect.go
+++ b/bindings/connect.go
@@ -85,8 +85,8 @@ func (c *Connection) SendE2E(mt int, payload []byte) ([]byte, error) {
 }
 
 // Close deletes this Connection's partner.Manager and releases resources
-func (c *Connection) Close() {
-	c.Close()
+func (c *Connection) Close() error {
+	return c.connection.Close()
 }
 
 // GetPartner returns the partner.Manager for this Connection
diff --git a/connect/connect.go b/connect/connect.go
index ebb98f52aa6835120e3c12b39312c3a8c5185392..0747184292194f581e6e51bf8cd711dcc44c556b 100644
--- a/connect/connect.go
+++ b/connect/connect.go
@@ -94,8 +94,8 @@ type Params struct {
 // GetDefaultParams returns a usable set of default Connection parameters.
 func GetDefaultParams() Params {
 	return Params{
-		Auth:    auth.GetDefaultParams(),
-		Rekey:   rekey.GetDefaultParams(),
+		Auth:    auth.GetDefaultTemporaryParams(),
+		Rekey:   rekey.GetDefaultEphemeralParams(),
 		Event:   event.NewEventManager(),
 		Timeout: connectionTimeout,
 	}
@@ -211,6 +211,7 @@ func StartServer(cb Callback, myId *id.ID, privKey *cyclic.Int,
 
 // handler provides an implementation for the Connection interface.
 type handler struct {
+	auth    auth.State
 	partner partner.Manager
 	e2e     clientE2e.Handler
 	params  Params
@@ -220,8 +221,9 @@ type handler struct {
 // after an E2E partnership has already been confirmed with the given
 // partner.Manager.
 func BuildConnection(partner partner.Manager, e2eHandler clientE2e.Handler,
-	p Params) Connection {
+	auth auth.State, p Params) Connection {
 	return &handler{
+		auth:    auth,
 		partner: partner,
 		params:  p,
 		e2e:     e2eHandler,
@@ -230,7 +232,10 @@ func BuildConnection(partner partner.Manager, e2eHandler clientE2e.Handler,
 
 // Close deletes this Connection's partner.Manager and releases resources.
 func (h *handler) Close() error {
-	return h.e2e.DeletePartner(h.partner.PartnerId())
+	if err := h.e2e.DeletePartner(h.partner.PartnerId()); err != nil {
+		return err
+	}
+	return h.auth.Close()
 }
 
 // GetPartner returns the partner.Manager for this Connection.
@@ -309,7 +314,7 @@ func (a authCallback) Confirm(requestor contact.Contact,
 	// Return the new Connection object
 	if a.confrimCallback != nil {
 		a.confrimCallback(BuildConnection(newPartner, a.connectionE2e,
-			a.connectionParams))
+			a.authState, a.connectionParams))
 	}
 
 }
@@ -341,7 +346,7 @@ func (a authCallback) Request(requestor contact.Contact,
 
 	// Return the new Connection object
 	a.requestCallback(BuildConnection(newPartner, a.connectionE2e,
-		a.connectionParams))
+		a.authState, a.connectionParams))
 }
 
 // Reset will be called when an auth Reset operation occurs.