API 概述
本API提供TRX能量委托服务,支持将能量资源委托给指定的TRON地址。使用前需要先获取API Token进行身份认证。
基础URL: https://api.trx-api.com
认证说明
所有API请求都需要在请求头中包含有效的Bearer Token进行身份认证。
获取 API Token
- 登录到管理面板
- 进入"API Tokens"页面
- 点击"创建新Token"
- 设置Token名称和权限
- 保存生成的Token(注意:Token只会显示一次)
使用 Token
在请求头中添加Authorization字段:
Authorization: Bearer YOUR_API_TOKEN
安全提示: 请妥善保管您的API Token,不要在客户端代码中暴露。
委托能量资源 API
接口信息
请求方法: POST
请求路径: /api/tron/delegate-resource
Content-Type: application/json
请求参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
receiver_address | string | 是 | 接收能量的TRON地址(34位字符) |
amount | numeric | 是 | 交易笔数(表示需要获取多少笔交易的能量,最小值:1) |
time | numeric | 否 | 租赁时间(分钟),支持 10 或 1440,默认 10 |
activate_address | boolean | 否 | 是否自动激活地址,设为 true 时系统会检查目标地址是否已激活,如未激活则自动发送1 TRX激活地址(费用1.5 TRX),默认 false |
请求示例
curl -X POST https://api.trx-api.com/api/tron/delegate-resource \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"receiver_address": "TYourTronAddressHere1234567890123",
"amount": 1,
"time": 10,
"activate_address": false
}'
响应示例
成功响应 (200 OK)
{
"success": true,
"message": "资源委托成功",
"txid": "1234567890abcdef..."
}
失败响应示例
参数验证失败 (400 Bad Request):
{
"success": false,
"error": "参数验证失败",
"details": {
"receiver_address": ["The receiver address field is required."],
"amount": ["The amount must be at least 1."]
}
}
余额不足 (501 Not Implemented):
{
"success": false,
"error": "余额不足,请先充值"
}
能量不足 (501 Not Implemented):
{
"success": false,
"error": "能量不足,请稍后再试"
}
计费说明
- 订阅套餐优先: 如果您有有效的订阅套餐且剩余次数充足,将优先使用套餐次数,不额外扣费
- 余额支付: 如果没有可用套餐,将从账户余额扣除,费用为:交易笔数 × 3 TRX
- 能量说明: 1笔交易 = 67,000+ 能量,委托后1小时自动回收
- 参数说明: amount参数表示您需要多少笔交易的能量(例如:amount=1 表示获取1笔交易所需的67,000+能量)
- 地址激活: 当activate_address设为true时,系统会自动检查目标地址是否已激活,如果未激活则会发送1 TRX进行激活(收费1.5 TRX)
获取用户余额 API
接口信息
请求方法: GET
请求路径: /api/user/balance
限流: 每个用户5秒内最多请求1次
请求说明
该接口用于获取当前登录用户的余额信息。不需要任何请求参数,只需要在请求头中包含有效的Bearer Token。
限流说明: 为了防止频繁查询,每个用户5秒内最多只能请求1次。频繁请求会返回429状态码。
请求示例
curl -X GET https://api.trx-api.com/api/user/balance \
-H "Authorization: Bearer YOUR_API_TOKEN"
响应示例
成功响应 (200 OK)
{
"success": true,
"data": {
"balance": 100.50,
"updated_at": "2025-09-13T10:30:00.000000Z"
}
}
失败响应示例
未登录 (401 Unauthorized):
{
"success": false,
"error": "用户未登录"
}
请求过于频繁 (429 Too Many Requests):
{
"success": false,
"error": "请求过于频繁,请5秒后再试"
}
服务器错误 (500 Internal Server Error):
{
"success": false,
"error": "获取余额失败: 具体错误信息"
}
响应字段说明
字段名 | 类型 | 说明 |
---|---|---|
success | boolean | 请求是否成功 |
data.balance | number | 用户余额(TRX) |
data.updated_at | string | 余额最后更新时间(ISO 8601格式) |
error | string | 错误信息(仅在失败时返回) |
使用场景
- 在委托能量前检查账户余额是否充足
- 在用户界面显示当前余额
- 监控账户余额变化
- 余额不足时提醒用户充值
代码示例
PHP 示例
<?php
$apiToken = 'YOUR_API_TOKEN';
$apiUrl = 'https://api.trx-api.com/api/tron/delegate-resource';
$data = [
'receiver_address' => 'TYourTronAddressHere1234567890123',
'amount' => 1, // 1笔交易所需的能量
'time' => 10, // 租赁时间(分钟),10 或 1440
'activate_address' => false // 是否自动激活地址
];
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiToken,
'Content-Type: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
if ($httpCode === 200 && $result['success']) {
echo "委托成功!交易ID: " . $result['txid'];
} else {
echo "委托失败: " . $result['error'];
}
JavaScript (Node.js) 示例
const axios = require('axios');
const apiToken = 'YOUR_API_TOKEN';
const apiUrl = 'https://api.trx-api.com/api/tron/delegate-resource';
async function delegateEnergy() {
try {
const response = await axios.post(apiUrl, {
receiver_address: 'TYourTronAddressHere1234567890123',
amount: 1, // 1笔交易所需的能量
time: 10, // 租赁时间(分钟),10 或 1440
activate_address: false // 是否自动激活地址
}, {
headers: {
'Authorization': `Bearer ${apiToken}`,
'Content-Type': 'application/json'
}
});
if (response.data.success) {
console.log('委托成功!交易ID:', response.data.txid);
}
} catch (error) {
console.error('委托失败:', error.response?.data?.error || error.message);
}
}
delegateEnergy();
Python 示例
import requests
import json
api_token = 'YOUR_API_TOKEN'
api_url = 'https://api.trx-api.com/api/tron/delegate-resource'
headers = {
'Authorization': f'Bearer {api_token}',
'Content-Type': 'application/json'
}
data = {
'receiver_address': 'TYourTronAddressHere1234567890123',
'amount': 1, # 1笔交易所需的能量
'time': 10, # 租赁时间(分钟),10 或 1440
'activate_address': False # 是否自动激活地址
}
response = requests.post(api_url, headers=headers, json=data)
result = response.json()
if response.status_code == 200 and result.get('success'):
print(f"委托成功!交易ID: {result['txid']}")
else:
print(f"委托失败: {result.get('error', '未知错误')}")
获取用户余额 - PHP 示例
<?php
$apiToken = 'YOUR_API_TOKEN';
$apiUrl = 'https://api.trx-api.com/api/user/balance';
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiToken
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$result = json_decode($response, true);
if ($httpCode === 200 && $result['success']) {
echo "当前余额: " . $result['data']['balance'] . " TRX";
echo "更新时间: " . $result['data']['updated_at'];
} elseif ($httpCode === 429) {
echo "请求过于频繁,请5秒后再试";
} else {
echo "获取余额失败: " . $result['error'];
}
获取用户余额 - JavaScript 示例
const axios = require('axios');
const apiToken = 'YOUR_API_TOKEN';
const apiUrl = 'https://api.trx-api.com/api/user/balance';
async function getUserBalance() {
try {
const response = await axios.get(apiUrl, {
headers: {
'Authorization': `Bearer ${apiToken}`
}
});
if (response.data.success) {
console.log('当前余额:', response.data.data.balance, 'TRX');
console.log('更新时间:', response.data.data.updated_at);
}
} catch (error) {
if (error.response?.status === 429) {
console.error('请求过于频繁,请5秒后再试');
} else {
console.error('获取余额失败:', error.response?.data?.error || error.message);
}
}
}
getUserBalance();
获取用户余额 - Python 示例
import requests
api_token = 'YOUR_API_TOKEN'
api_url = 'https://api.trx-api.com/api/user/balance'
headers = {
'Authorization': f'Bearer {api_token}'
}
response = requests.get(api_url, headers=headers)
result = response.json()
if response.status_code == 200 and result.get('success'):
print(f"当前余额: {result['data']['balance']} TRX")
print(f"更新时间: {result['data']['updated_at']}")
elif response.status_code == 429:
print("请求过于频繁,请5秒后再试")
else:
print(f"获取余额失败: {result.get('error', '未知错误')}")
错误码说明
HTTP状态码 | 说明 | 可能的原因 |
---|---|---|
200 | 成功 | 请求成功处理 |
400 | 请求错误 | 参数验证失败、地址格式错误 |
401 | 未授权 | 未提供Token或Token无效 |
429 | 请求过于频繁 | 超出限流控制,5秒内请求过多 |
500 | 服务器错误 | 服务器内部错误 |
501 | 资源不足 | 余额不足或能量不足 |
注意事项
- API Token 请妥善保管,避免泄露
- 接收地址必须是有效的TRON地址(34位字符)
- 委托的能量将在1小时后自动回收
- 如遇到"能量不足"错误,请等待10分钟后重试
- 建议在生产环境中实现错误重试机制
- API调用频率限制:每分钟最多60次请求