diff --git a/qortal-ui-crypto/api/transactions/names/UpdateNameTransaction.js b/qortal-ui-crypto/api/transactions/names/UpdateNameTransaction.js
new file mode 100644
index 00000000..878d4f35
--- /dev/null
+++ b/qortal-ui-crypto/api/transactions/names/UpdateNameTransaction.js
@@ -0,0 +1,73 @@
+'use strict'
+import TransactionBase from '../TransactionBase.js'
+import { QORT_DECIMALS } from '../../constants.js'
+
+export default class UpdateNameTransaction extends TransactionBase {
+ constructor() {
+ super()
+ this.type = 4
+ }
+
+ render(html) {
+ return html`
+ ${this._dialogUpdateName1}
+
+ ${this.nameText}
+
+ ${this._dialogUpdateName2}
+
+ ${this.newNameText}
+
+ ${this._dialogUpdateName3}
+ `
+ }
+
+ set dialogUpdateName1(dialogUpdateName1) {
+ this._dialogUpdateName1 = dialogUpdateName1
+ }
+
+ set dialogUpdateName1(dialogUpdateName1) {
+ this._dialogUpdateName1 = dialogUpdateName1
+ }
+
+ set dialogUpdateName2(dialogUpdateName2) {
+ this._dialogUpdateName2 = dialogUpdateName2
+ }
+
+ set fee(fee) {
+ this._fee = fee * QORT_DECIMALS
+ this._feeBytes = this.constructor.utils.int64ToBytes(this._fee)
+ }
+
+ set name(name) {
+ this.nameText = name
+ this._nameBytes = this.constructor.utils.stringtoUTF8Array(name)
+ this._nameLength = this.constructor.utils.int32ToBytes(this._nameBytes.length)
+ }
+
+ set newName(mewName) {
+ this.newNameText = newName
+ this._newNameBytes = this.constructor.utils.stringtoUTF8Array(mewName)
+ this._newNameLength = this.constructor.utils.int32ToBytes(this._newNameBytes.length)
+ }
+
+ set value(value) {
+ this.valueText = value.length === 0 ? "Registered Name on the Qortal Chain" : value
+ this._valueBytes = this.constructor.utils.stringtoUTF8Array(this.valueText)
+ this._valueLength = this.constructor.utils.int32ToBytes(this._valueBytes.length)
+ }
+
+ get params() {
+ const params = super.params
+ params.push(
+ this._nameLength,
+ this._nameBytes,
+ this._newNameLength,
+ this._newNameBytes,
+ this._valueLength,
+ this._valueBytes,
+ this._feeBytes
+ )
+ return params
+ }
+}
diff --git a/qortal-ui-crypto/api/transactions/transactions.js b/qortal-ui-crypto/api/transactions/transactions.js
index 16b7b09b..9fa87e99 100644
--- a/qortal-ui-crypto/api/transactions/transactions.js
+++ b/qortal-ui-crypto/api/transactions/transactions.js
@@ -1,5 +1,6 @@
import PaymentTransaction from './PaymentTransaction.js'
import RegisterNameTransaction from './names/RegisterNameTransaction.js'
+import UpdateNameTransaction from './names/UpdateNameTransaction.js'
import SellNameTransacion from './names/SellNameTransacion.js'
import CancelSellNameTransacion from './names/CancelSellNameTransacion.js'
import BuyNameTransacion from './names/BuyNameTransacion.js'
@@ -25,6 +26,7 @@ import TransferPrivsTransaction from './TransferPrivsTransaction.js'
export const transactionTypes = {
2: PaymentTransaction,
3: RegisterNameTransaction,
+ 4: UpdateNameTransaction,
5: SellNameTransacion,
6: CancelSellNameTransacion,
7: BuyNameTransacion,