К содержимому
trxvolt

Разработчикам

Один REST API. Четыре входа.

Всё на этом сайте работает на одном публичном API. Выберите путь под то, что вы строите, или читайте полный справочник OpenAPI.

Быстрый старт — розничный заказ за три вызова

Ключи не нужны. Котировка, создание, опрос. Заказ оплачивается переводом ровно price_sun на pay_to_address — сумма несёт уникальный микро-тег, поэтому нет ни memo, ни аккаунта.

1 · котировкаbash
curl -s https://api.trxvolt.com/v1/rentals/quote \
  -H 'content-type: application/json' \
  -d '{"energy":65000,"duration_sec":86400}'
# → {"price_sun":…,"base_price_sun":…,"partner_fee_sun":0,...}
2 · создание (рекомендуем Idempotency-Key)bash
curl -s https://api.trxvolt.com/v1/rentals \
  -H 'content-type: application/json' \
  -H 'idempotency-key: 7c1e…' \
  -d '{"receiver_address":"TUz4…DXdQT8","energy":65000,"duration_sec":86400}'
# → {"id":"…","price_sun":…,"pay_to_address":"T…",
#    "status":"awaiting_payment","pay_deadline":"…"}
3 · опросbash
curl -s https://api.trxvolt.com/v1/rentals/<id>
# awaiting_payment → paid → delegating → delegated (usable, ~3 s)
#   → active (final) → expired (term over, energy reclaimed)
# could not serve: refunding → refunded (payment returned)
то же на Python SDKpython
from trxvolt import TrxVolt
c = TrxVolt("https://api.trxvolt.com")
o = c.rentals.create(receiver_address="TUz4…", energy=65_000, duration_sec=86_400)
print("pay exactly", o.price_trx, "TRX to", o.pay_to_address)
o = c.rentals.wait_until_delegated(o.id, timeout=900)

По умолчанию аренда отзывается досрочно, когда энергия потрачена или простаивает, и тарифицируется за использованное время; передайте "hold_for_duration": true, чтобы заблокировать её на весь срок. Добавьте "bandwidth": N, чтобы арендовать bandwidth вместе с энергией или вместо неё.

Предоплаченный B2B — без платежа в сети на каждый заказ

Для кошельков, бирж и платёжных процессоров с потоком заказов. Пополните баланс в TRX один раз (переводом с memo — зачислится сам), дальше каждый заказ списывает баланс и делегирует сразу. Аутентификация — X-Api-Key; Idempotency-Key обязателен при создании заказа.

цена и балансbash
curl -s 'https://api.trxvolt.com/v1/energy/price?energy=65000&duration_sec=3600' -H 'x-api-key: …'
curl -s https://api.trxvolt.com/v1/energy/balance -H 'x-api-key: …'
заказbash
curl -s https://api.trxvolt.com/v1/energy/orders -H 'x-api-key: …' \
  -H 'idempotency-key: <uuid per order>' -H 'content-type: application/json' \
  -d '{"receiver_address":"T…","energy":65000,"duration_sec":3600}'
# 402 → balance too low: body says how much, what is available and where to top up

Gas station — отправить USDT без единого TRX

У вашего пользователя есть USDT, но нет ни одного TRX. Попросите нас собрать перевод, дайте пользователю подписать его txID своим ключом, верните подпись. Мы делегируем энергию на его адрес, вещаем и отзываем — пользователь не касается TRX и никому не отдаёт ключ. Комиссия списывается с вашего предоплаченного баланса (схема partner) или второй TRX-транзакцией, которую подписывает пользователь (payg).

build → подпись → submitbash
POST /v1/relay/build   {"kind":"trc20","from":"T…","to":"T…","amount":1000000,"contract":"TR7N…"}
# → {"relay_id":"…","scheme":"partner","energy":…,"cost_sun":…,"user_txid":"…"}
# user signs user_txid locally (wallet), then:
POST /v1/relay/submit  {"relay_id":"…","user_signature":"…"}
GET  /v1/relay/{id}    # signed → paid → delegated → broadcast → confirmed

Чего relay не сделает

  • Не отправит в сеть ничего, что пользователь не подписал, — подпись проверяется против ровно того raw_data_hex, что мы собрали.
  • Не выдаст энергию до того, как платёж обеспечен, и не оставит платёж себе при провале доставки — неудавшиеся relay возвращают деньги.
  • Не касается ключей. SDK отдают колбэк TxIdSigner; подпись остаётся в кошельке.

White-label партнёрам

Перепродавайте под своим брендом. На партнёрском аккаунте задана комиссия в базисных пунктах сверх нашей цены; ваша наценка копится за каждый заказ и выводится в TRX. Заказы партнёра видны в кабинете с полным журналом списаний, начислений и выплат. Кредитные лимиты под доверенный объём — по запросу.

Получить ключ партнёра

Стейкинг — встроить предложение в кошелёк

Дайте пользователям зарабатывать на замороженных TRX, не покидая ваш кошелёк. Сценарий — два вызова с нашей стороны и две подписи с вашей; SDK декодирует битмап права и отказывается строить грант шире [Vote 4, (WithdrawBalance 13,) Delegate 57, Undelegate 58].

регистрация → грант → заморозка → verifybash
POST /v1/stakers  {"owner_address":"T…","with_claim":false}
# → {"id":"…","grant_instruction":{"service_address":"T…","operations_hex":"…",
#        "allowed_contract_types":[4,57,58],"min_stake_sun":…}}
# wallet signs AccountPermissionUpdate with that active permission,
# wallet freezes TRX for energy (FreezeBalanceV2), then:
POST /v1/stakers/{id}/verify   # → status "active" once the grant is seen on-chain

Прочитайте перед интеграцией

  • Owner-право остаётся у стейкера, отозвать можно в любой момент.
  • Минимальный стейк читается из цепочки при verify; увеличить позже — просто ещё одна заморозка.
  • Доход выплачивается в TRX на адрес стейкера; награды за голосование падают на аккаунт нативно.

SDK

Python

trxvolt

Розничная и B2B-аренда, relay, стейкеры. Типизированные модели, помощники опроса (wait_until_delegated), встроенная идемпотентность.

pip install trxvolt

Kotlin Multiplatform · Android / iOS / JVM

com.trxvolt:trxvolt

Для кошельков: все четыре пути, без работы с ключами — подпись через колбэк TxIdSigner, тела транзакций приходят готовыми к подписи.

commonMain.dependencies { implementation("com.trxvolt:trxvolt:0.1.0") }

На бизнес-маршрутах действуют лимиты по IP (429), строже — на /v1/relay/build и /v1/stakers/{id}/verify; при перегрузке вернётся 503, повторяйте с backoff. Все суммы в sun, все адреса — base58.