Skip to main content
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.
Get you own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.

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.
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.

curl example

Shell
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
}'
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 and wait until it is recognized on-chain.