TRONBID B2B API · 版本 2

用于 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. 1
    查询价格

    程序向 API 询问所需 Energy 套餐当前的价格。

  2. 2
    创建订单并支付

    程序创建订单并支付——向指定地址转账 TRX,或从 TronBid 余额扣款。

  3. 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. 1
    获取 API 密钥

    请联系 @tronbid,为您的账户开通 Quick Rent API 权限。然后进入 Dashboard → API,自行创建密钥。输入密码或使用钱包签署消息,保存密钥并激活。不要通过电子邮件或 Telegram 发送密钥。

  2. 2
    准备目标 TRON 钱包

    确定需要 Energy 的地址(target_address)。通常是您客户发送 USDT 的钱包。

  3. 3
    从目录中选择套餐

    Quick Rent 提供 65,000、131,000、196,500、262,000、524,000 和 1,048,000 Energy 套餐,租期为 15 或 60 分钟。可通过套餐目录查询当前可用套餐,无需身份验证。

  4. 4
    准备支付

    on-chain 需要一个含 TRX 的钱包用于支付;余额支付需要已充值的 TronBid 账户并开通 balance 模式。

简介

Quick Rent API 让您的服务自动租用 TRON Energy,使 USDT TRC-20 转账及其他智能合约调用的成本低于直接燃烧 TRX。

所有端点共用一个 base URL。

Base URL(生产)
http
https://tronbid.com/api/v2/quick-rent

鉴权

每个请求都必须在 Authorization 头中以 Bearer 令牌形式携带您的 API 密钥。

密钥仅保存在服务端(后端、CI 机密)。切勿放入前端代码或公开仓库。密钥绑定到单一 TronBid 账户(开通时指定的钱包);余额支付只能从该账户扣款。

超过速率限制时,API 返回 HTTP 429。

管理员开通权限后,在 Dashboard → API 创建密钥。完整密钥只显示一次。请将其保存到服务器的密钥存储中,然后选择“已保存,激活密钥”。激活前密钥不可使用。如果提前关闭窗口,请取消待激活密钥并创建新的密钥;当前密钥仍然有效。

已有密钥在您主动更换或撤销之前继续有效。激活替换密钥后,旧密钥仍可使用整整一小时。请在此期间更新集成,也可以提前撤销旧密钥。即使关闭 Dashboard,服务器仍会执行到期限制。

Dashboard 和管理后台仅显示新密钥的最后六个字符。旧密钥可能没有保存的末尾字符。无法再次查看完整密钥;丢失后请更换。API 权限和请求频率限制仍由管理员设置。

http
Authorization: Bearer <API_KEY>

支付模式

订单有两种支付方式。on-chain 为默认方式,无需设置。余额支付为可选项,需为您的密钥单独开通。

未开通时,带 payment_mode: balance 的请求会返回 403 BALANCE_PAYMENT_NOT_ENABLED。如需开通,请联系 TronBid 客服。

模式如何启用支付
on-chain默认——不传 payment_mode(或 "onchain")在 expires_at 之前,从任意钱包向 pay_address 完成一笔 TRX 转账。资源发送给 target_address,不会自动发送给付款方。
balancepayment_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。价格会动态调整,请在创建订单前获取最新报价。已创建的订单保留创建时确定的价格。

可随时获取当前套餐目录(无需鉴权):

获取有效套餐目录(无需鉴权)
bash
curl -sS https://tronbid.com/api/public/quick-rent/skus

工作流程

快速上手:从零到 Energy

在最简单的场景(on-chain)上的完整端到端示例。四步即可让 Energy 到达钱包。

下面是每一步发生了什么以及 API 返回什么。请填入您的 API 密钥、地址和订单 ID。

  1. 1
    第 1 步。查询价格 — POST /quote

    发送 Energy 数量和时长。返回 price_trx 以及价格锁定的秒数。

  2. 2
    第 2 步。创建订单 — POST /orders

    提交资源套餐、idempotency_key 和 target_address(资源接收者)。响应包含 pay_address、amount_trx、expires_at 和 payment_sender_mode。

  3. 3
    第 3 步。付款

    在 expires_at 之前,从任意钱包向 pay_address 完成一笔 TRX 转账。资源发送给 target_address,不会自动发送给付款方。

  4. 4
    第 4 步。等待 Energy — GET /orders/:id

    每隔几秒轮询状态,直到变为 delegated。这表示 Energy 已委托到钱包——完成。

