Node proxy
Manage node proxy settings, broadcast history and node links.
Early access. The node proxy is not generally available yet; contact support for access. These management endpoints work today. Read the Node proxy guide first.
Get settings
Returns your broadcast policy.
{ "ok": true, "settings": { "allowInsufficientTrx": false, "broadcastFailBehavior": "protect" } }Update settings
Changes your broadcast policy. Fields you leave out keep their value. Dashboard session only.
SESSION_REQUIRED.curl -X PUT "https://apiv2.tronergy.io/api/node_proxy/portal/settings" \
-H "Cookie: <portal-session-cookie>" \
-H "Content-Type: application/json" \
-d '{
"broadcastFailBehavior": "reject"
}'broadcastFailBehavior"protect" | "passthrough" | "reject"What happens to a linked wallet's transaction when sponsorship fails: protect (default), passthrough or reject. Node links always use protect.
allowInsufficientTrxbooleanReserved. Has no effect yet. Default false.
{ "ok": true, "settings": { "allowInsufficientTrx": false, "broadcastFailBehavior": "reject" } }List broadcast attempts
Broadcasts the proxy sponsored for you or held back, newest first.
curl "https://apiv2.tronergy.io/api/node_proxy/portal/attempts?page=1&pageSize=20" \
-H "x-api-key: $TRONERGY_API_KEY"pagenumberqueryPage number. Defaults to 1.
pageSizenumberqueryItems per page. Default 20, max 100.
senderstringqueryFilter by exact sender address.
{
"ok": true,
"items": [
{
"txid": "9a3c...",
"route": "gasless",
"status": "submitted",
"sender": "TSender...",
"contractType": "TriggerSmartContract",
"linkId": null,
"operationId": "8d0f...",
"submittedAt": "2026-10-21T10:01:00.000Z"
}
],
"pagination": { "page": 1, "pageSize": 20, "total": 1, "totalPages": 1 }
}status:submitted(sent to the network) orprotected(not broadcast).route:gasless(sponsored),passthrough(sent unsponsored) orprotect(held back).operationIdis the relay operation for a sponsored broadcast.
List node links
Returns your links, newest first, without paging. Codes are never listed.
{
"ok": true,
"items": [
{ "id": "4b2e...", "label": "Mobile app", "status": "active", "expiresAt": "2027-01-19T10:00:00.000Z", "revokedAt": null, "createdAt": "2026-10-21T10:00:00.000Z" }
]
}status is active, revoked or expired.
Create a node link
Creates a link and returns its code once. Dashboard session only, because a link code spends your balance. Up to 50 active links.
SESSION_REQUIRED.curl -X POST "https://apiv2.tronergy.io/api/node_proxy/portal/links" \
-H "Cookie: <portal-session-cookie>" \
-H "Content-Type: application/json" \
-d '{
"label": "Mobile app",
"expiresInDays": 90
}'labelstringUp to 120 characters.
expiresInDaysnumber | null1-365. Default 30. null means it never expires; revoking is the only way to stop it.
{
"ok": true,
"link": { "id": "4b2e...", "code": "Zk3...", "label": "Mobile app", "status": "active", "expiresAt": "2027-01-19T10:00:00.000Z", "createdAt": "2026-10-21T10:00:00.000Z" }
}code works like a password: anyone with it can spend your balance through the proxy. Store it safely.
Errors: 422 with code: "LINK_LIMIT_REACHED" (50 active links), 422 Validation failed, 403 SESSION_REQUIRED. On 503, list your links before trying again so you do not create two.
Revoke a node link
The link stops working almost at once. No body.
{ "ok": true }An unknown or already revoked link returns 404 Not found.