TRON Energy API
能量交易平台开发文档
为商户出款系统、钱包服务和批量地址运营提供稳定的 TRON 能量租赁接口。本文档采用企业级接入流程组织内容: 先确认账号与价格配置,再选择下单方式,最后按订单号回查结果。
Overview
文档总览
该接口适合服务端系统调用。浏览器端不应保存 API Key 或账号密码,生产环境建议使用服务端中转并统一记录订单号。
请先完成账号注册,并在会员中心确认余额、API Key、订单权限和目标接收地址校验逻辑。所有能量下单接口都需要有效的 TRON 地址。
调用 /userInfo 确认账号状态和余额。
调用 /config 拉取价格和下单参数。
生产环境优先使用 /payk 创建资源租赁订单。
Quick Start
快速开始
推荐从服务端发起请求,统一处理超时、异常、余额不足和订单状态同步。
1. 调用 /userInfo 查询账户余额和状态 2. 调用 /config 获取价格、资源类型和租用参数 3. 调用 /payk 提交 ENERGY 租用订单 4. 保存响应中的 orderId 5. 调用 /orderData 查询订单结果
示例基础地址为 https://{your-api-domain}/v1。实际生产域名请以你后台分配的接口地址为准。
Rules
通用规则
账户查询和配置查询使用用户名;资源下单支持用户名密码和 API Key 两种模式。
| 字段 | 说明 | 备注 |
|---|---|---|
| resType | 资源类型 | 支持 ENERGY 或 BANDWIDTH |
| payNums | 租用数量 | 例如 32000 |
| rentTime | 租用时长 | 支持 1 小时,或 1 到 30 天的日租形式 |
| resLock | 资源锁定 | 0 不锁定,1 锁定 |
| receiveAddress | 接收资源地址 | 请勿填写合约地址或未激活地址 |
请求成功时返回结构包含 code、msg 和 data。业务系统应对 code 和 msg 做统一异常处理。
Account
查询账户
用于读取用户基础信息、状态和余额。
| 参数 | 类型 | 说明 |
|---|---|---|
| username | string | 用户账号 |
{
"username": "test"
}
{
"code": 1,
"msg": "",
"data": {
"username": "test",
"state": "normal",
"balance": 1
}
}
Pricing
查询价格等其他下单参数
在下单前读取价格、租用参数和其他业务配置。
| 参数 | 类型 | 说明 |
|---|---|---|
| username | string | 用户账号 |
{
"username": "test"
}
{
"code": 1,
"msg": "",
"data": "复杂嵌套对象(略)"
}
Order
租用资源下单用户名密码版
适合人工业务系统或需要直接走账号密码的接入方式。
| 参数 | 类型 | 说明 |
|---|---|---|
| username | string | 用户名 |
| password | string | 用户密码 |
| resType | string | ENERGY 或 BANDWIDTH |
| payNums | string / number | 租用数量 |
| rentTime | string / number | 租用时长 |
| resLock | string / number | 0 不锁定,1 锁定 |
| receiveAddress | string | 接收资源地址 |
{
"username": "test",
"password": "test",
"resType": "ENERGY",
"payNums": "32000",
"rentTime": "1",
"resLock": "0",
"receiveAddress": "TUR3i6owz3iqqWpZkqANgEo4xCEFbD1CtQ"
}
{
"code": 1,
"msg": "",
"data": {
"orderId": 2023081949511021,
"balance": 1,
"orderMoney": 2.17
}
}
Recommended
租用资源下单 API Key 版
推荐服务端或商业系统接入使用,权限隔离更清晰,也更利于长期维护。
| 参数 | 类型 | 说明 |
|---|---|---|
| key | string | API Key |
| resType | string | ENERGY 或 BANDWIDTH |
| payNums | string / number | 租用数量 |
| rentTime | string / number | 租用时长 |
| resLock | string / number | 0 不锁定,1 锁定 |
| receiveAddress | string | 接收资源地址 |
{
"key": "keykeykeykeykeykeykey",
"resType": "ENERGY",
"payNums": "32000",
"rentTime": "1",
"resLock": "0",
"receiveAddress": "TUR3i6owz3iqqWpZkqANgEo4xCEFbD1CtQ"
}
{
"code": 1,
"msg": "",
"data": {
"orderId": 2023081949511021,
"balance": 1,
"orderMoney": 2.17
}
}
curl -X POST "https://{your-api-domain}/v1/payk" \
-H "Content-Type: application/json" \
-d '{
"key": "keykeykeykeykeykeykey",
"resType": "ENERGY",
"payNums": "32000",
"rentTime": "1",
"resLock": "0",
"receiveAddress": "TUR3i6owz3iqqWpZkqANgEo4xCEFbD1CtQ"
}'
Order Lookup
获取订单信息
按订单 ID 查询订单详情,适合在下单后轮询订单状态或回查业务结果。
| 参数 | 类型 | 说明 |
|---|---|---|
| username | string | 用户名 |
| orderId | string / number | 订单 ID |
{
"username": "test",
"orderId": "2023081949511021"
}
{
"code": 1,
"msg": "",
"data": "复杂订单对象(略)"
}
官方页面未展开订单对象字段,建议联调时根据真实返回结果补充系统自己的订单对象类型定义。
Server Example
Axios 服务端示例
示例展示了在 Node 服务端封装 API 客户端的基础方式。生产环境应从环境变量读取 API Key。
import axios from 'axios'
const client = axios.create({
baseURL: 'https://{your-api-domain}/v1',
timeout: 15000,
})
export async function createEnergyOrder() {
const { data } = await client.post('/payk', {
key: process.env.TRON_ENERGY_API_KEY,
resType: 'ENERGY',
payNums: '32000',
rentTime: '1',
resLock: '0',
receiveAddress: 'TUR3i6owz3iqqWpZkqANgEo4xCEFbD1CtQ',
})
return data
}
Launch Checklist
上线检查清单
上线前请确认密钥、余额、地址校验、订单保存和异常处理均已完成。
| 检查项 | 要求 | 建议 |
|---|---|---|
| 密钥保存 | API Key 只保存在服务端 | 使用环境变量或密钥管理系统 |
| 地址校验 | 下单前校验 TRON 地址格式 | 避免合约地址、空地址和明显错误地址 |
| 余额检查 | 下单前确认账户余额 | 余额不足时提前拦截业务请求 |
| 订单落库 | 保存 orderId 与业务单号 | 便于后续对账、补偿和排障 |
| 异常处理 | 统一处理 code 与 msg | 记录原始响应和请求上下文 |