Skip to content

Estimar energia necessária

Este método permite estimar a quantidade de energia necessária para transferir tokens (por exemplo, USDT) sem criar uma transação.

POST /v1/estimate-energy

Requisição

Parâmetros da Requisição

CampoTipoObrigatórioDescrição
from_addressstringSimEndereço da carteira TRON do remetente (34 caracteres)
to_addressstringSimEndereço da carteira TRON do destinatário (34 caracteres)
contract_addressstringNãoEndereço do contrato inteligente (padrão: 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 assinatura
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Fazer requisição 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 assinatura
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Fazer requisição 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 assinatura
$signature = hash('sha256', $requestBody . $apiSecret);

// Fazer requisição 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 assinatura
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Fazer requisição 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())

Resposta

A resposta fornece informações detalhadas sobre o cálculo da energia necessária para fazer uma transferência de tokens.

Campos da Resposta

CampoTipoDescrição
codeintegerCódigo de resposta (0 = sucesso)
resultobjectDados da resposta
result.energyintegerQuantidade de energia necessária para fazer a transferência usando o contrato
result.durationintegerDuração em horas (atualmente apenas 1 hora está disponível)
result.pricefloatPreço para delegar energia
result.activation_feefloatPreço para ativação do endereço (se necessário)
result.totalfloatPreço final incluindo a ativação se necessário
result.from_addressstringO endereço TRON do remetente fornecido na requisição
result.to_addressstringO endereço TRON do destinatário fornecido na requisição
result.contract_addressstringO endereço do contrato inteligente usado para o cálculo

Exemplo de Resposta

json
{
    "code": 0,
    "result": {
        "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"
    }
}

Exemplo de Resposta (Endereço não ativado)

json
{
    "code": 0,
    "result": {
        "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"
    }
}

Possíveis Erros

Código de ErroDescrição
1Erro de autenticação (token ou assinatura incorretos)
2Serviço ou parâmetros inválidos
10Endereço de origem inválido
10Endereço de destino inválido
10Endereço de contrato inválido
500Erro interno do servidor

Notas

  • O parâmetro contract_address é opcional e por padrão é TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t (Tether USDT)
  • Este endpoint apenas estima a energia para fazer uma transferência de USDT sem criar uma transação
  • Para criar uma transação real de compra de energia, use o endpoint Criar Transação

Tron Energy API Documentation