# Tronify Introduction

Tronify : More than just Tron Energy — it's trust and service.

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FIBk3J1XSNtBWkQynIU2U%2Fimage_2025-11-27_14-13-00.png?alt=media&amp;token=35d0cdf6-6804-4441-9ce1-eb011603b3bf" alt=""><figcaption></figcaption></figure>

In the **TRON Network**, **Bandwidth** and **Energy** are two core resources used to offset transaction fees, designed to improve network efficiency and reduce user costs.

* **Bandwidth Points**: Used to cover simple transactions (e.g., TRX transfers). Bandwidth points are restored daily or can be acquired by freezing TRX. No TRX is consumed when bandwidth points are available.
* **Energy**: Consumed for executing smart contracts and more complex transactions. If the account lacks sufficient energy, TRX will be automatically burned to acquire energy, and the burned TRX becomes the transaction fee. Energy can be obtained by freezing TRX; the more TRX frozen, the more energy acquired.

For individuals or enterprises with frequent on-chain activities, freezing large amounts of TRX for energy is costly, time-consuming, and restricts liquidity, impacting capital flexibility.

The **Tronify Energy Leasing Platform** solves this pain point by allowing users to lease energy on demand, with pay-as-you-go flexibility and no need to freeze TRX.

***

#### **Energy Consumption for USDT Transfers**

* **Energy consumption is unrelated to the transfer amount** but depends on whether the recipient address holds USDT.
* Transfer to an address **with USDT**: approx. **64,000 Energy**
* Transfer to an address **without USDT**: approx. **130,000 Energy**

| Scenario                    | Energy Used | TRX Burned | Tronify Cost | TRX Saved | Savings % |
| --------------------------- | ----------- | ---------- | ------------ | --------- | --------- |
| Transfer to USDT holder     | 64,000      | 6.4 TRX    | 4.72 TRX     | 1.68 TRX  | \~26%     |
| Transfer to non-USDT holder | 130,000     | 13 TRX     | 8.45 TRX     | 4.55 TRX  | \~35%     |

By leasing energy via Tronify in advance, users can avoid burning TRX and significantly reduce transaction costs.

***

### **Platform Advantages**

* **USDT/TRX Payment Supported**: USDT/TRX payments supported for leasing.
* **Significant Cost Savings**: Pay-as-you-go energy rental is far cheaper than burning TRX.
* **TRX Liquidity Retained**: No TRX freeze or lock-up required; funds remain flexible.
* **Instant Access, Fast Delivery**: No freezing period, energy delivered instantly.
* **Flexible for All Use Cases**: Suitable for personal transfers, batch airdrops, and enterprise DApp operations.

***

### **API Integration Flow**

1️⃣ Estimate energy needed for the transaction\
2️⃣ Query energy price via `/api/tronRent/queryPreorderInfo`\
3️⃣ Create energy rental order via `/api/tronRent/addTronRentRecord` (supports TRX or USDT)\
4️⃣ Upload transaction hash via `/api/tronRent/uploadHash` after signing\
5️⃣ Validate transaction hash to confirm energy rental completion\
6️⃣ Query order status via `/api/tronRent/trades`


# Tronify skills

### Rent Energy and Bandwidth on the Tron blockchain via the Tronify API. Supports payment using TRX and USDT. Use when the user asks to rent Tron energy or bandwidth, query energy cost, or create Tron resource purchase orders (including USDT energy orders with optional attached TRX).

#### 1. Supports renting energy and bandwidth using TRX.

#### 2. Supports renting energy and bandwidth, as well as attach TRX, using USDT.

```
npx skills add https://github.com/bridgers-skills/tronify-rent-skill
```


# Basic information

> This document is mainly used to explain endpoints usage, illustrate with code examples for requesting endpoints, specific interface input parameters and output parameter informationNotes

API Sequence Diagram

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2F3heWdoQUJ0L1r1iua0t2%2F%E6%88%AA%E5%B1%8F2025-07-18%2011.08.15.png?alt=media&amp;token=7ff9ab27-e80d-4bd0-9346-9a638cce6f98" alt=""><figcaption></figcaption></figure>

## Dapp URL

{% embed url="<https://www.tronify.io/>" %}

### Tronify address

```
TDii6vao7xyWg2rKPbCPWVRpSmne8xcqYx
TPyiQrP19oaLu5bQcn1UJDuRqvZAJvYqjQ
TWXcJPJhtdVWNiLRU5b4iVL2wJXdiJ3Bmj
TXSM8RcBkz1LoXZMn5by3MpavDg6vTQcF4
TXMj5g5mnG9rKobCVcPMVi5jvHgaTjTf26
TWNxrFiucT9iSw8UyQtPUYvHWD4PzSLELd
TWyFnX76Z3s67rRMy2Zg35soBXyGm4tpr9
TK8J3MoJQUMuC8LxRC3RQEyZxsveqVGZ5r
TREqQMNat1hjaaR7EZJnNx9nDh2gXz8yTQ
TAG33mrmAuzkj67zUY1qRNfYMinGcGqVh5
TCsBNUjcG7cgRBqSiW4ZqFF66AZ2MrxbVt
TXYqcWRnNP1bGsa9tzjsEJiKAYwMRonwMv
TX4oTB6a8dodEYSohYAGZn46uWSWWiiQUR
TAdm9uEjiDge14T6AkZuo8vCNBEV1Fitmn
TUFXua1qzfCsFpcZEGXaU7oGFURqQ7RQpy
TXbCg2a7YemAx4RZ3XNN6cN1jm4FDNb14P
TEUT3XQEtXBSW4C4eAj8gmr9wmPVHXQYfP
TPCaARfnhnK25574Z6KsmcQJDDus73YczS
TS65mj93xnZxs7h2wm6tGkxvLL96pY6hwA
TJigermUxt78sMudYQxEYRGJ1v55VdveT4
TVHx6eoMciT3Q74EWHh3sdjS3wZUofmbvx
TYF3zv5MTKQXTEtAsL5cGeswbg41RAvpyf
TEqUSc9jx15hY7vQxkaoaPJ3rbAAGkx5Kj
TMRm99fAZtfkHk1Err4FZZvpvFV5Qw53iu
TKFUauYQVtA5qRJeNRVYEx7XXu2WivgLkL
TYB8rsrUnVznCVxgfyHjTp9Tib4k7SvFDJ
TBWFVPh9br4zWrxwFAgdvTjDqghFT5wjSA
TAbBKxmhYo7dPvzB1yjqNDyvnEXNnyjscX
TYCYkF8rBxqjXo7Ud8EcHdV9xMaVBFtmSr
TKXVy2Cu1qs88mERExJRyPSU27UF5othef
THKPA7LiBbz11awNahzjuSLG7jWGs6hWfx
TCW24jbcZv4DyR3huRMugn1uaPf9xLxZ58
TKZfmb7vdg1RdcGE1GKnT4x2gxg5cUkV65
TP88nB6xFw9uiHq61RKiHsbqcVz3TAqXQy
TFcuhXetNGVVsCLo1J7KcNDbUVeSmAw9Rq
TRt5oX8YExs34PP2kxgXLn1RsEiJisTmf2
TXb6CuQjDNFwBHZ4PLD5sHgFpUpfWgjjQD
TFMF7M9agBQSTEQbkqq3FG3B1253JTDynF
THiJdLGHCwSZJT6zzrCNur97mSMUTk2y5S
TRoEqn3bA7oXCkLdpKEZ1YkpB5utrv7qB9
TPxRFBWkLVqTxuLw1CWfbcRXx1y9X8T3J8
TMDe8VH2hgFD3rijooZcNAotDfrRRAtJVC
TWq7KHPjfbwvzQXjAzvpJVwJGm5rYA3Fhn
TUhQr74GpTu67EKYmgjHvoA8hqSYCDtA7x
TEqz4xyGEaX8R37wnT4ktxEDkUuyGyzFEf
TMq6fQ7ZHHA9AJezXmEBEEupYh4JTGzJFj
TUSYcK5yf8Et4xNTiUcpfZwmhFsxfdoooo
```


