Zintegruj API v2, aby programowo wyceniać, tworzyć i śledzić zamówienia wynajmu TRON Energy. Płać w ramach łańcucha lub z salda TronBid i zmniejsz TRX spalane przez połączenia w ramach inteligentnych kontraktów.
Interfejs API Quick Rent to sposób na automatyczne wynajmowanie TRON Energy, bez pracy ręcznej. Energia sprawia, że przelewy USDT (TRC-20) i inne połączenia w ramach inteligentnych kontraktów są tańsze niż spalanie TRX.
Krótko mówiąc: Twój program (strona, bot lub usługa) sam kupuje energię dokładnie wtedy, gdy jest potrzebna — na przykład przed każdym przelewem USDT wykonanym przez Twojego klienta.
Pomyśl o automacie: sprawdzasz cenę, wrzucasz pieniądze i odbierasz przedmiot. Interfejs API to ten sam zestaw przycisków — naciska je tylko Twój program.
Twój program pyta API, ile obecnie kosztuje potrzebny pakiet energii.
Twój program tworzy zamówienie i opłaca je — wysyłając TRX na podany adres lub obciążając saldo TronBid.
W ciągu kilku sekund na portfelu docelowym pojawi się energia, a USDT będzie można przesyłać taniej.
Ważne: API jest narzędziem dla programisty. Aby z niego skorzystać, ktoś musi napisać kod wysyłający żądania.
Jeśli nie ma kto napisać kodu — skorzystaj z gotowego zakupu energii na stronie (Quick Rent) lub bota na Telegramie @tronbid. Ten sam wynik, tylko ręcznie.
Pełny, kompleksowy przykład najprostszego scenariusza (w łańcuchu). Cztery kroki i energia w portfelu.
Poniżej opisano, co dzieje się na każdym kroku i co zwraca interfejs API. Podłącz klucz API, adresy i identyfikator zamówienia.
Wyślij ilość energii i czas trwania. Otrzymasz zwrot ceny_trx i liczbę sekund, na które jest ona zablokowana.
Wyślij paczkę, swój klucz idempotencji i adres płatnika. Otrzymujesz adres pay_address (gdzie zapłacić), kwotę_trx (ile) i wygasa_at (do kiedy).
Wyślij dokładnie kwotę_trx TRX na adres_płatności ze swojego adresu_płatnika. To zwykły transfer TRON.
Sonduj stan co kilka sekund, aż zostanie on delegowany. Oznacza to, że energia jest przekazywana do portfela i gotowe.
{
"price_trx": "3.200000",
"available": true,
"save_percent": 62,
"expires_in_sec": 30
}{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"pay_address": "TDeposit...",
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": "2026-04-29T13:15:00.000Z",
"qr_payload": "tron:TDeposit...?amount=3.200000",
"duplicate": false,
"target_address": "TTarget..."
}# poll every 3s until the order is done
while true; do
STATUS=$(curl -sS "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID" \
-H "Authorization: Bearer $API_KEY" | jq -r .status)
echo "status: $STATUS"
case "$STATUS" in
delegated|failed|expired|cancelled) break ;;
esac
sleep 3
done{
"id": "uuid",
"status": "delegated",
"payment_mode": "onchain",
"amount_trx": "3.200000",
"energy_amount": 131000,
"effective_energy_amount": 131000,
"duration_minutes": 15,
"pay_address": "TDeposit...",
"payer_address": "TPayer...",
"target_address": "TTarget...",
"error_code": null,
"error_message": null
}Krótkie objaśnienia słów używanych w tej dokumentacji.
Co przygotować przed złożeniem pierwszej prośby.
Wyślij wiadomość do @tronbid na Telegramie — otrzymasz klucz powiązany z Twoim kontem TronBid. Bez tego prośby nie przejdą.
Wybierz adres (adres docelowy), który potrzebuje energii. Zwykle jest to portfel, z którego Twoi klienci wysyłają USDT.
Energia sprzedawana jest w pakietach (przeważnie 65000 lub 131000 energii na 15 lub 60 minut). Pobierz listę na żywo z punktu końcowego katalogu, bez konieczności uwierzytelniania.
W przypadku on-chain — portfel z TRX do płacenia. W przypadku płatności salda — zasilone konto TronBid i włączony tryb salda.
Interfejs API Quick Rent umożliwia automatyczne wynajmowanie TRON Energy, dzięki czemu przelewy USDT TRC-20 i inne połączenia w ramach inteligentnych kontraktów kosztują mniej niż spalanie TRX.
Wszystkie punkty końcowe mają jeden podstawowy adres URL.
https://tronbid.com/api/v2/quick-rentZa zamówienie można zapłacić na dwa sposoby. Opcja „On-chain” jest ustawieniem domyślnym i nie wymaga konfiguracji. Płatność salda jest opcjonalna i musi być włączona dla Twojego klucza.
Bez aktywacji żądanie z trybem płatności: saldo zwraca 403 BALANCE_PAYMENT_NOT_ENABLED. Aby to włączyć, skontaktuj się z pomocą techniczną TronBid.
| Mode | Jak włączyć | Płatność |
|---|---|---|
on-chain | Domyślnie — pomiń Payment_mode (lub „onchain”) | Wyślij TRX na adres_płatności z adresu_płatnika |
balance | Payment_mode: saldo + włączone dla Twojego klucza | Pobrane z Twojego salda TronBid TRX |
ilość_energii i czas trwania_minut muszą odpowiadać aktywnemu pakietowi Szybkiego Rent — zwykle 65000 lub 131000 energii i 15 lub 60 minut.
Pobierz aktualny katalog w dowolnym momencie (bez konieczności autoryzacji):
curl -sS https://tronbid.com/api/public/quick-rent/skusKrok 1 — POST /cytat, aby poznać cenę. Krok 2 — POST /zamówienia, aby utworzyć zamówienie i otrzymać adres płatności, kwotę_trx i datę ważności. Krok 3 — wyślij dokładnie kwotę_trx TRX na adres_pay ze swojego adresu_płatnika. Krok 4 — odpytuj GET /orders/:id do momentu delegowania statusu (lub niepowodzenia / wygaśnięcia / anulowania).
target_address jest opcjonalny — jeśli zostanie pominięty, energia jest delegowana do payer_address.
Na jednego payer_address dozwolone jest tylko jedno otwarte zlecenie w łańcuchu (pending_payment); w przeciwnym razie otrzymasz 409 PENDING_PAYMENT_INTENT_EXISTS. W przypadku niedopłaty/nadpłaty energia końcowa może się różnić — sprawdź efektywną_energię_amount w GET /orders/:id.
{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "your-unique-key-001",
"payer_address": "TPayerWalletXXXXXXXXXXXXXXXXXXXXXX",
"target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX"
}{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"pay_address": "TDeposit...",
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": "2026-04-29T13:15:00.000Z",
"qr_payload": "tron:TDeposit...?amount=3.200000",
"duplicate": false,
"target_address": "TTarget..."
}Krok 1 — GET / saldo, aby sprawdzić TRX. Krok 2 — POST /wycena z ceną. Krok 3 — POST/zamówienia z trybem płatności: saldo do obciążenia i rozpoczęcie delegowania. Krok 4 — odpytuj GET /orders/:id do momentu delegowania (w przypadku błędu delegowania zadanie kończy się niepowodzeniem, a TRX zostaje zwrócony na Twoje saldo).
adres_płatnika nie jest potrzebny — płaci konto powiązane z Twoim kluczem API. Energy_amount w odpowiedzi może być wyższy niż zamówiony SKU (bonus cenowy).
{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "your-unique-key-balance-001",
"payment_mode": "balance",
"target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX"
}{
"id": "uuid",
"status": "delegating",
"payment_mode": "balance",
"pay_address": null,
"amount_trx": "3.200000",
"energy_amount": 132310,
"duration_minutes": 15,
"expires_at": null,
"qr_payload": null,
"duplicate": false,
"target_address": "TTarget..."
}Każde zamówienie przechodzi przez te statusy. Ankieta GET /orders/:id, aby ją śledzić.
| Status | Znaczenie |
|---|---|
pending_payment | Oczekiwanie na płatność w łańcuchu |
delegating | Płatność otrzymana lub saldo naliczone; delegacja w toku |
delegated | Energia delegowana |
cancelled | Anulowano przed dokonaniem płatności (w łańcuchu) |
expired | Upłynęło okno płatności w łańcuchu |
failed | Błąd (dla salda zwracany jest TRX) |
idempotency_key (8–128 znaków) to unikalny identyfikator zamówienia po Twojej stronie. Powtarzanie POST /orders z tym samym kluczem (dla tego samego klienta API) zwraca to samo zamówienie z „duplikatem”: true.
Nie używaj ponownie jednego idempotency_key w różnych trybach płatności (onchain vs saldo) — zwraca to 409 IDEMPOTENCY_PAYMENT_MODE_MISMATCH.
Oszacuj, ile energii potrzebuje adres do transferu. Podaj portfel odbiorcy i sprawdź, czy zawiera już USDT.
/api/v2/quick-rent/calculator| Parametr | Type | Opis | Example |
|---|---|---|---|
adres_portfela | string | Adres TRON do analizy | TXXXXXXXX...XXXX |
ma_usdt | boolean | null | Czy odbiorca posiada już USDT (wpływa na energię). prawda, fałsz lub pomiń. | true |
{
"wallet_address": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"has_usdt": true
}curl -sS -X POST "$BASE_URL/api/v2/quick-rent/calculator" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"wallet_address":"TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","has_usdt":true}'Zwraca aktualną cenę pakietu: cena_trx, dostępność, procent oszczędności i czas ważności oferty (wygasa_w_sek.).
/api/v2/quick-rent/quote| Parametr | Type | Opis | Example |
|---|---|---|---|
ilość_energii | int | Ilość energii z aktywnego katalogu | 131000 |
czas_minut | int | Czas wynajmu z katalogu | 15 |
{
"price_trx": "3.200000",
"available": true,
"save_percent": 62,
"expires_in_sec": 30
}export BASE_URL="https://tronbid.com"
export API_KEY="your_api_key"
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/quote" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"energy_amount":131000,"duration_minutes":15}'Tworzy zamówienie wynajmu. W przypadku on-chain przekaż adres płatnika i zapłać zwróconą kwotę kwotę_trx na adres pay_address. Aby uzyskać saldo, dodaj Payment_mode: saldo, a połączone konto zostanie obciążone natychmiast.
adres_docelowy jest opcjonalny (domyślnie jest to adres_płatnika). Pamiętaj o zasadach 409: jedno otwarte zamówienie w łańcuchu na płatnika i brak aktywnej delegacji Quick Rent już w miejscu docelowym (ACTIVE_DELEGATION_EXISTS).
/api/v2/quick-rent/orders| Parametr | Type | Opis | Example |
|---|---|---|---|
ilość_energii | int | Ilość energii z katalogu | 131000 |
czas_minut | int | Czas wynajmu z katalogu | 15 |
idempotency_key | string | Twój unikalny identyfikator zamówienia (8–128 znaków) | partner-onchain-001 |
tryb_płatności | string | Opcjonalne. „onchain” (domyślnie) lub „saldo”. | balance |
adres_płatnika | string | On-chain: portfel wysyłający TRX. Nie potrzebne do zachowania równowagi. | TPayer... |
adres_docelowy | string | Opcjonalne. Portfel odbierający energię (domyślnie jest to adres_płatnika). | TTarget... |
{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"pay_address": "TDeposit...",
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": "2026-04-29T13:15:00.000Z",
"qr_payload": "tron:TDeposit...?amount=3.200000",
"duplicate": false,
"target_address": "TTarget..."
}{
"id": "uuid",
"status": "delegating",
"payment_mode": "balance",
"pay_address": null,
"amount_trx": "3.200000",
"energy_amount": 132310,
"duration_minutes": 15,
"expires_at": null,
"qr_payload": null,
"duplicate": false,
"target_address": "TTarget..."
}curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "partner-onchain-001",
"payer_address": "TPayer...",
"target_address": "TTarget..."
}'curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "partner-balance-001",
"payment_mode": "balance",
"target_address": "TTarget..."
}'Zwraca bieżący status, tryb_płatności, kwoty, adresy i kod_błędu / komunikat_błędu, jeśli coś się nie powiedzie. efektywna_energia_amount odzwierciedla rzeczywistą delegowaną energię po niedopłacie/nadpłacie.
/api/v2/quick-rent/orders/:id| Parametr | Type | Opis | Example |
|---|---|---|---|
identyfikator | string | Identyfikator zamówienia (parametr ścieżki) | uuid |
{
"id": "uuid",
"status": "delegated",
"payment_mode": "onchain",
"amount_trx": "3.200000",
"energy_amount": 131000,
"effective_energy_amount": 131000,
"duration_minutes": 15,
"pay_address": "TDeposit...",
"payer_address": "TPayer...",
"target_address": "TTarget...",
"error_code": null,
"error_message": null
}curl -sS "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID" \
-H "Authorization: Bearer $API_KEY"Anuluje zamówienie, które nadal oczekuje na płatność (tylko w sieci). Po przekazaniu energii zlecenie nie może być już anulowane.
/api/v2/quick-rent/orders/:id/cancel| Parametr | Type | Opis | Example |
|---|---|---|---|
identyfikator | string | Identyfikator zamówienia (parametr ścieżki) | uuid |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/cancel" \
-H "Authorization: Bearer $API_KEY"Zmienia portfel płacący dla zamówienia Pending_payment w łańcuchu — przydatne, jeśli klient zdecyduje się zapłacić z innego portfela przed wysłaniem TRX.
/api/v2/quick-rent/orders/:id/set-payer| Parametr | Type | Opis | Example |
|---|---|---|---|
identyfikator | string | Identyfikator zamówienia (parametr ścieżki) | uuid |
adres_płatnika | string | Nowy portfel płatniczy | TNewPayer... |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/set-payer" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"payer_address":"TNewPayer..."}'Zwraca saldo TRX konta TronBid powiązanego z Twoim kluczem API (saldo w aplikacji, a nie portfel w łańcuchu). Wymaga nagłówka Authorization.
/api/v2/quick-rent/balance{ "balance_trx": "150.500000" }curl -sS "$BASE_URL/api/v2/quick-rent/balance" \
-H "Authorization: Bearer $API_KEY"Błędy zwracają status HTTP i pole błędu. Oto te, które możesz spotkać.
| HTTP | error | Kiedy |
|---|---|---|
| 400 | Invalid body | Nieprawidłowy JSON lub pola |
| 400 | INVALID_SKU / SKU_INACTIVE | Pakiet niedostępny |
| 400 | INVALID_PAYER_ADDRESS / INVALID_TARGET_ADDRESS | Błędny adres TRON |
| 400 | INSUFFICIENT_BALANCE | Za mało TRX na saldzie (tryb równowagi) |
| 401 | Unauthorized | Brakujący lub nieprawidłowy klucz API |
| 403 | BALANCE_PAYMENT_NOT_ENABLED | Płatność salda nie jest włączona dla Twojego klucza |
| 409 | PENDING_PAYMENT_INTENT_EXISTS | Dla tego płatnika istnieje już otwarte zlecenie w ramach łańcucha |
| 409 | ACTIVE_DELEGATION_EXISTS | Target ma już aktywną delegację Quick Rent |
| 409 | POOL_ENERGY_INSUFFICIENT | W tej chwili nie ma darmowej energii w basenie |
| 409 | IDEMPOTENCY_PAYMENT_MODE_MISMATCH | Ten sam klucz idempotencji z innym trybem płatności |
| 429 | Too Many Requests | Limit stawki |
| 503 | — | Usługa chwilowo niedostępna. Spróbuj ponownie później |
Typowe sytuacje i wskazówki, jak postępować, prostymi słowami.
Upewnij się, że przekazana kwota jest dokładnie równakwota_trx i że środki trafiły na adres pay_address z dokładnego adresu_płatnika. Przelew musi dotrzeć przed wygaśnięciem_at. Status zwykle aktualizuje się w ciągu minuty po potwierdzeniu przez sieć — kontynuuj odpytywanie GET /orders/:id.
Delegacja się nie udała. W przypadku płatności salda TRX jest automatycznie zwracany na Twoje saldo. Przyczyną jest kod_błędu i komunikat_błędu GET /orders/:id. Możesz utworzyć nowe zamówienie.
Ten adres_płatnika ma już niezapłacone zamówienie w łańcuchu. Zapłać, poczekaj, aż wygaśnie (expires_at) lub anuluj za pomocą /orders/:id/cancel, a następnie utwórz nowy.
Płatność salda nie jest włączona dla Twojego klucza. Skontaktuj się z pomocą techniczną TronBid, aby go aktywować, lub użyj on-chain (domyślnie).
Zbyt wiele żądań w krótkim czasie. Zmniejsz częstotliwość odpytywania (np. raz na 3 sekundy) i spróbuj ponownie później.
W przypadku niedopłaty/nadpłaty w łańcuchu ostateczna kwota ulega zmianie. Sprawdź efektywną_energię_amount w GET /orders/:id — to faktycznie delegowana energia.
Potrzebujesz dostępu do API, wyższych limitów lub włączonej płatności salda? Odezwij się, a pomożemy.