波场节点 API 文档
概述
波场节点 API 让你直连我们的 TRON 节点查询链上数据:区块、账户、交易、资源、合约等。它是一个透明代理——请求被原样转发到节点,响应格式与 java-tron 标准 HTTP API 完全一致,因此任何按标准节点接口编写的代码(含 TronWeb 等 SDK 的 HTTP Provider)都可以直接切换到本服务,只需替换域名并附上 apikey。
- 免费开放:注册客户每天百万次请求、每秒 5 次限流,由金融科技机构 CoinePay 赞助、作为面向生态的公益基础设施免费提供,额度足够大部分项目与中小企业使用。
- 两类端点:
/node/wallet/{method}走 fullnode(最新数据),/node/walletsolidity/{method}走 solidity(已固化、不可逆的数据)。 - GET 与 POST 均支持:JSON body 原样转发,响应原样返回。
- 稳定安全:CoinePay 平台钱包的入账核验运行于同一节点,可用性经真实资金业务 7×24 检验。
https://api.trxapi.io?apikey=YOUR_API_KEY1M / day · 5 / s节点原生响应 · 原样转发关于我们的节点
为你服务的并非普通的自建节点:本节点由金融科技机构 CoinePay 运营,是在 TRON 链上注册的验证器(见证人)节点,已进入全网前 127 名的超级代表合伙人行列。节点地址 TCoinepWiWHaeyB7tCnebrmuB9k1WeJrhu,可随时在波场浏览器(Tronscan)查验其注册状态与得票排名。
作为面向生态的公益基础设施,节点数据查询接口由金融科技机构 CoinePay 赞助,向所有注册客户免费开放。TRON 网络分层说明:全网前 27 名为超级代表(Super Representative),第 28–127 名为超级代表合伙人(SR Partner)。
这一节点不仅对外提供查询:CoinePay 平台自身钱包的入账核验同样运行在本节点上——节点的稳定性与安全性长期经受真实资金业务的 7×24 考验,这也是我们将它作为公益基建开放给生态的底气。
TCoinepWiWHaeyB7tCnebrmuB9k1WeJrhu(coinepay)投上一票。得票与排名越高,节点获得的链上激励越多,我们会把它持续投入到免费额度与生态维护中。快速开始
- 在客户中心注册并创建
apikey(与能量 API 共用同一密钥体系;节点查询本身免费,无需充值)。 - 把标准节点接口路径中的域名替换为
https://api.trxapi.io/api/v1/openapi/node,并在 URL 上附加apikey参数:
# standard java-tron endpoint → TRXAPI node proxy # https://.../wallet/getnowblock curl "https://api.trxapi.io/api/v1/openapi/node/wallet/getnowblock?apikey=YOUR_API_KEY"
免密公共 RPC(免注册直连)
不想注册也能用:直接把 https://api.trxapi.io 当标准 TRON 节点——无需 apikey、无需任何路径前缀,根路径即 java-tron 原生接口 /wallet/{method}(fullnode)与 /walletsolidity/{method}(solidity)。查询与广播全部开放,响应与节点原生格式完全一致,走的是与带 apikey 接口同一个 CoinePay 验证器节点。
- 零配置直连:TronWeb 只需
new TronWeb({ fullHost: "https://api.trxapi.io" }),无需改动任何业务代码。 - 按 IP 限流:每个来源 IP 每 6 秒 2 次、每天 10 万次(纯内存计数、不落库)。适合试用、开发调试、低频查询与广播。
- 读写都支持:getnowblock、getaccount、triggerconstantcontract 等查询,以及 broadcasttransaction / broadcasthex 广播,全部原样转发。
# 免密:把根域名直接当标准 TRON 节点,无需 apikey curl "https://api.trxapi.io/wallet/getnowblock" # 广播已在本地签名的交易(读写都开放) curl "https://api.trxapi.io/wallet/broadcasttransaction" -X POST -d '{...signedTx...}' # TronWeb drop-in(服务端): # const tronWeb = new TronWeb({ fullHost: 'https://api.trxapi.io' })
{"Error":...} 与 HTTP 429。需要更高且独立的额度(注册客户每天百万次、按 key 独立计算),或需要浏览器跨域调用(免密接口暂不开放 CORS,请在服务端调用),请注册获取免费 apikey 并改用上文带 apikey 的接口。鉴权与限流
- 鉴权:所有请求通过 URL 参数
apikey鉴权,apikey 在客户中心创建。密钥请只放在服务端,避免泄露完整请求 URL。 - 限流:注册客户默认每天百万次请求、每秒 5 次,足够大部分项目与中小企业使用。超限返回
code=429,请降低频率或次日再试;如需更高额度,请联系 [email protected]。 - 计费:节点查询免费(成本由 CoinePay 赞助承担),不消耗预付余额。
fullnode 端点
/api/v1/openapi/node/wallet/{method}fullnode 直连转发到 fullnode 的 /wallet/{method},返回最新链上数据(含尚未固化的最新区块)。适合查询实时状态:最新区块、账户余额与资源、链参数,以及构造 / 广播交易等标准 wallet 接口。
| 参数 | 必填 | 说明 |
|---|---|---|
apikey | 是 | 商户密钥,在客户中心创建获取 |
{method} | 是 | java-tron 标准 HTTP API 接口名(路径最后一段),如 getnowblock、getaccount、gettransactionbyid |
| JSON body | 视方法而定 | POST 时按标准接口要求传 JSON,原样转发(如 getaccount 需要 address 与 visible) |
solidity 端点
/api/v1/openapi/node/walletsolidity/{method}solidity 直连转发到 solidity 节点的 /walletsolidity/{method},只返回已固化(不可逆)的数据。适合对一致性要求高的场景:入账确认、对账、交易终局性判断。同名方法与 fullnode 的差异仅在数据固化程度。
常用方法参考
下表列出最常用的标准方法(均以 {method} 形式接在端点路径后)。方法名、参数与响应字段均遵循 java-tron 标准 HTTP API,完整清单与字段含义请以 TRON 官方开发者文档为准。
区块
| method | HTTP | 说明 |
|---|---|---|
getnowblock | GET / POST | 获取最新区块 |
getblockbynum | POST | 按区块高度获取区块(body: {"num": 12345}) |
getblockbyid | POST | 按区块哈希获取区块 |
getblockbylatestnum | POST | 获取最近 N 个区块 |
账户与资源
| method | HTTP | 说明 |
|---|---|---|
getaccount | POST | 查询账户信息与 TRX 余额(body: {"address":"T...","visible":true}) |
getaccountresource | POST | 查询账户能量 / 带宽资源余量——监控能量到账的常用接口 |
getaccountnet | POST | 查询账户带宽使用情况 |
getdelegatedresourcev2 | POST | 查询两个地址间的资源委托关系(Stake 2.0) |
validateaddress | POST | 校验 TRON 地址格式是否有效 |
交易
| method | HTTP | 说明 |
|---|---|---|
gettransactionbyid | POST | 按交易哈希查询交易内容(body: {"value":"txid"}) |
gettransactioninfobyid | POST | 查询交易执行结果、所在区块、能量消耗——核验委托订单 txid 的常用接口 |
gettransactioninfobyblocknum | POST | 查询某区块内全部交易的执行信息 |
broadcasttransaction | POST | 广播已在本地签名的交易 |
broadcasthex | POST | 按十六进制原文广播已签名交易 |
createtransaction | POST | 构造未签名的 TRX 转账交易(需本地签名后广播) |
合约与链参数
| method | HTTP | 说明 |
|---|---|---|
triggerconstantcontract | POST | 只读调用合约(不上链、免费)——查询 TRC20 余额常用 |
triggersmartcontract | POST | 构造合约调用交易(需本地签名后广播) |
getcontract | POST | 查询合约信息与 ABI |
getchainparameters | GET / POST | 查询链参数(含能量单价等动态参数) |
getenergyprices | GET / POST | 查询历史能量单价 |
listwitnesses | GET / POST | 列出全部见证人(可看到我们的节点) |
getnodeinfo | GET / POST | 查询节点运行状态与版本信息 |
调用示例
GET:查询最新区块
curl "https://api.trxapi.io/api/v1/openapi/node/wallet/getnowblock?apikey=YOUR_API_KEY"
POST:查询账户(solidity,已固化数据)
curl -X POST "https://api.trxapi.io/api/v1/openapi/node/walletsolidity/getaccount?apikey=YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"address":"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t","visible":true}'
POST:查询账户资源(监控能量到账)
curl -X POST "https://api.trxapi.io/api/v1/openapi/node/wallet/getaccountresource?apikey=YOUR_API_KEY" \ -d '{"address":"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t","visible":true}' # response (excerpt) — EnergyLimit / EnergyUsed show delegated energy { "freeNetLimit": 600, "EnergyLimit": 65000, "EnergyUsed": 0, ... }
Python:查询 TRC20(USDT)余额
# read-only contract call via triggerconstantcontract (free, not broadcast) import requests BASE = "https://api.trxapi.io/api/v1/openapi/node" KEY = "YOUR_API_KEY" r = requests.post(f"{BASE}/wallet/triggerconstantcontract?apikey={KEY}", json={ "owner_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", # USDT (TRC20) contract "function_selector": "balanceOf(address)", "parameter": "0000000000000000000000000000000000000000000000000000000000000000", # ABI-encoded holder address "visible": True, }) print(r.json()["constant_result"]) # hex-encoded uint256 balance
Node.js:封装一个轻量客户端
// Node.js 18+ — auth is a URL query param, so append it per request const BASE = 'https://api.trxapi.io/api/v1/openapi/node'; const KEY = process.env.TRXAPI_KEY; async function node(path, body) { const res = await fetch(`${BASE}/${path}?apikey=${KEY}`, body ? { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) } : undefined); return res.json(); } const block = await node('wallet/getnowblock'); const acct = await node('walletsolidity/getaccount', { address: 'TR7NHqjeKQx...', visible: true });
POST:核验能量订单的 txid(与能量 API 配合)
# txid comes from the /getenergy response or the order query curl -X POST "https://api.trxapi.io/api/v1/openapi/node/walletsolidity/gettransactioninfobyid?apikey=YOUR_API_KEY" \ -d '{"value":"a1b2c3d4..."}' # the receipt shows the containing block, execution result and energy usage — # an independent on-chain proof that the delegation really happened
常见用例
1. 充值入账确认(交易所 / 商户)
用 walletsolidity 的已固化数据判断入账,避免链上回滚导致资损:
- 用户充值后,按 txid 调用
/node/walletsolidity/gettransactioninfobyid——solidity 端能查到即代表交易已不可逆;TRC20 转账需同时确认receipt.result为 SUCCESS。 - 批量对账可按块高遍历:solidity 端
getblockbynum拉块,gettransactioninfobyblocknum拉整块交易的执行信息。
2. 能量到账监控(配合能量 API)
下单租能量后,调用 /node/wallet/getaccountresource 查看 EnergyLimit / EnergyUsed,确认委托能量已到账、余量足够本次转账;再用订单返回的 txid 走 gettransactioninfobyid 留存链上凭证。
3. TRC20 余额查询(钱包 / 风控)
用 triggerconstantcontract 只读调用合约的 balanceOf(address)——不上链、不消耗资源,适合高频余额巡检;某笔交易内的代币转账明细,可从 gettransactioninfobyid 返回的 log(Transfer 事件)中解析。
4. 自托管钱包 / 代付系统的转账流水线
createtransaction(构造未签名 TRX 转账)或 triggersmartcontract(构造 TRC20 转账)→ 在你自己的环境完成签名 → broadcasttransaction 广播。私钥全程不离开你的服务器。
5. 链参数与成本测算
用 getchainparameters / getenergyprices 获取实时能量单价等动态参数,测算「直接燃烧 vs 租赁能量」的成本差,为你自己的定价与路由决策提供数据。
限流与错误处理
- 成功:返回节点原生响应——原样转发、零改写,没有额外的信封包装。
- 超限:超出每秒频率或当日总量时返回
code=429。收到 429 后请指数退避(如 1s → 2s → 4s),并检查是否有失控的轮询循环。 - 鉴权失败:
apikey缺失、无效或被禁用时返回code=501。 - 方法/参数错误:节点对非法方法或参数的报错会原样返回,同样为节点原生格式。
| code | message | 说明 |
|---|---|---|
| — | 节点原样响应 | 请求成功时直接返回 TRON 节点的原始响应 |
429 | 超出限额 / Rate limited | 超出每秒频率或当日请求总量限额,请降低频率或次日再试,可联系客服提额 |
501 | 账户禁用 / Account disabled | apikey 不存在或已被禁用 |
最佳实践
- 资金入账用 solidity:充值确认、对账等资金场景一律以
walletsolidity(已固化数据)为准,避免链上回滚造成误判。 - 控制轮询频率:TRON 出块间隔约 3 秒,比 3 秒更快的轮询没有意义;批量监控多个地址时合并调度,避免触发 5 次/秒限流。
- 私钥永远在本地:本服务只转发查询与广播;交易签名必须在你自己的环境完成。任何要求提交私钥或助记词的「节点服务」都是诈骗(参见安全说明)。
- 与能量 API 配合:下单租能量后,用
getaccountresource核验能量到账,用gettransactioninfobyid核验订单返回的 txid——形成不依赖任何单方说法的对账闭环。 - 留意动态参数:能量单价等链参数会变化,可通过
getchainparameters/getenergyprices获取实时值,用于你自己的成本测算。