响应
json
{
  "price_trx": "3.200000",
  "available": true,
  "save_percent": 62,
  "expires_in_sec": 30
}
响应(on-chain)
json
{
  "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..."
}
cURL
bash
# 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
响应
json
{
  "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 后付款或重复使用付款地址。地址会重新分配,后续转账将归属于当时使用该地址的订单。

请求体
json
{
  "energy_amount": 131000,
  "duration_minutes": 15,
  "idempotency_key": "your-unique-key-001",
  "target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX"
}
响应
json
{
  "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,再获取报价并使用余额下单。

请求体
json
{
  "energy_amount": 131000,
  "duration_minutes": 15,
  "idempotency_key": "your-unique-key-balance-001",
  "payment_mode": "balance",
  "target_address": "TTargetWalletXXXXXXXXXXXXXXXXXXXXX"
}
响应
json
{
  "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
bash
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(余额)
bash
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(on-chain)
bash
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"
}'
响应
json
{
  "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)
expiredon-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 表示结果未知,不能当作可用或忙碌。

建议流程:检查地址可用性 → 获取所需数量的报价 → 按原方式创建订单。池忙碌时请稍后重试或使用其他接收地址。遇到临时故障时逐步延长重试间隔,避免频繁轮询。现有接口及响应保持不变;此检查为可选功能。

POST/api/v2/quick-rent/availability

参数

参数类型说明示例
target_addressstring必填。接收方 TRON Base58 地址,校验和必须有效。TWLaGaf3k6dbiEWvif1tNLeKuTErk2Tron
resource_type"energy"可选。仅支持 energy,默认值为 energy。energy

此接口只读检查地址对的占用状态。它不会创建订单、扣款、委托 Energy 或预留池。它不检查 Energy 数量、价格、余额、地址激活状态或 Marketplace 跨产品限制。下单前可用性可能变化,因此仍须处理现有 HTTP 409 ACTIVE_DELEGATION_EXISTS 和其他下单错误。普通 Energy 和 Custom Locked 订单均可使用此检查。

cURL
bash
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"
}'
响应
json
{
  "resource_type": "energy",
  "target_address": "TWLaGaf3k6dbiEWvif1tNLeKuTErk2Tron",
  "available": true,
  "reason": "AVAILABLE",
  "checked_at": "2026-09-30T12:00:00.000Z"
}
响应
json
{
  "resource_type": "energy",
  "target_address": "TWLaGaf3k6dbiEWvif1tNLeKuTErk2Tron",
  "available": false,
  "reason": "ALL_POOLS_BUSY",
  "checked_at": "2026-09-30T12:00:00.000Z"
}
响应
json
{
  "error": "AVAILABILITY_CHECK_UNAVAILABLE",
  "message": "Availability could not be verified. Retry later."
}

计算器

估算某地址完成转账所需的能量。传入收款钱包,并说明其是否已持有 USDT。

POST/api/v2/quick-rent/calculator

参数

参数类型说明示例
wallet_addressstring要分析的 TRON 地址TXXXXXXXX...XXXX
has_usdtboolean | null收款方是否已持有 USDT(影响能量)。true、false 或不传。true
请求体
json
{
  "wallet_address": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "has_usdt": true
}
cURL
bash
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)。

POST/api/v2/quick-rent/quote

参数

参数类型说明示例
energy_amountint来自有效目录的能量数量131000
duration_minutesint来自目录的租用时长15
custom_lock_minutesinteger可选整数,含 1 和 15。仅限 Energy API,要求 duration_minutes: 15。省略则保持原行为。5
响应
json
{
  "price_trx": "3.200000",
  "available": true,
  "save_percent": 62,
  "expires_in_sec": 30
}
cURL
bash
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,多笔付款不会合并。

POST/api/v2/quick-rent/orders

参数

参数类型说明示例
energy_amountint来自目录的能量数量131000
duration_minutesint来自目录的租用时长15
idempotency_keystring您这侧的唯一订单 ID(8–128 个字符)partner-onchain-001
payment_modestring可选。"onchain"(默认)或 "balance"。balance
payer_addressstring缺少 target_address 时使用的旧版接收地址别名,不限制新订单的付款方。TPayer...
target_addressstring资源接收地址。余额支付必须提供;链上付款可使用本字段或旧版 payer_address 别名。TTarget...
custom_lock_minutesinteger可选整数,含 1 和 15。仅限 Energy API,要求 duration_minutes: 15。省略则保持原行为。5
响应(on-chain)
json
{
  "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..."
}
响应(余额)
json
{
  "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(on-chain)
bash
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(余额)
bash
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 是实际付款方,不是资源接收者。

GET/api/v2/quick-rent/orders/:id

参数

参数类型说明示例
idstring订单 ID(路径参数)uuid
响应
json
{
  "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
}
示例:一个订单包含多笔委托交易
json
{
  "id": "uuid",
  "status": "delegated",
  "delivery_complete": true,
  "txid_delegate": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "txids_delegate": [
    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
  ]
}
cURL
bash
curl -sS "$BASE_URL/api/v2/quick-rent/orders/$ORDER_ID" \
  -H "Authorization: Bearer $API_KEY"

取消订单

取消仍处于 pending_payment 状态的订单(仅 on-chain)。能量一旦已委托,订单便无法再取消。

POST/api/v2/quick-rent/orders/:id/cancel

参数

参数类型说明示例
idstring订单 ID(路径参数)uuid
cURL
bash
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。

POST/api/v2/quick-rent/orders/:id/set-payer

参数

参数类型说明示例
idstring订单 ID(路径参数)uuid
payer_addressstring新的付款钱包TNewPayer...
cURL
bash
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。

GET/api/v2/quick-rent/balance
响应
json
{ "balance_trx": "150.500000" }
cURL
bash
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 重试,不要再次转账。

POST/api/v2/quick-rent/balance-topups

参数

参数类型说明示例
client_request_idstring (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。

响应
json
{
  "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
}
cURL
bash
# 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 仅读取已记录的状态,不扫描区块链、不触发入账,也不延长有效期。同一原始钱包账户的其他已启用密钥可以查询会话。关联邮箱不会让独立的邮箱账户成为该账单的所有者。

GET/api/v2/quick-rent/balance-topups/:id

参数

参数类型说明示例
idstring (UUID)必填,POST /balance-topups 返回的 session_id UUID,不是租赁订单 ID。a832995c-90d4-4c96-b01d-7eccf2458db0

expired 或 cancelled 状态并不证明转账失败。在原窗口内被链上收录的转账,可能稍后才被检测并入账,包括取消之后。如果已付款,请继续查询原会话,不要重复付款。

本 API 仅提供创建和查询。关闭客户端界面不会取消账单。请勿向旧地址发送新的转账,也不要试图通过新的请求 UUID 延长有效窗口。

本地计时结束后,若仍有待核验的观测,状态可能继续显示 confirming。在原窗口外被链上收录的转账需要人工核验。一张账单仅入账一笔转账;额外转账需要核验,因此即使 status 为 credited,review_required 仍可能为 true。同一账户的浏览器会话可以取消这个共享账单,但 API 没有取消接口。

响应
json
{
  "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
}
cURL
bash
# 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 字段。以下是您可能遇到的错误。

HTTPerror触发条件
400Invalid bodyJSON 或字段无效
400INVALID_SKU / SKU_INACTIVE套餐不可用
400INVALID_PAYER_ADDRESS / INVALID_TARGET_ADDRESSTRON 地址格式错误
400TARGET_ACCOUNT_NOT_ACTIVATED能量接收钱包在 TRON 上未激活(尚未收到 TRX)
503TRON_ACCOUNT_CHECK_FAILED无法验证 TRON 账户状态 — 请稍后重试
400INSUFFICIENT_BALANCE余额 TRX 不足(余额模式)
401Unauthorized缺少或无效的 API 密钥
403BALANCE_PAYMENT_NOT_ENABLED未为您的密钥开通余额支付
409PENDING_PAYMENT_INTENT_EXISTS此错误适用于限制付款方的旧账单。请完成、取消或等待其到期。新账单可从任意钱包付款。
409ACTIVE_DELEGATION_EXISTStarget 上已有有效的 Quick Rent 委托
409POOL_ENERGY_INSUFFICIENT当前池内暂无空闲能量
409IDEMPOTENCY_PAYMENT_MODE_MISMATCH相同 idempotency_key 使用了不同 payment_mode
429Too Many Requests速率限制
503—服务暂时不可用,请稍后重试
403CUSTOM_LOCK_API_ONLY创建 Custom Locked 订单需要通过 Quick Rent API 客户端认证。
409IDEMPOTENCY_CUSTOM_LOCK_MISMATCH同一个 idempotency_key 的自定义锁定时间不同,包括添加或删除该字段。
400INVALID_CUSTOM_LOCK自定义参数无效:必须是 1–15 的整数、Energy 和 duration_minutes: 15。
503PAYMENT_WALLETS_BUSY / PAYMENT_WALLET_POOL_DISABLED / PAYMENT_SCANNER_UNAVAILABLE所有付款地址均已占用,或付款检测暂时不可用。请稍候使用相同 idempotency_key 重试;成功重试将返回原订单,不会另行占用地址。
400INVALID_REQUEST充值请求体、UUID、字段或查询参数无效。
401UNAUTHORIZED充值 API 密钥缺失、无效、已禁用或已被替换。
403ACCOUNT_BLOCKED / INVALID_ACCOUNT_SCOPE账户被封禁或当前余额访问权限无法验证。
404TOPUP_SESSION_NOT_FOUND充值会话不存在或属于其他账户。
409TOPUP_PENDING_WINDOWS_LIMIT保留的地址窗口过多。请等待 retry_after_seconds / Retry-After,不要反复更换请求 UUID。
413BODY_TOO_LARGE充值 JSON 请求体超过大小限制。
429RATE_LIMITED达到充值请求速率限制,Retry-After 为 60 秒。
503PAYMENT_WALLETS_BUSY / PAYMENT_WALLET_POOL_DISABLED / TOPUP_UNAVAILABLE充值地址或服务暂时不可用。请使用同一 client_request_id 重试,不要因此重复转账。
408REQUEST_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 接入、更高限额或开通余额支付?联系我们,我们将提供帮助。

API 接入与余额支付Telegram @tronbid

估算成本、测试 Quick Rent,并自动完成 TRON 能量交付。