Skip to main content
POST
/
95e61622bf6a8af293978377718e3b77
/
wallet
/
updateBrokerage
wallet/updateBrokerage
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
}'
{
  "visible": true,
  "txID": "<string>",
  "raw_data": {
    "contract": [
      "<any>"
    ],
    "ref_block_bytes": "<string>",
    "ref_block_hash": "<string>",
    "expiration": 123,
    "timestamp": 123
  },
  "raw_data_hex": "<string>"
}
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.

Body

application/json
owner_address
string
required

Witness account address. Use base58 with visible: true, or hex with visible: false.

brokerage
number
required

New brokerage percentage (0-100)

visible
boolean
default:true

When true, addresses are base58; when false, hex.

Response

200 - application/json

Brokerage update transaction

visible
boolean

Whether addresses are in visible format

txID
string

Transaction ID for the brokerage update

raw_data
object
raw_data_hex
string

Raw transaction data in hex format