POST /apiv2/time/order
Купівля певної кількості циклів делегування енергії для адреси та активація для неї Host Mode.
URL кінцевої точки
POST https://netts.io/apiv2/time/orderАвтентифікація
Вкажіть ваш API-ключ у тілі запиту (api_key) або у заголовку X-API-KEY. IP-адреса запиту має бути внесена до білого списку, налаштованого для вашого API-ключа.
Тіло запиту
{
"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. |
Ціноутворення та тарифікація
- Замовлення циклів не стягує кошти наперед. Оплата за кожен цикл списується в момент делегування його енергії: перше делегування активації коштує 4 TRX, кожне наступне — 2 або 4 TRX залежно від того, скільки енергії фактично спожив ваш попередній переказ (≤65,000 → 2 TRX, більше → 4 TRX). Дивіться повні правила у Host Mode → Cycles and Pricing, а також Daily minimum щодо щоденного мінімуму 8 TRX (діє з 2026-08-29).
- Значення
amountу відповіді є орієнтовним (cycles × reference price), а не остаточною сумою. - Ваш баланс перевіряється до прийняття замовлення; якщо коштів недостатньо для покриття замовлення, воно відхиляється (помилка
-2).
Створення замовлення переводить адресу в статус active і створює відкрите замовлення на запитану кількість циклів. Після цього адреса починає отримувати делегування енергії цикл за циклом, і за кожне делегування стягується плата в момент його виконання.
Приклади запитів
cURL
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
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
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)
{
"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 | Відкрите замовлення вже існує (включаючи нескінченне) |
{
"code": -2,
"msg": "Insufficient balance. Required: 23.5 TRX, Available: 10.0 TRX"
}Адреса призначення заборонена (403)
Адреса перевіряється до прийняття замовлення. Якщо делегування ресурсів на неї заборонено, запит відхиляється з помилкою HTTP 403 і нічого не записується — замовлення не створюється, а адреса не додається та не активується. Тіло відповіді використовує структуру detail:
| code | msg | Значення |
|---|---|---|
| 1006 | Address is blocked. Contact support. | Адреса заблокована |
| 1007 | Energy rental to smart contracts is not supported. | Адреса є смартконтрактом (гаманці GasFree також є смартконтрактами) |
| 1010 | Resource delegation to this address is not available. | Делегування ресурсів на цю адресу недоступне |
| 1011 | This address is frozen and cannot receive resource delegation. | Адреса заморожена |
{ "detail": { "code": 1007, "msg": "Energy rental to smart contracts is not supported." } }Пов'язані ендпоінти
- POST /apiv2/time/add — спочатку додати адресу
- POST /apiv2/time/infinitystart — необмежена кількість циклів замість фіксованої
- POST /apiv2/time/status — перевірити залишкові цикли
- POST /apiv2/time/stop — зупинити та закрити замовлення
Примітки
- Якщо адреса ще не переведена в Host Mode, замовлення також реєструє її та активує.
- Для однієї адреси дозволено лише одне відкрите замовлення одночасно.
- Придбані цикли витрачаються по одному на кожне делегування; коли вони закінчуються, адреса зупиняється автоматично.