Node proxy — API reference
Node keys for the TRON node proxy endpoint.
| Method | Path | Summary |
|---|---|---|
GET | /v1/node-keys | List node keys (keys themselves are never returned) |
POST | /v1/node-keys | Create a node key; the key and endpoint are shown once |
DELETE | /v1/node-keys/{id} | Revoke a node key (active = false) |
Base URL https://api.tenergy.me/v1, or https://api-nile.tenergy.me/v1 on Nile (Environments). Every request below is signed as in Authentication unless its Auth line says otherwise.
List node keys (keys themselves are never returned)
GET /v1/node-keys · listNodeKeys
Auth: API key (HMAC).
Same guard as GET /api-keys (scope keys.read). used counts active keys; limit is NODE_KEYS_PER_ACCOUNT (default 5).
Responses
| Status | Meaning |
|---|---|
200 | The account’s node keys. |
Response fields
| Field | Type | Required | Description |
|---|---|---|---|
data | array of object (NodeKey) | yes | |
data[].id | string | yes | |
data[].label | string | null | yes | |
data[].active | boolean | yes | |
data[].created_at | string (date-time) | yes | |
data[].last_used_at | string (date-time) | null | yes | |
data[].daily_limit_sun | integer (int64) | null | The most this key may spend on energy per UTC day; null = no cap. | |
data[].limit_action | enum: reject, send_unfunded | Once the daily limit is spent: reject (default) refuses the broadcast with 3025, nothing is sent; send_unfunded sends it without energy, so the network burns the sender’s TRX. | |
data[].spent_today_sun | integer (int64) | Spent on energy since 00:00 UTC (list only); failed orders excluded. | |
limit | integer | yes | |
used | integer | yes |
Create a node key; the key and endpoint are shown once
POST /v1/node-keys · createNodeKey
Auth: API key (HMAC).
Same guard as POST /api-keys (scope keys.create, member editor); no new scope. A node
key lets the node proxy buy 5 m energy orders for transactions broadcast through it,
charged to this account’s own balance, and nothing else. Only its SHA-256 is stored.
3017 api_key_limit_reached when the account already holds NODE_KEYS_PER_ACCOUNT active keys.
Request body
JSON.
| Field | Type | Required | Description |
|---|---|---|---|
label | string | ||
daily_limit_trx | number | Optional cap on what the proxy may spend on energy with this key per UTC day, in TRX. Past it the proxy refuses the broadcast with 3025 node_key_daily_limit_reached until 00:00 UTC, so a leaked key drains at most this much a day. Omitted = no cap. | |
limit_action | enum: reject, send_unfunded | What the proxy does once the daily limit is spent (see NodeKey.limit_action). |
Responses
| Status | Meaning |
|---|---|
201 | Created. key and endpoint appear in this response only. |
409 | 3017 api_key_limit_reached. |
Response fields
| Field | Type | Required | Description |
|---|---|---|---|
id | string | yes | |
label | string | null | yes | |
active | boolean | yes | |
created_at | string (date-time) | yes | |
last_used_at | string (date-time) | null | yes | |
daily_limit_sun | integer (int64) | null | The most this key may spend on energy per UTC day; null = no cap. | |
limit_action | enum: reject, send_unfunded | Once the daily limit is spent: reject (default) refuses the broadcast with 3025, nothing is sent; send_unfunded sends it without energy, so the network burns the sender’s TRX. | |
spent_today_sun | integer (int64) | Spent on energy since 00:00 UTC (list only); failed orders excluded. | |
key | string | yes | 26 chars base32, 128 bits. |
endpoint | string | yes | <PROXY_PUBLIC_HOST>/<key>. |
Revoke a node key (active = false)
DELETE /v1/node-keys/{id} · revokeNodeKey
Auth: API key (HMAC).
Same guard as DELETE /api-keys/{keyId} (scope keys.revoke). The proxy stops accepting the key within its cache TTL.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Responses
| Status | Meaning |
|---|---|
204 | Revoked. |
404 | No such node key on this account. |