POST /apiv2/time/order
Купить определенное количество циклов делегирования Energy для адреса и активировать для него Host Mode.
URL эндпоинта
POST https://netts.io/apiv2/time/orderАутентификация
Укажите ваш API-ключ в теле запроса (api_key) или в заголовке X-API-KEY. IP-адрес запроса должен находиться в белом списке, настроенном для вашего API-ключа.
Тело запроса
json
{
"api_key": "your_api_key",
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"cycles": 10
}Параметры
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| api_key | string | Да | API-ключ (или заголовок X-API-KEY). |
| address | string | Да | TRON (TRC-20) адрес, ^T[1-9A-HJ-NP-Za-km-z]{33}$. |
| cycles | integer | Да | Количество покупаемых циклов. Должно быть ≥ 1. |
Тарификация и списание средств
- Заказ циклов не списывает средства авансом. Оплата каждого цикла происходит в момент делегирования Energy: первое делегирование при активации стоит 4 TRX, каждое последующее — 2 или 4 TRX в зависимости от объема Energy, фактически израсходованного вашей предыдущей транзакцией (≤65 000 → 2 TRX, более → 4 TRX). См. Host Mode → Cycles and Pricing для ознакомления с полными правилами, включая ежедневный минимум в 8 TRX (вступает в силу с 2026-08-29).
- Поле
amountв ответе является оценочным (cycles × reference price), а не окончательной суммой. - Перед подтверждением заказа проверяется ваш баланс; если средств недостаточно для покрытия заказа, он отклоняется (ошибка
-2).
Создание заказа переводит адрес в статус active и создает открытый заказ на запрошенное количество циклов. После этого адрес начинает получать делегирования Energy цикл за циклом, и оплата списывается за каждое делегирование по факту его совершения.
Примеры запросов
cURL
bash
curl -X POST https://netts.io/apiv2/time/order \
-H "Content-Type: application/json" \
-d '{
"api_key": "YOUR_API_KEY_HERE",
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"cycles": 10
}'Python
python
import requests
resp = requests.post(
"https://netts.io/apiv2/time/order",
json={
"api_key": "YOUR_API_KEY_HERE",
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"cycles": 10,
},
timeout=30,
)
result = resp.json()
if result["code"] == 0:
d = result["data"]
print(f"Order {d['order_id']}: {d['cycles']} cycles for {d['amount']} TRX")
else:
print("Error:", result["msg"])Node.js
javascript
const axios = require('axios');
axios.post('https://netts.io/apiv2/time/order', {
api_key: 'YOUR_API_KEY_HERE',
address: 'TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE',
cycles: 10,
}).then(({ data: result }) => {
if (result.code === 0) {
const d = result.data;
console.log(`Order ${d.order_id}: ${d.cycles} cycles for ${d.amount} TRX`);
} else {
console.error('Error:', result.msg);
}
}).catch(err => console.error('Request failed:', err.response?.data || err.message));Ответ
Успешно (200 OK)
json
{
"code": 0,
"msg": "Cycles purchased and host mode activated successfully",
"data": {
"order_id": 5426,
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"cycles": 10,
"amount": 23.5,
"status": "active",
"timestamp": "2026-07-13T05:30:15.123456"
}
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
| code | integer | 0 = успех, отрицательное значение = ошибка |
| msg | string | Читаемое сообщение |
| data.order_id | integer | Внутренний идентификатор заказа |
| data.address | string | Адрес, для которого были приобретены циклы |
| data.cycles | integer | Количество купленных циклов |
| data.amount | number | Примерная общая стоимость заказа в TRX (только для справки — оплата списывается за каждое делегирование) |
| data.status | string | "active" после успешного создания заказа |
| data.timestamp | string | Метка времени заказа в формате ISO |
Ответы с ошибками
| code | msg | Причина |
|---|---|---|
| -1 | Invalid API key or IP not in whitelist | Ошибка аутентификации |
| -1 | Invalid TRC-20 address format | Неверный формат адреса |
| -1 | Cycle count must be 1 or more | cycles < 1 |
| -1 | Database error processing order | Временная ошибка на стороне сервера — повторите попытку |
| -2 | Insufficient balance. Required: X TRX, Available: Y TRX | Баланс меньше общей суммы заказа |
| -6 | Cannot buy cycles: There is an open order with … cycles for this address | Открытый заказ уже существует (включая infinity) |
json
{
"code": -2,
"msg": "Insufficient balance. Required: 23.5 TRX, Available: 10.0 TRX"
}Связанные эндпоинты
- POST /apiv2/time/add — предварительно добавить адрес
- POST /apiv2/time/infinitystart — неограниченное количество циклов вместо фиксированного числа
- POST /apiv2/time/status — проверить оставшиеся циклы
- POST /apiv2/time/stop — остановить и закрыть заказ
Примечания
- Если адрес еще не находится в Host Mode, создание заказа также регистрирует и активирует его.
- Для одного адреса одновременно допускается только один открытый заказ.
- Купленные циклы расходуются по одному на каждое делегирование; когда они заканчиваются, обслуживание адреса автоматически прекращается.