# Get related configuration

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/pledgeConfig`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                         | Type   | Description                                                                                       |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| address<mark style="color:red;">\*</mark>    | String | User address (Wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark> | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "defaultDay": 3, //default freezing days
        "defaultEnergyPrice": 60, //default energy purchase price 
        "topEnergyPrice": 420, //energy purchase max price
        "lowEnergyPrice": 30, //energy purchase min price
        "topEnergyCanBuy": 1000000000, //energy purchase max value
        "lowEnergyCanBuy": 15000, //energy purchase min value
        "defaultWidthPrice": 900, //default bandwidth purchase price
        "topWidthPrice": 2000, //bandwidth purchase max price
        "lowWidthPrice": 600, //bandwidth purchase min price
        "topWidthCanBuy": 10000000, //bandwidth purchase max value
        "lowWidthCanBuy": 3500, //bandwidth purchase min value
        "refundRate": 0.1, //cancellation charge
        "sellerStakingTrxMinLimit": 10000, //The minimum limit for a seller to pledge TRX
        "energyPriceMaxSun": 1000, //The maximum limit for a seller to authorize the sale of energy
        "sendEnergy": 0,
        "receiveEnergy": 0,
        "sendWidth": 0,
        "receiveWidth": 0,
        "sun_1d": 95,
        "sun_1h": 85,
        "sun_2d": 90,
        "sun_3h": 90,
        "sun_10m": 80,
        "treasureType": [
            {
                "type": "transfer",
                "value": "32000"
            }
        ]
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    address: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    sourceFlag: 'tronLink'
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/pledgeConfig',params)
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FijUTxtpUw5DN5YJhqzNw%2F1.jpg?alt=media&amp;token=b7c00feb-66f3-410e-a4ed-d64ac873e46e" alt=""><figcaption></figcaption></figure>


# Pre-order

### Endpoint usage

<mark style="color:green;">`POST`</mark> <https://open.tronify.io/api/tronRent/queryPreorderInfo>

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                            | Type   | Description                                                                                                                                                                                                                                 |
| ----------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| fromAddress<mark style="color:red;">\*</mark>   | String | user address(wallet address for buyer)                                                                                                                                                                                                      |
| pledgeAddress<mark style="color:red;">\*</mark> | String | energy receiving address.                                                                                                                                                                                                                   |
| pledgeNum<mark style="color:red;">\*</mark>     | int    | amount of energy, cannot be less than 15000                                                                                                                                                                                                 |
| orderType<mark style="color:red;">\*</mark>     | String | ENERGY                                                                                                                                                                                                                                      |
| sourceFlag<mark style="color:red;">\*</mark>    | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties)                                                                                                                                           |
| tradeType<mark style="color:red;">\*</mark>     | String | fastTrade                                                                                                                                                                                                                                   |
| pledgeDay<mark style="color:red;">\*</mark>     | String | <p>Rental Time(unit: day)</p><p>values: 0-30</p><p>（<br><code>pledgeDay</code>, <code>pledgeHour</code>, and <code>pledgeMinute</code> cannot be 0 simultaneously）</p>                                                                      |
| pledgeHour<mark style="color:red;">\*</mark>    | String | <p>Rental Time(unit: hour)</p><p>values: 0, 1, 3</p>                                                                                                                                                                                        |
| pledgeMinute<mark style="color:red;">\*</mark>  | String | <p>Rental Time(unit: minute)</p><p>values: 0, 10</p>                                                                                                                                                                                        |
| extraTrxNum                                     | String | <p>The amount of additional trx the user wants to receive.<br><strong>Valid values: 0 or in the range \[0.8, 500].</strong><br><strong>0</strong> means that only energy is required, and no TRX is needed. (pay USDT get energy model)</p> |
| pledgeBandwidthNum                              | String | The amount of additional bandwidth the user wants to receive. If 0 or no passed, it means no bandwidth is required.                                                                                                                         |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "fromAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//User wallet address
        "pledgeAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//User receiving energy address
        "pledgeDay": "0",
        "pledgeHour": "0",
        "pledgeMinute": "10",
        "source": "tronLink",
        "orderType": "ENERGY",
        "orderPrice": 90,
        "pledgeNum": 96400,
        "pledgeTrxNum": "10.512",
        "usdtModeAvailable": true,
        "payCoinCode": "USDT", //Payment Currency
        "payCoinAmt": "3.124527",//payment amount
        "extraTrxNum": "0.8",//The amount of additional trx the user wants to receive
        "pledgeBandwidthNum": "0",//The amount of bandwidth the user wants to obtain
        "activeAccountFee": "0",//the fee of activation address
        "purchaseTRXFee": "0.397105",//the fee of extra trx
        "purchaseBandwidthFee": "0",//the fee of bandwidth
        "purchaseEnergyFee": "2.727422"//the fee of energy
        //...
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    fromAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    pledgeAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    tradeType: 'fastTrade',
    pledgeDay: '0',
    pledgeHour: '0',
    pledgeMinute: '10',
    orderType: 'ENERGY',
    pledgeNum: 32000,
    sourceFlag: 'tronLink',
    extraTrxNum: '0.8',
    pledgeBandwidthNum: '0'
}
const res = await axios.post('https://open.tronify.io/api/tronRent/queryPreorderInfo',params)
console.log(res)
if(res.resCode === '100'){
     // ... 
}
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2F8MfVxiNyx0GnZAJVK3Lw%2F21.jpg?alt=media&amp;token=eb5fc1f1-60ca-4acb-ad52-20efa011750e" alt=""><figcaption></figcaption></figure>


# create trx energy order

create energy purchase  order

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/addTronRentRecord`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                            | Type   | Description                                                                                                                                                                                                                                                                                                                            |
| ----------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| fromAddress<mark style="color:red;">\*</mark>   | String | user address(wallet address for buyer)                                                                                                                                                                                                                                                                                                 |
| pledgeAddress<mark style="color:red;">\*</mark> | String | energy receiving address.                                                                                                                                                                                                                                                                                                              |
| pledgeNum<mark style="color:red;">\*</mark>     | int    | amount of energy, cannot be less than 15000                                                                                                                                                                                                                                                                                            |
| orderPrice                                      | String | <p>price(unit: sun)</p><p>When <code>tradeType</code> is equal to "freedom", it is optional and needs to be greater than 30</p><p>default:95</p><p>When <code>tradeType</code> is equal to "fastTrade" , it is not need.</p>                                                                                                           |
| orderType<mark style="color:red;">\*</mark>     | String | ENERGY                                                                                                                                                                                                                                                                                                                                 |
| sourceFlag<mark style="color:red;">\*</mark>    | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties)                                                                                                                                                                                                                                      |
| tradeType                                       | String | <p>\[freedom, </p><p>fastTrade]</p><p>default: freedom</p>                                                                                                                                                                                                                                                                             |
| pledgeDay                                       | String | <p>Rental Time(unit: day)</p><p>When <code>tradeType</code> is equal to "freedom", it is required.  values: 3-30</p><p>When <code>tradeType</code> is equal to "fastTrade", it is optional. values: 1-30</p><p>（<br><code>pledgeDay</code>, <code>pledgeHour</code>, and <code>pledgeMinute</code> cannot be empty simultaneously）</p> |
| pledgeHour                                      | String | <p>Rental Time(unit: hour)</p><p>When <code>tradeType</code> is equal to "fastTrade", it is optional.</p><p>values: \[1, 3]</p>                                                                                                                                                                                                        |
| pledgeMinute                                    | String | <p>Rental Time(unit: minute)</p><p>When <code>tradeType</code> is equal to "fastTrade" , it is optional.</p><p>values: \[10]</p>                                                                                                                                                                                                       |
| pledgeBandwidthNum                              | String | The amount of additional bandwidth the user wants to receive. If 0 or no passed, it means no bandwidth is required.                                                                                                                                                                                                                    |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "orderId": "16zi4ynw_sdvn_qv8h_ujfc_crfsgyi07zat",
        "platformAddr": "TAdm9uEjiDge14T6AkZuo8vCNBEV1Fitmn",//trx recieving platform address
        "fromAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//wallet address
        "pledgeAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//energy recieving address
        "pledgeDay": 3,
        "source": "tronLink",
        "orderType": "ENERGY",
        "orderPrice": 110,
        "pledgeNum": 500,
        "pledgeTrxNum": 0.165
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    fromAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    pledgeAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    tradeType: 'freedom',
    pledgeDay: 3,
    orderType: 'ENERGY',
    orderPrice: 110,
    pledgeNum: 32000,
    sourceFlag: 'tronLink'
}
const res = await axios.post('https://open.tronify.io/api/tronRent/addTronRentRecord',params)
console.log(res)
if(res.resCode === '100'){
    const orderId = res.data.orderId;
    const transaction = res.data.transaction;
    const signedTx = await tronWeb.trx.sign(transaction)
    const params = {
        "orderId": orderId,
        "fromHash": signedTx.txID,
        "signedData": signedTx
    };
    const rest = await axios.post('https://open.tronify.io/api/tronRent/uploadHash', params );
    console.log(rest)
    if(rest.resCode === '100'){
        // ...
    }
}
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2Fmyz6eb9tPicgrt2pL6gn%2F2.jpg?alt=media&amp;token=49001699-e066-4f74-8f65-ed15a55003e9" alt=""><figcaption></figcaption></figure>


# create usdt energy order

