> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# wallet/accountpermissionupdate | TRON

> TRON API method that updates the permissions of an account on the TRON blockchain. wallet/accountpermissionupdate on TRON via Chainstack.

TRON API method that updates the permissions of an account on the TRON blockchain. This method allows modification of owner, witness, and active permissions for multi-signature account management.

## Parameters

* `owner_address` — the account address whose permissions are being updated
* `owner` — optional object containing owner permission settings with threshold and keys
* `witness` — optional object containing witness permission settings with threshold and keys
* `actives` — optional array of active permission objects with threshold, operations, and keys
* `visible` — optional boolean parameter. When set to `true`, addresses are in base58 format. Default is `false`.

## Response

* `visible` — indicates the address format used in the response
* `txID` — the transaction hash
* `raw_data` — raw transaction data including:
  * `contract` — array containing the permission update contract
  * `ref_block_bytes` — reference block bytes
  * `ref_block_hash` — reference block hash
  * `expiration` — transaction expiration timestamp
  * `timestamp` — transaction creation timestamp
* `raw_data_hex` — hexadecimal representation of the raw transaction

## Use case

The `wallet/accountpermissionupdate` method is used for:

* Setting up multi-signature accounts with custom permission structures
* Modifying existing account permissions and thresholds
* Managing witness permissions for Super Representative accounts
* Implementing advanced security models for institutional accounts

Note: The returned transaction must be signed and broadcast to complete the permission update.

## curl example

Provide concrete keys and a valid operations bitmask. The example below builds an unsigned permission update transaction that the node can parse. Replace the sample addresses with your own and sign the returned transaction before broadcasting.

```shell Shell theme={"system"}
curl --request POST \
  --url 'https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/wallet/accountpermissionupdate' \
  --header 'Content-Type: application/json' \
  --data '{
    "owner_address": "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g",
    "owner": {
      "type": 0,
      "permission_name": "owner",
      "threshold": 1,
      "keys": [
        { "address": "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g", "weight": 1 }
      ]
    },
    "actives": [
      {
        "type": 2,
        "permission_name": "active",
        "threshold": 1,
        "operations": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
        "keys": [
          { "address": "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g", "weight": 1 }
        ]
      }
    ],
    "visible": true
  }'
```

<Info>
  * `operations` must be a 32‑byte hex string (64 hex chars) representing the allowed operations bitmask.
  * Each `keys` entry requires an `address` and `weight`. The sum of weights for a permission must be greater than or equal to its `threshold`.
  * Use base58 addresses with `visible: true`, or hex addresses with `visible: false`.
</Info>


## OpenAPI

````yaml openapi/tron_node_api/accountpermissionupdate.json post /95e61622bf6a8af293978377718e3b77/wallet/accountpermissionupdate
openapi: 3.0.0
info:
  title: wallet/accountpermissionupdate TRON API
  version: 1.0.0
  description: Update account permissions on the TRON blockchain
servers:
  - url: https://tron-mainnet.core.chainstack.com
security: []
paths:
  /95e61622bf6a8af293978377718e3b77/wallet/accountpermissionupdate:
    post:
      tags:
        - Account Management
      summary: wallet/accountpermissionupdate
      operationId: accountPermissionUpdate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - owner_address
              properties:
                owner_address:
                  type: string
                  default: TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g
                owner:
                  type: object
                  properties:
                    type:
                      type: integer
                      default: 0
                    permission_name:
                      type: string
                      default: owner
                    threshold:
                      type: integer
                      default: 1
                    keys:
                      type: array
                      items:
                        type: object
                        properties:
                          address:
                            type: string
                            default: TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g
                          weight:
                            type: integer
                            default: 1
                      default:
                        - address: TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g
                          weight: 1
                witness:
                  type: object
                  properties:
                    type:
                      type: integer
                      default: 1
                    permission_name:
                      type: string
                      default: witness
                    threshold:
                      type: integer
                      default: 1
                    keys:
                      type: array
                      items:
                        type: object
                        properties:
                          address:
                            type: string
                            default: TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g
                          weight:
                            type: integer
                            default: 1
                      default:
                        - address: TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g
                          weight: 1
                actives:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: integer
                        default: 2
                      permission_name:
                        type: string
                        default: active
                      threshold:
                        type: integer
                        default: 1
                      operations:
                        type: string
                        description: 32-byte hex bitmask of allowed operations
                        default: >-
                          FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
                      keys:
                        type: array
                        items:
                          type: object
                          properties:
                            address:
                              type: string
                              default: TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g
                            weight:
                              type: integer
                              default: 1
                        default:
                          - address: TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g
                            weight: 1
                  default:
                    - type: 2
                      permission_name: active
                      threshold: 1
                      operations: >-
                        FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
                      keys:
                        - address: TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g
                          weight: 1
                visible:
                  type: boolean
                  default: true
      responses:
        '200':
          description: Unsigned account permission update transaction
          content:
            application/json:
              schema:
                type: object
                properties:
                  visible:
                    type: boolean
                  txID:
                    type: string
                  raw_data:
                    type: object
                  raw_data_hex:
                    type: string

````