io.github.Hovsteder/powersun-tron-mcp
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
TRON Energy marketplace + DEX swap aggregator for AI agents. 27 MCP tools.
| Author | io.github.Hovsteder |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 355 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"powersun-tron-mcp": {
"url": "https://powersun.vip/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (27)
get_pricesGet current TRON Energy and Bandwidth minimum prices for all duration tiers. Returns price per unit in SUN for each available duration.
Parameters:
resourceType— string — Filter by resource type (default: all)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
estimate_costCalculate the cost of purchasing TRON Energy or Bandwidth. Provide transaction count and type to get the energy needed and cost in TRX.
Parameters:
txCount(required) — integer — Number of transactionstxType— string — Transaction type (default: trc20_transfer). trc20_transfer_new = first-time transfer to an address.resourceType— string — Resource type (default: ENERGY)targetAddress— string — TRON target address. Required for an executable market quote.resourceAmount— integer — Exact resource amount; otherwise derived from transaction count.durationMinutes— number — Duration in minutes. Allowed: 2, 5, 10, 15, 30, 60, 180, 360, 1440, 10080, 43200. Default: 60.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_available_resourcesGet total available Energy and Bandwidth across all active pools. Shows how much resource can be purchased right now.
Parameters:
resourceType— string — Filter by resource type (default: both)durationMinutes— number — Filter pools that support this duration
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_market_overviewComprehensive market overview: prices, availability, allowed durations, order constraints, and transaction types. Useful for agents to understand what they can purchase.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_balanceGet your current TRX balance and deposit information. Requires API key authentication.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
buy_energyPurchase TRON Energy for a target address. Creates a MARKET order that will be filled by available pools. Deducts cost from your balance.
Parameters:
targetAddress(required) — string — TRON address to delegate energy to (T-address format)txCount(required) — integer — Number of transactions you need energy fortxType— string — Transaction type (default: trc20_transfer)resourceType— string — Resource type (default: ENERGY)durationMinutes— number — Duration in minutes. Allowed: 2, 5, 10, 15, 30, 60, 180, 360, 1440, 10080, 43200. Default: 60.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
broadcast_transactionBroadcast a pre-signed TRON transaction with auto energy delegation. Send your signed transaction data and PowerSun will delegate energy before broadcasting. Works with API key (balance deduction) or x402 USDC payment. Without authentication, returns cost estimate.
Parameters:
txData(required) — object — Pre-signed transaction object with txID, raw_data, raw_data_hex, and signature
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_ordersGet your order history with optional status filter. Returns recent orders sorted by creation time.
Parameters:
limit— integer — Maximum number of orders to return (default: 20)status— string — Filter by order status
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_order_statusGet detailed status of a specific order including delegation progress.
Parameters:
orderId(required) — string — Order ID (UUID format)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_deposit_infoGet the deposit address to top up your account balance with TRX.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_swap_quoteGet a price quote and unsigned transaction for swapping tokens on SunSwap DEX. Returns an unsigned TX for client-side signing. After signing, submit via execute_swap. Requires API key.
Parameters:
fromToken(required) — string — Token to sell — symbol (USDT, TRX, SUN, ...) or TRC-20 contract addresstoToken(required) — string — Token to buy — symbol or TRC-20 contract addressamountIn(required) — string — Amount to swap in smallest unit (SUN for TRX, base units for tokens)slippageBps— integer — Slippage tolerance in basis points (default: 50 = 0.5%)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
execute_swapExecute a pre-signed swap transaction with automatic energy delegation. Get the unsigned TX from get_swap_quote, sign it, and submit here. Energy is delegated before broadcast. Works with API key (balance deduction) or x402 USDC payment.
Parameters:
txData(required) — object — Pre-signed swap transaction from get_swap_quote
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_pool_statsGet comprehensive statistics for your energy/bandwidth pools: delegations, revenue, utilization, APY. Requires API key.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_earningsGet earnings breakdown by pool: total earned, pending payout, paid out. Optionally filter by date range.
Parameters:
endDate— string — End date (ISO 8601)startDate— string — Start date (ISO 8601, e.g. 2026-01-01)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_auto_selling_configGet current auto-selling configuration for your pools. Shows which resources are being sold, duration constraints, and reserves.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
configure_auto_sellingUpdate auto-selling configuration for a pool. Toggle energy/bandwidth selling, set reserves, duration constraints. Pass the configId from get_auto_selling_config.
Parameters:
configId(required) — string — Configuration ID to update (from get_auto_selling_config)active— boolean — Enable/disable auto-sellingsellEnergy— boolean — Enable/disable energy sellingmaxDuration— string — Maximum rental durationminDuration— string — Minimum rental duration (e.g., "5min", "1h", "1d")allowRenewals— boolean — Allow order renewalssellBandwidth— boolean — Enable/disable bandwidth sellingreservedEnergy— integer — Energy to keep reserved (not sold)reservedBandwidth— integer — Bandwidth to keep reserved (not sold)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_pool_delegationsGet active delegations from your pools. Shows who received energy/bandwidth and when delegations expire.
Parameters:
poolAddress— string — Filter by specific pool address. If not provided, shows all your pools.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
withdraw_earningsWithdraw TRX from your account balance to your wallet. Minimum withdrawal: 100 TRX. Withdrawal is processed on-chain and may take a few minutes.
Parameters:
amount(required) — number — Amount to withdraw in TRX (minimum 100 TRX)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
register_poolRegister a TRON address as an energy/bandwidth selling pool on PowerSun. This creates a pool and auto-selling configuration. After registering, you must grant active permissions to the platform address (DelegateResource, UnDelegateResource, VoteWitness) so the platform can delegate resources to buyers and vote on your behalf. Use check_pool_permissions to verify permissions after granting them. Requires API key.
Parameters:
paymentAddress(required) — string — TRON address to register as pool (starts with T, 34 characters). This is the address where you hold/stake TRX.autoVote— boolean — Auto-vote for the best Super Representative to earn rewards (default: true)sellEnergy— boolean — Enable energy selling (default: true)sellBandwidth— boolean — Enable bandwidth selling (default: false)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_onchain_statusGet live blockchain state for your pool: TRX balance, frozen resources (Energy/Bandwidth), voting status, claimable rewards, and delegated resources. Data is fetched directly from TRON blockchain. Requires API key.
Parameters:
poolAddress— string — Pool address to check. If omitted, uses your first registered pool.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
check_pool_permissionsVerify that the platform has the required active permissions on your pool address. Required: DelegateResource (to sell energy), UnDelegateResource (to reclaim). Optional: VoteWitness (to vote for SRs and earn rewards). Run this after granting permissions to confirm the platform can operate your pool. Requires API key.
Parameters:
poolAddress— string — Pool address to check. If omitted, uses your first registered pool.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
trigger_voteVote for the best Super Representative (SR) with the highest APY to earn voting rewards. The platform automatically selects the SR with the best return. Requires VoteWitness permission granted to the platform. Voting rewards accumulate and can be claimed automatically if auto-claim is enabled. Requires API key.
Parameters:
poolAddress— string — Pool address to vote from. If omitted, uses your first registered pool.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_auto_action_historyView execution history of automatic actions (stake, vote, claim) for your pool. Shows status (success/failed/skipped), amounts, transaction hashes, and timestamps. Requires API key.
Parameters:
limit— integer — Number of records to return (default: 20, max: 100)actionType— string — Filter by action typepoolAddress— string — Pool address to get history for. If omitted, uses your first registered pool.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
registerStart agent registration by providing your TRON address. Returns a challenge string that you must sign with your TRON private key using tronWeb.trx.signMessageV2(). After signing, call verify_registration with the signature to receive your API key. No authentication required.
Parameters:
address(required) — string — Your TRON wallet address (T-address format, 34 characters)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
verify_registrationComplete agent registration by verifying your signed challenge. Returns an API key and upgrades the current session to authenticated. After verification, all authenticated tools (buy_energy, get_balance, register_pool, etc.) will work in this session without needing to reconnect. No authentication required.
Parameters:
challengeId(required) — string — Challenge ID from the register tooladdress(required) — string — Your TRON wallet address (must match the register call)signature(required) — string — Signature from tronWeb.trx.signMessageV2(challenge, privateKey)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
build_permission_transactionBuild an AccountPermissionUpdate transaction that grants the PowerSun platform permission to delegate/undelegate resources and optionally vote on your behalf. Returns an unsigned transaction that you must sign with your private key and then broadcast using broadcast_signed_permission_tx. All existing account permissions are preserved. Requires authentication.
Parameters:
poolAddress(required) — string — TRON address to grant permissions on (your pool address, T-address format)includeVote— boolean — Include VoteWitness permission for earning SR rewards (default: true)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
broadcast_signed_permission_txBroadcast a signed AccountPermissionUpdate transaction to the TRON blockchain. After broadcasting, verifies that the platform permissions were correctly applied. Use this after signing the transaction from build_permission_transaction. Requires authentication.
Parameters:
signedTransaction(required) — object — The complete signed permission transaction from tronWeb.trx.sign(), including visible, raw_data_hex, and signaturepoolAddress(required) — string — The pool address that the permission was granted on
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.