Skip to content

Estimar energía necesaria

Este método permite estimar la cantidad de energía necesaria para transferir tokens (por ejemplo, USDT) sin crear una transacción.

POST /v1/estimate-energy

Solicitud

Parámetros de Solicitud

CampoTipoRequeridoDescripción
from_addressstringDirección de la billetera TRON del remitente (34 caracteres)
to_addressstringDirección de la billetera TRON del destinatario (34 caracteres)
contract_addressstringNoDirección del contrato inteligente (predeterminado: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t - Tether (USDT))
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "from_address": "TRX_FROM_ADDRESS",
  "to_address": "TRX_TO_ADDRESS",
  "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
}'

# Calcular firma
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Realizar solicitud API
curl -X POST "https://api.tronzap.com/v1/estimate-energy" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"
javascript
const crypto = require('crypto');
const axios = require('axios');

const apiToken = 'your_api_token';
const apiSecret = 'your_api_secret';
const requestBody = JSON.stringify({
  from_address: 'TRX_FROM_ADDRESS',
  to_address: 'TRX_TO_ADDRESS',
  contract_address: 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
});

// Calcular firma
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Realizar solicitud API
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/estimate-energy',
  headers: {
    'Authorization': `Bearer ${apiToken}`,
    'X-Signature': signature,
    'Content-Type': 'application/json'
  },
  data: requestBody
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
php
<?php
$apiToken = 'your_api_token';
$apiSecret = 'your_api_secret';
$requestBody = json_encode([
  'from_address' => 'TRX_FROM_ADDRESS',
  'to_address' => 'TRX_TO_ADDRESS',
  'contract_address' => 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
]);

// Calcular firma
$signature = hash('sha256', $requestBody . $apiSecret);

// Realizar solicitud API
$ch = curl_init('https://api.tronzap.com/v1/estimate-energy');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer ' . $apiToken,
  'X-Signature: ' . $signature,
  'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
python
import hashlib
import json
import requests

api_token = 'your_api_token'
api_secret = 'your_api_secret'
request_body = json.dumps({
  'from_address': 'TRX_FROM_ADDRESS',
  'to_address': 'TRX_TO_ADDRESS',
  'contract_address': 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
})

# Calcular firma
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Realizar solicitud API
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

response = requests.post(
  'https://api.tronzap.com/v1/estimate-energy',
  headers=headers,
  data=request_body
)

print(response.json())

Respuesta

La respuesta proporciona información detallada sobre el cálculo de la energía necesaria para realizar una transferencia de tokens.

Campos de Respuesta

CampoTipoDescripción
codeintegerCódigo de respuesta (0 = éxito)
request_idstringIdentificador único de la solicitud
resultobjectDatos de respuesta
result.amountintegerCantidad de energía necesaria para realizar la transferencia usando el contrato
result.energyintegerCantidad de energía necesaria para realizar la transferencia usando el contrato (obsoleto, use amount)
result.durationintegerDuración en horas (actualmente solo está disponible 1 hora)
result.pricefloatPrecio para delegar energía
result.activation_feefloatPrecio para la activación de la dirección (si es requerida)
result.totalfloatPrecio final incluyendo la activación si es requerida
result.from_addressstringLa dirección TRON del remitente proporcionada en la solicitud
result.to_addressstringLa dirección TRON del destinatario proporcionada en la solicitud
result.contract_addressstringLa dirección del contrato inteligente utilizada para el cálculo

Ejemplo de Respuesta

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "amount": 64400,
        "energy": 64400,
        "duration": 1,
        "price": 3.66,
        "activation_fee": 0,
        "total": 3.66,
        "from_address": "TRX_FROM_ADDRESS",
        "to_address": "TRX_TO_ADDRESS",
        "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
    }
}

Ejemplo de Respuesta (Dirección no activada)

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "amount": 64400,
        "energy": 64400,
        "duration": 1,
        "price": 3.66,
        "activation_fee": 1.4,
        "total": 5.06,
        "from_address": "TRX_FROM_ADDRESS",
        "to_address": "TRX_TO_ADDRESS",
        "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
    }
}

Posibles Errores

Código de ErrorKeyDescripción
1authError de autenticación (token o firma incorrectos)
10invalid_tron_addressDirección de origen inválida
10invalid_tron_addressDirección de destino inválida
10invalid_tron_addressDirección de contrato inválida
35service_unavailableServicio no disponible
500internal_server_errorError interno del servidor

Notas

  • El parámetro contract_address es opcional y por defecto es TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t (Tether USDT)
  • Este endpoint solo estima la energía para realizar una transferencia de USDT sin crear una transacción
  • Para crear una transacción real de compra de energía, use el endpoint Crear Transacción

Tron Energy API Documentation