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 60000 para energy, 1000 para bandwidth)
energyintegerNãoObsoleto. Use amount.
durationintegerSimDuração em horas (1 hora ou 24 horas)
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": 65000,
  "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: 65000,
  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' => 65000,
  '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': 65000,
  '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)
resultobjectDados da resposta
result.addressstringO endereço TRON fornecido na requisição
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,
    "result": {
        "address": "ENDERECO_TRX",
        "energy": 65000,
        "duration": 1,
        "price": 1.67,
        "activation_fee": 0,
        "total": 1.67
    }
}

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

json
{
    "code": 0,
    "result": {
        "address": "ENDERECO_TRX",
        "energy": 65000,
        "duration": 1,
        "price": 3.67,
        "activation_fee": 1.4,
        "total": 5.07
    }
}

Possíveis Erros

Código do ErroDescrição
1Erro de autenticação (token ou assinatura incorretos)
10Endereço TRON inválido
11Quantidade de energia inválida
12Duração inválida
35Serviço indisponível
500Erro interno do servidor

Observações

  • A quantidade de energia deve ser de pelo menos 60000.
  • São suportadas durações de 1 hora e 24 horas.
  • 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