Skip to content

Create Transaction

Creates a new transaction for energy or bandwidth purchase or address activation.

POST /v1/transaction/new

Request

Request Parameters

FieldTypeRequiredDescription
external_idstringNoOptional external transaction identifier
servicestringYesService type, must be either "energy", "bandwidth" or "activate_address"
paramsobjectYesService parameters object
params.addressstringYesTRON wallet address (34 characters)
params.amountintegerYesAmount of energy or bandwidth to purchase. Required when service="energy" or "bandwidth"
params.energy_amountintegerYesDeprecated. Use params.amount.
params.durationintegerYesDuration in hours. Energy supports 1h or 24h packages, bandwidth currently supports 1h only.
params.activate_addressbooleanNoWhether to activate the address. Optional for energy service
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "external_id": "my-external-id-123",
  "service": "energy",
  "params": {
    "address": "TRX_ADDRESS",
    "energy_amount": 65000,
    "duration": 1
  }
}'

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

# Make API request
curl -X POST "https://api.tronzap.com/v1/transaction/new" \
  -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({
  external_id: 'my-external-id-123',
  service: 'energy',
  params: {
    address: 'TRX_ADDRESS',
    energy_amount: 65000,
    duration: 1
  }
});

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

// Make API request
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/transaction/new',
  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([
  'external_id' => 'my-external-id-123',
  'service' => 'energy',
  'params' => [
    'address' => 'TRX_ADDRESS',
    'energy_amount' => 65000,
    'duration' => 1
  ]
]);

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

// Make API request
$ch = curl_init('https://api.tronzap.com/v1/transaction/new');
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({
  'external_id': 'my-external-id-123',
  'service': 'energy',
  'params': {
    'address': 'TRX_ADDRESS',
    'energy_amount': 65000,
    'duration': 1
  }
})

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

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

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

print(response.json())

Example Request for Address Activation

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "external_id": "my-external-id-123",
  "service": "activate_address",
  "params": {
    "address": "TRX_ADDRESS"
  }
}'

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

# Make API request
curl -X POST "https://api.tronzap.com/v1/transaction/new" \
  -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({
  external_id: 'my-external-id-123',
  service: 'activate_address',
  params: {
    address: 'TRX_ADDRESS'
  }
});

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

// Make API request
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/transaction/new',
  headers: {
    'Authorization': `Bearer ${apiToken}`,
    'X-Signature': signature,
    'Content-Type': 'application/json'
  },
  data: requestBody
})
.then(response => console.log(response.data))
.catch(error => console.error(error));

Response

The response provides details about the created transaction.

Response Fields

FieldTypeDescription
codeintegerResponse code (0 = success)
resultobjectResponse data
result.idstringInternal transaction ID
result.external_idstringExternal transaction ID (if provided)
result.paramsobjectOriginal request parameters
result.statusstringTransaction status (see status list)
result.amountfloatTransaction amount
result.created_atstringCreation timestamp (ISO 8601 format)
result.hashstringTransaction hash (if completed)

Example Response

json
{
    "code": 0,
    "result": {
        "id": "transaction_id",
        "external_id": "my-external-id-123",
        "params": {
            "address": "TRX_ADDRESS",
            "energy_amount": 65000,
            "duration": 1
        },
        "status": "success",
        "amount": 8.25,
        "created_at": "2024-03-22T12:00:00Z",
        "hash": "transaction_hash"
    }
}

Possible Errors

Error CodeDescription
1Authentication error (incorrect token or signature)
2Invalid service or parameters
5Wallet not found
6Insufficient funds
10Invalid TRON address
11Invalid energy amount
12Invalid duration
24Address not activated
25Address already activated
35Service not available
500Internal server error

Tron Energy API Documentation