用于 USDT TRC-20 转账的 TRON 能量租赁 API
为钱包、交易所、OTC 平台和支付服务自动租赁 TRON 能量。获取实时报价,创建幂等订单,并支持链上 TRX 或 TronBid 余额支付。
- 实时套餐报价
- 链上或余额支付
- 幂等订单创建
- API 版本
- v2
- 更新日期
- 2026-09-30
- 生产环境 Base URL
- https://tronbid.com/api/v2/quick-rent
本页目录
快速开始
概览:这是什么,适合谁
Quick Rent API 是一种自动租用 TRON Energy 的方式,无需手动操作。有了 Energy,USDT(TRC-20)转账及其他智能合约调用会比燃烧 TRX 更便宜。
简单来说:您的程序(网站、机器人或服务)会在需要时自动购买 Energy——例如在每位客户发起 USDT 转账之前。
把它想象成自动售货机:查看价格、投入钱、拿到商品。API 就是这些按钮,只不过由您的程序来按。
- 1查询价格
程序向 API 询问所需 Energy 套餐当前的价格。
- 2创建订单并支付
程序创建订单并支付——向指定地址转账 TRX,或从 TronBid 余额扣款。
- 3获得 Energy
几秒后 Energy 出现在目标钱包上,即可更便宜地发送 USDT。
重要:API 是面向开发者的工具。要使用它,需要有人编写发送请求的代码。
如果没有人写代码——请使用网站上的现成购买(Quick Rent)或 Telegram 机器人 @tronbid。结果相同,只是手动操作。
术语表
本文档中出现的词语的简短解释。
- Energy(能量)
- TRON 网络智能合约操作的“燃料”。不足时网络会改为燃烧 TRX,成本更高。租用 Energy 可以省钱。
- TRX
- TRON 网络的原生代币。用于支付 Energy 租用和网络手续费。
- USDT TRC-20
- TRON 上的稳定币(美元)。发送它是一次需要 Energy 的智能合约调用。
- API 密钥
- 访问 API 的秘密口令。每个请求都要携带。仅保存在服务器端。
- Endpoint(端点)
- API 的具体地址“按钮”,程序向其发送请求(例如 /quote——查询价格)。
- GET / POST
- 请求类型。GET 表示“查询/读取数据”,POST 表示“执行动作”(创建订单、计算价格)。
- Bearer 令牌
- 传递 API 密钥的方式:请求头写 Authorization: Bearer 您的密钥。
- on-chain 支付
- 通过普通 TRX 转账到指定地址来支付订单——立即可用,无需开通。
- 余额支付
- 从您的 TronBid 账户余额扣款支付。更快,但需先为密钥开通。
- 委托(Delegation)
- 在租期内(例如 15 或 60 分钟)将租来的 Energy 临时转给目标钱包。
- 轮询(Polling)
- 每隔几秒重复查询订单状态,直到变为 delegated 或以错误结束。
- idempotency_key
- 您自己的唯一订单编号。若请求发送两次,API 返回同一订单而不新建——防止重复支付。
开始之前
发出第一个请求前需要准备的东西。
- 1获取 API 密钥
请联系 @tronbid,为您的账户开通 Quick Rent API 权限。然后进入 Dashboard → API,自行创建密钥。输入密码或使用钱包签署消息,保存密钥并激活。不要通过电子邮件或 Telegram 发送密钥。
- 2准备目标 TRON 钱包
确定需要 Energy 的地址(target_address)。通常是您客户发送 USDT 的钱包。
- 3从目录中选择套餐
Quick Rent 提供 65,000、131,000、196,500、262,000、524,000 和 1,048,000 Energy 套餐,租期为 15 或 60 分钟。可通过套餐目录查询当前可用套餐,无需身份验证。
- 4准备支付
on-chain 需要一个含 TRX 的钱包用于支付;余额支付需要已充值的 TronBid 账户并开通 balance 模式。
简介
Quick Rent API 让您的服务自动租用 TRON Energy,使 USDT TRC-20 转账及其他智能合约调用的成本低于直接燃烧 TRX。
所有端点共用一个 base URL。
https://tronbid.com/api/v2/quick-rent支付模式
订单有两种支付方式。on-chain 为默认方式,无需设置。余额支付为可选项,需为您的密钥单独开通。
未开通时,带 payment_mode: balance 的请求会返回 403 BALANCE_PAYMENT_NOT_ENABLED。如需开通,请联系 TronBid 客服。
| 模式 | 如何启用 | 支付 |
|---|---|---|
on-chain | 默认——不传 payment_mode(或 "onchain") | 在 expires_at 之前,从任意钱包向 pay_address 完成一笔 TRX 转账。资源发送给 target_address,不会自动发送给付款方。 |
balance | payment_mode: balance + 已为您的密钥开通 | 从 TronBid 账户 TRX 余额扣款 |
套餐目录
energy_amount 和 duration_minutes 必须对应当前启用的 Quick Rent 套餐。Energy 套餐数量为 65000、131000、196500、262000、524000 和 1048000,租期为 15 或 60 分钟。196500 套餐的 15 分钟价格为当前 65000/15 分钟套餐价格的 3 倍;其 60 分钟价格在此基础上加 0.7 TRX。价格会动态调整,请在创建订单前获取最新报价。已创建的订单保留创建时确定的价格。
可随时获取当前套餐目录(无需鉴权):
curl -sS https://tronbid.com/api/public/quick-rent/skus工作流程
快速上手:从零到 Energy
在最简单的场景(on-chain)上的完整端到端示例。四步即可让 Energy 到达钱包。
下面是每一步发生了什么以及 API 返回什么。请填入您的 API 密钥、地址和订单 ID。
- 1第 1 步。查询价格 — POST /quote
发送 Energy 数量和时长。返回 price_trx 以及价格锁定的秒数。
- 2第 2 步。创建订单 — POST /orders
提交资源套餐、idempotency_key 和 target_address(资源接收者)。响应包含 pay_address、amount_trx、expires_at 和 payment_sender_mode。
- 3第 3 步。付款
在 expires_at 之前,从任意钱包向 pay_address 完成一笔 TRX 转账。资源发送给 target_address,不会自动发送给付款方。
- 4第 4 步。等待 Energy — GET /orders/:id
每隔几秒轮询状态,直到变为 delegated。这表示 Energy 已委托到钱包——完成。
{
"price_trx": "3.200000",
"available": true,
"save_percent": 62,
"expires_in_sec": 30
}{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"payment_sender_mode": "any_wallet",
"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",
"delivery_complete": true,
"txid_delegate": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"txids_delegate": ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
"payment_mode": "onchain",
"payment_sender_mode": "any_wallet",
"amount_trx": "3.200000",
"expected_amount_trx": "3.200000",
"paid_amount_trx": "3.200000",
"effective_price_trx": null,
"energy_amount": "131000",
"effective_energy_amount": null,
"duration_minutes": 15,
"pay_address": "TDeposit...",
"payer_address": "TPayer...",
"target_address": "TTarget...",
"error_code": null,
"error_message": null
}On-chain 流程
提交资源套餐、idempotency_key 和 target_address(资源接收者)。响应包含 pay_address、amount_trx、expires_at 和 payment_sender_mode。
在 expires_at 之前,从任意钱包向 pay_address 完成一笔 TRX 转账。资源发送给 target_address,不会自动发送给付款方。
请用 target_address 指定资源接收者。为兼容旧接口,省略时使用 payer_address 作为接收地址;新订单不会限制付款钱包。
每个订单独占一个可用付款地址 15 分钟。如无空闲地址,将返回 HTTP 503 PAYMENT_WALLETS_BUSY,请稍后重试同一请求。少付或多付会调整 effective_energy_amount,多笔付款不会合并。 可识别的最低付款金额为 0.9 TRX。
请勿在 expires_at 后付款或重复使用付款地址。地址会重新分配,后续转账将归属于当时使用该地址的订单。
{
"energy_amount": 131000,
"duration_minutes": 15,
"idempotency_key": "your-unique-key-001",
"target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX"
}{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"payment_sender_mode": "any_wallet",
"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..."
}余额流程
第 1 步 — GET /balance 查看 TRX 余额。第 2 步 — POST /quote 查询价格。第 3 步 — POST /orders 携带 payment_mode: balance,扣款并开始委托。第 4 步 — 轮询 GET /orders/:id 直到 delegated(若委托失败则变为 failed,TRX 退回余额)。
无需 payer_address——由绑定到您 API 密钥的账户付款。仅 524000 和 1048000 Energy 套餐在 15 分钟或 60 分钟租期享受 1% 赠送,实际分别获得 529240 和 1058480 Energy。其他套餐无赠送。已创建订单保留创建时确认的 Energy 数量。
充值时,先使用已保存的 client_request_id UUID 调用 POST /balance-topups,向 payment_address 发送一笔 TRX,然后轮询 GET /balance-topups/:id 直到 credited。之后查询 GET /balance,再获取报价并使用余额下单。
{
"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",
"payment_sender_mode": null,
"pay_address": null,
"amount_trx": "3.200000",
"energy_amount": 131000,
"duration_minutes": 15,
"expires_at": null,
"qr_payload": null,
"duplicate": false,
"target_address": "TTarget..."
}Custom Locked:1–15 分钟(Energy API)
在 POST /quote 和 POST /orders 中添加 custom_lock_minutes,即可选择整数分钟的 Energy 锁定时间:1、2、3……15。创建自定义订单需要 API 密钥,支持链上付款及已启用的余额付款。此选项不适用于 Bandwidth、网站购买或 Telegram 机器人。
保留 duration_minutes: 15 用于选择计价套餐;custom_lock_minutes 才是实际锁定时间。energy_amount 必须来自当前有效的 15 分钟套餐。价格和 Energy 奖励与该 15 分钟套餐完全相同,不按分钟打折。请通过 /quote 获取现价,示例不是固定报价。
此字段可选。省略后,原有 15/60 分钟套餐、计价和响应格式保持不变。该字段没有隐含默认值。必须传 JSON 整数;字符串、小数、null、0、负数及大于 15 的值均返回 HTTP 400。与 duration_minutes: 60 或 resource_type: bandwidth 同时使用也会被拒绝。
在 expires_at 之前,从任意钱包向 pay_address 完成一笔 TRX 转账。资源发送给 target_address,不会自动发送给付款方。 请用 target_address 指定资源接收者。为兼容旧接口,省略时使用 payer_address 作为接收地址;新订单不会限制付款钱包。 余额支付请传入 target_address 和 payment_mode: balance,并确保 API 密钥已启用余额支付权限。
锁定从委托交易被 TRON 区块收录时开始,而非询价、下单或付款时开始。1 分钟对应 20 个 TRON 区块,约 60 秒。系统保存链上的实际到期时间 delegation_expires_at。付款响应中的 expires_at 是另一项独立的付款截止时间。
可每 3 秒查询 GET /orders/:id。自定义响应包含 custom_lock_minutes 和 lock_period_blocks。状态响应还包含 delegation_expires_at、reclaim_status、txid_delegate、txid_reclaim 和 reclaimed_at。尚未确定的时间和交易哈希为 null。
状态流程:pending_payment(仅链上付款)→ delegating → delegated → undelegating → completed。delegated 表示 Energy 已交付。undelegating 表示锁定已结束,正在回收,reclaim_status 为 pending。completed 且 reclaim_status: confirmed 表示回收交易已在链上固化确认,无需另发 Reclaim 请求。
自定义订单由独立任务每 3 秒检查。TRON 允许解锁回收后即尝试 Reclaim,不必等待每 5 分钟的全池扫描。出块、队列负载和 RPC 可用性可能延迟提交,链上确认还需要额外时间。系统不会在链上锁定到期前回收。
订单、已签名交易和回收尝试均持久化保存。重启或 RPC 超时后继续处理同一笔交易,不会重复租赁。服务商不可用时自动重试。资金池地址与接收地址的组合会保留到回收确认;新订单可由其他空闲池钱包提供资源。
重试请复用同一个 idempotency_key。对已有键修改、添加或删除 custom_lock_minutes,会返回 409 IDEMPOTENCY_CUSTOM_LOCK_MISMATCH。不同锁定时长需使用新键。原有 payment_mode 不匹配规则仍有效。
已配置的 Webhook 保留原有签名与投递方式。自定义事件增加锁定字段:交付后发送 quick_buy.delegated;回收确认后发送 quick_buy.expired,status 为 completed,并附 txid_reclaim;委托确认为失败时发送 quick_buy.failed。请按 event_id 去重。服务商状态不明时查询已有订单,不要再次创建租赁。
请等待 delegated 再使用 Energy。锁定期限不同于付款截止时间。Reclaim 将委托资源归还资金池,不是退还租赁费用。
curl -sS -X POST https://tronbid.com/api/v2/quick-rent/quote \
-H "Content-Type: application/json" \
-d '{
"energy_amount": 131000,
"resource_type": "energy",
"duration_minutes": 15,
"custom_lock_minutes": 5
}'curl -sS -X POST https://tronbid.com/api/v2/quick-rent/orders \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"energy_amount": 131000,
"resource_type": "energy",
"duration_minutes": 15,
"custom_lock_minutes": 5,
"payment_mode": "balance",
"target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX",
"idempotency_key": "partner-custom-5min-balance-001"
}'curl -sS -X POST https://tronbid.com/api/v2/quick-rent/orders \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"energy_amount": 131000,
"resource_type": "energy",
"duration_minutes": 15,
"custom_lock_minutes": 5,
"target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX",
"idempotency_key": "partner-custom-5min-onchain-001"
}'{
"id": "00000000-0000-4000-8000-000000000001",
"status": "delegated",
"duration_minutes": 15,
"custom_lock_minutes": 5,
"lock_period_blocks": 100,
"delegation_expires_at": "2026-09-27T12:05:00.000Z",
"reclaim_status": "not_started",
"txid_delegate": "<delegation transaction hash>",
"txid_reclaim": null,
"reclaimed_at": null
}订单状态
每个订单都会经历以下状态。通过 GET /orders/:id 进行跟踪。
| 状态 | 含义 |
|---|---|
pending_payment | 等待 on-chain 付款 |
delegating | 已收款或已扣余额,委托进行中 |
delegated | 能量已委托 |
cancelled | 付款前已取消(on-chain) |
expired | on-chain 付款时限已过 |
failed | 出错(余额模式下 TRX 退回) |
undelegating | 自定义锁定已结束,正在等待资源回收确认 |
completed | 自定义订单的资源回收已在链上确认 |
幂等性
idempotency_key(8–128 个字符)是您这一侧的唯一订单 ID。用相同密钥(同一 API 客户端)重复 POST /orders 会返回同一订单并带 "duplicate": true。
不要在不同支付模式(onchain 与 balance)间复用同一 idempotency_key,否则返回 409 IDEMPOTENCY_PAYMENT_MODE_MISMATCH。
API 参考
检查收款地址的能源池可用性
创建订单前,可以检查是否至少有一个 Quick Rent Energy 池可用于指定地址。POST /api/v2/quick-rent/availability 使用现有 Bearer API 密钥,并与其他已认证接口共享密钥和 IP 请求频率限制。无需幂等键。
请求必须包含 target_address,即有效的 TRON Base58 地址。resource_type 可选,仅支持 energy。不要传入 energy_amount、duration_minutes、custom_lock_minutes 或付款参数。此接口不检查 Bandwidth。
HTTP 200、available: true、reason: AVAILABLE 表示至少一组“能源池 → 接收地址”没有有效的 Energy 锁定或未完成的 Quick Rent 预留。HTTP 200、available: false、reason: ALL_POOLS_BUSY 表示所有符合条件的池都已被该地址占用。NO_ELIGIBLE_POOLS 表示没有符合条件的已启用来源,包括唯一的来源就是接收地址的情况。池忙碌是正常查询结果,不是 HTTP 错误。
接口采用现有订单预留规则,涵盖 delegating、delegate_confirming、undelegating 和有效的 delegated 订单。即使锁定时间已过,Custom Locked 订单也会继续占用来源,直到资源回收得到处理。接口读取当前池配置和数据库预留,并对未预留的地址对执行新的链上锁定检查。checked_at 是检查完成的 UTC 时间,不是保证释放的时间。
HTTP 400:JSON 无效、缺少字段、未知字段或资源不支持时返回 INVALID_REQUEST;地址或校验和无效时返回 INVALID_TARGET_ADDRESS。HTTP 401:密钥缺失、无效或已禁用。HTTP 429:超过请求限制。HTTP 503:QUICK_RENT_DISABLED,或数据库、签名配置、链上状态无法确认时返回 AVAILABILITY_CHECK_UNAVAILABLE。503 表示结果未知,不能当作可用或忙碌。
建议流程:检查地址可用性 → 获取所需数量的报价 → 按原方式创建订单。池忙碌时请稍后重试或使用其他接收地址。遇到临时故障时逐步延长重试间隔,避免频繁轮询。现有接口及响应保持不变;此检查为可选功能。
/api/v2/quick-rent/availability参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
target_address | string | 必填。接收方 TRON Base58 地址,校验和必须有效。 | TWLaGaf3k6dbiEWvif1tNLeKuTErk2Tron |
resource_type | "energy" | 可选。仅支持 energy,默认值为 energy。 | energy |
此接口只读检查地址对的占用状态。它不会创建订单、扣款、委托 Energy 或预留池。它不检查 Energy 数量、价格、余额、地址激活状态或 Marketplace 跨产品限制。下单前可用性可能变化,因此仍须处理现有 HTTP 409 ACTIVE_DELEGATION_EXISTS 和其他下单错误。普通 Energy 和 Custom Locked 订单均可使用此检查。
curl -sS -X POST https://tronbid.com/api/v2/quick-rent/availability \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"target_address": "TWLaGaf3k6dbiEWvif1tNLeKuTErk2Tron"
}'{
"resource_type": "energy",
"target_address": "TWLaGaf3k6dbiEWvif1tNLeKuTErk2Tron",
"available": true,
"reason": "AVAILABLE",
"checked_at": "2026-09-30T12:00:00.000Z"
}{
"resource_type": "energy",
"target_address": "TWLaGaf3k6dbiEWvif1tNLeKuTErk2Tron",
"available": false,
"reason": "ALL_POOLS_BUSY",
"checked_at": "2026-09-30T12:00:00.000Z"
}{
"error": "AVAILABILITY_CHECK_UNAVAILABLE",
"message": "Availability could not be verified. Retry later."
}计算器
估算某地址完成转账所需的能量。传入收款钱包,并说明其是否已持有 USDT。
/api/v2/quick-rent/calculator参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
wallet_address | string | 要分析的 TRON 地址 | TXXXXXXXX...XXXX |
has_usdt | boolean | null | 收款方是否已持有 USDT(影响能量)。true、false 或不传。 | 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}'获取报价
返回套餐的当前价格:price_trx、是否可用、save_percent 以及报价有效期(expires_in_sec)。
/api/v2/quick-rent/quote参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
energy_amount | int | 来自有效目录的能量数量 | 131000 |
duration_minutes | int | 来自目录的租用时长 | 15 |
custom_lock_minutes | integer | 可选整数,含 1 和 15。仅限 Energy API,要求 duration_minutes: 15。省略则保持原行为。 | 5 |
{
"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}'创建订单
创建租赁订单。链上付款请指定 target_address,并从任意钱包向返回的 pay_address 付款。余额支付请指定 payment_mode: balance,费用立即从关联账户扣除。
请用 target_address 指定资源接收者。为兼容旧接口,省略时使用 payer_address 作为接收地址;新订单不会限制付款钱包。
每个订单独占一个可用付款地址 15 分钟。如无空闲地址,将返回 HTTP 503 PAYMENT_WALLETS_BUSY,请稍后重试同一请求。少付或多付会调整 effective_energy_amount,多笔付款不会合并。
/api/v2/quick-rent/orders参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
energy_amount | int | 来自目录的能量数量 | 131000 |
duration_minutes | int | 来自目录的租用时长 | 15 |
idempotency_key | string | 您这侧的唯一订单 ID(8–128 个字符) | partner-onchain-001 |
payment_mode | string | 可选。"onchain"(默认)或 "balance"。 | balance |
payer_address | string | 缺少 target_address 时使用的旧版接收地址别名,不限制新订单的付款方。 | TPayer... |
target_address | string | 资源接收地址。余额支付必须提供;链上付款可使用本字段或旧版 payer_address 别名。 | TTarget... |
custom_lock_minutes | integer | 可选整数,含 1 和 15。仅限 Energy API,要求 duration_minutes: 15。省略则保持原行为。 | 5 |
{
"id": "uuid",
"status": "pending_payment",
"payment_mode": "onchain",
"payment_sender_mode": "any_wallet",
"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",
"payment_sender_mode": null,
"pay_address": null,
"amount_trx": "3.200000",
"energy_amount": 131000,
"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",
"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..."
}'查询订单状态
返回当前状态、payment_mode、金额、地址,以及失败时的 error_code / error_message。effective_energy_amount 反映在多付/少付后实际委托的能量。
amount_trx 是以 TRX 为单位的十进制字符串,例如 "1.500000"。余额支付时,它表示订单记录的扣款金额;链上支付时,它表示预期付款金额,与创建订单时的含义一致。旧订单若没有预期金额,则使用保存的订单价格。仅凭此字段不能确认付款、资源交付或退款。原有字段含义不变:paid_amount_trx 表示已记录的转入金额,余额订单中可能为 null;expected_amount_trx 表示预期付款金额;effective_price_trx 可能记录少付或多付后重新计算的租赁价格。请根据 status 和 delivery_complete 判断是否已交付。
仅当当前付款尝试有已完成的余额退款记录时,refund 才包含对象,否则为 null。status: completed 表示款项已退回余额;amount_trx 为退款金额,以 TRX 十进制字符串表示;refunded_at 为 ISO 8601 格式的 UTC 时间;destination 为 account_balance 或 bot_balance。订单状态 failed 本身不能证明已退款。null 也不能证明过去没有发生退款,因为旧订单可能没有退款记录。已完成的钱包激活费用可能不包含在退款金额内。顶层 amount_trx 仍表示订单原始费用,而非扣除退款后的净费用。重新扣款执行订单时会产生新的付款尝试,之前的退款不代表这次付款已退款。
txid_delegate 是 TRON 网络上的资源委托交易哈希,适用于普通订单和 Custom Locked 订单。它不是 TronBid 订单 ID,也不是付款交易哈希 payment_txid。当 status 为 delegated 时,同一响应会返回已保存的委托哈希,租赁结束后仍可查询。在主哈希尚未保存时返回 null;没有保存哈希的历史记录也可能返回 null。
txids_delegate 是已保存的委托交易哈希数组,不包含重复项。通常只有一个哈希;通过多笔交易完成的订单会包含所有已保存的哈希,包括供应商委托以及自有资源池的补充委托。txid_delegate 仍为单个字符串或 null;主哈希存在时位于数组首位。没有已保存的哈希时返回 []。哈希可能在交易确认前出现,部分交易也可能在订单全部完成前出现,因此应检查 status 和 delivery_complete,不能仅凭存在哈希判定完成。
交易查看地址:https://tronscan.org/#/transaction/{txid}。这些字段扩展了原有 GET /api/v2/quick-rent/orders/{id} 响应,API 地址、密钥、请求参数、现有字段和状态均不变。忽略未知响应字段的现有客户端无需修改。使用严格模式校验时,请允许额外字段。获取哈希不需要新密钥或额外请求参数。
payment_sender_mode:新账单为 any_wallet,旧账单为 specified_wallet,余额支付为 null。pay_address 仅用于此账单。检测到链上付款后,状态中的 payer_address 是实际付款方,不是资源接收者。
/api/v2/quick-rent/orders/:id参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
id | string | 订单 ID(路径参数) | uuid |
{
"id": "uuid",
"status": "delegated",
"delivery_complete": true,
"txid_delegate": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"txids_delegate": ["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],
"payment_mode": "onchain",
"payment_sender_mode": "any_wallet",
"amount_trx": "3.200000",
"expected_amount_trx": "3.200000",
"paid_amount_trx": "3.200000",
"effective_price_trx": null,
"energy_amount": "131000",
"effective_energy_amount": null,
"duration_minutes": 15,
"pay_address": "TDeposit...",
"payer_address": "TPayer...",
"target_address": "TTarget...",
"error_code": null,
"error_message": null
}{
"id": "uuid",
"status": "delegated",
"delivery_complete": true,
"txid_delegate": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"txids_delegate": [
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
]
}curl -sS "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID" \
-H "Authorization: Bearer $API_KEY"取消订单
取消仍处于 pending_payment 状态的订单(仅 on-chain)。能量一旦已委托,订单便无法再取消。
/api/v2/quick-rent/orders/:id/cancel参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
id | string | 订单 ID(路径参数) | uuid |
curl -sS -X POST "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID/cancel" \
-H "Authorization: Bearer $API_KEY"更换付款方
仅适用于 payment_sender_mode: specified_wallet 的旧账单。新账单接受任意钱包,无需 set-payer;调用时返回 HTTP 409 PAYMENT_SENDER_NOT_REQUIRED。
/api/v2/quick-rent/orders/:id/set-payer参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
id | string | 订单 ID(路径参数) | uuid |
payer_address | string | 新的付款钱包 | 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..."}'查询余额
返回绑定到您 API 密钥的 TronBid 账户的 TRX 余额(应用内余额,非链上钱包)。需要 Authorization 头。
该金额包含当前有效关联的邮箱和钱包余额。通过 API 充值时,请创建充值账单并等待 status: credited。
/api/v2/quick-rent/balance{ "balance_trx": "150.500000" }curl -sS "$BASE_URL/api/v2/quick-rent/balance" \
-H "Authorization: Bearer $API_KEY"创建余额充值账单
使用现有的已启用 API 密钥。充值不要求开通余额支付权限;该权限仅用于 payment_mode: balance 的资源购买。本接口创建或返回账单,不会发送 TRX,也不会创建租赁订单。
请求 JSON 必须包含 client_request_id,请在首次请求前生成并保存 UUID。重复使用同一 UUID 会返回原会话,即使已经入账、取消或过期。使用新 UUID 时,若已有 pending 账单,则返回该账单及其原到期时间;否则创建新账单。
充值归属于 API 密钥绑定的钱包账户,不能指定其他所有者或邮箱。GET /balance 包含当前有效关联的邮箱与钱包余额;关联操作不会转移已有账单的所有权。
创建、恢复和重放均返回 HTTP 200。请以 application/json 仅提交 client_request_id(请求体不超过 8192 字节);不接受金额、所有者、地址、到期时间或查询参数。幂等性属于 API 客户端,该客户端轮换密钥后仍保留原请求。不同 API 客户端使用独立的请求命名空间。 请求体必须在 5 秒内接收完毕,否则返回 HTTP 408 REQUEST_TIMEOUT。请使用原 client_request_id 重试,不要再次转账。
/api/v2/quick-rent/balance-topups参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
client_request_id | string (UUID) | 必填 UUID,支持版本 1–5,建议使用 UUIDv4。首次请求前保存,重试时使用同一 API 客户端。响应会将 UUID 转为小写。 | 9f5a6f60-b8ec-4b45-9e22-2bf5a1d9f101 |
从任意钱包通过 TRON 网络向 payment_address 发送一笔原生 TRX 转账,无需 memo。金额自行选择,最低为 0.000001 TRX。确认后,已接受转账的全额计入余额。
地址有效窗口为 15 分钟。请对照 server_time 检查 expires_at。交易必须在该窗口内被链上收录;仅在到期前广播并不足够。付款或到期后切勿重复使用该地址。
如果 POST 超时,请使用同一个 client_request_id 重试以获取原账单。不要因为 HTTP 超时而创建另一笔付款或再次转账。若已发送 TRX,请查询原 session_id。
所有响应均为 private, no-store。API 密钥只保存在服务端。遇到请求频率或地址容量限制时,请遵守 Retry-After。
每个所有者只恢复一个 pending 账单。已取消账单的地址仍保留至原到期时间;最多可同时保留三个尚未到期的地址窗口,达到上限时返回 409 和 Retry-After。多笔转账不会合并;响应金额单位为 TRX,不是 SUN。
{
"client_request_id": "9f5a6f60-b8ec-4b45-9e22-2bf5a1d9f101",
"session_id": "a832995c-90d4-4c96-b01d-7eccf2458db0",
"asset": "TRX",
"network": "TRON",
"payment_address": "TDepositWalletFromResponse",
"payment_sender_mode": "any_wallet",
"created_at": "2026-10-18T14:00:00.001Z",
"expires_at": "2026-10-18T14:15:00.001Z",
"server_time": "2026-10-18T14:00:00.100Z",
"status": "pending",
"credited_amount_trx": null,
"txid": null,
"credited_at": null,
"min_amount_trx": "0.000001",
"poll_after_seconds": 10,
"review_required": false
}# Generate and save a UUID once. Reuse it when retrying this request.
curl -sS -X POST "https://tronbid.com/api/v2/quick-rent/balance-topups" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"client_request_id":"9f5a6f60-b8ec-4b45-9e22-2bf5a1d9f101"}'查询余额充值状态
将返回的 session_id 用作 :id,并使用同一账户已启用的 Bearer API 密钥。会话不存在或属于其他账户时返回 HTTP 404。浏览器 cookie 不能替代 API 授权。
查询间隔不得短于 poll_after_seconds(10 秒)。响应包含原 payment_address、created_at、expires_at、当前 server_time,以及 asset: TRX、network: TRON、payment_sender_mode: any_wallet 和 min_amount_trx。
pending:等待转账;confirming:正在核验转账;credited:余额入账已记录;expired:付款窗口已结束;cancelled:账单已取消;manual_review:需要人工核验,请勿再次转账。
credited_amount_trx 为小数点后六位的十进制字符串,入账前为 null。txid 和 credited_at 在入账前也为 null。review_required 表示是否需要人工核验。状态为 credited 后,可通过 GET /balance 查看可用余额。
GET 仅读取已记录的状态,不扫描区块链、不触发入账,也不延长有效期。同一原始钱包账户的其他已启用密钥可以查询会话。关联邮箱不会让独立的邮箱账户成为该账单的所有者。
/api/v2/quick-rent/balance-topups/:id参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
id | string (UUID) | 必填,POST /balance-topups 返回的 session_id UUID,不是租赁订单 ID。 | a832995c-90d4-4c96-b01d-7eccf2458db0 |
expired 或 cancelled 状态并不证明转账失败。在原窗口内被链上收录的转账,可能稍后才被检测并入账,包括取消之后。如果已付款,请继续查询原会话,不要重复付款。
本 API 仅提供创建和查询。关闭客户端界面不会取消账单。请勿向旧地址发送新的转账,也不要试图通过新的请求 UUID 延长有效窗口。
本地计时结束后,若仍有待核验的观测,状态可能继续显示 confirming。在原窗口外被链上收录的转账需要人工核验。一张账单仅入账一笔转账;额外转账需要核验,因此即使 status 为 credited,review_required 仍可能为 true。同一账户的浏览器会话可以取消这个共享账单,但 API 没有取消接口。
{
"session_id": "a832995c-90d4-4c96-b01d-7eccf2458db0",
"asset": "TRX",
"network": "TRON",
"payment_address": "TDepositWalletFromResponse",
"payment_sender_mode": "any_wallet",
"created_at": "2026-10-18T14:00:00.001Z",
"expires_at": "2026-10-18T14:15:00.001Z",
"server_time": "2026-10-18T14:01:20.000Z",
"status": "credited",
"credited_amount_trx": "25.000000",
"txid": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"credited_at": "2026-10-18T14:01:19.000Z",
"min_amount_trx": "0.000001",
"poll_after_seconds": 10,
"review_required": false
}# Use session_id returned by POST. Poll no faster than poll_after_seconds.
curl -sS "https://tronbid.com/api/v2/quick-rent/balance-topups/a832995c-90d4-4c96-b01d-7eccf2458db0" \
-H "Authorization: Bearer <API_KEY>"附录
错误码
错误会返回 HTTP 状态码和 error 字段。以下是您可能遇到的错误。
| HTTP | error | 触发条件 |
|---|---|---|
| 400 | Invalid body | JSON 或字段无效 |
| 400 | INVALID_SKU / SKU_INACTIVE | 套餐不可用 |
| 400 | INVALID_PAYER_ADDRESS / INVALID_TARGET_ADDRESS | TRON 地址格式错误 |
| 400 | TARGET_ACCOUNT_NOT_ACTIVATED | 能量接收钱包在 TRON 上未激活(尚未收到 TRX) |
| 503 | TRON_ACCOUNT_CHECK_FAILED | 无法验证 TRON 账户状态 — 请稍后重试 |
| 400 | INSUFFICIENT_BALANCE | 余额 TRX 不足(余额模式) |
| 401 | Unauthorized | 缺少或无效的 API 密钥 |
| 403 | BALANCE_PAYMENT_NOT_ENABLED | 未为您的密钥开通余额支付 |
| 409 | PENDING_PAYMENT_INTENT_EXISTS | 此错误适用于限制付款方的旧账单。请完成、取消或等待其到期。新账单可从任意钱包付款。 |
| 409 | ACTIVE_DELEGATION_EXISTS | target 上已有有效的 Quick Rent 委托 |
| 409 | POOL_ENERGY_INSUFFICIENT | 当前池内暂无空闲能量 |
| 409 | IDEMPOTENCY_PAYMENT_MODE_MISMATCH | 相同 idempotency_key 使用了不同 payment_mode |
| 429 | Too Many Requests | 速率限制 |
| 503 | — | 服务暂时不可用,请稍后重试 |
| 403 | CUSTOM_LOCK_API_ONLY | 创建 Custom Locked 订单需要通过 Quick Rent API 客户端认证。 |
| 409 | IDEMPOTENCY_CUSTOM_LOCK_MISMATCH | 同一个 idempotency_key 的自定义锁定时间不同,包括添加或删除该字段。 |
| 400 | INVALID_CUSTOM_LOCK | 自定义参数无效:必须是 1–15 的整数、Energy 和 duration_minutes: 15。 |
| 503 | PAYMENT_WALLETS_BUSY / PAYMENT_WALLET_POOL_DISABLED / PAYMENT_SCANNER_UNAVAILABLE | 所有付款地址均已占用,或付款检测暂时不可用。请稍候使用相同 idempotency_key 重试;成功重试将返回原订单,不会另行占用地址。 |
| 400 | INVALID_REQUEST | 充值请求体、UUID、字段或查询参数无效。 |
| 401 | UNAUTHORIZED | 充值 API 密钥缺失、无效、已禁用或已被替换。 |
| 403 | ACCOUNT_BLOCKED / INVALID_ACCOUNT_SCOPE | 账户被封禁或当前余额访问权限无法验证。 |
| 404 | TOPUP_SESSION_NOT_FOUND | 充值会话不存在或属于其他账户。 |
| 409 | TOPUP_PENDING_WINDOWS_LIMIT | 保留的地址窗口过多。请等待 retry_after_seconds / Retry-After,不要反复更换请求 UUID。 |
| 413 | BODY_TOO_LARGE | 充值 JSON 请求体超过大小限制。 |
| 429 | RATE_LIMITED | 达到充值请求速率限制,Retry-After 为 60 秒。 |
| 503 | PAYMENT_WALLETS_BUSY / PAYMENT_WALLET_POOL_DISABLED / TOPUP_UNAVAILABLE | 充值地址或服务暂时不可用。请使用同一 client_request_id 重试,不要因此重复转账。 |
| 408 | REQUEST_TIMEOUT | 请求体必须在 5 秒内接收完毕,否则返回 HTTP 408 REQUEST_TIMEOUT。请使用原 client_request_id 重试,不要再次转账。 |
如果出现问题
常见情况以及用简单话说明该怎么办。
已付款但订单卡在 pending_payment
在 expires_at 之前,从任意钱包向 pay_address 完成一笔 TRX 转账。资源发送给 target_address,不会自动发送给付款方。 每个订单独占一个可用付款地址 15 分钟。如无空闲地址,将返回 HTTP 503 PAYMENT_WALLETS_BUSY,请稍后重试同一请求。少付或多付会调整 effective_energy_amount,多笔付款不会合并。 请勿在 expires_at 后付款或重复使用付款地址。地址会重新分配,后续转账将归属于当时使用该地址的订单。
状态变成 failed 是什么意思?
委托未成功。余额支付时 TRX 会自动退回余额。原因见 GET /orders/:id 的 error_code 和 error_message。可创建新订单。
错误 409 PENDING_PAYMENT_INTENT_EXISTS
此错误适用于限制付款方的旧账单。请完成、取消或等待其到期。新账单可从任意钱包付款。
错误 403 BALANCE_PAYMENT_NOT_ENABLED
您的密钥未开通余额支付。请联系 TronBid 支持开通,或使用 on-chain(默认)。
错误 429 Too Many Requests
短时间内请求过多。请降低轮询频率(例如每 3 秒一次)并稍后重试。
收到的 Energy 比下单的少
on-chain 少付/多付时最终数量会变化。请查看 GET /orders/:id 中的 effective_energy_amount——这是实际委托的 Energy。
503 PAYMENT_WALLETS_BUSY / PAYMENT_WALLET_POOL_DISABLED / PAYMENT_SCANNER_UNAVAILABLE
所有付款地址均已占用,或付款检测暂时不可用。请稍候使用相同 idempotency_key 重试;成功重试将返回原订单,不会另行占用地址。
支持
需要 API 接入、更高限额或开通余额支付?联系我们,我们将提供帮助。
使用 TronBid 构建服务
估算成本、测试 Quick Rent,并自动完成 TRON 能量交付。
