Extend request
To use this feature you must have the API key. Read here to know how to get our api key
Step 1: Check all extendable delegates
POST
https://api.tronsave.io/v0/get-extendable-delegates
Check extendable delegates by api-key
Rate limit: 1 request per 2 seconds
Headers
Request Body
{
"extend_order_book": [
{
"price": 133,
"value": 64319
},
...
], //Overview extend energy amount at every single price
"total_delegate_amount": 64319,
//Total current delegate of receiver address in tronsave
"total_available_extend_amount": 64319,
//Total available delegate of receiver address in tronsave
"total_estimate_trx": 8554427,
//Estimate TRX payout if using extend_data below to create extend request
"your_balance": 20000000,
//api key's internal balance
"is_able_to_extend": true,
//Compare balance and total_estimate_trx
"extend_data": [
{
"delegator": "TMN2uTdy6rQYaTm4A5g732kHRf72tKsA4w",
"is_extend": true,
"extra_amount": 0,
"extend_to": 1728459019000
}
]
//Extend data that are used to create extend requests below
}
{
"API_KEY_REQUIRED": "Missing api key in headers",
"INVALID_API_KEY":"api key not correct"
}
{
"RATE_LIMIT": "Rate limit reached",
}
Example
{
"extend_to":1728704969000,
"max_price":165,
"receiver":"TFwUFWr3QV376677Z8VWXxGUAMF11111111"
}
{
"apikey": <YOUR_API_KEY>
}
{
"extend_order_book": [
{
"price": 108,
"value": 100000
},
{
"price": 122,
"value": 200000
}
],
"total_delegate_amount": 500000,
"total_available_extend_amount": 300000,
"total_estimate_trx": 24426224,
"is_able_to_extend": true,
"your_balance": 37780396,
"extend_data": [
{
"delegator": "TQBV7xU489Rq8ZCsYi72zBhJM2222222",
"is_extend": true,
"extra_amount": 0,
"extend_to": 1728704969000
},
{
"delegator": "TMN2uTdy6rQYaTm4A5g732kHR333333333",
"is_extend": true,
"extra_amount": 0,
"extend_to": 1728704969000
}
]
}
Example Code
const GetEstimateExtendData = async () => {
const url = `https://api.tronsave.io/v0/get-extendable-delegates`
const body = {
"extend_to": extend_to, //time in milliseconds you want to extend to
"receiver": RECEIVER, //the address that receives resource delegate
"max_price": max_price, //Optional. Number maximum price you want to pay to extend
}
const data = await fetch(url, {
method: "POST",
headers: {
'apikey': API_KEY,
"content-type": "application/json",
},
body: JSON.stringify(body)
})
const response = await data.json()
/**
* Example response:
{
"extend_order_book": [
{
"price": 133,
"value": 64319
}
],
"total_delegate_amount": 64319,
"total_available_extend_amount": 64319,
"total_estimate_trx": 8554427,
"is_able_to_extend": true,
"your_balance": 20000000,
"extend_data": [
{
"delegator": "TMN2uTdy6rQYaTm4A5g732kHRf72tKsA4w",
"is_extend": true,
"extra_amount": 0,
"extend_to": 1728459019000
}
]
}
*/
return response
}
curl --location 'https://api.tronsave.io/v0/get-extendable-delegates' \
--header 'apikey: {{apikey}}' \
--data '
{
"extend_to": {{extend_timestamp_in_millisecs}},
"receiver": {{receiver_address}},
"max_price": {{max_price_per_unit_want_to_pay}},
}
'
Step 2: Create an extend request by API key
POST
https://api.tronsave.io/v0/internal-extend-request
Create a new extend request order by api-key
Rate limit: 1 request per 2 seconds
Headers
Request Body
return array of order ids if success
[<order_id_1>,<order_id_2>,...]
{
"API_KEY_REQUIRED": "Missing api key in headers",
"INVALID_API_KEY":"api key not correct"
}
{
"RATE_LIMIT": "Rate limit reached",
}
Example
{
"extend_data":[
{
"delegator": {{some_delegator_address}},
"is_extend": true,
"extra_amount": 0,
"extend_to": {{extend_timestamp_in_millisecs}}
},
...
],
"receiver":{{receiver_address}}
}
{
"apikey": <YOUR_API_KEY>
}
["651d2306e55c073f6ca0992e","651d2306e55c073f6ca09923",...]
Example Code
const SendInternalExtendRequest = async () => {
const url = `https://api.tronsave.io/v0/internal-extend-request`
const body = {
"extend_data": [
{
"delegator": {{some_delegator_address}},
"is_extend": true,
"extra_amount": 0,
"extend_to": {{extend_timestamp_in_millisecs}}
}
],
"receiver": RECEIVER,
}
const data = await fetch(url, {
method: "POST",
headers: {
'apikey': API_KEY,
"content-type": "application/json",
},
body: JSON.stringify(body)
})
const response = await data.json()
/**
* Example response
* @link //TODO
[<order_id>]
*/
return response
}
return []
}
curl --location 'https://api.tronsave.io/v0/internal-extend-request' \
--header 'apikey: {{apikey}}' \
--data '
{
"extend_data":[
{
"delegator": {{some_delegator_address}},
"is_extend": true,
"extra_amount": 0,
"extend_to": {{extend_timestamp_in_millisecs}}
},
...
],
"receiver":{{receiver_address}}
}
'
Last updated