accountpermissionupdate - Tron
accountpermissionupdate. Updates the owner, witness, and active permissions of a multi-signature account.
accountpermissionupdate - tron [Value: 20CU]
Updates the owner, witness, and active permissions of a multi-signature account.
Use cases
- Convert a single-key wallet into a multi-signature account
- Rotate or add signing keys for an existing multi-sig account
Constraints
- Must be signed by a key that already meets the current owner permission threshold
- Incorrectly configured thresholds/weights can permanently lock an account
Unlock Access to 100+ chains
Boost your app's speed and reliability with dRPC - get your access API key
Language
Request
Examples
curl --request POST \
--url https://lb.drpc.live/tron/{API-KEY}/wallet/accountpermissionupdate \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"owner_address": "41dd791d6b49e190062d650e6a23c575510d35f2f9",
"owner": {
"type": 0, "id": 0, "permission_name": "owner",
"threshold": 1,
"keys": [{ "address": "41dd791d6b49e190062d650e6a23c575510d35f2f9", "weight": 1 }]
},
"actives": [{
"type": 2, "id": 2, "permission_name": "active",
"threshold": 1,
"operations": "7fff1fc0033e0100000000000000000000000000000000000000000000000000",
"keys": [{ "address": "41dd791d6b49e190062d650e6a23c575510d35f2f9", "weight": 1 }]
}]
}'Response
200
{
"visible": false,
"txID": "beb8e742fc1f345a9eed45456e54cb3eba4ec286845b57a89bc8638e2e6a8dad",
"raw_data": {
"contract": [
{
"parameter": {
"value": {
"owner_address": "41dd791d6b49e190062d650e6a23c575510d35f2f9",
"owner": {
"permission_name": "owner",
"threshold": 1,
"keys": [
{ "address": "41dd791d6b49e190062d650e6a23c575510d35f2f9", "weight": 1 }
]
},
"actives": [
{
"type": "Active",
"id": 2,
"permission_name": "active",
"threshold": 1,
"operations": "7fff1fc0033e0100000000000000000000000000000000000000000000000000",
"keys": [
{ "address": "41dd791d6b49e190062d650e6a23c575510d35f2f9", "weight": 1 }
]
}
]
},
"type_url": "type.googleapis.com/protocol.AccountPermissionUpdateContract"
},
"type": "AccountPermissionUpdateContract"
}
],
"ref_block_bytes": "270b",
"ref_block_hash": "d95e28e9c4c8af73",
"expiration": 1777445901000,
"timestamp": 1777445841729
},
"raw_data_hex": "0a02270b2208d95e28e9c4c8af7340c8a5a0c0dd335ad001082e12cb010a3c747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e4163636f756e745065726d697373696f6e557064617465436f6e7472616374128a010a1541dd791d6b49e190062d650e6a23c575510d35f2f912241a056f776e657220013a190a1541dd791d6b49e190062d650e6a23c575510d35f2f91001224b080210021a06616374697665200132207fff1fc0033e01000000000000000000000000000000000000000000000000003a190a1541dd791d6b49e190062d650e6a23c575510d35f2f9100170c1d69cc0dd33"
}Request params
idinteger
jsonrpcstring
methodstring
object
owner_addressstring
[Required] The account address whose permissions are being updated
ownerobject
[Required] The new owner permission group: threshold and weighted keys
witnessobject
The new witness permission group, if the account is a Super Representative
activesarray_of_objects
[Required] List of new active permission groups, each with its own threshold, operations bitmap, and keys
permission_idinteger
Permission ID used for the current signature
visibleboolean
When true, addresses are base58check strings; when false (default), hex strings
Response
200
Updates the owner, witness, and active permissions of a multi-signature account.Response params
object
visibleboolean
Indicates whether addresses in this transaction are represented in base58 format (true) or hex format (false).
txIDstring
The unique transaction hash (transaction ID), computed as the SHA256 of raw_data.
raw_dataobject
The unsigned transaction body containing the contract instruction and blockchain reference data.
object
contractarray_of_objects
The list of contract instructions to be executed by this transaction (in most transactions, a single-element array).
object
parameterobject
The typed payload describing the specific contract call being made.
object
valueobject
The decoded fields of the contract, specific to its type — here, the new permission configuration being applied to the account.
object
owner_addressstring
The address of the account whose permissions are being updated, in hex format.
ownerobject
The new owner permission group being set for this account.
object
permission_namestring
The label identifying this permission group (typically "owner").
thresholdinteger
The minimum combined key weight required to authorize an action under this permission.
keysarray_of_objects
The list of keys granted signing rights under this permission group.
object
addressstring
The address of the key holder.
weightinteger
The signing weight assigned to this key.
activesarray_of_objects
The new active permission groups being set for this account, used for authorizing day-to-day contract calls.
object
typestring
The permission category, typically "Active".
idinteger
The numeric identifier of this active permission slot.
permission_namestring
The label identifying this permission group (typically "active").
thresholdinteger
The minimum combined key weight required to authorize an action under this permission.
operationsstring
A hex-encoded bitmap describing which contract operation types this permission is allowed to authorize.
keysarray_of_objects
The list of keys granted signing rights under this permission group.
object
addressstring
The address of the key holder.
weightinteger
The signing weight assigned to this key.
type_urlstring
The fully qualified protobuf type identifier describing which contract schema `value` should be decoded with.
typestring
The human-readable name of the contract type being executed (here, AccountPermissionUpdateContract).
ref_block_bytesstring
The last two bytes of the reference block number, used for transaction expiration and replay protection.
ref_block_hashstring
The last eight bytes of the reference block's hash, paired with ref_block_bytes for replay protection.
expirationinteger
Unix timestamp, in ms, after which this transaction is no longer valid and will be rejected by the network.
timestampinteger
Unix timestamp, in ms, marking when the transaction was created/signed by the client.
raw_data_hexstring
The hex-encoded serialized bytes of raw_data, used as the actual payload to sign and broadcast.