Core API
Buy Bandwidth
Purchase bandwidth for a TRON address
POST
/
api
/
v1
/
bandwidth
/
buy
Buy Bandwidth
curl --request POST \
--url https://api.example.com/api/v1/bandwidth/buy \
--header 'Content-Type: application/json' \
--data '
{
"target_address": "<string>",
"volume": 123,
"duration": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/bandwidth/buy"
payload = {
"target_address": "<string>",
"volume": 123,
"duration": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({target_address: '<string>', volume: 123, duration: '<string>'})
};
fetch('https://api.example.com/api/v1/bandwidth/buy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/bandwidth/buy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'target_address' => '<string>',
'volume' => 123,
'duration' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/bandwidth/buy"
payload := strings.NewReader("{\n \"target_address\": \"<string>\",\n \"volume\": 123,\n \"duration\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/bandwidth/buy")
.header("Content-Type", "application/json")
.body("{\n \"target_address\": \"<string>\",\n \"volume\": 123,\n \"duration\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/bandwidth/buy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"target_address\": \"<string>\",\n \"volume\": 123,\n \"duration\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"status": "<string>",
"txid": {},
"price_trx": "<string>",
"reclaim_at": {}
}Buy Bandwidth
Delegates bandwidth to the specified TRON address. The cost is deducted from your account balance.Request body
string
required
Target TRON address (T… format, 34 characters)
number
required
Amount of bandwidth to delegate (min 350, max 100,000)
string
required
Rental duration:
"1h" (1 hour) or "1d" (24 hours). Use "1d", not "24h" or numeric hour values.Response
number
Unique order identifier
string
Order status:
pending, filled, failedstring | null
On-chain transaction id once the delegation is broadcast (null while
pending)string
Total cost charged from your balance, in TRX
string | null
ISO 8601 timestamp when the bandwidth rental is reclaimed
Pricing
Price =(volume × price_sun) / 1,000,000 + 0.2 TRX fixed fee. Get current price_sun_1h, price_sun_1d, and fixed_fee_trx from GET /v1/bandwidth/prices.
Example
curl -X POST https://api.tronrental.com/v1/bandwidth/buy \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"target_address": "TYourRecipientAddress1234567890abc",
"volume": 16000,
"duration": "1d"
}'
import requests
resp = requests.post(
"https://api.tronrental.com/v1/bandwidth/buy",
headers={"X-API-Key": "your_api_key"},
json={
"target_address": "TYourRecipientAddress1234567890abc",
"volume": 16000,
"duration": "1d",
},
)
print(resp.json())
const resp = await fetch("https://api.tronrental.com/v1/bandwidth/buy", {
method: "POST",
headers: {
"X-API-Key": "your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
target_address: "TYourRecipientAddress1234567890abc",
volume: 16000,
duration: "1d",
}),
});
console.log(await resp.json());
Response
{
"id": 5678,
"price_trx": "10.28",
"status": "filled",
"txid": "abc123...",
"reclaim_at": "2026-06-10T21:00:00+00:00"
}
350 bandwidth covers one USDT TRC-20 transfer when free daily bandwidth is exhausted.
⌘I
Buy Bandwidth
curl --request POST \
--url https://api.example.com/api/v1/bandwidth/buy \
--header 'Content-Type: application/json' \
--data '
{
"target_address": "<string>",
"volume": 123,
"duration": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/bandwidth/buy"
payload = {
"target_address": "<string>",
"volume": 123,
"duration": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({target_address: '<string>', volume: 123, duration: '<string>'})
};
fetch('https://api.example.com/api/v1/bandwidth/buy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/bandwidth/buy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'target_address' => '<string>',
'volume' => 123,
'duration' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/bandwidth/buy"
payload := strings.NewReader("{\n \"target_address\": \"<string>\",\n \"volume\": 123,\n \"duration\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/bandwidth/buy")
.header("Content-Type", "application/json")
.body("{\n \"target_address\": \"<string>\",\n \"volume\": 123,\n \"duration\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/bandwidth/buy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"target_address\": \"<string>\",\n \"volume\": 123,\n \"duration\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"status": "<string>",
"txid": {},
"price_trx": "<string>",
"reclaim_at": {}
}