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
Name Type Description Tronsave api key that present for internal account
Request Body
Name Type Description Time in milliseconds you want to extend to
Number maximum price you want to pay to extend
The address that received resource delegate
200: OK Success 401: Unauthorized Invalid api key 429: Too Many Requests Rate limit reached
Copy {
"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
}
Copy {
"API_KEY_REQUIRED": "Missing api key in headers",
"INVALID_API_KEY":"api key not correct"
}
Copy {
"RATE_LIMIT": "Rate limit reached",
}
Example
Body Success Response
Copy {
"extend_to" : 1728704969000 ,
"max_price" : 165 ,
"receiver" : "TFwUFWr3QV376677Z8VWXxGUAMF11111111"
}
Copy {
"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
Javascript cURL
Copy 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
}
Copy 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
Name Type Description Tronsave api key that present for internal account
Request Body
Name Type Description The address that received resource
Array extends data. Get it at a response of API estimate extendable delegate
200: OK Success 401: Unauthorized Invalid api key 429: Too Many Requests Rate limit reached
return array of order ids if success
Copy [<order_id_ 1 > , <order_id_ 2 > , ...]
Copy {
"API_KEY_REQUIRED" : "Missing api key in headers" ,
"INVALID_API_KEY" : "api key not correct"
}
Copy {
"RATE_LIMIT" : "Rate limit reached" ,
}
Example
Body Success Response
Copy {
"extend_data" : [
{
"delegator" : {{some_delegator_address}} ,
"is_extend" : true ,
"extra_amount" : 0 ,
"extend_to" : {{extend_timestamp_in_millisecs}}
} ,
...
] ,
"receiver" : {{receiver_address}}
}
Copy [ "651d2306e55c073f6ca0992e" , "651d2306e55c073f6ca09923" , ...]
Example Code
Javascript cURL
Copy 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 []
}
Copy 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}}
}
'