Skip to main content
Glama

Submit Delegation Extension

tronsave_internal_create_extend_request

Submit an extension request for existing delegated resources on TronSave via authenticated REST POST /v2/extend-request. Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Side effect: creates an extension order and may commit TRX from the internal account. extendData must follow the REST contract (see schema on each row). Get extendData from tronsave_internal_extend_delegates (STEP 1) and pass the rows unchanged. Do not copy rows from tronsave_list_extendable_delegates (GraphQL); that payload shape differs and is for market discovery only.

Input Schema

NameRequiredDescriptionDefault
receiverYesTRON base58 address of the account that receives the delegated resource.
extendDataYesDelegator-level rows for `POST /v2/extend-request`. Each row matches TronSave's REST extend contract (delegator, isExtend, extraAmount, extendTo in Unix seconds)—typically taken from `extendData` returned by `POST /v2/get-extendable-delegates` when called with the user's session, not from GraphQL `tronsave_list_extendable_delegates`.
resourceTypeNoResource type. Default ENERGY when omitted.

Output Schema

NameRequiredDescriptionDefault
orderIdNoNew extension order id (hex string).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • changedInput schema / properties / extendData / description
      Previous value: -"Delegator-level rows for `POST /v2/extend-request`. Each row matches TronSave's REST extend contract (delegator, isExtend, extraAmount, extendTo ms)—typically taken from `extendData` returned by `POST /v2/get-extendable-delegates` when called with the user's session, not from GraphQL `tronsave_list_extendable_delegates`."New value: +"Delegator-level rows for `POST /v2/extend-request`. Each row matches TronSave's REST extend contract (delegator, isExtend, extraAmount, extendTo in Unix seconds)—typically taken from `extendData` returned by `POST /v2/get-extendable-delegates` when called with the user's session, not from GraphQL `tronsave_list_extendable_delegates`."
    • removedInput schema / properties / extendData / items / properties / delegator / minLength
      Removed value: -1
    • addedInput schema / properties / extendData / items / properties / delegator / pattern
      Added value: +"^T[1-9A-HJ-NP-Za-km-z]{33}$"
    • changedInput schema / properties / extendData / items / properties / extendTo / description
      Previous value: -"Target end time as Unix epoch milliseconds (UTC) for this delegator row in `POST /v2/extend-request`."New value: +"Target end time as Unix epoch SECONDS (UTC) for this delegator row in `POST /v2/extend-request`; echo the value returned by `tronsave_internal_extend_delegates`."
    • removedInput schema / properties / receiver / minLength
      Removed value: -1
    • addedInput schema / properties / receiver / pattern
      Added value: +"^T[1-9A-HJ-NP-Za-km-z]{33}$"
    • changedOutput schema / additionalProperties
      Previous value: -falseNew value: +{}
    • addedOutput schema / properties / orderId / anyOf
      Added value: +[
      +  {
      +    "description": "New extension order id (hex string).",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / orderId / description
      Previous value: -"TronSave order ID (hex string)"New value: +"New extension order id (hex string)."
    • removedOutput schema / properties / orderId / type
      Removed value: -"string"
    • removedOutput schema / required
      Removed value: -[
      -  "orderId"
      -]
  2. Changed5 schema fields changed
    • changedInput schema / properties / extendData / description
      Previous value: -"Rows copied from `extendData` returned by `tronsave_internal_extend_delegates`."New value: +"Delegator-level rows for `POST /v2/extend-request`. Each row matches TronSave's REST extend contract (delegator, isExtend, extraAmount, extendTo ms)—typically taken from `extendData` returned by `POST /v2/get-extendable-delegates` when called with the user's session, not from GraphQL `tronsave_list_extendable_delegates`."
    • changedInput schema / properties / extendData / items / properties / extendTo / description
      Previous value: -"Target end time as Unix epoch milliseconds, matching internal.extend.delegates."New value: +"Target end time as Unix epoch milliseconds (UTC) for this delegator row in `POST /v2/extend-request`."
    • changedOutput schema / additionalProperties
      Previous value: -{}New value: +false
    • changedOutput schema / properties / orderId / description
      Previous value: -"TronSave order ID (hex string) of the created/extension order."New value: +"TronSave order ID (hex string)"
    • addedOutput schema / required
      Added value: +[
      +  "orderId"
      +]
  3. Added
  4. Removed
  5. Changed1 schema field changed
    • changedInput schema / properties / extendData / description
      Previous value: -"Delegator-level rows for `POST /v2/extend-request`. Each row matches TronSave’s REST extend contract (delegator, isExtend, extraAmount, extendTo ms)—typically taken from `extendData` returned by `POST /v2/get-extendable-delegates` when called with the user’s session, not from GraphQL `tronsave_list_extendable_delegates`."New value: +"Delegator-level rows for `POST /v2/extend-request`. Each row matches TronSave's REST extend contract (delegator, isExtend, extraAmount, extendTo ms)—typically taken from `extendData` returned by `POST /v2/get-extendable-delegates` when called with the user's session, not from GraphQL `tronsave_list_extendable_delegates`."
  6. Changed2 schema fields changed
    • changedInput schema / properties / extendData / description
      Previous value: -"Rows copied from data.extendData returned by internal.extend.delegates."New value: +"Delegator-level rows for `POST /v2/extend-request`. Each row matches TronSave’s REST extend contract (delegator, isExtend, extraAmount, extendTo ms)—typically taken from `extendData` returned by `POST /v2/get-extendable-delegates` when called with the user’s session, not from GraphQL `tronsave_list_extendable_delegates`."
    • changedInput schema / properties / extendData / items / properties / extendTo / description
      Previous value: -"Target end time as Unix epoch milliseconds, matching internal.extend.delegates."New value: +"Target end time as Unix epoch milliseconds (UTC) for this delegator row in `POST /v2/extend-request`."
  7. Added

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a non-read-only, non-idempotent, open-world mutation, and the description goes beyond them by naming the concrete side effect (creates an extension order, may commit TRX from the internal account) and the auth model (session api-key via `tronsave_login` or `Authorization: ApiKey` header, keys never passed as tool args). It stops short of covering failure modes or retry/idempotency behavior for a non-idempotent write, which is the only meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and endpoint come first, then auth, then side effects, then the data-sourcing rule — a sensible front-to-back order with no filler. It is on the dense side, packing auth, effects, and sequencing into a single paragraph, but nearly every clause carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter mutation with an output schema, the description covers the operation, the required auth path, the side effect, the data-fetching dependency, and the sibling trap. Return values need not be explained since an output schema exists, so nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the field-level descriptions already explain types, address patterns, and epoch-seconds semantics, so the baseline is 3. The prose adds real value by constraining `extendData` to the REST contract shape and requiring rows be echoed unchanged from the STEP 1 call, which prevents a plausible agent error.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Submit an extension request for existing delegated resources") and anchors it to the concrete REST endpoint `POST /v2/extend-request`. It explicitly distinguishes itself from the two nearest siblings, `tronsave_internal_extend_delegates` (source of input) and `tronsave_list_extendable_delegates` (GraphQL, market discovery only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit two-step workflow: obtain `extendData` from `tronsave_internal_extend_delegates` (STEP 1) and pass rows unchanged. It also states a negative rule — do not copy rows from `tronsave_list_extendable_delegates` because the payload shape differs — which is exactly the kind of when-not guidance an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources