Back to Blog

AI and MCP / D07

Мониторы делегирования: Никогда не позволяйте вашей TRON energy истечь

Проблема истечения срока

Делегирования TRON energy имеют фиксированную продолжительность. Когда вы покупаете energy на 1 час, вы получаете ровно 1 час. Когда этот час заканчивается, делегирование отзывается, и ваш адрес возвращается к нулевой делегированной energy. Если ваше приложение отправляет перевод USDT через 61 минуту после начала делегирования, эта транзакция сжигает TRX по полной цене.

Для приложений, работающих 24/7, это создает управленческую нагрузку. Вам нужно отслеживать, когда истекает каждое делегирование, приобретать замену до того, как закончится текущее, и управлять промежутком между истечением и приходом нового делегирования. Пропустите обновление даже на несколько секунд, и транзакции, выполненные в этот период, будут сжигать TRX по полной цене.

Мониторы делегирования MERX устраняют эту проблему. Они отслеживают ваши делегирования, контролируют время истечения и автоматически обновляют их до того, как energy кончится. Монитор работает на сервере MERX 24/7 — он не зависит от того, находится ли ваше приложение в сети, подключен ли ваш MCP-клиент или активен ли ваш AI-агент.

Типы мониторов

Система мониторинга MERX поддерживает три типа мониторов, каждый из которых разработан для решения различных операционных задач.

delegation_expiry

Отслеживает активные делегирования energy и принимает меры до их истечения.

Tool: create_monitor
Input: {
  "type": "delegation_expiry",
  "config": {
    "address": "TYourAddress...",
    "renew_before_minutes": 10,
    "auto_renew": true,
    "max_price_per_unit": 0.00006,
    "renewal_amount": 500000,
    "renewal_duration_hours": 24
  },
  "notifications": {
    "channels": ["webhook"],
    "webhook_url": "https://your-app.com/hooks/energy-monitor"
  }
}

Этот монитор отслеживает все активные делегирования на указанный адрес. Когда любое делегирование приближается к истечению в течение 10 минут, монитор принимает меры:

  1. Если auto_renew имеет значение true и текущая лучшая цена находится на уровне или ниже max_price_per_unit, монитор автоматически размещает новый заказ на renewal_amount energy с renewal_duration_hours продолжительности.
  2. Если цена превышает max_price_per_unit, монитор вместо покупки отправляет уведомление, предупреждая вас, что цены слишком высоки для автоматического обновления.
  3. Если auto_renew имеет значение false, монитор только отправляет уведомления, давая вам время действовать вручную.

Параметр renew_before_minutes критичен. Установите его достаточно высоким, чтобы новое делегирование могло быть размещено, подтверждено и активировано до истечения старого. 10-минутный окно обеспечивает достаточно времени для размещения заказа (секунды), обработки провайдером (1-2 минуты) и подтверждения делегирования (3-6 секунд) с запасом на сетевые перегрузки.

balance_threshold

Мониторит баланс energy в блокчейне и срабатывает, когда он падает ниже указанного уровня.

Tool: create_monitor
Input: {
  "type": "balance_threshold",
  "config": {
    "address": "TYourAddress...",
    "energy_threshold": 200000,
    "bandwidth_threshold": 2000,
    "action": "ensure_resources",
    "energy_target": 500000,
    "bandwidth_target": 5000
  },
  "notifications": {
    "channels": ["telegram"],
    "telegram_chat_id": "-1001234567890"
  }
}

В отличие от delegation_expiry, которая основана на времени, balance_threshold основана на потреблении. Она срабатывает, когда доступная energy вашего адреса падает ниже 200 000, независимо от причины. Это охватывает сценарии, которые мониторинг истечения не может решить:

При срабатывании действие ensure_resources проверяет текущий баланс, вычисляет дефицит для достижения целевого значения и покупает только необходимое количество.

price_alert

Мониторит цены на рынке energy и отправляет уведомления при выполнении условий.

Tool: create_monitor
Input: {
  "type": "price_alert",
  "config": {
    "condition": "below",
    "threshold": 0.000040,
    "resource_type": "energy",
    "duration_hours": 24,
    "cooldown_minutes": 360
  },
  "notifications": {
    "channels": ["webhook", "telegram"],
    "webhook_url": "https://your-app.com/hooks/price-alert",
    "telegram_chat_id": "-1001234567890"
  }
}

Оповещения о цене по умолчанию информационные — они уведомляют без покупки. Это полезно для команд, которые хотят покупать energy по исторически низким ценам, но предпочитают участие человека при принятии решения о покупке.

Параметр cooldown_minutes предотвращает усталость от уведомлений. Если цена остается ниже порога в течение часов, вы получаете одно уведомление каждые 6 часов вместо одного каждые 30 секунд.

Автоматическое обновление в деталях

Процесс автоматического обновления для мониторов delegation_expiry работает следующим образом:

Шаг 1: Отслеживание активных делегирований

MERX ведет запись всех заказов energy, размещенных через платформу. Каждый заказ включает время начала делегирования, продолжительность и время истечения. Монитор проверяет эти записи с текущим временем.

Active delegations for TYourAddress:
  Order #1234: 500,000 energy, expires 2026-03-30T14:00:00Z (47 min remaining)
  Order #1235: 200,000 energy, expires 2026-03-30T15:30:00Z (137 min remaining)

Шаг 2: Оценка окна обновления

Когда любое делегирование входит в окно обновления (например, за 10 минут до истечения):

Order #1234: 500,000 energy, expires in 9 minutes 42 seconds
-> Within renewal window (10 minutes)
-> Initiating renewal check

Шаг 3: Проверка цены

Монитор запрашивает текущие рыночные цены:

Best price for 500,000 energy / 24 hours:
  Provider: sohu
  Price: 26.30 TRX
  Price per unit: 0.0000526

Max allowed: 0.00006 per unit
  0.0000526 <= 0.00006: PASS

Шаг 4: Размещение заказа на обновление

Order placed:
  Amount: 500,000 energy
  Duration: 24 hours
  Provider: sohu
  Cost: 26.30 TRX
  Target: TYourAddress...
  Status: CONFIRMED

Шаг 5: Проверка делегирования

Монитор периодически опрашивает адрес, чтобы подтвердить, что новое делегирование было получено:

Delegation confirmed:
  Previous energy: 487,231 (remaining from expiring delegation)
  New energy: 987,231 (previous + new delegation)

Шаг 6: Уведомление

Webhook sent:
{
  "event": "delegation_renewed",
  "address": "TYourAddress...",
  "old_order": "1234",
  "new_order": "1236",
  "energy_amount": 500000,
  "cost_trx": 26.30,
  "provider": "sohu",
  "new_expiry": "2026-03-31T13:50:18Z"
}

Весь процесс завершается менее чем за 30 секунд. Адрес никогда не испытывает промежутка в покрытии energy.

Защита цены

Параметр max_price_per_unit на мониторах автоматического обновления — это критический механизм безопасности. Цены на energy могут скачкообразно возрасти в периоды высокого спроса. Без защиты цены автоматическое обновление во время скачка цен может обойтись в 2-3 раза дороже обычной ставки.

Когда рыночная цена превышает максимум:

Best price for 500,000 energy / 24 hours:
  Provider: catfee
  Price: 42.50 TRX
  Price per unit: 0.0000850

Max allowed: 0.00006 per unit
  0.0000850 > 0.00006: FAIL - Price exceeds maximum

Action: Notification sent instead of purchase
  "Energy delegation expiring in 8 minutes. Auto-renewal skipped:
   market price 0.0000850 exceeds maximum 0.00006. Manual action required."

Уведомление дает вам возможность:

Установка правильной максимальной цены

Чтобы установить эффективную максимальную цену:

  1. Проверьте ресурс get_price_history за последние 30 дней
  2. Определите цену 95-го процентиля (цену, на которой или ниже которой находились 95% предложений)
  3. Установите максимум на этом уровне или немного выше

Такой подход ловит нормальные колебания, отклоняя настоящие скачки цен.

Работа 24/7 без агента

Это ключевое отличие мониторов MERX от логики на стороне агента. AI-агент работает во время сеанса разговора. Когда сеанс заканчивается, агент останавливается. Если бы вы реализовали отслеживание делегирования в коде вашего агента, оно работало бы только во время активности агента.

Мониторы MERX работают на инфраструктуре сервера MERX:

Агент создает монитор один раз. Этот монитор работает бесконечно (или до истечения срока его действия) независимо от того, подключится ли агент снова.

Day 1: Agent creates delegation_expiry monitor
Day 2: Agent is offline. Monitor renews delegation at 14:00.
Day 3: Agent is offline. Monitor renews delegation at 13:55.
Day 7: Agent reconnects. Checks monitor history:
  - 6 successful auto-renewals
  - 0 gaps in energy coverage
  - Total spent: 157.80 TRX
  - Average price: 0.0000526 per energy unit

Комбинирование мониторов для надежного покрытия

Один тип монитора не может охватить все режимы отказа. Рекомендуемая конфигурация для производственного использования объединяет два или три типа мониторов:

Рекомендуемая установка

Monitor 1: delegation_expiry
  Purpose: Proactive renewal before expiry
  Config:
    renew_before_minutes: 10
    auto_renew: true
    max_price: 0.00006
    renewal_amount: 500,000
    renewal_duration: 24 hours

Monitor 2: balance_threshold
  Purpose: Catch unexpected energy depletion
  Config:
    energy_threshold: 100,000
    action: ensure_resources
    energy_target: 500,000

Monitor 3: price_alert
  Purpose: Opportunity buying at low prices
  Config:
    condition: below
    threshold: 0.000035
    cooldown: 360 minutes
    action: notify_only

Монитор 1 обрабатывает обычный случай — запланированные обновления по приемлемым ценам. Монитор 2 обрабатывает необычные случаи — внезапные скачки потребления energy, ранние отзывы делегирования или блокирование монитора 1 защитой цены. Монитор 3 предупреждает вас об исключительных возможностях для ручной массовой покупки.

Вместе эти три монитора обеспечивают:

Управление мониторами

Список активных мониторов

Tool: list_monitors

Response:
{
  "monitors": [
    {
      "id": "mon_abc123",
      "type": "delegation_expiry",
      "status": "active",
      "address": "TYourAddress...",
      "last_triggered": "2026-03-30T02:00:00Z",
      "total_renewals": 14,
      "total_spent_trx": 368.20,
      "next_expiry": "2026-03-31T02:00:00Z"
    },
    {
      "id": "mon_def456",
      "type": "balance_threshold",
      "status": "active",
      "address": "TYourAddress...",
      "last_triggered": "2026-03-28T15:42:00Z",
      "total_triggers": 2,
      "total_spent_trx": 52.60
    }
  ]
}

История мониторов

Каждый монитор ведет подробный журнал выполнения:

{
  "history": [
    {
      "timestamp": "2026-03-30T02:00:12Z",
      "trigger_reason": "Delegation expiring in 9m48s",
      "action_taken": "auto_renew",
      "order_id": "ord_xyz789",
      "energy_purchased": 500000,
      "cost_trx": 26.30,
      "provider": "sohu",
      "status": "success"
    },
    {
      "timestamp": "2026-03-29T01:55:33Z",
      "trigger_reason": "Delegation expiring in 9m27s",
      "action_taken": "notification_only",
      "reason": "Price 0.0000780 exceeds max 0.0000600",
      "status": "skipped"
    }
  ]
}

Эта история обеспечивает полную проверяемость. Вы можете видеть ровно когда произошло каждое обновление, сколько оно стоило, какой провайдер был использован и почему были пропущены какие-либо обновления.

Экономика никогда не истекающей energy

Рассмотрим приложение, которое обрабатывает 500 переводов USDT в день. Каждый перевод требует примерно 65 000 energy.

Без мониторов (ручное управление с периодическими промежутками):

Average gaps per week: 3 (each lasting ~15 minutes)
Transactions during gaps: ~15
TRX burned during gaps: ~15 x 27 = 405 TRX/week
Annual burn from gaps: ~21,060 TRX (~$5,475)

С мониторами делегирования MERX:

Gaps per week: 0
TRX burned from gaps: 0
Monitor cost (auto-renewal): ~0 additional (same energy would be purchased anyway)
Annual savings: ~$5,475

Мониторы не стоят дополнительных затрат. Вы покупаете одинаковое количество energy в любом случае — мониторы просто гарантируют, что между покупками нет промежутков. Сбережения поступают исключительно из исключения сжигания TRX во время неуправляемых периодов истечения.

Заключение

Делегирования energy истекают. Это факт сети TRON, который невозможно избежать. Что можно избежать, так это стоимость позволить им истечь без готовой замены.

Мониторы делегирования MERX превращают ручной, подверженный ошибкам процесс в автоматизированную, надежную систему. Они работают на сервере независимо от подключения любого клиента. Они обновляют делегирования до их истечения. Они соблюдают ваши ценовые ограничения. Они уведомляют вас об исключениях.

Установите их один раз. Больше никогда не думайте об истечении делегирования energy.


Ссылки:

Попробуйте прямо сейчас с AI

Добавьте MERX в Claude Desktop или любой MCP-совместимый клиент — без установки, без API-ключей для инструментов только для чтения:

{
  "mcpServers": {
    "merx": {
      "url": "https://merx.exchange/mcp/sse"
    }
  }
}

Спросите ваш AI-агент: "What is the cheapest TRON energy right now?" и получите живые цены от всех подключенных провайдеров.

Полная документация MCP: merx.exchange/docs/tools/mcp-server


All Articles