ϟEnergy Rent
ДЛЯ РАЗРАБОТЧИКОВ

Документация API

Заказывайте энергию и получайте историю операций из приложения или бота.

v1

Подключение

Создайте API-ключ в кабинете и передавайте его в каждом запросе. Отдельный код клиента не нужен.

Authorization: Bearer YOUR_API_KEY
Accept: application/json
Content-Type: application/json

Лимит — 60 запросов в минуту.

POST /api/v1/orders

Заказать энергию

Достаточно указать адрес получателя. По умолчанию — 65 000 энергии на 1 час.

curl -X POST "https://energy-rent.com/api/v1/orders" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"address":"TRON_RECIPIENT_ADDRESS"}'
ПолеОписание
addressОбязательный адрес получателя TRON.
energy_amountНеобязательно: 32000, 65000 или 131000. По умолчанию 65000.
source_systemНеобязательная метка приложения, например telegram_bot. По умолчанию api.

Пример ответа

{
  "data": {
    "order_id": "ord_8db12451-16af-42b2-915e-8a711609e357",
    "request_id": "ord_8db12451-16af-42b2-915e-8a711609e357",
    "success": true,
    "status": "success",
    "address": "TRON_RECIPIENT_ADDRESS",
    "energy_amount": 65000,
    "price_trx": "5.500000",
    "created_at": "2026-09-17 12:00:00"
  }
}

order_id создаётся автоматически. Сохраните его для проверки статуса. request_id — совместимое название того же идентификатора. Цена в примере условная: стоимость рассчитывается по вашему тарифу пропорционально количеству энергии, с округлением до SUN.

Пример для PHP-бота

function orderEnergy(string $address, int $energy = 65000): array
{
    $ch = curl_init('https://energy-rent.com/api/v1/orders');
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_HTTPHEADER => [
            'Authorization: Bearer YOUR_API_KEY',
            'Content-Type: application/json',
            'Accept: application/json',
        ],
        CURLOPT_POSTFIELDS => json_encode([
            'address' => $address,
            'energy_amount' => $energy,
            'source_system' => 'telegram_bot',
        ], JSON_THROW_ON_ERROR),
        CURLOPT_CONNECTTIMEOUT => 10,
        CURLOPT_TIMEOUT => 120,
    ]);
    $body = curl_exec($ch);
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if ($body === false) {
        throw new RuntimeException('Ответ не получен: проверьте историю заказов.');
    }
    return ['http_status' => $status,
        'body' => json_decode($body, true, 512, JSON_THROW_ON_ERROR)];
}

$result = orderEnergy($address);

Проверяйте HTTP-код и body.data.status. Функция не повторяет запрос автоматически.

GET /api/v1/orders/{order_id}

Статус заказа

Подставьте ID из ответа на создание. Метод возвращает данные заказа без новой покупки. Специальные символы в ID нужно закодировать для URL.

curl "https://energy-rent.com/api/v1/orders/ORDER_ID" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
GET /api/v1/account

Аккаунт и баланс

Возвращает client_id, name, balance_trx, rate_trx_per_65k, deposit_address и network. Адрес равен null, если ещё не назначен.

Баланс отражает учтённые пополнения и завершённые списания. Стоимость заказов в ожидании может быть зарезервирована.

Доступно для новых заказов

GET /api/v1/processing-balance возвращает balance_trx, reserved_trx, available_balance_trx и rate_trx_per_65k. Для проверки доступного остатка используйте available_balance_trx.

История операций

GET /api/v1/orders?page=1 — заказы: order_id, id, request_id, address, energy_amount, status, price_trx, charged_trx, created_at. charged_trx — фактическое списание за выполненный заказ.

GET /api/v1/deposits?page=1 — пополнения: id, tx_hash, amount_trx, status, created_at. Хеш равен null, если сведения о транзакции отсутствуют. amount_trx указан только для зачисленных пополнений.

До 25 записей на странице. Пагинация: meta.current_page, meta.last_page, meta.total. Суммы — десятичные строки в TRX. Время — UTC: в истории ISO 8601, в ответе заказа YYYY-MM-DD HH:mm:ss.