> ## 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/updateBrokerage | TRON

> TRON API method that creates a transaction to update the brokerage rate for witness rewards. wallet/updateBrokerage on TRON via Chainstack.

TRON API method that creates a transaction to update the brokerage rate for witness rewards. Only witnesses can call this method to adjust how they share block production rewards with their voters.

## Parameters

* `owner_address` — address of the witness account updating the brokerage. Use base58 with `visible: true`, or hex with `visible: false`.
* `brokerage` — new brokerage percentage (0–100); lower values share more rewards with voters.
* `visible` — optional boolean. When `true`, addresses are base58; when `false`, hex. Default is `true`.

## Response

* `visible` — boolean indicating whether addresses are in visible format
* `txID` — unique transaction ID for the brokerage update transaction
* `raw_data` — raw transaction data containing:
  * `contract` — array with brokerage update contract details
  * `ref_block_bytes` — reference block bytes for transaction validation
  * `ref_block_hash` — hash of the reference block
  * `expiration` — transaction expiration timestamp
  * `timestamp` — transaction creation timestamp
* `raw_data_hex` — complete transaction data encoded in hexadecimal format

## Use case

The `wallet/updatebrokerage` method is used for:

* Adjusting witness reward sharing policies to attract more voters.
* Setting competitive brokerage rates compared to other witnesses.
* Implementing dynamic reward sharing strategies based on market conditions.
* Managing witness economics to balance profitability and voter incentives.

<Warning>
  Only registered witnesses can update their brokerage rate. The brokerage rate determines what percentage of block rewards the witness keeps (0-100%). A rate of 20% means the witness keeps 20% and shares 80% with voters. Changes may take effect after the next maintenance period.
</Warning>

## curl example

```shell Shell theme={"system"}
curl --request POST \
  --url 'https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/wallet/updateBrokerage' \
  --header 'Content-Type: application/json' \
  --data '{
  "owner_address": "THPvaUhoh2Qn2y9THCZML3H815hhFhn5YC",
  "brokerage": 15,
  "visible": true
}'
```

<Info>
  common validation errors:

  * `No permission` — the `owner_address` is not a registered witness.
  * `Account […] does not exist` — ensure the address is activated and the format matches `visible`.
  * Rate bounds — brokerage must be between 0 and 100.
  * `Not existed witness` — register the witness first via [`wallet/createwitness`](/reference/tron-createwitness) and wait until it is recognized on-chain.
</Info>


## OpenAPI

````yaml openapi/tron_node_api/updatebrokerage.json post /95e61622bf6a8af293978377718e3b77/wallet/updateBrokerage
openapi: 3.0.0
info:
  title: wallet/updatebrokerage TRON API
  version: 1.0.0
  description: Update witness brokerage rate
servers:
  - url: https://tron-mainnet.core.chainstack.com
security: []
paths:
  /95e61622bf6a8af293978377718e3b77/wallet/updateBrokerage:
    post:
      tags:
        - Witness and Governance
      summary: wallet/updateBrokerage
      operationId: updateBrokerage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                owner_address:
                  type: string
                  description: >-
                    Witness account address. Use base58 with `visible: true`, or
                    hex with `visible: false`.
                brokerage:
                  type: number
                  description: New brokerage percentage (0-100)
                visible:
                  type: boolean
                  description: When true, addresses are base58; when false, hex.
                  default: true
              required:
                - owner_address
                - brokerage
              example:
                owner_address: THPvaUhoh2Qn2y9THCZML3H815hhFhn5YC
                brokerage: 15
                visible: true
      responses:
        '200':
          description: Brokerage update transaction
          content:
            application/json:
              schema:
                type: object
                properties:
                  visible:
                    type: boolean
                    description: Whether addresses are in visible format
                  txID:
                    type: string
                    description: Transaction ID for the brokerage update
                  raw_data:
                    type: object
                    properties:
                      contract:
                        type: array
                        description: Contract details for brokerage update
                      ref_block_bytes:
                        type: string
                        description: Reference block bytes
                      ref_block_hash:
                        type: string
                        description: Reference block hash
                      expiration:
                        type: number
                        description: Transaction expiration timestamp
                      timestamp:
                        type: number
                        description: Transaction creation timestamp
                  raw_data_hex:
                    type: string
                    description: Raw transaction data in hex format

````