POST
/
95e61622bf6a8af293978377718e3b77
/
wallet
/
freezebalance
wallet/freezebalance
curl --request POST \
  --url https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/wallet/freezebalance \
  --header 'Content-Type: application/json' \
  --data '{
  "owner_address": "41608f8da72479edc7dd921e4c30bb7e7cddbe722e",
  "frozen_balance": 1000000,
  "frozen_duration": 3,
  "resource": "BANDWIDTH",
  "receiver_address": "41608f8da72479edc7dd921e4c30bb7e7cddbe722e",
  "visible": false
}'
{
  "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 stakes TRX for bandwidth or energy resources (deprecated method). This method freezes TRX tokens to obtain bandwidth or energy resources, which are required for transaction execution. Note that this is the legacy staking mechanism, replaced by freezebalancev2.
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 — the address that owns the TRX to freeze (hex format)
  • frozen_balance — the amount of TRX to freeze (in sun, where 1 TRX = 1,000,000 sun)
  • frozen_duration — the duration to freeze for (minimum 3 days)
  • resource — the resource type to obtain (“BANDWIDTH” or “ENERGY”)
  • receiver_address — optional address to receive the resources (defaults to owner_address)
  • visible — optional boolean to specify address format (default: false for hex format)

Response

  • visible — boolean indicating address format used
  • txID — transaction ID hash
  • raw_data — raw transaction data object
  • raw_data_hex — hexadecimal representation of raw transaction data

Use case

The wallet/freezebalance method is used for:
  • Staking TRX to obtain bandwidth for free transactions (legacy method).
  • Freezing TRX to get energy for smart contract execution (legacy method).
  • Supporting older applications that still use the original staking mechanism.
  • Migrating from the deprecated staking system to the new freezebalancev2 method.

Body

application/json
owner_address
string
default:41608f8da72479edc7dd921e4c30bb7e7cddbe722e
required
frozen_balance
integer
default:1000000
required
frozen_duration
integer
default:3
required
resource
enum<string>
default:BANDWIDTH
required
Available options:
BANDWIDTH,
ENERGY
receiver_address
string
default:41608f8da72479edc7dd921e4c30bb7e7cddbe722e
visible
boolean
default:false

Response

200 - application/json

Freeze balance transaction

visible
boolean
txID
string
raw_data
object
raw_data_hex
string