Skip to content

Calcular Custo de Recursos

Este endpoint calcula o custo da compra de recursos sem criar uma transação.

POST /v1/calculate

Requisição

Parâmetros da Requisição

CampoTipoObrigatórioDescrição
addressstringSimEndereço da carteira TRON (34 caracteres)
amountintegerSimQuantidade de energia ou largura de banda a ser comprada (mínimo 50000 para energy, 1000 para bandwidth)
energyintegerNãoObsoleto. Use amount.
durationintegerSimDuração em horas (1 hora)
typestringNãoTipo de recurso para o cálculo, "energy" (padrão) ou "bandwidth"
bash
#!/bin/bash
API_TOKEN="seu_token_api"
API_SECRET="seu_segredo_api"
REQUEST_BODY='{
  "address": "ENDERECO_TRX",
  "amount": 50000,
  "duration": 1
}'

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

# Faz a requisição à API
curl -X POST "https://api.tronzap.com/v1/calculate" \
  -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 = 'seu_token_api';
const apiSecret = 'seu_segredo_api';
const requestBody = JSON.stringify({
  address: 'ENDERECO_TRX',
  amount: 50000,
  duration: 1
});

// Calcula a assinatura
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Faz a requisição à API
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/calculate',
  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 = 'seu_token_api';
$apiSecret = 'seu_segredo_api';
$requestBody = json_encode([
  'address' => 'ENDERECO_TRX',
  'amount' => 50000,
  'duration' => 1
]);

// Calcula a assinatura
$signature = hash('sha256', $requestBody . $apiSecret);

// Faz a requisição à API
$ch = curl_init('https://api.tronzap.com/v1/calculate');
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 = 'seu_token_api'
api_secret = 'seu_segredo_api'
request_body = json.dumps({
  'address': 'ENDERECO_TRX',
  'amount': 50000,
  'duration': 1
})

# Calcula a assinatura
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Faz a requisição à API
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

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

print(response.json())

Resposta

A resposta fornece informações detalhadas do cálculo para a compra de energia.

Campos da Resposta

CampoTipoDescrição
codeintegerCódigo da resposta (0 = sucesso)
request_idstringIdentificador único da requisição
resultobjectDados da resposta
result.addressstringO endereço TRON fornecido na requisição
result.typestringTipo de recurso ("energy" ou "bandwidth")
result.amountintegerA quantidade de energia ou largura de banda fornecida na requisição
result.energyintegerObsoleto. Use result.amount.
result.durationintegerA duração em horas fornecida na requisição
result.pricefloatPreço total para a compra de energia
result.activation_feefloatPreço para ativação do endereço (se necessário)
result.totalfloatPreço final incluindo ativação, se necessária

Exemplo de Resposta

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "address": "ENDERECO_TRX",
        "type": "energy",
        "amount": 50000,
        "energy": 50000,
        "duration": 1,
        "price": 1.67,
        "activation_fee": 0,
        "total": 1.67
    }
}

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

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "address": "ENDERECO_TRX",
        "type": "energy",
        "amount": 50000,
        "energy": 50000,
        "duration": 1,
        "price": 3.67,
        "activation_fee": 1.4,
        "total": 5.07
    }
}

Possíveis Erros

Código do ErroKeyDescrição
1authErro de autenticação (token ou assinatura incorretos)
10invalid_tron_addressEndereço TRON inválido
11invalid_energy_amountQuantidade de energia inválida
12invalid_durationDuração inválida
35service_unavailableServiço indisponível
500internal_server_errorErro interno do servidor

Observações

  • A quantidade de energia deve ser de pelo menos 50000.
  • É suportada a duração de 1 hora.
  • Este endpoint apenas calcula o custo 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