The energy required for the USDT transfer paid to Tronify is automatically included. You only need to place an order for the amount of energy required for your actual business transfer.

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/addTronRentRecord`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                            | Type   | Description                                                                                                                                                                                                     |
| ----------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| fromAddress<mark style="color:red;">\*</mark>   | String | user address(wallet address for buyer)                                                                                                                                                                          |
| pledgeAddress<mark style="color:red;">\*</mark> | String | energy receiving address.                                                                                                                                                                                       |
| pledgeNum<mark style="color:red;">\*</mark>     | int    | amount of energy, cannot be less than 15000                                                                                                                                                                     |
| orderType<mark style="color:red;">\*</mark>     | String | ENERGY                                                                                                                                                                                                          |
| sourceFlag<mark style="color:red;">\*</mark>    | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties)                                                                                                               |
| tradeType<mark style="color:red;">\*</mark>     | String | fastTrade                                                                                                                                                                                                       |
| pledgeDay<mark style="color:red;">\*</mark>     | String | <p>Rental Time(unit: day)</p><p>values: 0-30</p><p>（<br><code>pledgeDay</code>, <code>pledgeHour</code>, and <code>pledgeMinute</code> cannot be 0 simultaneously）</p>                                          |
| pledgeHour<mark style="color:red;">\*</mark>    | String | <p>Rental Time(unit: hour)</p><p>values: 0, 1, 3</p>                                                                                                                                                            |
| pledgeMinute<mark style="color:red;">\*</mark>  | String | <p>Rental Time(unit: minute)</p><p>values: 0, 10</p>                                                                                                                                                            |
| extraTrxNum<mark style="color:red;">\*</mark>   | String | <p>The amount of additional trx the user wants to receive.<br><strong>Valid values: 0 or in the range \[0.8, 500].</strong><br><strong>0</strong> means that only energy is required, and no TRX is needed.</p> |
| pledgeBandwidthNum                              | String | The amount of additional bandwidth the user wants to receive. If 0 or no passed, it means no bandwidth is required.                                                                                             |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "fromAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//User wallet address
        "pledgeAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//User receiving energy address
        "pledgeDay": "0",
        "pledgeHour": "0",
        "pledgeMinute": "10",
        "source": "tronLink",
        "orderType": "ENERGY",
        "orderPrice": 90,
        "pledgeNum": 96400,
        "pledgeTrxNum": "10.512",
        "usdtModeAvailable": true,
        "payCoinCode": "USDT", //Payment Currency
        "payCoinAmt": "3.124527",//payment amount
        "extraTrxNum": "0.8",//The amount of additional trx the user wants to receive
        "pledgeBandwidthNum": "0",//The amount of bandwidth the user wants to obtain
        "activeAccountFee": "0",//the fee of activation address
        "purchaseTRXFee": "0.397105",//the fee of extra trx
        "purchaseBandwidthFee": "0",//the fee of bandwidth
        "purchaseEnergyFee": "2.727422"//the fee of energy
        //...
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    fromAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    pledgeAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    tradeType: 'fastTrade',
    pledgeDay: '0',
    pledgeHour: '0',
    pledgeMinute: '10',
    orderType: 'ENERGY',
    pledgeNum: 32000,
    sourceFlag: 'tronLink',
    extraTrxNum: '0.8',
    pledgeBandwidthNum: '0'
}
const res = await axios.post('https://open.tronify.io/api/tronRent/addTronRentRecord',params)
console.log(res)
if(res.resCode === '100'){
    const orderId = res.data.orderId;
    const transaction = res.data.transaction;
    const signedTx = await tronWeb.trx.sign(transaction)
    const params = {
        "orderId": orderId,
        "fromHash": signedTx.txID,
        "signedData": signedTx
    };
    const rest = await axios.post('https://open.tronify.io/api/tronRent/uploadHash', params );
    console.log(rest)
    if(rest.resCode === '100'){
        // ...
    }
}
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FMfgS4zKhGUykezhmi0vN%2F%E6%88%AA%E5%B1%8F2023-12-04%2014.19.44.png?alt=media&amp;token=534b251a-650b-44b7-aefa-c576c9b62a2a" alt=""><figcaption></figcaption></figure>


# create bandwidth  order

create bandwidth purchase  order

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/addTronRentRecord`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                            | Type   | Description                                                                                                                    |
| ----------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------ |
| fromAddress<mark style="color:red;">\*</mark>   | String | user address(wallet address for buyer)                                                                                         |
| pledgeAddress<mark style="color:red;">\*</mark> | String | bandwidth receiving address.                                                                                                   |
| pledgeNum<mark style="color:red;">\*</mark>     | String | amount of bandwidth, cannot be less than 1000                                                                                  |
| orderPrice<mark style="color:red;">\*</mark>    | String | <p>price(unit: sun)，default 900</p><p>The value must be greater than 700</p>                                                   |
| orderType<mark style="color:red;">\*</mark>     | String | BANDWIDTH                                                                                                                      |
| pledgeDay                                       | String | <p>Rental Time, (unit: day)</p><p>1-30<br>（<code>pledgeDay</code>, <code>pledgeHour</code> cannot be empty simultaneously）</p> |
| sourceFlag<mark style="color:red;">\*</mark>    | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties)                              |
| pledgeHour                                      | String | <p>Rental Time, (unit: hour)</p><p></p><p>\[1,3]</p>                                                                           |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "orderId": "16zi4ynw_sdvn_qv8h_ujfc_crfsgyi07zat",
        "platformAddr": "TAdm9uEjiDge14T6AkZuo8vCNBEV1Fitmn",//trx recieving platform address
        "fromAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//wallet address
        "pledgeAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//energy recieving address
        "pledgeDay": 3,
        "source": "tronLink",
        "orderType": "ENERGY",
        "orderPrice": 900,
        "pledgeNum": 3500,
        "pledgeTrxNum": 9.45
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    fromAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    pledgeAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    pledgeDay: 3,
    orderType: 'BANDWIDTH',
    orderPrice: 900,
    pledgeNum: 3500,
    sourceFlag: 'tronLink'
}
const res = await axios.post('https://open.tronify.io/api/tronRent/addTronRentRecord',params)
console.log(res)
if(res.resCode === '100'){
    const orderId = res.data.orderId;
    const transaction = res.data.transaction;
    const signedTx = await tronWeb.trx.sign(transaction)
    const params = {
        "orderId": orderId,
        "fromHash": signedTx.txID,
        "signedData": signedTx
    };
    const rest = await axios.post('https://open.tronify.io/api/tronRent/uploadHash', params );
    console.log(rest)
    if(rest.resCode === '100'){
        // ...
    }
}
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FMfgS4zKhGUykezhmi0vN%2F%E6%88%AA%E5%B1%8F2023-12-04%2014.19.44.png?alt=media&amp;token=534b251a-650b-44b7-aefa-c576c9b62a2a" alt=""><figcaption></figcaption></figure>


# upload purchase order hash

upload energy/bandwidth order hash

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/uploadHash`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                         | Type   | Description                                                                                                                                                                                                  |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| orderId<mark style="color:red;">\*</mark>    | String | orderId from `api/tronRent/addTronRentRecord`                                                                                                                                                                |
| fromHash<mark style="color:red;">\*</mark>   | String | txID from `api/tronRent/addTronRentRecord`                                                                                                                                                                   |
| signedData<mark style="color:red;">\*</mark> | Object | Obtain the unsigned transaction object from the `transaction` field of the `api/tronRent/addTronRentRecord` API response, sign the transaction, do not broadcast it, and then upload the signed transaction. |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {}
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    "orderId":"vkimeodm_f643_a280_fqzi_e1cib90jcus5",
    "fromHash":"07ece7c7f99b3a2153358a34320cdf23884c1da01e2b1f3b32ed9a8305442cbd",
    "signedData":{
        "visible":false,
        "txID":"07ece7c7f99b3a2153358a34320cdf23884c1da01e2b1f3b32ed9a8305442cbd",
        "raw_data":{
            "contract":[
                {
                    "parameter":{
                        "value":{
                            "amount":3440090,
                            "owner_address":"4115373d5d96e00bf034a8d944e333f6fdb8fe45a5",
                            "to_address":"41c888b36e17958e39140051eb5d8cbc1b5c109d6d"
                        },
                        "type_url":"type.googleapis.com/protocol.TransferContract"
                    },
                    "type":"TransferContract"
                }
            ],
            "ref_block_bytes":"8b59",
            "ref_block_hash":"3bc4a70040989469",
            "expiration":1700805627000,
            "timestamp":1700805568358
        },
        "raw_data_hex":"0a028b5922083bc4a7004098946940f898a9ffbf315a68080112640a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412330a154115373d5d96e00bf034a8d944e333f6fdb8fe45a5121541c888b36e17958e39140051eb5d8cbc1b5c109d6d18dafbd10170e6cea5ffbf31",
        "signature":[
            "eaf2b3e4d06d41696776d5ca57d5cf0afb25ca7f6ac954b2bfb7c395558fe86d7a1c9be6bb8fecc1b1aebe1a59ea25fdd2b0453ed9f94218af1bb0d3bdcf92cb1C"
        ]
    }
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/uploadHash',params)
 console.log(res)
 if(res.resCode === '100'){
    // ...
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FSQB47OWknlLwzGL7xugD%2F%E6%9C%AA%E5%91%BD%E5%90%8D2.png?alt=media&amp;token=defc5093-7997-41e8-99d0-382b6f211668" alt=""><figcaption></figcaption></figure>


# create a sell order

create a energy/bandwidth sell order

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/addTronSale`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                            | Type   | Description                                                                                       |
| ----------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| relateOrderId<mark style="color:red;">\*</mark> | String | purchase order Id                                                                                 |
| saleAddress<mark style="color:red;">\*</mark>   | String | user address(wallet address for seller)                                                           |
| sourceFlag<mark style="color:red;">\*</mark>    | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |
| buyPledgeNum<mark style="color:red;">\*</mark>  | String | amount of eneger/bandwidth                                                                        |
| payTrxAddress<mark style="color:red;">\*</mark> | String | trx recieving address                                                                             |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "orderId": "82gaugby_r7oh_ki1y_f2ma_ltelk84hivte",
        "relateOrderId": "3j354cx4_a4to_hbck_3amx_zrc0zh51dfkg",
        "transaction": {
            "visible": false,
            "txID": "14fc0e21c3be5889bb413c2406b184df724ce0cefa239adf1e3ed8368e39d741",
            "raw_data": {
                "contract": [
                    {
                        "parameter": {
                            "value": {
                                "balance": 301000000,
                                "resource": "ENERGY",
                                "receiver_address": "41242e5341ccd7d16af9e3a3b1c5cb07794f596609",
                                "lock": true,
                                "owner_address": "41dcf5a07cfac1534c2410714d6ba6576f49c4a6d7"
                            },
                            "type_url": "type.googleapis.com/protocol.DelegateResourceContract"
                        },
                        "type": "DelegateResourceContract"
                    }
                ],
                "ref_block_bytes": "141a",
                "ref_block_hash": "b29ae11706ac4963",
                "expiration": 1682213709000,
                "timestamp": 1682213651693
            },
            "raw_data_hex": "0a02141a2208b29ae11706ac496340c8c980defa305a75083912710a35747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e44656c65676174655265736f75726365436f6e747261637412380a1541dcf5a07cfac1534c2410714d6ba6576f49c4a6d7100118c0cac38f01221541242e5341ccd7d16af9e3a3b1c5cb07794f596609280170ed89fdddfa30"
        }
    }
}
```

{% endtab %}

{% tab title="500: Internal Server Error " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    relateOrderId: 'mt1wxcl1_dplo_r0qp_5bho_w5an5hev6d70',
    saleAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    payTrxAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    buyPledgeNum: 600,
    sourceFlag: 'tronLink'
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/addTronSale',params)
 console.log(res)
 if(res.resCode === '100'){
    const signedTx = await tronWeb.trx.sign(res.data.transaction)
    const sellerOrderParams = {
        "orderId": res.data.orderId,
        "pledgeHash": signedTx.txID,
        "signedData": signedTx
    }
    const res = await axios.post('https://open.tronify.io/api/tronRent/uploadPledgeHash',sellerOrderParams )
 
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FkaBAL66eE6EEeDRjQ87W%2F3.jpg?alt=media&amp;token=cb3bb9ee-5dcb-40c8-8fbb-aec23c242e4e" alt=""><figcaption></figcaption></figure>


# upload sell order hash

upload energy/bandwidth order hash, update sell order

### Endpoint usage

<mark style="color:green;">`POST`</mark> [https://open.tronify.io/api/tronRent/uploadPledgeHash](https://open.tronify.io/api/tronRent/uploadHash)

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                         | Type   | Description                                                                                                                                                                                            |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| orderId<mark style="color:red;">\*</mark>    | String | orderId from `api/tronRent/addTronSale`                                                                                                                                                                |
| pledgeHash<mark style="color:red;">\*</mark> | String | delegate hash                                                                                                                                                                                          |
| signedData<mark style="color:red;">\*</mark> | Object | Obtain the unsigned transaction object from the `transaction` field of the `api/tronRent/addTronSale` API response, sign the transaction, do not broadcast it, and then upload the signed transaction. |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {}
}
```

