Разработчикам
Один REST API. Четыре входа.
Всё на этом сайте работает на одном публичном API. Выберите путь под то, что вы строите, или читайте полный справочник OpenAPI.
Быстрый старт — розничный заказ за три вызова
Ключи не нужны. Котировка, создание, опрос. Заказ оплачивается переводом ровно price_sun на pay_to_address — сумма несёт уникальный микро-тег, поэтому нет ни memo, ни аккаунта.
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,...}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":"…"}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)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 обязателен при создании заказа.
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: …'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- Три ветки. /v1/energy, /v1/bandwidth и /v1/resources — оба ресурса одним атомарным заказом.
- Крупные заказы делятся. Заказ больше любого одного стейкера автоматически раскладывается по нескольким.
- Кабинет самообслуживания. Баланс, выписка, заказы и вывод — в /partner.
Gas station — отправить USDT без единого TRX
У вашего пользователя есть USDT, но нет ни одного TRX. Попросите нас собрать перевод, дайте пользователю подписать его txID своим ключом, верните подпись. Мы делегируем энергию на его адрес, вещаем и отзываем — пользователь не касается TRX и никому не отдаёт ключ. Комиссия списывается с вашего предоплаченного баланса (схема partner) или второй TRX-транзакцией, которую подписывает пользователь (payg).
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].
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 trxvoltKotlin 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.