Docs

wallet/getchainparameters - Get TRON Chain Para...

Get current TRON blockchain parameters including fees, voting settings, and resource costs via Dwellir's optimized RPC endpoint.

Get current blockchain parameters including fees, voting settings, and resource configurations.

Endpoint

Text
POST /wallet/getchainparameters

Parameters

No parameters required.

Response

Returns chain parameters object containing:

  • chainParameter - Array of parameter objects, each with:
    • key - Parameter name
    • value - Parameter value

Key Parameters Include

ParameterDescriptionTypical Value
getMaintenanceTimeIntervalSuper Representative voting cycle21600000 (6 hours)
getAccountUpgradeCostCost to upgrade account9999000000 SUN
getCreateAccountFeeFee to create new account100000 SUN
getTransactionFeeBase transaction fee1000 SUN
getAssetIssueFeeFee to issue TRC10 token1024000000 SUN
getWitnessPayPerBlockSR block reward16000000 SUN
getWitnessStandbyAllowanceSR standby allowance115200000000 SUN
getCreateNewAccountFeeInSystemContractSystem contract account fee1000000 SUN
getCreateNewAccountBandwidthRateBandwidth for new account1
getAllowCreationOfContractsContract creation enabled1
getRemoveThePowerOfTheGrRemove GR power0
getEnergyFeeEnergy unit price420 SUN
getExchangeCreateFeeExchange creation fee1024000000 SUN
getMaxCpuTimeOfOneTxMax CPU time per transaction50 ms
getAllowUpdateAccountNameAccount name update allowed0
getAllowSameTokenNameDuplicate token names allowed1
getAllowDelegateResourceResource delegation enabled1
getTotalEnergyLimitTotal network energy limit90000000000
getAllowTvmTransferTrc10TVM TRC10 transfers enabled1
getTotalEnergyCurrentLimitCurrent total energy limit90000000000
getAllowMultiSignMulti-signature enabled1
getAllowAdaptiveEnergyAdaptive energy enabled0
getTotalEnergyTargetLimitTarget energy limit0
getTotalEnergyAverageUsageAverage energy usage0
getUpdateAccountPermissionFeePermission update fee100000000 SUN
getMultiSignFeeMulti-signature fee1000000 SUN
getAllowProtoFilterNumProtocol filter number0
getAllowAccountStateRootAccount state root enabled1
getAllowTvmConstantinopleTVM Constantinople enabled1
getAllowTvmSolidity059TVM Solidity 0.5.9 enabled1
getAdaptiveResourceLimitTargetRatioResource limit target ratio10
getAdaptiveResourceLimitMultiplierResource limit multiplier1000
getChangeDelegationDelegation changes enabled1
getWitness127PayPerBlockTop 127 witness pay160000000 SUN
getAllowTvmShanghaiTVM Shanghai enabled1
getAllowTvmLondonTVM London enabled1
getAllowHigherLimitForMaxCpuTimeOfOneTxHigher CPU time limit1
getFreeNetLimitDaily free bandwidth600
getTotalNetLimitTotal network bandwidth43200000000

Implementation Examples

Bash
# Get chain parameters
curl -X POST https://api-tron-mainnet.n.dwellir.com/YOUR_API_KEY/wallet/getchainparameters \
  -H "Content-Type: application/json" \
  -d '{}'

# Parse specific parameter (using jq)
curl -X POST https://api-tron-mainnet.n.dwellir.com/YOUR_API_KEY/wallet/getchainparameters \
  -H "Content-Type: application/json" \
  -d '{}' | jq '.chainParameter[] | select(.key == "getEnergyFee")'
JavaScript
// Get chain parameters
const response = await fetch('https://api-tron-mainnet.n.dwellir.com/YOUR_API_KEY/wallet/getchainparameters', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({}),
});

const data = await response.json();

// Parse parameters into usable format
const parameters = {};
data.chainParameter.forEach(param => {
  parameters[param.key] = param.value;
});

console.log('Chain Parameters:', parameters);

// Calculate fees
const createAccountFee = parameters.getCreateAccountFee / 1000000; // Convert to TRX
const transactionFee = parameters.getTransactionFee / 1000000;
const energyPrice = parameters.getEnergyFee / 1000000;

console.log(`Create Account Fee: ${createAccountFee} TRX`);
console.log(`Transaction Fee: ${transactionFee} TRX`);
console.log(`Energy Price: ${energyPrice} TRX per unit`);
Python
import requests

url = "https://api-tron-mainnet.n.dwellir.com/YOUR_API_KEY/wallet/getchainparameters"

response = requests.post(url, json={})
data = response.json()

# Parse parameters
parameters = {}
for param in data['chainParameter']:
    parameters[param['key']] = param['value']

print("Chain Parameters:")
for key, value in parameters.items():
    print(f"  {key}: {value}")

# Extract important fees
create_account_fee = parameters.get('getCreateAccountFee', 0) / 1_000_000
transaction_fee = parameters.get('getTransactionFee', 0) / 1_000_000
energy_price = parameters.get('getEnergyFee', 0) / 1_000_000

print(f"\nFees (in TRX):")
print(f"  Create Account: {create_account_fee}")
print(f"  Transaction: {transaction_fee}")
print(f"  Energy Price: {energy_price} per unit")

# Check network limits
free_bandwidth = parameters.get('getFreeNetLimit', 0)
total_energy = parameters.get('getTotalEnergyLimit', 0)

print(f"\nResource Limits:")
print(f"  Free Daily Bandwidth: {free_bandwidth}")
print(f"  Total Network Energy: {total_energy:,}")

Example Response

JSON
{
  "chainParameter": [
    {
      "key": "getMaintenanceTimeInterval",
      "value": 21600000
    },
    {
      "key": "getAccountUpgradeCost",
      "value": 9999000000
    },
    {
      "key": "getCreateAccountFee",
      "value": 100000
    },
    {
      "key": "getTransactionFee",
      "value": 1000
    },
    {
      "key": "getEnergyFee",
      "value": 420
    },
    {
      "key": "getFreeNetLimit",
      "value": 600
    },
    {
      "key": "getTotalEnergyLimit",
      "value": 90000000000
    },
    {
      "key": "getAllowDelegateResource",
      "value": 1
    },
    {
      "key": "getAllowMultiSign",
      "value": 1
    },
    {
      "key": "getWitnessPayPerBlock",
      "value": 16000000
    }
  ]
}

Use Cases

  • Fee Calculation: Calculate transaction costs before execution
  • Resource Planning: Understand energy and bandwidth pricing
  • Network Monitoring: Track parameter changes over time
  • DApp Configuration: Adjust application based on network settings
  • Governance Tracking: Monitor voting and proposal parameters