{% endtab %}

{% tab title="500: Internal Server Error " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    "orderId":"vkimeodm_f643_a280_fqzi_e1cib90jcus3",
    "pledgeHash":"14fc0e21c3be5889bb413c2406b184df724ce0cefa239adf1e3ed8368e39d741",
    "signedData":{
            "visible": false,
            "txID": "14fc0e21c3be5889bb413c2406b184df724ce0cefa239adf1e3ed8368e39d741",
            "raw_data": {
                "contract": [
                    {
                        "parameter": {
                            "value": {
                                "balance": 301000000,
                                "resource": "ENERGY",
                                "receiver_address": "41242e5341ccd7d16af9e3a3b1c5cb07794f596609",
                                "lock": true,
                                "owner_address": "41dcf5a07cfac1534c2410714d6ba6576f49c4a6d7"
                            },
                            "type_url": "type.googleapis.com/protocol.DelegateResourceContract"
                        },
                        "type": "DelegateResourceContract"
                    }
                ],
                "ref_block_bytes": "141a",
                "ref_block_hash": "b29ae11706ac4963",
                "expiration": 1682213709000,
                "timestamp": 1682213651693
            },
            "raw_data_hex": "0a02141a2208b29ae11706ac496340c8c980defa305a75083912710a35747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e44656c65676174655265736f75726365436f6e747261637412380a1541dcf5a07cfac1534c2410714d6ba6576f49c4a6d7100118c0cac38f01221541242e5341ccd7d16af9e3a3b1c5cb07794f596609280170ed89fdddfa30"
            "signature":[
                "eaf2b3e4d06d41696776d5ca57d5cf0afb25ca7f6ac954b2bfb7c395558fe86d7a1c9be6bb8fecc1b1aebe1a59ea25fdd2b0453ed9f94218af1bb0d3bdcf92cb1C"
            ]
    }
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/uploadPledgeHash',params)
 console.log(res)
 if(res.resCode === '100'){
    // ...
 }
```

{% endtab %}
{% endtabs %}


# Earn energy by stake

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/createfreezeBalanceTransaction`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                          | Type   | Description                                                                                       |
| --------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| saleAddress<mark style="color:red;">\*</mark> | String | user address (wallet address for stake creation)                                                  |
| sourceFlag<mark style="color:red;">\*</mark>  | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |
| payTrxNum<mark style="color:red;">\*</mark>   | String | amount of stake trx                                                                               |
| orderType<mark style="color:red;">\*</mark>   | String | order type(ENERGY/BANDWIDTH)                                                                      |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "visible": false,
        "txID": "05694544c56863032625dce3554e62220fd4b36d32172fd125d255123e4a0826",
        "raw_data": {
            "contract": [
                {
                    "parameter": {
                        "value": {
                            "resource": "ENERGY",
                            "frozen_balance": 400000000,
                            "owner_address": "41dcf5a07cfac1534c2410714d6ba6576f49c4a6d7"
                        },
                        "type_url": "type.googleapis.com/protocol.FreezeBalanceV2Contract"
                    },
                    "type": "FreezeBalanceV2Contract"
                }
            ],
            "ref_block_bytes": "717a",
            "ref_block_hash": "8fb56414b12b26fe",
            "expiration": 1682088777000,
            "timestamp": 1682088718991
        },
        "raw_data_hex": "0a02717a22088fb56414b12b26fe40a8aab7a2fa305a5b083612570a34747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e467265657a6542616c616e63655632436f6e7472616374121f0a1541dcf5a07cfac1534c2410714d6ba6576f49c4a6d7108088debe011801708fe5b3a2fa30"
    }
}
```

{% endtab %}

{% tab title="500: Internal Server Error " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    saleAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    orderType: 'ENERGY',
    payTrxNum: 111,
    sourceFlag: 'tronLink'
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/createfreezeBalanceTransaction',params)
 console.log(res)
 if(res.resCode === '100'){
    const signedTx = await tronWeb.trx.sign(res.data)
    const broastTx = await tronWeb.trx.sendRawTransaction(signedTx)
    return broastTx.txid
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FChJdUaZYZXwtYHEZz9lV%2F4.jpg?alt=media&amp;token=9fd7b1db-866a-4238-8e6f-871c9a3c4291" alt=""><figcaption></figcaption></figure>


# recovered energy

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/undelegateresource`

The fields with \* are required, and the fields without \* are optional\
related parameters can be got from Query selling records by address

#### Request Body

