能量后结 Developer Center

TRON Energy API

能量交易平台开发文档

为商户出款系统、钱包服务和批量地址运营提供稳定的 TRON 能量租赁接口。本文档采用企业级接入流程组织内容: 先确认账号与价格配置,再选择下单方式,最后按订单号回查结果。

Overview

文档总览

该接口适合服务端系统调用。浏览器端不应保存 API Key 或账号密码,生产环境建议使用服务端中转并统一记录订单号。

Stable v1
Primary Resource ENERGY
Recommended Auth API Key
Order Tracking orderId
接入前准备

请先完成账号注册,并在会员中心确认余额、API Key、订单权限和目标接收地址校验逻辑。所有能量下单接口都需要有效的 TRON 地址。

Step 01 查询账户

调用 /userInfo 确认账号状态和余额。

Step 02 读取配置

调用 /config 拉取价格和下单参数。

Step 03 创建订单

生产环境优先使用 /payk 创建资源租赁订单。

Quick Start

快速开始

推荐从服务端发起请求,统一处理超时、异常、余额不足和订单状态同步。

最小化下单流程
1. 调用 /userInfo 查询账户余额和状态
2. 调用 /config 获取价格、资源类型和租用参数
3. 调用 /payk 提交 ENERGY 租用订单
4. 保存响应中的 orderId
5. 调用 /orderData 查询订单结果
基础地址

示例基础地址为 https://{your-api-domain}/v1。实际生产域名请以你后台分配的接口地址为准。

Rules

通用规则

账户查询和配置查询使用用户名;资源下单支持用户名密码和 API Key 两种模式。

字段 说明 备注
resType 资源类型 支持 ENERGYBANDWIDTH
payNums 租用数量 例如 32000
rentTime 租用时长 支持 1 小时,或 1 到 30 天的日租形式
resLock 资源锁定 0 不锁定,1 锁定
receiveAddress 接收资源地址 请勿填写合约地址或未激活地址

请求成功时返回结构包含 codemsgdata。业务系统应对 codemsg 做统一异常处理。

Account

查询账户

用于读取用户基础信息、状态和余额。

GET POST /userInfo
参数类型说明
usernamestring用户账号
请求示例
{
  "username": "test"
}
响应示例
{
  "code": 1,
  "msg": "",
  "data": {
    "username": "test",
    "state": "normal",
    "balance": 1
  }
}

Pricing

查询价格等其他下单参数

在下单前读取价格、租用参数和其他业务配置。

GET POST /config
参数类型说明
usernamestring用户账号
请求示例
{
  "username": "test"
}
响应示例
{
  "code": 1,
  "msg": "",
  "data": "复杂嵌套对象(略)"
}

Order

租用资源下单用户名密码版

适合人工业务系统或需要直接走账号密码的接入方式。

POST /pay
参数类型说明
usernamestring用户名
passwordstring用户密码
resTypestringENERGYBANDWIDTH
payNumsstring / number租用数量
rentTimestring / number租用时长
resLockstring / number0 不锁定,1 锁定
receiveAddressstring接收资源地址
请求示例
{
  "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 版

推荐服务端或商业系统接入使用,权限隔离更清晰,也更利于长期维护。

POST /payk
参数类型说明
keystringAPI Key
resTypestringENERGYBANDWIDTH
payNumsstring / number租用数量
rentTimestring / number租用时长
resLockstring / number0 不锁定,1 锁定
receiveAddressstring接收资源地址
请求示例
{
  "key": "keykeykeykeykeykeykey",
  "resType": "ENERGY",
  "payNums": "32000",
  "rentTime": "1",
  "resLock": "0",
  "receiveAddress": "TUR3i6owz3iqqWpZkqANgEo4xCEFbD1CtQ"
}
响应示例
{
  "code": 1,
  "msg": "",
  "data": {
    "orderId": 2023081949511021,
    "balance": 1,
    "orderMoney": 2.17
  }
}
cURL 示例
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 查询订单详情,适合在下单后轮询订单状态或回查业务结果。

POST /orderData
参数类型说明
usernamestring用户名
orderIdstring / number订单 ID
请求示例
{
  "username": "test",
  "orderId": "2023081949511021"
}
响应示例
{
  "code": 1,
  "msg": "",
  "data": "复杂订单对象(略)"
}

官方页面未展开订单对象字段,建议联调时根据真实返回结果补充系统自己的订单对象类型定义。

Server Example

Axios 服务端示例

示例展示了在 Node 服务端封装 API 客户端的基础方式。生产环境应从环境变量读取 API Key。

JavaScript / Axios
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记录原始响应和请求上下文