API MarketPlace — TRON 能量与带宽
通过独立的 TronBid API 向市场参与者购买资源、发布买单并管理卖家报价。
- Energy 和 Bandwidth
- 3 种购买方式
- 卖家报价与签名
- 版本
- v2 · REST / JSON
- 更新日期
- 06.10.2026
- Base URL
- https://tronbid.com/api/v2/marketplace
本页导航
接入
从密钥到 TXID
- 1
向客服申请独立 Marketplace 密钥。查询 GET /account 和 GET /capabilities。
- 2
选择购买模式,调用 POST /quotes,再调用 POST /orders。payment_mode: balance 使用共用余额付款。
- 3
查询 GET /orders/{id} 或接收 webhook。delivery_complete=true 表示委托完成;txids_delegate 包含交易哈希。创建订单本身不代表资源已交付。
const base = "https://tronbid.com/api/v2/marketplace";
const headers = { Authorization: "Bearer " + process.env.TRONBID_MARKETPLACE_KEY };
async function write(path, body, key = crypto.randomUUID()) {
const response = await fetch(base + path, {
method: "POST",
headers: { ...headers, "Content-Type": "application/json", "Idempotency-Key": key },
body: JSON.stringify(body)
});
const result = await response.json();
if (!response.ok) throw new Error(JSON.stringify(result.error));
return result.data;
}
const quote = await write("/quotes", {
mode: "best", resource_type: "energy", resource_amount: 131000,
duration: { type: "minutes", value: 15 },
recipient_address: "YOUR_TRON_RECEIVER_ADDRESS",
max_price_sun: 50, max_total_trx: "6.550000",
allow_partial: true, wait_seconds: 900
});
const order = await write("/orders", {
quote_id: quote.quote_id, payment_mode: "balance",
external_id: "invoice-2026-0001"
});
const response = await fetch(base + "/orders/" + order.id, { headers });
const { data: state } = await response.json();
console.log(state.status, state.delivery_complete, state.txids_delegate);访问与独立密钥
使用账户钱包登录网站后,通过 Telegram @tronbid 或 support@tronbid.com 申请密钥。管理员签发独立的 tbm_ 密钥及 read、buy、sell、offers、wallets、webhooks 权限。Quick Rent 和 Seller Delegate API 密钥不能用于本 API。
基础地址:https://tronbid.com/api/v2/marketplace。通过 HTTPS 发送 Authorization: Bearer tbm_…。账户余额与网站及 Quick Rent 共用,Marketplace API 操作单独记录。不设置消费上限。管理员配置请求频率及 IP 白名单。
申请独立密钥 · @tronbid响应与重试
成功:{data: …, request_id: UUID};错误:{error: {code, details?}, request_id: UUID}。报价、订单和统计中的 TRX 金额为十进制字符串;手动交易字段保留数值类型。各字段类型以 OpenAPI 为准。计算使用 SUN;1 TRX = 1,000,000 SUN。
所有 POST、PATCH、PUT、DELETE 请求必须包含 Idempotency-Key,长度 8–128,允许字母、数字及 . _ : -。同一密钥重复同一请求返回原始结果。不同操作使用新键;幂等范围为 API 密钥身份。
超时后使用相同 Idempotency-Key 重试。409 REQUEST_IN_PROGRESS 表示仍在处理;IDEMPOTENCY_CONFLICT 表示请求路径或内容不同。429 RATE_LIMITED 应遵循 Retry-After。订单已接受不等于已交付,需检查 delivery_complete。
买家指南
市场数据与价格
GET /capabilities 返回当前最小数量和租期:energy、bandwidth;15 分钟、1 小时及 1–30 天。GET /market?side=offers 查询卖家报价,side=bids 查询买单。支持 resource_type、limit(1–100)、offset。
price_sun 是每单位资源的价格:minutes/hours 按整段租期,days 按每天。总价 = 数量 × price_sun × 天数;15 分钟和 1 小时的倍数为 1。手续费从卖家收入扣除,买家无额外手续费。
可用量来自近期验证的卖家资源快照,resources_checked_at 为检查时间。报价不预留资源。市场查询不会每次触发链上轮询。订单仅由 Marketplace 参与者执行,不切换到自有池或中国供应商。
可用资源、价格与转账估算
GET /resources 汇总卖家可用资源,同一钱包不会重复计算。支持资源、租期和价格过滤。这是可用量快照,并非预留。
GET /price 预览价格与数量,不保存报价。购买请使用 POST /quotes 或带明确预算上限的 POST /orders/instant。每次履约按 Marketplace 规则取整,请使用返回的报价金额。
GET /estimate-energy 针对 from_address 和 to_address 模拟代币 transfer(address,uint256)。amount 使用代币最小单位。fee_trx 是网络燃烧 TRX 成本,不是租赁价格。每组参数缓存 15 秒。模拟失败返回 422,不提供假定估值。
三种购买模式
POST /quotes 参数:mode、resource_type、resource_amount、duration:{type,value}、recipient_address。bid 使用自定 price_sun 发布买单;offer 指定 offer_id;best 在 max_price_sun 和/或 max_total_trx 限制内选择最便宜的匹配报价。offer 也可指定单价上限。
报价有效期 60 秒。POST /orders 接受 quote_id、payment_mode(balance/onchain)及可选 external_id。每个报价只能生成一个订单;external_id 在账户内唯一。最大预算固定,不会自动增加。
allow_partial=true 允许多卖家及部分交付。false 时,offer/best 在开始执行前以原子操作预留全部资源;bid 必须由一个卖家完整承接。wait_seconds 为 30 秒至 30 天,默认 900 秒。已接受部分保留原有条件。
支付、取消与批量订单
balance 在创建订单时原子预留预算,分配卖家时不再扣款。onchain 创建待支付订单;调用 POST /orders/{id}/payment,并在 15 分钟内从 payer_address 转入指定 TRX。超额付款记入账户余额。
POST /orders/{id}/cancel 停止新匹配,将未分配资金退回共用余额。已接受或已签名的委托需先核实结果。等待期限到期遵循相同规则。已支付但失败部分按 Marketplace 规则退款。
POST /orders/batch 接受 {orders:[{quote_id,payment_mode,external_id},…]},最多 20 项。创建是原子的,任一项失败则整个批次回滚。一个批次使用一个 Idempotency-Key。
卖家指南
钱包与自动卖单
可注册多个钱包。POST /wallet-challenges 传入 address,取得 message 和 challenge_id。使用 TronWeb.trx.signMessageV2 签名,再 POST /wallets 传入 challenge_id、signatures、automatic。挑战 5 分钟过期,多签须满足所有者阈值。请勿上传私钥。
先以 automatic=false 注册,再调用 POST /wallets/{id}/prepare-permission,由自己的钱包签名并广播返回的交易。确认成功后获取新挑战,以 automatic=true 再次注册,由 API 验证链上权限。准备操作不会广播,网络费用由钱包所有者支付。GET /wallets 返回权限状态和资源快照。PATCH /wallets/{id} 传入 enabled:false 可禁用新操作。
POST /offers 参数为 wallet_id、resource_type、resource_amount、duration、price_sun、auto_repeat、paused。价格始终由卖家设置。PATCH /offers/{id} 修改 price_sun、free_amount、duration、paused、auto_repeat,或 cancel:true。已有预留时,新条件生成新 ID;响应含 replaces_offer_id,旧报价含 replaced_by。原预留条件不变。repeat_source_offer_id 关联自动重复报价。
// write() uses the same authenticated POST helper as the buyer example.
// tronWeb is connected to the seller's wallet; keys stay on the client.
async function register(automatic) {
const challenge = await write("/wallet-challenges", {
address: tronWeb.defaultAddress.base58
});
const signature = await tronWeb.trx.signMessageV2(challenge.message);
return write("/wallets", {
challenge_id: challenge.challenge_id,
signatures: [signature], automatic
});
}
const wallet = await register(false);
const permission = await write(
"/wallets/" + wallet.id + "/prepare-permission", {}
);
const signed = await tronWeb.trx.sign(permission.transaction);
const sent = await tronWeb.trx.sendRawTransaction(signed);
if (!sent.result) throw new Error("Permission transaction rejected");
// Wait for a confirmed successful transaction before enabling automatic mode.
let confirmed = false;
for (let attempt = 0; attempt < 40; attempt++) {
await new Promise(resolve => setTimeout(resolve, 3000));
const receipt = await tronWeb.trx.getTransactionInfo(sent.txid);
const confirmedTransaction = await tronWeb.trx.getTransaction(sent.txid);
if (receipt.id && confirmedTransaction.ret?.[0]?.contractRet === "SUCCESS") {
confirmed = true;
break;
}
}
if (!confirmed) throw new Error("Check permission transaction before proceeding");
const ready = await register(true);
const offer = await write("/offers", {
wallet_id: ready.id, resource_type: "energy", resource_amount: 1000000,
duration: { type: "minutes", value: 15 },
price_sun: 20, auto_repeat: true, paused: false
});
console.log(offer.id, offer.wallet_id, offer.status);自行签名承接买单
通过 GET /market?side=bids 查找买单。POST /trades 传入 order_id、wallet_id、resource_amount,预留 3 分钟。响应包含来源、接收方、delegate_balance_sun 和 lock_period_blocks。
按返回参数构造 DelegateResourceContract,在本地签名后 POST /trades/{id}/delegate,内容为 {signed_transaction:{…}}。签名交易在广播前保存,故障后可恢复。POST /trades/{id}/cancel 只能取消尚未提交的预留。未签名预留到期自动释放。
GET /trades/{id} 返回状态、手续费、预计付款、delegate_txid 和 payout_txid。付款遵循账户 TRX/USDT 设置与网站规则。Seller Offers 使用已授予权限自动执行;本地签名仅用于此手动流程。
// Claim an eligible buyer bid, then use the exact returned amounts.
const claim = await write("/trades", {
order_id: "BUYER_ORDER_UUID", wallet_id: "YOUR_REGISTERED_WALLET_UUID",
resource_amount: 131000
});
const transaction = await tronWeb.transactionBuilder.delegateResource(
Number(claim.delegate_balance_sun), claim.recipient_address,
claim.resource_type.toUpperCase(), claim.source_address,
true, Number(claim.lock_period_blocks)
);
const signed = await tronWeb.trx.sign(transaction);
// Persist signed and the Idempotency-Key before this call.
// On timeout, resend the SAME signed transaction and key, not a new delegation.
const result = await write("/trades/" + claim.trade_id + "/delegate", {
signed_transaction: signed
}, "UNIQUE_PERSISTED_DELEGATION_KEY");
console.log(result.status, result.delegate_txid, result.payout_txid);事件与统计
余额、充值与统计
GET /account 返回共用余额、密钥权限和今日、昨日、累计用量。GET /statistics 分别统计 Energy/Bandwidth、购买支出、卖家总收入、佣金及净收入。
今日和昨日默认按 Europe/Moscow 日历计算,也支持 UTC。week 为最近 7 天,month 为 30 天,rolling 为 days 天。只统计已确认的 Marketplace API 履约,不包含无关 Quick Rent 操作。
GET /account/recharge 返回充值地址及 can_recharge。仅从 payer_address 转入 TRX,不要同时用该钱包支付其他账单。这只是当前状态检查,不会锁定钱包。已确认充值见 GET /account/deposits。
状态、交易哈希与历史
GET /orders/{id}:awaiting_payment → waiting → partially_delegated → delegated。其他状态包括 cancelling、cancelled、expired。部分交付后查看 delivered_amount、remaining_amount。delivery_complete=true 表示全部交付。
txid_delegate 为首个已确认哈希;txids_delegate 包含全部哈希。fulfillments 和 trades 提供分项、退款及付款详情。浏览器链接:https://tronscan.org/#/transaction/{txid}。仅取得订单 ID 不代表已交付。
GET /orders?external_id=… 按自有编号查询。GET /events?after=0 返回递增事件及 next_cursor。GET /statistics?days=30 分别统计买卖,手续费和卖家收益以已确认操作为准。
签名通知
PUT /webhook 传入 {url:"https://…"} 配置当前密钥的通知;url:null 禁用。管理员随 API 密钥提供签名密钥。仅支持公共 HTTPS 地址,不跟随重定向。
验证 X-TronBid-Signature:v1=HMAC_SHA256(secret, timestamp + "." + rawBody),时间戳取自 X-TronBid-Timestamp。采用恒定时间比较、拒绝过期时间戳,并按 X-TronBid-Event-Id 去重。先验证签名,再解析 JSON。
持久保存事件后返回 HTTP 2xx。至少一次交付,可能重复或乱序。最多尝试 12 次,间隔从 30 秒增加到 1 小时。事件反映当时状态,最新状态请按实体 ID 查询。遗漏事件可通过 GET /events 获取。
import { createHmac, timingSafeEqual } from "node:crypto";
function verifyWebhook(rawBody, timestamp, signature, secret) {
if (!/^\d+$/.test(timestamp) || Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return false;
if (!/^v1=[a-f0-9]{64}$/.test(signature)) return false;
const expected = createHmac("sha256", secret).update(timestamp + "." + rawBody).digest();
return timingSafeEqual(expected, Buffer.from(signature.slice(3), "hex"));
}API 参考
请替换密钥、地址及 UUID。示例价格仅供演示,请使用实际报价。
GET/resources卖家可用资源
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
resource_type可选 | enum | 资源类型:energy 或 bandwidth。 energy · bandwidth |
duration_type可选 | enum | 租期单位:minutes、hours、days。 minutes · hours · days |
duration_value可选 | integer | minutes 为 15;hours 为 1;days 为 1–30。 |
min_price_sun可选 | integer | 最低单价,单位 SUN。 |
max_price_sun可选 | integer | 最高单价,不会自动提高。 |
min_amount可选 | integer | 单条记录的最低可用数量。 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/resources' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/price只读价格预览
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
resource_amount必填 | integer | 资源单位数。最低数量见 GET /capabilities。 |
resource_type可选 | enum | 资源类型:energy 或 bandwidth。 energy · bandwidth |
duration_type可选 | enum | 租期单位:minutes、hours、days。 minutes · hours · days |
duration_value可选 | integer | minutes 为 15;hours 为 1;days 为 1–30。 default: 15 |
recipient_address可选 | string | 接收资源的 TRON 钱包。 |
offer_id可选 | string | GET /market?side=offers 中的报价 ID。 |
max_price_sun可选 | integer | 最高单价,不会自动提高。 |
max_total_trx可选 | string | 最高 TRX 预算,最多 6 位小数的字符串。 |
allow_partial可选 | boolean | 允许多个卖家分批履约。 default: true |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/price?resource_amount=131000&max_price_sun=50' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/estimate-energy估算代币转账 Energy
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
from_address必填 | string | 代币发送方,用于模拟。 |
to_address必填 | string | 代币接收方,其账户状态会影响 Energy。 |
contract_address可选 | string | TRC20 合约;默认为 TRON USDT。 default: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t |
amount可选 | string | 代币最小单位数量。USDT:1,000,000 = 1 USDT。 default: 1000000 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/estimate-energy?from_address=YOUR_TRON_WALLET_ADDRESS&to_address=RECIPIENT_TRON_ADDRESS&amount=1000000' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/account/recharge余额充值信息
密钥权限: read
curl --request GET \
'https://tronbid.com/api/v2/marketplace/account/recharge' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/account/deposits充值记录
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
limit可选 | integer | 每页 1–100 条;默认 50。 ≥ 1 · ≤ 100 · default: 50 |
offset可选 | integer | 跳过的记录数。 ≥ 0 · ≤ 100000 · default: 0 |
since可选 | string | 含起始时间,ISO 8601 格式并带时区。 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/account/deposits' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/orders/queue当前订单队列
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
limit可选 | integer | 每页 1–100 条;默认 50。 ≥ 1 · ≤ 100 · default: 50 |
offset可选 | integer | 跳过的记录数。 ≥ 0 · ≤ 100000 · default: 0 |
resource_type可选 | enum | 资源类型:energy 或 bandwidth。 energy · bandwidth |
mode可选 | enum | bid:自定义买价;offer:指定报价;best:最低可用报价。 bid · offer · best |
status可选 | enum | 状态过滤;可用值见下方。 awaiting_payment · waiting · partially_delegated · delegated · cancelling · cancelled · expired · filled |
since可选 | string | 含起始时间,ISO 8601 格式并带时区。 |
until可选 | string | 不含结束时间,ISO 8601 格式并带时区。 |
sort可选 | enum | 排序:price 为单价,income 为总额,amount 为可用数量。 newest · oldest |
external_id可选 | string | 账户内唯一的外部订单编号。 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/orders/queue' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"POST/orders/instant一条请求创建订单
密钥权限: buy
参数
| 字段 | 类型 | 说明 |
|---|---|---|
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
purchase必填 | object | 与 POST /quotes 相同的购买参数。 |
purchase.mode必填 | enum | bid:自定义买价;offer:指定报价;best:最低可用报价。 bid · offer · best |
purchase.resource_type必填 | enum | 资源类型:energy 或 bandwidth。 energy · bandwidth |
purchase.resource_amount必填 | integer | 资源单位数。最低数量见 GET /capabilities。 ≥ 1 · ≤ 500000000 |
purchase.duration必填 | object | 15 分钟、1 小时或 1–30 天。 |
purchase.duration.type必填 | enum | 租期单位:minutes、hours、days。 minutes · hours · days |
purchase.duration.value必填 | integer | minutes 为 15;hours 为 1;days 为 1–30。 ≥ 1 · ≤ 30 |
purchase.recipient_address必填 | string | 接收资源的 TRON 钱包。 |
purchase.offer_id可选 | string | GET /market?side=offers 中的报价 ID。 |
purchase.price_sun可选 | integer | 每资源单位的 SUN 价格;days 租期按每天计价。 ≥ 1 · ≤ 1000000 |
purchase.max_price_sun可选 | integer | 最高单价,不会自动提高。 ≥ 1 · ≤ 1000000 |
purchase.max_total_trx可选 | string | 最高 TRX 预算,最多 6 位小数的字符串。 |
purchase.allow_partial可选 | boolean | 允许多个卖家分批履约。 default: true |
purchase.wait_seconds可选 | integer | 匹配等待 30–2,592,000 秒;默认 900 秒。 ≥ 30 · ≤ 2592000 · default: 900 |
payment_mode可选 | enum | balance:共用余额;onchain:TRX 转账账单。 balance · onchain |
external_id可选 | string | 账户内唯一的外部订单编号。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/orders/instant' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"purchase": {
"mode": "best",
"resource_type": "energy",
"resource_amount": 131000,
"duration": {
"type": "minutes",
"value": 15
},
"recipient_address": "YOUR_TRON_WALLET_ADDRESS",
"max_price_sun": 50,
"max_total_trx": "6.550000",
"allow_partial": true,
"wait_seconds": 900
},
"payment_mode": "balance",
"external_id": "invoice-001"
}'GET/wallets/{id}钱包与资源快照
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/wallets/00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"PATCH/wallets/{id}启用或禁用钱包
密钥权限: wallets
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
enabled必填 | boolean | false 禁用钱包新操作并暂停其报价。 |
curl --request PATCH \
'https://tronbid.com/api/v2/marketplace/wallets/00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"enabled": false
}'POST/wallets/{id}/prepare-permission准备卖家权限交易
密钥权限: wallets
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/wallets/00000000-0000-4000-8000-000000000001/prepare-permission' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{}'GET/offers/{id}/reservations履约、结算与资源回收
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
limit可选 | integer | 每页 1–100 条;默认 50。 ≥ 1 · ≤ 100 · default: 50 |
offset可选 | integer | 跳过的记录数。 ≥ 0 · ≤ 100000 · default: 0 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/offers/00000000-0000-4000-8000-000000000001/reservations' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/capabilitiesMarketplace 能力
密钥权限: read
curl --request GET \
'https://tronbid.com/api/v2/marketplace/capabilities' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/account账户、余额与用量
密钥权限: read
curl --request GET \
'https://tronbid.com/api/v2/marketplace/account' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/market市场买单与卖单
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
limit可选 | integer | 每页 1–100 条;默认 50。 ≥ 1 · ≤ 100 · default: 50 |
offset可选 | integer | 跳过的记录数。 ≥ 0 · ≤ 100000 · default: 0 |
side可选 | enum | offers:卖家报价;bids:买家订单。 offers · bids |
resource_type可选 | enum | 资源类型:energy 或 bandwidth。 energy · bandwidth |
duration_type可选 | enum | 租期单位:minutes、hours、days。 minutes · hours · days |
duration_value可选 | integer | minutes 为 15;hours 为 1;days 为 1–30。 |
min_price_sun可选 | integer | 最低单价,单位 SUN。 |
max_price_sun可选 | integer | 最高单价,不会自动提高。 |
min_amount可选 | integer | 单条记录的最低可用数量。 |
sort可选 | enum | 排序:price 为单价,income 为总额,amount 为可用数量。 price_asc · price_desc · income_desc · amount_desc · newest · oldest |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/market?side=offers&resource_type=energy&sort=price_asc' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"POST/quotes创建购买报价
密钥权限: buy
参数
| 字段 | 类型 | 说明 |
|---|---|---|
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
mode必填 | enum | bid:自定义买价;offer:指定报价;best:最低可用报价。 bid · offer · best |
resource_type必填 | enum | 资源类型:energy 或 bandwidth。 energy · bandwidth |
resource_amount必填 | integer | 资源单位数。最低数量见 GET /capabilities。 ≥ 1 · ≤ 500000000 |
duration必填 | object | 15 分钟、1 小时或 1–30 天。 |
duration.type必填 | enum | 租期单位:minutes、hours、days。 minutes · hours · days |
duration.value必填 | integer | minutes 为 15;hours 为 1;days 为 1–30。 ≥ 1 · ≤ 30 |
recipient_address必填 | string | 接收资源的 TRON 钱包。 |
offer_id可选 | string | GET /market?side=offers 中的报价 ID。 |
price_sun可选 | integer | 每资源单位的 SUN 价格;days 租期按每天计价。 ≥ 1 · ≤ 1000000 |
max_price_sun可选 | integer | 最高单价,不会自动提高。 ≥ 1 · ≤ 1000000 |
max_total_trx可选 | string | 最高 TRX 预算,最多 6 位小数的字符串。 |
allow_partial可选 | boolean | 允许多个卖家分批履约。 default: true |
wait_seconds可选 | integer | 匹配等待 30–2,592,000 秒;默认 900 秒。 ≥ 30 · ≤ 2592000 · default: 900 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/quotes' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"mode": "best",
"resource_type": "energy",
"resource_amount": 131000,
"duration": {
"type": "minutes",
"value": 15
},
"recipient_address": "YOUR_TRON_WALLET_ADDRESS",
"max_price_sun": 50,
"max_total_trx": "6.550000",
"allow_partial": true,
"wait_seconds": 900
}'POST/orders按报价创建订单
密钥权限: buy
参数
| 字段 | 类型 | 说明 |
|---|---|---|
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
quote_id必填 | string | POST /quotes 返回的报价 ID,有效期 60 秒。 |
payment_mode可选 | enum | balance:共用余额;onchain:TRX 转账账单。 balance · onchain |
external_id可选 | string | 账户内唯一的外部订单编号。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/orders' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"quote_id": "00000000-0000-4000-8000-000000000001",
"payment_mode": "balance",
"external_id": "invoice-001"
}'GET/orders订单记录与查询
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
limit可选 | integer | 每页 1–100 条;默认 50。 ≥ 1 · ≤ 100 · default: 50 |
offset可选 | integer | 跳过的记录数。 ≥ 0 · ≤ 100000 · default: 0 |
external_id可选 | string | 账户内唯一的外部订单编号。 |
resource_type可选 | enum | 资源类型:energy 或 bandwidth。 energy · bandwidth |
mode可选 | enum | bid:自定义买价;offer:指定报价;best:最低可用报价。 bid · offer · best |
status可选 | enum | 状态过滤;可用值见下方。 awaiting_payment · waiting · partially_delegated · delegated · cancelling · cancelled · expired · filled |
since可选 | string | 含起始时间,ISO 8601 格式并带时区。 |
until可选 | string | 不含结束时间,ISO 8601 格式并带时区。 |
sort可选 | enum | 排序:price 为单价,income 为总额,amount 为可用数量。 newest · oldest |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/orders' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"POST/orders/batch原子创建最多 20 个订单
密钥权限: buy
参数
| 字段 | 类型 | 说明 |
|---|---|---|
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
orders必填 | array | 最多 20 个 PlaceOrder 对象;整批原子创建。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/orders/batch' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"orders": [
{
"quote_id": "00000000-0000-4000-8000-000000000001",
"payment_mode": "balance",
"external_id": "invoice-001"
}
]
}'GET/orders/{id}订单、履约和 TXID
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/orders/00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"POST/orders/{id}/payment订单支付信息
密钥权限: buy
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/orders/00000000-0000-4000-8000-000000000001/payment' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{}'POST/orders/{id}/cancel取消未履约部分
密钥权限: buy
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/orders/00000000-0000-4000-8000-000000000001/cancel' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{}'POST/wallet-challenges获取所有权签名消息
密钥权限: wallets
参数
| 字段 | 类型 | 说明 |
|---|---|---|
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
address必填 | string | 您拥有的 TRON 地址。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/wallet-challenges' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"address": "YOUR_TRON_WALLET_ADDRESS"
}'POST/wallets验证并注册钱包
密钥权限: wallets
参数
| 字段 | 类型 | 说明 |
|---|---|---|
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
challenge_id必填 | string | 一次性所有权挑战 ID,5 分钟过期。 |
signatures必填 | array | 对 message 的 signMessageV2 签名;多签需满足所有者阈值。 |
automatic可选 | boolean | true 验证 TronBid 资源委托及回收权限。 default: false |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/wallets' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"challenge_id": "00000000-0000-4000-8000-000000000001",
"signatures": [
"SIGN_MESSAGE_V2_SIGNATURE"
],
"automatic": false
}'GET/wallets已注册钱包
密钥权限: read
curl --request GET \
'https://tronbid.com/api/v2/marketplace/wallets' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"POST/offers创建卖家报价
密钥权限: offers
参数
| 字段 | 类型 | 说明 |
|---|---|---|
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
wallet_id必填 | string | GET /wallets 返回的钱包 ID。 |
resource_type必填 | enum | 资源类型:energy 或 bandwidth。 energy · bandwidth |
resource_amount必填 | integer | 资源单位数。最低数量见 GET /capabilities。 ≥ 1 · ≤ 500000000 |
duration必填 | object | 15 分钟、1 小时或 1–30 天。 |
duration.type必填 | enum | 租期单位:minutes、hours、days。 minutes · hours · days |
duration.value必填 | integer | minutes 为 15;hours 为 1;days 为 1–30。 ≥ 1 · ≤ 30 |
price_sun必填 | integer | 每资源单位的 SUN 价格;days 租期按每天计价。 ≥ 1 · ≤ 1000000 |
auto_repeat可选 | boolean | 按 Marketplace 规则自动创建后续报价。 |
paused可选 | boolean | true 暂停新购买;已接收部分继续执行。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/offers' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"wallet_id": "00000000-0000-4000-8000-000000000001",
"resource_type": "energy",
"resource_amount": 1000000,
"duration": {
"type": "minutes",
"value": 15
},
"price_sun": 20,
"auto_repeat": true,
"paused": false
}'GET/offers我的卖家报价
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
limit可选 | integer | 每页 1–100 条;默认 50。 ≥ 1 · ≤ 100 · default: 50 |
offset可选 | integer | 跳过的记录数。 ≥ 0 · ≤ 100000 · default: 0 |
wallet_id可选 | string | GET /wallets 返回的钱包 ID。 |
status可选 | enum | 状态过滤;可用值见下方。 draft · active · pending_match · filled · cancelled · expired · paused_no_energy · paused_no_bandwidth · paused_permission · paused_fee_resource |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/offers' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/offers/{id}报价与剩余数量
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/offers/00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"PATCH/offers/{id}价格、数量、期限、暂停与重复
密钥权限: offers
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
price_sun可选 | integer | 每资源单位的 SUN 价格;days 租期按每天计价。 ≥ 1 · ≤ 1000000 |
free_amount可选 | integer | 新的未分配数量,不含已履约或预留部分。 ≥ 0 · ≤ 500000000 |
duration可选 | object | 15 分钟、1 小时或 1–30 天。 |
duration.type必填 | enum | 租期单位:minutes、hours、days。 minutes · hours · days |
duration.value必填 | integer | minutes 为 15;hours 为 1;days 为 1–30。 ≥ 1 · ≤ 30 |
paused可选 | boolean | true 暂停新购买;已接收部分继续执行。 |
auto_repeat可选 | boolean | 按 Marketplace 规则自动创建后续报价。 |
cancel可选 | boolean | true 取消空闲余量并关闭自动重复。 |
curl --request PATCH \
'https://tronbid.com/api/v2/marketplace/offers/00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"price_sun": 22,
"free_amount": 500000,
"duration": {
"type": "minutes",
"value": 15
},
"paused": false,
"auto_repeat": true
}'POST/trades接受买家订单
密钥权限: sell
参数
| 字段 | 类型 | 说明 |
|---|---|---|
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
order_id必填 | string | 买家订单 ID。 |
wallet_id必填 | string | GET /wallets 返回的钱包 ID。 |
resource_amount必填 | integer | 资源单位数。最低数量见 GET /capabilities。 ≥ 1 · ≤ 500000000 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/trades' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"order_id": "00000000-0000-4000-8000-000000000001",
"wallet_id": "00000000-0000-4000-8000-000000000001",
"resource_amount": 131000
}'GET/trades我的手动交易
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
limit可选 | integer | 每页 1–100 条;默认 50。 ≥ 1 · ≤ 100 · default: 50 |
offset可选 | integer | 跳过的记录数。 ≥ 0 · ≤ 100000 · default: 0 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/trades' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/trades/{id}卖家交易状态
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/trades/00000000-0000-4000-8000-000000000001' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"POST/trades/{id}/delegate提交已签名委托
密钥权限: sell
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
signed_transaction必填 | object | 完整的已签名 DelegateResourceContract。请勿发送私钥。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/trades/00000000-0000-4000-8000-000000000001/delegate' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"signed_transaction": {
"txID": "SIGNED_TRANSACTION_ID",
"raw_data": {
"contract": [
"FULL_CONTRACT_FROM_TRONWEB"
]
},
"raw_data_hex": "FULL_HEX_FROM_TRONWEB",
"signature": [
"YOUR_SIGNATURE"
]
}
}'POST/trades/{id}/cancel释放尚未执行的接单
密钥权限: sell
参数
| 字段 | 类型 | 说明 |
|---|---|---|
id必填 | string | API 返回的对象 UUID。 |
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
curl --request POST \
'https://tronbid.com/api/v2/marketplace/trades/00000000-0000-4000-8000-000000000001/cancel' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{}'GET/events游标事件记录
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
limit可选 | integer | 每页 1–100 条;默认 50。 ≥ 1 · ≤ 100 · default: 50 |
after可选 | string | 上次处理的事件游标;初始为 0。 default: 0 |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/events?after=0&limit=50' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/statistics购买、销售和收益统计
密钥权限: read
参数
| 字段 | 类型 | 说明 |
|---|---|---|
days可选 | integer | 滚动窗口 1–3660 天;默认 30。 ≥ 1 · ≤ 3660 · default: 30 |
period可选 | enum | rolling:最近 days 天;today/yesterday 按 timezone;week:7 天;month:30 天;all:全部。 rolling · today · yesterday · week · month · all |
timezone可选 | enum | 日历时区:Europe/Moscow 或 UTC。 Europe/Moscow · UTC |
curl --request GET \
'https://tronbid.com/api/v2/marketplace/statistics?period=today' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"GET/webhook当前 webhook 地址
密钥权限: webhooks
curl --request GET \
'https://tronbid.com/api/v2/marketplace/webhook' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY"PUT/webhook配置或关闭 webhook
密钥权限: webhooks
参数
| 字段 | 类型 | 说明 |
|---|---|---|
Idempotency-Key必填 | string | 唯一操作密钥;重试时保持密钥及请求体不变。 |
url必填 | string | null | 公开 HTTPS webhook 地址;null 关闭推送。 |
curl --request PUT \
'https://tronbid.com/api/v2/marketplace/webhook' \
--header "Authorization: Bearer $TRONBID_MARKETPLACE_KEY" \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: REPLACE_WITH_UNIQUE_OPERATION_KEY' \
--data '{
"url": "https://your-service.example/tronbid/events"
}'