diff --git a/bindings/params.go b/bindings/params.go
new file mode 100644
index 0000000000000000000000000000000000000000..3d21838d90f0ffba8b1216aa10e3da0e04004eb6
--- /dev/null
+++ b/bindings/params.go
@@ -0,0 +1,37 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright © 2021 xx network SEZC                                          //
+//                                                                           //
+// Use of this source code is governed by a license that can be found in the //
+// LICENSE file                                                              //
+///////////////////////////////////////////////////////////////////////////////
+
+// Contains params-related bindings
+
+package bindings
+
+import "gitlab.com/elixxir/client/interfaces/params"
+
+func (c *Client) GetCMIXParams() (string, error) {
+	p, err := params.GetDefaultCMIX().Marshal()
+	return string(p), err
+}
+
+func (c *Client) GetE2EParams() (string, error) {
+	p, err := params.GetDefaultE2E().Marshal()
+	return string(p), err
+}
+
+func (c *Client) GetRekeyParams() (string, error) {
+	p, err := params.GetDefaultRekey().Marshal()
+	return string(p), err
+}
+
+func (c *Client) GetNetworkParams() (string, error) {
+	p, err := params.GetDefaultNetwork().Marshal()
+	return string(p), err
+}
+
+func (c *Client) GetUnsafeParams() (string, error) {
+	p, err := params.GetDefaultUnsafe().Marshal()
+	return string(p), err
+}
diff --git a/interfaces/params/CMIX.go b/interfaces/params/CMIX.go
index 46e6dc7c666044af664e632cc73e8e6161360498..e4142eb5e509dd8ffce8cfd6b3e7a8d33d4fdc46 100644
--- a/interfaces/params/CMIX.go
+++ b/interfaces/params/CMIX.go
@@ -27,7 +27,7 @@ func GetDefaultCMIX() CMIX {
 	}
 }
 
-func (c *CMIX) Marshal() ([]byte, error) {
+func (c CMIX) Marshal() ([]byte, error) {
 	return json.Marshal(c)
 }
 
diff --git a/interfaces/params/E2E.go b/interfaces/params/E2E.go
index 0afba14b9a839265e5d4427baaaa73d076f40570..7a2e38428cfcf7c60604ad4445ec80e9ba680145 100644
--- a/interfaces/params/E2E.go
+++ b/interfaces/params/E2E.go
@@ -22,7 +22,7 @@ func GetDefaultE2E() E2E {
 		CMIX: GetDefaultCMIX(),
 	}
 }
-func (e *E2E) Marshal() ([]byte, error) {
+func (e E2E) Marshal() ([]byte, error) {
 	return json.Marshal(e)
 }
 
diff --git a/interfaces/params/Unsafe.go b/interfaces/params/Unsafe.go
index 54c31a3719fa676719147bddc7974b2cbe388fb7..556559a88a253107ab803521a550c403e5040113 100644
--- a/interfaces/params/Unsafe.go
+++ b/interfaces/params/Unsafe.go
@@ -17,14 +17,10 @@ func GetDefaultUnsafe() Unsafe {
 	return Unsafe{CMIX: GetDefaultCMIX()}
 }
 
-func (u *Unsafe) MarshalJSON() ([]byte, error) {
+func (u Unsafe) Marshal() ([]byte, error) {
 	return json.Marshal(u)
 }
 
-func (u *Unsafe) UnmarshalJSON(b []byte) error {
-	return json.Unmarshal(b, u)
-}
-
 // Obtain default Unsafe parameters, or override with given parameters if set
 func GetUnsafeParameters(params string) (Unsafe, error) {
 	p := GetDefaultUnsafe()
diff --git a/interfaces/params/keyExchange.go b/interfaces/params/keyExchange.go
index 5b83a2adf0624aad544189c72af568458a23382e..24166e304c0b7243516f5fc8d5d127ed6b9506a3 100644
--- a/interfaces/params/keyExchange.go
+++ b/interfaces/params/keyExchange.go
@@ -22,7 +22,7 @@ func GetDefaultRekey() Rekey {
 	}
 }
 
-func (r *Rekey) Marshal() ([]byte, error) {
+func (r Rekey) Marshal() ([]byte, error) {
 	return json.Marshal(r)
 }
 
diff --git a/interfaces/params/network.go b/interfaces/params/network.go
index 1f79dc5583f3238b5f23f0130f577cdb2d906ba3..3c5da7cad1541d0119496c59abe69139ae9d2bfc 100644
--- a/interfaces/params/network.go
+++ b/interfaces/params/network.go
@@ -38,7 +38,7 @@ func GetDefaultNetwork() Network {
 	return n
 }
 
-func (n *Network) Marshal() ([]byte, error) {
+func (n Network) Marshal() ([]byte, error) {
 	return json.Marshal(n)
 }