| Name                                            | Type   | Description                                                                                       |
| ----------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| saleAddress<mark style="color:red;">\*</mark>   | String | user address (wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark>    | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |
| orderType<mark style="color:red;">\*</mark>     | String | order type(ENERGY/BANDWIDTH)                                                                      |
| pledgeAddress<mark style="color:red;">\*</mark> | String | target address for selling energy                                                                 |
| payTrxNum<mark style="color:red;">\*</mark>     | String | amount of recovered trx                                                                           |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "visible": false,
        "txID": "b20aeb61595643ce60f50b34d839a81ad426f6a93ddf2c4ea3a5b727d6ae75cb",
        "raw_data": {
            "contract": [
                {
                    "parameter": {
                        "value": {
                            "balance": 301000000,
                            "resource": "ENERGY",
                            "receiver_address": "416a91f86fc9b7e98b01a9d9141db61aed6f389b9e",
                            "owner_address": "41dcf5a07cfac1534c2410714d6ba6576f49c4a6d7"
                        },
                        "type_url": "type.googleapis.com/protocol.UnDelegateResourceContract"
                    },
                    "type": "UnDelegateResourceContract"
                }
            ],
            "ref_block_bytes": "698e",
            "ref_block_hash": "f8c19af47b0e65d3",
            "expiration": 1682476032000,
            "timestamp": 1682475972451
        },
        "raw_data_hex": "0a02698e2208f8c19af47b0e65d34080c08bdbfb305a75083a12710a37747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e556e44656c65676174655265736f75726365436f6e747261637412360a1541dcf5a07cfac1534c2410714d6ba6576f49c4a6d7100118c0cac38f012215416a91f86fc9b7e98b01a9d9141db61aed6f389b9e70e3ee87dbfb30"
    }
}
```

{% endtab %}

{% tab title="500: Internal Server Error " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    saleAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    pledgeAddress: 'TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS',
    orderType: 'ENERGY',
    payTrxNum: 111,
    sourceFlag: 'tronLink'
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/undelegateresource',params)
 console.log(res)
 if(res.resCode === '100'){
    const signedTx = await tronWeb.trx.sign(res.data)
    const broastTx = await tronWeb.trx.sendRawTransaction(signedTx)
    return broastTx.txid 
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2F62SfhGJ2TvzamtxqcwzO%2F5.jpg?alt=media&amp;token=3306bc21-5dff-494e-a6e6-93128bb81885" alt=""><figcaption></figcaption></figure>


# cancel order

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/cancelOrder`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                         | Type   | Description                                                                                       |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| orderId<mark style="color:red;">\*</mark>    | String | purchase order Id                                                                                 |
| sourceFlag<mark style="color:red;">\*</mark> | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |
| flag<mark style="color:red;">\*</mark>       | String | md5 value                                                                                         |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "flag": "098AB187330265CD4EC4126E1F0661C6",
        "orderId": "2ombu8zk_3jet_0mle_g7id_2mi3gnl6fk4y",
        "sourceFlag": "tronLink"
    }
}
```

{% endtab %}

{% tab title="500: Internal Server Error " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    orderId: 'mt1wxcl1_dplo_r0qp_5bho_w5an5hev6d70',
    flag: 'the value after md5',
    sourceFlag: 'tronLink'
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/cancelOrder',params)
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2Fjs1x62WK5uYhC5HlEtvk%2F6.jpg?alt=media&amp;token=e41cb5a3-be87-490c-9e5a-3127be21033e" alt=""><figcaption></figcaption></figure>


# query purchase order

### &#x20;Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/trades`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                         | Type    | Description                                                                                                                                                                    |
| -------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| sort<mark style="color:red;">\*</mark>       | String  | <p>0：sorted by time in reverse order <br>1：sorted by energy and bandwidth in reverse order <br>2：sorted by amount in reverse order <br>3：sorted by energy in reverse order</p> |
| sourceFlag<mark style="color:red;">\*</mark> | String  | Source channel (Both sides need to agree on a name to represent the channel of the third parties)                                                                              |
| page<mark style="color:red;">\*</mark>       | Integer | page num                                                                                                                                                                       |
| pageSize<mark style="color:red;">\*</mark>   | Integer | record size                                                                                                                                                                    |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "data": [
            {
                "orderId": "2ombu8zk_3jet_0mle_g7id_2mi3gnl6fk4y",
                "fromAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "pledgeAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "pledgeNum": 555,
                "salePledgeNum": 0,
                "freezePledgeNum": 0,
                "canSaleTrxNum": 0.128205,
                "leftPledgeTrxNum": 30.67,
                "leftPledgeNum": 555,
                "orderPrice": "110",
                "orderType": "ENERGY",
                "pledgeDay": "3",
                "createTime": "2023-04-11 16:29:55",
                "lowSaleTrxNum": 0.11549999999999999,
                "lowTRXCanBuy": 27.63,
                "lowCanBuy": 500,
                "AnnualizedRate": 50
            }
        ],
        "pagination": {
            "page": 1,
            "pageSize": 10,
            "total": 1
        }
    }
}
```

{% endtab %}

{% tab title="500: Internal Server Error " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    sort: '1',
    page: 1,
    pageSize: 10,
    sourceFlag: 'tronLink'
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/trades',params)
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2F5TYUEThaPSGrtDSHCleU%2F7.jpg?alt=media&amp;token=e6e0eaa2-9080-438a-9089-7da4845adb7e" alt=""><figcaption></figcaption></figure>


# query recent finished order

### &#x20;Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/lastTrades`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                         | Type    | Description                                                                                       |
| -------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------- |
| sourceFlag<mark style="color:red;">\*</mark> | String  | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |
| page<mark style="color:red;">\*</mark>       | Integer | page num                                                                                          |
| pageSize<mark style="color:red;">\*</mark>   | Integer | record size                                                                                       |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": [
        {
            "orderId": "c490cwg0_8ad1_d81n_h9mk_qyt3x50jj4er",
            "relateOrderId": "qzld7n3q_5jfd_sx2l_k611_sf14yriioaux",
            "orderType": "ENERGY",
            "orderPrice": "112",
            "pledgeNum": "500",
            "payTrxNum": "0.117599",
            "createTime": "2023-04-06 11:22:57",
            "pledgeHash": "99da5697d4f03e41e7db000729cdb7b2c34310bb0dd5f1ebae859aacbe715a17"
        },
        {
            "orderId": "0glfxyv5_auu1_5a3z_kg9q_xts9ss7bw077",
            "relateOrderId": "sp8nrdgt_1ivg_1p8y_v9np_591c5lxjj2h2",
            "orderType": "ENERGY",
            "orderPrice": "110",
            "pledgeNum": "1000",
            "payTrxNum": "0.230999",
            "createTime": "2023-04-06 11:10:51",
            "pledgeHash": "431c18ef4aeaac4f7d5a90bf4d1fc83518e74425815593205593de506451b0a6"
        }
    ]
}
```

{% endtab %}

{% tab title="500: Internal Server Error " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    page: 1,
    pageSize: 10,
    sourceFlag: 'tronLink'
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/lastTrades',params)
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FIinuGNLBTJ20SRrPOr00%2F8.jpg?alt=media&amp;token=191775d4-2f2b-4692-90c3-eed95f119177" alt=""><figcaption></figcaption></figure>


# query purchase order records by user address

### &#x20;Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/mypayorder`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                          | Type    | Description                                                                                                                                                                    |
| --------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| sourceFlag<mark style="color:red;">\*</mark>  | String  | Source channel (Both sides need to agree on a name to represent the channel of the third parties)                                                                              |
| page<mark style="color:red;">\*</mark>        | Integer | page num                                                                                                                                                                       |
| pageSize<mark style="color:red;">\*</mark>    | Integer | record size                                                                                                                                                                    |
| orderType<mark style="color:red;">\*</mark>   | String  | <p>1：Query active buy orders with the status of wait\_deposit\_send and wait\_sale<br>0：Query buy orders with the status of complete<br>Other values: Query all buy orders</p> |
| fromAddress<mark style="color:red;">\*</mark> | String  | User address (Wallet address)                                                                                                                                                  |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "data": [
            {
                "orderId": "2ombu8zk_3jet_0mle_g7id_2mi3gnl6fk4y",
                "fromAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "pledgeAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "pledgeNum": 555,
                "salePledgeNum": 0,
                "freezePledgeNum": 0,
                "leftPledgeNum": 555,
                "orderPrice": "110",
                "orderType": "ENERGY",
                "pledgeDay": "3",
                "orderStatus": "wait_sale",
                "createTime": "2023-04-11 16:29:55"
            },
            {
                "orderId": "gzbh4w53_k0qb_9x7d_elwm_dw8aoas7olbt",
                "fromAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "pledgeAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "pledgeNum": 555,
                "salePledgeNum": 0,
                "freezePledgeNum": 0,
                "leftPledgeNum": 555,
                "orderPrice": "110",
                "orderType": "ENERGY",
                "pledgeDay": "3",
                "orderStatus": "timeout",
                "createTime": "2023-04-11 16:17:14"
            }
        ],
        "pagination": {
            "page": 1,
            "pageSize": 10,
            "total": 2
        }
    }
}
```

{% endtab %}

{% tab title="500: Internal Server Error " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    fromAddress: 'TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS',
    orderType: 0,
    page: 1,
    pageSize: 10,
    sourceFlag: 'tronLink'
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/mypayorder',params)
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FKq4e5C20yUrI0Z92Z653%2F9.jpg?alt=media&amp;token=c4032ba4-6b74-405d-9540-5b8194644ff3" alt=""><figcaption></figcaption></figure>


# query sell order records by user address

### &#x20;Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/myfreeze`

The fields with \* are required, and the fields without \* are optional

#### Request Body

| Name                                          | Type    | Description                                                                                                                                                                                                                                                                 |
| --------------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| sourceFlag<mark style="color:red;">\*</mark>  | String  | Source channel (Both sides need to agree on a name to represent the channel of the third parties)                                                                                                                                                                           |
| page<mark style="color:red;">\*</mark>        | Integer | page num                                                                                                                                                                                                                                                                    |
| pageSize<mark style="color:red;">\*</mark>    | Integer | record size                                                                                                                                                                                                                                                                 |
| orderType<mark style="color:red;">\*</mark>   | String  | <p>0: Query completed sell orders.<br>1: Query sell orders with the status of wait\_deposit\_send, wait\_receive\_send, error\_hacker, error, wait\_receive\_confirm, wait\_receive\_confirm\_error, and wait\_unfreeze.<br><br>Other values: Query all staking orders.</p> |
| fromAddress<mark style="color:red;">\*</mark> | String  | user address (wallet address)                                                                                                                                                                                                                                               |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "data": [
            {
                "orderId": "ud0xs8vw_pdc1_01ao_dvlp_fkv141z3dmnc",
                "relateOrderId": "mt1wxcl1_dplo_r0qp_5bho_w5an5hev6d70",
                "orderType": "ENERGY",
                "orderPrice": "110",
                "pledgeAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",
                "pledgeNum": "500",
                "orderStatus": "timeout",
                "pledgeTrxNum": "28",
                "expireTime": "2023-04-14 15:44:00",
                "createTime": "2023-04-11 15:44:00",
                "pledgeHash": ""
            },
            {
                "orderId": "kgd270ul_k486_kt7e_8yq2_nvgev6he6zdh",
                "relateOrderId": "mt1wxcl1_dplo_r0qp_5bho_w5an5hev6d70",
                "orderType": "ENERGY",
                "orderPrice": "110",
                "pledgeAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",
                "pledgeNum": "600",
                "orderStatus": "timeout",
                "pledgeTrxNum": "34",
                "expireTime": "2023-04-14 14:06:00",
                "createTime": "2023-04-11 14:06:00",
                "pledgeHash": "0a5eaefb965dedaf1817806fce0d6df1495a2364e714775ee1dc13953f694d18"
            },
            ...
        ],
        "pagination": {
            "page": 1,
            "pageSize": 10,
            "total": 7
        }
    }
}
```

{% endtab %}

{% tab title="500: Internal Server Error " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    fromAddress: 'TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS',
    orderType: 0,
    page: 1,
    pageSize: 10,
    sourceFlag: 'tronLink'
}
 const res = await axios.post('https://open.tronify.io/api/tronRent/myfreeze',params)
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2F7K2PyPkZBVrSzRNjD8cA%2F10.jpg?alt=media&amp;token=0bfe66c5-85d9-44d6-9b71-504da366ff60" alt=""><figcaption></figcaption></figure>


# Get seller configuration

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/sellerApproveInfo`

The fields with \* are required, and the fields without \* are optional

#### Headers

| Name                                      | Type   | Description                                                     |
| ----------------------------------------- | ------ | --------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it |

#### Request Body

