diff --git a/cmds.go b/cmds.go
index 550bdac4..e5f89e07 100644
--- a/cmds.go
+++ b/cmds.go
@@ -58,6 +58,11 @@ func (cmd *GetCurrentNetCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *GetCurrentNetCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *GetCurrentNetCmd) Method() string {
 	return "getcurrentnet"
@@ -155,6 +160,11 @@ func (cmd *GetUnconfirmedBalanceCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *GetUnconfirmedBalanceCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisifies the Cmd interface by returning the RPC method.
 func (cmd *GetUnconfirmedBalanceCmd) Method() string {
 	return "getunconfirmedbalance"
@@ -229,6 +239,11 @@ func (cmd *GetBestBlockCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *GetBestBlockCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *GetBestBlockCmd) Method() string {
 	return "getbestblock"
@@ -342,6 +357,11 @@ func (cmd *RescanCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *RescanCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *RescanCmd) Method() string {
 	return "rescan"
@@ -438,6 +458,11 @@ func (cmd *NotifyNewTXsCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *NotifyNewTXsCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *NotifyNewTXsCmd) Method() string {
 	return "notifynewtxs"
@@ -533,6 +558,11 @@ func (cmd *NotifySpentCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *NotifySpentCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *NotifySpentCmd) Method() string {
 	return "notifyspent"
@@ -634,6 +664,11 @@ func (cmd *CreateEncryptedWalletCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *CreateEncryptedWalletCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *CreateEncryptedWalletCmd) Method() string {
 	return "createencryptedwallet"
@@ -709,6 +744,11 @@ func (cmd *GetBalancesCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *GetBalancesCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *GetBalancesCmd) Method() string {
 	return "getbalances"
@@ -805,6 +845,11 @@ func (cmd *WalletIsLockedCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *WalletIsLockedCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *WalletIsLockedCmd) Method() string {
 	return "walletislocked"
@@ -920,6 +965,11 @@ func (cmd *ListAddressTransactionsCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *ListAddressTransactionsCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *ListAddressTransactionsCmd) Method() string {
 	return "listaddresstransactions"
@@ -1022,6 +1072,11 @@ func (cmd *ListAllTransactionsCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *ListAllTransactionsCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *ListAllTransactionsCmd) Method() string {
 	return "listalltransactions"
@@ -1134,6 +1189,11 @@ func (cmd *GetAddressBalanceCmd) Id() interface{} {
 	return cmd.id
 }
 
+// SetId satisifies the Cmd interface by setting the ID of the command.
+func (cmd *GetAddressBalanceCmd) SetId(id interface{}) {
+	cmd.id = id
+}
+
 // Method satisfies the Cmd interface by returning the RPC method.
 func (cmd *GetAddressBalanceCmd) Method() string {
 	return "getaddressbalance"
diff --git a/notifications.go b/notifications.go
index c8c7cc68..c914ecbd 100644
--- a/notifications.go
+++ b/notifications.go
@@ -114,6 +114,10 @@ func (n *AccountBalanceNtfn) Id() interface{} {
 	return nil
 }
 
+// SetId is implemented to satisify the btcjson.Cmd interface.  The
+// notification id is not modified.
+func (n *AccountBalanceNtfn) SetId(id interface{}) {}
+
 // Method satisifies the btcjson.Cmd interface by returning the method
 // of the notification.
 func (n *AccountBalanceNtfn) Method() string {
@@ -205,6 +209,10 @@ func (n *BlockConnectedNtfn) Id() interface{} {
 	return nil
 }
 
+// SetId is implemented to satisify the btcjson.Cmd interface.  The
+// notification id is not modified.
+func (n *BlockConnectedNtfn) SetId(id interface{}) {}
+
 // Method satisifies the btcjson.Cmd interface by returning the method
 // of the notification.
 func (n *BlockConnectedNtfn) Method() string {
@@ -295,6 +303,10 @@ func (n *BlockDisconnectedNtfn) Id() interface{} {
 	return nil
 }
 
+// SetId is implemented to satisify the btcjson.Cmd interface.  The
+// notification id is not modified.
+func (n *BlockDisconnectedNtfn) SetId(id interface{}) {}
+
 // Method satisifies the btcjson.Cmd interface by returning the method
 // of the notification.
 func (n *BlockDisconnectedNtfn) Method() string {
@@ -378,6 +390,10 @@ func (n *BtcdConnectedNtfn) Id() interface{} {
 	return nil
 }
 
+// SetId is implemented to satisify the btcjson.Cmd interface.  The
+// notification id is not modified.
+func (n *BtcdConnectedNtfn) SetId(id interface{}) {}
+
 // Method satisifies the btcjson.Cmd interface by returning the method
 // of the notification.
 func (n *BtcdConnectedNtfn) Method() string {
@@ -488,6 +504,10 @@ func (n *TxMinedNtfn) Id() interface{} {
 	return nil
 }
 
+// SetId is implemented to satisify the btcjson.Cmd interface.  The
+// notification id is not modified.
+func (n *TxMinedNtfn) SetId(id interface{}) {}
+
 // Method satisifies the btcjson.Cmd interface by returning the method
 // of the notification.
 func (n *TxMinedNtfn) Method() string {
@@ -581,6 +601,10 @@ func (n *TxNtfn) Id() interface{} {
 	return nil
 }
 
+// SetId is implemented to satisify the btcjson.Cmd interface.  The
+// notification id is not modified.
+func (n *TxNtfn) SetId(id interface{}) {}
+
 // Method satisifies the btcjson.Cmd interface by returning the method
 // of the notification.
 func (n *TxNtfn) Method() string {
@@ -674,6 +698,10 @@ func (n *WalletLockStateNtfn) Id() interface{} {
 	return nil
 }
 
+// SetId is implemented to satisify the btcjson.Cmd interface.  The
+// notification id is not modified.
+func (n *WalletLockStateNtfn) SetId(id interface{}) {}
+
 // Method satisifies the btcjson.Cmd interface by returning the method
 // of the notification.
 func (n *WalletLockStateNtfn) Method() string {