| Name                                          | Type   | Description                                                                                       |
| --------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| fromAddress<mark style="color:red;">\*</mark> | String | User address (Wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark>  | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "from_address": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",
        "approve_address": "TGVEVDZZHJGZAHEPfou57u8F89i5nNNRxX",//authorization address
        "approve_id": 3, //authorization id
        "approve_type": "1,2,3,4,5",
        "auto_sale": 1,
        "auto_vote": 1,
        "energy_price_customize": 1,//Customize the minimum selling price of energy, default is 0.
        "energy_price_low": 60, //Set the minimum selling price of energy, default is 60 if not set.
        "bandwidth_price_customize": 0,
        "bandwidth_price_low": 0,
        "auto_withdraw": 1,
        "withdraw_left": 0,
        "auto_staking": 1,
        "stake_left": 0,
        "staking_trx": "178260 //Staked TRX amount
        "staking_available_trx": "5114.939104" //Available TRX for lease
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```javascript
// example
const params = {
    address: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    sourceFlag: 'tronLink'
}
const headers = {
  'api-key': 'your-api-key'
};
const res = await axios.post('https://open.tronify.io/api/tronRent/sellerApproveInfo',params, { headers })
console.log(res)
if(res.resCode === '100'){
   //...  Check if res.data is empty, if it is, then it is unauthorized.
}
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2F4mTVt17qMyBYJ0nZudKZ%2F11.jpg?alt=media&amp;token=1ca824a7-6697-417b-b104-bb61a517fd1d" alt=""><figcaption></figcaption></figure>


# Seller authorization

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/sellerAuthCheck`

The fields with \* are required, and the fields without \* are optional

#### Headers

| Name                                      | Type   | Description                                                     |
| ----------------------------------------- | ------ | --------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it |

#### Request Body

| Name                                          | Type   | Description                                                                                       |
| --------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| fromAddress<mark style="color:red;">\*</mark> | String | User address (Wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark>  | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "from_address": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",
        "approve_address": "TGVEVDZZHJGZAHEPfou57u8F89i5nNNRxX",//authorization address
        "approve_id": 3, //authorization id
        "approve_type": "1,2,3,4,5",
        "auto_sale": 1,
        "auto_vote": 1,
        "energy_price_customize": 1,//Customize the minimum selling price of energy, default is 0.
        "energy_price_low": 60, //Set the minimum selling price of energy, default is 60 if not set.
        "bandwidth_price_customize": 0,
        "bandwidth_price_low": 0,
        "auto_withdraw": 1,
        "withdraw_left": 0,
        "auto_staking": 1,
        "stake_left": 0,
        "staking_trx": "178260 //Staked TRX amount
        "staking_available_trx": "5114.939104" //Available TRX for lease
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```javascript
// example
const params = {
    address: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    sourceFlag: 'tronLink'
}
const headers = {
  'api-key': 'your-api-key'
};
const res = await axios.post('https://open.tronify.io/api/tronRent/sellerAuthCheck',params, { headers })
console.log(res)
if(res.resCode === '100'){
   //...  
}
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2F6O93cFPaKodXkCc1fTlb%2F12.jpg?alt=media&amp;token=1a66f161-2cc1-446a-ab23-cb8fe68c9843" alt=""><figcaption></figcaption></figure>


# Update seller configuration

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/updateApproveInfo`

The fields with \* are required, and the fields without \* are optional

#### Headers

| Name                                      | Type   | Description                                                     |
| ----------------------------------------- | ------ | --------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it |

#### Request Body

| Name                                                       | Type   | Description                                                                                       |
| ---------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| fromAddress<mark style="color:red;">\*</mark>              | String | User address (Wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark>               | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |
| energy\_price\_customize<mark style="color:red;">\*</mark> | String | Customize the minimum selling price of energy (0: default, 1: custom)                             |
| energy\_min\_sun                                           | String | Set the minimum selling price of energy                                                           |
| flag<mark style="color:red;">\*</mark>                     | String | md5 value of "{api-key}SWFTstakeapprove{timeStamp}"  (Uppercase)                                  |
| timeStamp<mark style="color:red;">\*</mark>                | String | timeStamp                                                                                         |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "from_address": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",
        "approve_address": "TGVEVDZZHJGZAHEPfou57u8F89i5nNNRxX",//authorization address
        "approve_id": 3, //authorization id
        "approve_type": "1,2,3,4,5",
        "auto_sale": 1,
        "auto_vote": 1,
        "energy_price_customize": 1,//Customize the minimum selling price of energy, default is 0.
        "energy_price_low": 60, //Set the minimum selling price of energy, default is 60 if not set.
        "bandwidth_price_customize": 0,
        "bandwidth_price_low": 0,
        "auto_withdraw": 1,
        "withdraw_left": 0,
        "auto_staking": 1,
        "stake_left": 0,
        "staking_trx": "178260 //Staked TRX amount
        "staking_available_trx": "5114.939104" //Available TRX for lease
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```javascript
// example
const params = {
    "fromAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",
    "sourceFlag": "path",
    "energy_price_customize": 1,
    "energy_min_sun": 57,
    "flag": "md5-xxxxx",
    "timeStamp": 1684941701
}
const headers = {
  'api-key': 'your-api-key'
};
const res = await axios.post('https://open.tronify.io/api/tronRent/updateApproveInfo',params, { headers })
console.log(res)
if(res.resCode === '100'){
   //...  
}
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FrpKvbjxtSc3mskLruoJ2%2F13.jpg?alt=media&amp;token=87247b56-fab5-4ca4-8ac3-919aedb8b486" alt=""><figcaption></figcaption></figure>


# Get seller panel

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/sellerSellInfo`

The fields with \* are required, and the fields without \* are optional

#### Headers

| Name                                      | Type   | Description                                                     |
| ----------------------------------------- | ------ | --------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it |

#### Request Body

| Name                                          | Type   | Description                                                                                       |
| --------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| fromAddress<mark style="color:red;">\*</mark> | String | User address (Wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark>  | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "total_settled_amount":12318.87016499999,//Accumulated earnings
        "today_settled_amount":959.9134970000006,//Number of TRX settled today
        "today_settled_count":44,//Number of transactions settled today
        "today_sale_energy":5877000,//Energy sold today
        "today_pending_recover_energy":128000,//Energy waiting to be reclaimed today
        "today_pending_recover_trx":7906,//trx waiting to be reclaimed today
        "today_pending_recover_bandwidth":0,//Bandwidth to be reclaimed today
        "yesterday_settled_amount":1937.5649959999998,//Number of TRX settled yesterday
        "yesterday_settled_count":37,//Number of transactions settled yesterday
        "yesterday_sale_energy":8365000,//Energy sold yesterday
        "today_pending_amount":144.58000000000004//Number of TRX waiting to be settled
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```javascript
// example
const params = {
    address: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    sourceFlag: 'tronLink'
}
const headers = {
  'api-key': 'your-api-key'
};
const res = await axios.post('https://open.tronify.io/api/tronRent/sellerSellInfo',params, { headers })
console.log(res)
if(res.resCode === '100'){
    //...  Check if res.data is empty, if it is, then it is unauthorized.
}
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FWYAHDa9G9lkqL8nL5sDB%2F14.jpg?alt=media&amp;token=c70524de-79c6-49be-838c-0a75d839bfdf" alt=""><figcaption></figcaption></figure>


# Get buyer configuration

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/user/info`

The fields with \* are required, and the fields without \* are optional

#### Headers

| Name                                      | Type   | Description                                                      |
| ----------------------------------------- | ------ | ---------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it. |

#### Request Body

| Name                                         | Type   | Description                                                                                       |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| address<mark style="color:red;">\*</mark>    | String | User address (Wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark> | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "id": 15,
        "address": "TUFXua1qzfCsFpcZEGXaU7oGFURqQ7RQpy",
        "balance": "0", //The deposit trx amount
        "invitationCode": "",
        "tronAddress": "TBuPND7n66qNf3AbYNJA458duuV3ZyWtUk",
        "freezeBalance": null,
        "whiteState": 0,
        "giftBalance": "0", //The reward trx amount for the deposit
        "apiKey": "your-api-key",
        "sourceFlag": "tronify",
        "totalBalance": "0", //total trx amount
        "contractAddress": "TXnafj5Xh4G7jqTwajvdvaAvKegMwCLTyL", // The platform deposit address.
        "giftRatio": [ //The range of deposit trx amount for a single transaction and the corresponding reward ratio.
            [
                50,
                100,
                0.1
            ],
            [
                100,
                100000,
                0.2
            ]
        ]
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    address: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    sourceFlag: 'tronLink'
}
const headers = {
  'api-key': 'your-api-key'
};
 const res = await axios.post('https://open.tronify.io/api/tronRent/user/info',params, { headers })
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FUoe2V2FO0wooAWOrfkxR%2F15.jpg?alt=media&amp;token=2edf770c-a6ac-4283-a573-cd02afb21705" alt=""><figcaption></figcaption></figure>


# Buyer charge

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/user/recharge`

The fields with \* are required, and the fields without \* are optional

#### Headers

| Name                                      | Type   | Description                                                      |
| ----------------------------------------- | ------ | ---------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it. |

#### Request Body

| Name                                         | Type   | Description                                                                                       |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| address<mark style="color:red;">\*</mark>    | String | User address (Wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark> | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |
| balance<mark style="color:red;">\*</mark>    | String | The amount of TRX                                                                                 |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "visible": false,
        "txID": "b4bb945886a562b2be5e01cff2bab4ec9d994fbc8879dcb3a06331c242d7e518",
        "raw_data": {
            "contract": [
                {
                    "parameter": {
                        "value": {
                            "amount": 2000000,
                            "owner_address": "41dcf5a07cfac1534c2410714d6ba6576f49c4a6d7",
                            "to_address": "418dfb584145620fbe46b7d557b1edff4c448a0752"
                        },
                        "type_url": "type.googleapis.com/protocol.TransferContract"
                    },
                    "type": "TransferContract"
                }
            ],
            "ref_block_bytes": "ca75",
            "ref_block_hash": "1abdca8db37bb677",
            "expiration": 1687276659000,
            "timestamp": 1687276601209
        },
        "raw_data_hex": "0a02ca7522081abdca8db37bb67740b8c29acc8d315a67080112630a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412320a1541dcf5a07cfac1534c2410714d6ba6576f49c4a6d71215418dfb584145620fbe46b7d557b1edff4c448a07521880897a70f9fe96cc8d31"
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    address: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    balance: 100,
    sourceFlag: 'tronLink'
}
const headers = {
  'api-key': 'your-api-key'
};
 const res = await axios.post('https://open.tronify.io/api/tronRent/user/recharge',params, { headers })
 console.log(res)
 if(res.resCode === '100'){
    const signedTx = await tronWeb.trx.sign(res.data)
    const broastTx = await tronWeb.trx.sendRawTransaction(signedTx)
    return broastTx.txid 
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2Ft3lAONdfqA8sCUxofjJf%2F16.jpg?alt=media&amp;token=ea2ae92c-7c28-4970-bae8-ca8b73425ce1" alt=""><figcaption></figcaption></figure>


# Buyer withdraw

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/user/withdraw/coins`

The fields with \* are required, and the fields without \* are optional

#### Headers

| Name                                      | Type   | Description                                                      |
| ----------------------------------------- | ------ | ---------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it. |

#### Request Body

| Name                                         | Type   | Description                                                                                       |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| address<mark style="color:red;">\*</mark>    | String | User address (Wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark> | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |
| balance<mark style="color:red;">\*</mark>    | String | The amount of TRX                                                                                 |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {}
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    address: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    balance: 100,
    sourceFlag: 'tronLink'
}
const headers = {
  'api-key': 'your-api-key'
};
 const res = await axios.post('https://open.tronify.io/api/tronRent/user/withdraw/coins',params, { headers })
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FLIgOLa0V0gxsE9yGVFZ3%2F17.jpg?alt=media&amp;token=2a3a0b2b-9b5b-4437-880e-ad1bdc77dd57" alt=""><figcaption></figcaption></figure>


# Buyer leas energy

The same as "create purchase order"

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/addTronRentRecord`

#### Headers

| Name                                      | Type   | Description                                                                                                       |
| ----------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it. tradeType must be provided when it is userTrade. |

#### Request Body

| Name                                            | Type   | Description                                                                                                                                  |
| ----------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
| fromAddress<mark style="color:red;">\*</mark>   | String | user address(wallet address for buyer)                                                                                                       |
| sourceFlag<mark style="color:red;">\*</mark>    | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties)                                            |
| pledgeNum<mark style="color:red;">\*</mark>     | String | amount of energy                                                                                                                             |
| orderType<mark style="color:red;">\*</mark>     | String | ENERGY                                                                                                                                       |
| pledgeHour<mark style="color:red;">\*</mark>    | String | an integer value should be passed to indicate the number of hours for which the energy is frozen. Currently, only 0, 1, and 3 are supported. |
| pledgeDay<mark style="color:red;">\*</mark>     | String | an integer value should be passed to indicate the number of days for which the energy is frozen (e.g. 0, 1, 2, 3).                           |
| tradeType<mark style="color:red;">\*</mark>     | String | userTrade                                                                                                                                    |
| pledgeAddress<mark style="color:red;">\*</mark> | String | energy/bandwidth receiving address.  multiple addresses can be submitted for bulk leas energy by separating them with commas.                |
| pledgeMinute<mark style="color:red;">\*</mark>  | String | only 0, 10 are supported.                                                                                                                    |

{% tabs %}
{% tab title="200: OK " %}

```
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "orderId": "16zi4ynw_sdvn_qv8h_ujfc_crfsgyi07zat",
        "fromAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//wallet address
        "pledgeAddress": "TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k",//energy recieving address
        "pledgeDay": 3,
        "source": "tronLink",
        "orderType": "ENERGY",
        "orderPrice": 110,
        "pledgeNum": 500,
        "pledgeTrxNum": 0.165
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    fromAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    pledgeAddress: 'TKghVbeEzvrV8GLK3YE1gRrjVHSf8rGB6k',
    pledgeDay: 3,
    pledgeHour: 0,
    pledgeMinute: 0,
    orderType: 'ENERGY',
    pledgeNum: 500,
    sourceFlag: 'tronLink',
    tradeType: 'userTrade'
}
const headers = {
  'api-key': 'your-api-key'
};
 const res = await axios.post('https://open.tronify.io/api/tronRent/addTronRentRecord',params, { headers })
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2F1yWpx734SaRdefNAMaEg%2F18.jpg?alt=media&amp;token=5b1781f0-56e7-421b-85e6-de5ff3abf788" alt=""><figcaption></figcaption></figure>


# Buyer leas energy records

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/user/userAssetRecord`

The fields with \* are required, and the fields without \* are optional

#### Headers

| Name                                      | Type   | Description                                                      |
| ----------------------------------------- | ------ | ---------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it. |

#### Request Body

| Name                                         | Type   | Description                                                                                       |
| -------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------- |
| address<mark style="color:red;">\*</mark>    | String | User address (Wallet address)                                                                     |
| sourceFlag<mark style="color:red;">\*</mark> | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties) |
| pledgeAddress                                | String | Search by pledgeAddress                                                                           |
| orderId                                      | String | Search by orderId                                                                                 |
| orderType<mark style="color:red;">\*</mark>  | String | <p>0: Completed. <br>1: In progress. <br>Other values: All</p>                                    |
| type<mark style="color:red;">\*</mark>       | String | Fixed value: user                                                                                 |
| pageSize<mark style="color:red;">\*</mark>   | String | page size                                                                                         |
| page<mark style="color:red;">\*</mark>       | String | page num                                                                                          |
| endTime                                      | String | Search by endTime (YYYY-MM-DD HH:mm:ss)                                                           |
| startTime                                    | String | Search by startTime (YYYY-MM-DD HH:mm:ss)                                                         |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "data": [
            {
                "orderId": "kuawcag6_hg5w_jsbe_tg1w_bcrzjl42glb1",
                "fromAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "pledgeAddress": "TBuPND7n66qNf3AbYNJA458duuV3ZyWtUk",
                "platformAddress": "",
                "pledgeNum": 32000,
                "trxNum": "3.68",
                "orderPrice": "115",
                "freeAmt": null,
                "orderType": "ENERGY",
                "pledgeDay": "0",
                "pledgeHour": "1",
                "orderStatus": "complete",
                "createTime": "2023-06-20 15:02:49",
                "pledgeTime": "2023-06-20 15:04:01",
                "finishTime": "2023-06-20 16:04:01"
            }
        ],
        "pagination": {
            "page": 1,
            "pageSize": 10,
            "total": 4
        }
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    address: "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
    page: 1,
    pageSize: 10,
    code: "g7WNPfO1156",
    type: "user",
    orderType: "2",
    orderId: "",
    pledgeAddress: "",
    startTime: "2023-06-21",
    endTime: "2023-06-22",
    sourceFlag: "path"
}
const headers = {
  'api-key': 'your-api-key'
};
 const res = await axios.post('https://open.tronify.io/api/tronRent/user/userAssetRecord',params, { headers })
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2F6rKKSDt3qPmgBuhcjAZC%2F19.jpg?alt=media&amp;token=ef8b2c8a-393d-47ba-bd83-33ac3e85f3c7" alt=""><figcaption></figcaption></figure>


# Buyer asset records

### Endpoint usage

<mark style="color:green;">`POST`</mark> `https://open.tronify.io/api/tronRent/user/get/fundflow`

The fields with \* are required, and the fields without \* are optional

#### Headers

| Name                                      | Type   | Description                                                      |
| ----------------------------------------- | ------ | ---------------------------------------------------------------- |
| api-key<mark style="color:red;">\*</mark> | String | Access the buyer management platform of tronify.io to obtain it. |

#### Request Body

| Name                                         | Type   | Description                                                                                                 |
| -------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------- |
| address<mark style="color:red;">\*</mark>    | String | User address (Wallet address)                                                                               |
| sourceFlag<mark style="color:red;">\*</mark> | String | Source channel (Both sides need to agree on a name to represent the channel of the third parties)           |
| types<mark style="color:red;">\*</mark>      | String | <p>Array. Use \[] to search for all types.<br> '0': Deposit. <br>'1': Withdrawal. <br>'2': Energy sale.</p> |
| pageSize<mark style="color:red;">\*</mark>   | String | page size                                                                                                   |
| pageNum<mark style="color:red;">\*</mark>    | String | page num                                                                                                    |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "resCode": 100,
    "resMsg": "Success",
    "data": {
        "total": 9,
        "list": [
            {
                "id": 100,
                "platformAddr": "TNuwNr2rxaptoCrkEc1tEL7ihTsB9fost1",
                "tronAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "balance": "20",
                "type": "1",
                "status": "complete",
                "createTime": "2023-06-21 00:02:41",
                "updateTime": "2023-06-20T16:03:51.000Z",
                "orderId": "qrfoum6b_e15i_c71f_mr1p_rda2f1df0i2k",
                "fromHash": "e1af0c1cfcbcd8156dc44f0d7b4efb2aa3184886933cd8a80b1297182be8e824"
            },
            {
                "id": 99,
                "platformAddr": "TNuwNr2rxaptoCrkEc1tEL7ihTsB9fost1",
                "tronAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "balance": "20",
                "type": "0",
                "status": "complete",
                "createTime": "2023-06-21 00:02:16",
                "updateTime": "2023-06-20T16:02:16.000Z",
                "orderId": "l8bmicd1_qljt_5w91_lr9x_7a8k85ojd5f8",
                "fromHash": "73c9815e1cb7a25f0a5c66fe0c0847b1ce55b287ad46c297e6479f4ef3d09367"
            },
            {
                "id": 92,
                "platformAddr": "TNuwNr2rxaptoCrkEc1tEL7ihTsB9fost1",
                "tronAddress": "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
                "balance": "3.68",
                "type": "2",
                "status": "complete",
                "createTime": "2023-06-20 15:07:42",
                "updateTime": "2023-06-20T07:08:56.000Z",
                "orderId": "mxxxeymv_1lkl_9b3e_kehf_tnwiazfzmluo",
                "fromHash": ""
            }
        ]
    }
}
```

{% endtab %}
{% endtabs %}

### code example

{% tabs %}
{% tab title="JavaScript" %}

```
// example
const params = {
    types: [],
    startTime: "",
    endTime: "",
    pageNum: 1,
    pageSize: 10,
    address: "TW7XuicuiQSHCcodUkyjMfdWxnWsbZmiSS",
    sourceFlag: "path"
}
const headers = {
  'api-key': 'your-api-key'
};
 const res = await axios.post('https://open.tronify.io/api/tronRent/user/get/fundflow',params, { headers })
 console.log(res)
 if(res.resCode === '100'){
   //...  
 }
```

{% endtab %}
{% endtabs %}

### Postman example

<figure><img src="https://3188465811-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fnv0Qbx2yTtH3TKQFd528%2Fuploads%2FnMxAGQEbJKWLXqLXI6gM%2F20.jpg?alt=media&amp;token=fd57cfc4-1f97-446e-80c1-8c143f57c611" alt=""><figcaption></figcaption></figure>


# Tronify FAQ

**Q1: Why should I rent Energy and Bandwidth? Can't I just use my TRX to cover the fees?**

**A:** When transferring USDT on the TRON network, the system "burns" TRX to pay for the transaction, which can be quite expensive (often exceeding 13.5 - 27 TRX per transfer). By renting Energy and Bandwidth through **Tronify**, you can significantly reduce these costs. It is the most cost-effective solution for high-frequency traders, payout teams, and automated bots.

**Q2: How long does it take for the Energy to arrive after I place an order?**

**A:** It’s near-instant! Once your payment is confirmed or the transaction hash is signed, Tronify broadcasts the distribution on-chain immediately. Resources typically arrive in your receiving wallet within **3 to 10 seconds**, ensuring they are ready for immediate use.

**Q3: Which cryptocurrencies can I use to pay for the rental?**

**A:** We currently support **TRX** and **USDT**. You can choose whichever currency is more convenient for your current balance.

**Q4: Why does the platform require the payer address to match the recipient address when paying with USDT?**

**A:** This is a built-in security measure designed to prevent "Anti-Fraud/Phishing." If you use USDT for any purchase, Tronify requires the **paying address** and the **receiving address** to be identical. This prevents malicious actors from exploiting payment loopholes and ensures the safety of your assets.

**Q5: My wallet is brand new with zero TRX. Can I still rent Energy? Can I buy some TRX at the same time?**

**A:** Absolutely! We offer a convenient **"Attach TRX"** feature.

If you pay with USDT, you can choose to include a small amount of TRX (e.g., 2 or 5 TRX) in your order. The system will deliver both the Energy and the TRX to your wallet. This is perfect for "activating" new wallets that lack the initial funds to pay for basic network fees.

*(Note: The "Attach TRX" feature is only available for USDT payments, not TRX payments.)*

**Q6: Can I rent both Energy and Bandwidth in a single order?**

**A:** Yes. Tronify supports "Resource Bundling." You can request a specific amount of Energy (e.g., 65,000) and Bandwidth (e.g., 345) in one transaction. The system will calculate the total cost and deliver both resources to your wallet simultaneously.

**Q7: How long do the rented resources last?**

**A:** We offer flexible durations based on your needs (e.g., 10 minutes, 1 hour, 3 hours, or longer). Please note that resources are **automatically reclaimed** by the network once the duration expires. We recommend completing your transfers within the rented timeframe.

**Q8: Why was TRX still deducted from my account even though I rented Energy?**

**A:** This usually happens due to one of the following:

* **Insufficient Energy:** If the recipient's address does not hold USDT, the Energy cost for the transfer doubles. Ensure your rental amount covers the maximum potential requirement.
* **Zero Bandwidth:** Transfers also require Bandwidth (approx. 345 units). If your account has 0 Bandwidth, a small amount of TRX will be consumed.
* **Synchronization Delay:** Always verify that the resources have successfully arrived in your wallet (via the app or TronScan) before initiating a transfer.

**Q9: What is the "USDT Quick Transfer" feature?**

**A:** This is a specialized solution for "**Zero-TRX/Zero-Energy**" accounts. Even if your wallet is completely empty, you can still send USDT. The system automatically handles the resource acquisition in the background. You simply pay a small service fee in USDT, removing the need to manually top up TRX.

***

### **Seller Management FAQ**

**Q1: Is my TRX safe after authorizing the platform?**

**A:** Yes. The platform only uses **Multi-Signature (Multisig)** permissions to access the "Delegate" function of your resources. We **cannot** move, withdraw, or spend your principal. Your TRX remains in your own wallet, and you can revoke the authorization on-chain at any time.

**Q2: How are my earnings calculated?**

**A:** **Earnings = Total Rental Income - Platform Service Fees.** Dividends are distributed based on the actual "Energy" rented out from your account daily. Resources that are not utilized by buyers do not generate revenue.

***

### **Buyer Management FAQ**

**Q1: How can I check my current Energy balance and expiration time?**

**A:** On the **Home** page of the Buyer Portal, you can view your real-time balance, available Energy, and used Energy. For specific order details and expiration countdowns, please visit the **"Rental Records"** section.

**Q2: Can I cancel a rental order and get a refund?**

**A:** No. Once Energy is distributed on-chain, it is locked to your address and consumes the Seller's staking capacity. Therefore, **orders cannot be cancelled or refunded** once they are active. Please double-check your required amount and duration before purchasing.


# Error Code

<table><thead><tr><th width="152" align="center">Error Code</th><th>Description</th></tr></thead><tbody><tr><td align="center">100</td><td>Success</td></tr><tr><td align="center">101</td><td>Required parameter is empty</td></tr><tr><td align="center">102</td><td>Invalid address</td></tr><tr><td align="center">103</td><td>You have already reached the daily limit</td></tr><tr><td align="center">105</td><td>The order does not exist.</td></tr><tr><td align="center">106</td><td>The monthly claim limit has been exceeded.</td></tr><tr><td align="center">107</td><td>Out of exchange range</td></tr><tr><td align="center">108</td><td>You need use this function in the TokenPocket wallet</td></tr><tr><td align="center">109</td><td>The subsidy has been claimed out</td></tr><tr><td align="center">110</td><td>Received</td></tr><tr><td align="center">111</td><td>No delegation authority found</td></tr><tr><td align="center">112</td><td>To become an energy supplier, the energy staking TRX amount must be over</td></tr><tr><td align="center">113</td><td>Exceeded the price range allowed for setting</td></tr><tr><td align="center">114</td><td>Parameter error</td></tr><tr><td align="center">115</td><td>Timeout</td></tr><tr><td align="center">116</td><td>There is a withdrawal operation for the current user, please try again later!</td></tr><tr><td align="center">117</td><td>There is an exception in the order, please contact the customer service staff to help solve it.</td></tr><tr><td align="center">118</td><td>The user already exists.</td></tr><tr><td align="center">119</td><td>The account already exists. Please go to the buyer management platform on tronify.io and bind your TG ID.</td></tr><tr><td align="center">120</td><td>Invalid signature</td></tr><tr><td align="center">121</td><td>The address is not activated, please activate it</td></tr><tr><td align="center">122</td><td>The address is a contract address, please replace it</td></tr><tr><td align="center">123</td><td>The number of addresses exceeds 1000</td></tr><tr><td align="center">124</td><td>Insufficient account balance</td></tr><tr><td align="center">125</td><td>Insufficient remaining quantity</td></tr><tr><td align="center">126</td><td>The remaining energy must be greater than the minimum energy</td></tr><tr><td align="center">127</td><td>USDT purchased energy is under maintenance</td></tr><tr><td align="center">128</td><td>Insufficient energy at the moment, please try again later</td></tr><tr><td align="center">132</td><td>pledgeNum cannot be less than 15000</td></tr><tr><td align="center">141</td><td>Insufficient TRX balance</td></tr><tr><td align="center">142</td><td>Insufficient USDT balance</td></tr><tr><td align="center">501</td><td>Not author</td></tr><tr><td align="center">502</td><td>Access restriction</td></tr><tr><td align="center">505</td><td>The exchange rate is abnormal. Please try again.</td></tr><tr><td align="center">506</td><td>The address is risky and tronify does not provide services.</td></tr><tr><td align="center">777</td><td>Frequent operations, please try again later</td></tr><tr><td align="center">999</td><td>Service Internal Error</td></tr></tbody></table>


