GoTRON MCP
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
TRON blockchain: accounts, TRC20 tokens, staking, contracts, resources and transaction builders
| Author | io.github.fbsobreira |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 400 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"GoTRON MCP": {
"url": "https://mcp.gotron.sh/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (44)
analyze_accountdestructiveComprehensive account overview: balance, resources, staking, voting, permissions, and delegations in a single call
Parameters:
address(required) — string — TRON base58 address (starts with T)
Hints: read-only no · destructive yes · idempotent no · open-world yes
analyze_transfer_costdestructiveEstimate the cost of a TRX or TRC20 transfer: energy, bandwidth, and TRX burn options
Parameters:
from(required) — string — Sender TRON address (base58)to(required) — string — Recipient TRON address (base58)amount(required) — string — Amount to transfer (e.g., '100')contract_address— string — TRC20 contract address (omit for TRX transfer)
Hints: read-only no · destructive yes · idempotent no · open-world yes
decode_abi_outputdestructiveDecode ABI-encoded output hex from a contract call. Handles return values, revert reasons (Error(string)), and panic codes (Panic(uint256)).
Parameters:
contract_address(required) — string — Contract address (base58, starts with T; needed to fetch ABI for decoding)method(required) — string — Method signature (e.g., 'balanceOf(address)')data(required) — string — Hex-encoded output bytes to decode (0x prefix optional)
Hints: read-only no · destructive yes · idempotent no · open-world yes
delegate_resourcedestructiveDelegate energy or bandwidth to another address (Stake 2.0). Returns unsigned transaction hex for signing.
Parameters:
from(required) — string — Delegator address (base58, starts with T)to(required) — string — Recipient address (base58, starts with T)resource(required) — string — Resource typeamount(required) — string — Amount in TRX to delegate (e.g., '100.5')memo— string — Optional memo to attach to the transactionlock_period— number — Lock period in blocks (~3 seconds each). If set, delegation cannot be undone until the lock expires.permission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
estimate_energydestructiveEstimate energy cost for a smart contract call. Requires a full node with vm.supportConstant=true and vm.estimateEnergy=true; falls back to secondary node if primary does not support it.
Parameters:
from(required) — string — Caller address (base58, starts with T)contract_address(required) — string — Smart contract address (base58, starts with T)method(required) — string — Contract method signature (e.g., 'transfer(address,uint256)')params(required) — string — Method parameters as JSON array. Plain values: ["TJD...", "1000"] (types inferred from method signature). Typed objects also accepted: [{"address": "TJD..."}, {"uint256": "1000"}]
Hints: read-only no · destructive yes · idempotent no · open-world yes
estimate_trc20_energydestructiveEstimate energy cost for a TRC20 transfer without creating a transaction. Dry-runs the transfer to check energy requirements.
Parameters:
from(required) — string — Sender address (base58, starts with T)to(required) — string — Recipient address (base58, starts with T)contract_address(required) — string — TRC20 contract address (base58, starts with T)amount(required) — string — Amount in human-readable units (e.g., '100.5' for 100.5 USDT)
Hints: read-only no · destructive yes · idempotent no · open-world yes
freeze_balancedestructiveStake TRX for energy or bandwidth (Stake 2.0). Returns unsigned transaction hex for signing.
Parameters:
from(required) — string — Account address (base58, starts with T)amount(required) — string — Amount in TRX to stake (e.g., '100.5')resource(required) — string — Resource typememo— string — Optional memo to attach to the transactionpermission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_accountdestructiveGet TRON account balance and details including TRX balance, bandwidth, energy, frozen resources, and account type
Parameters:
address(required) — string — TRON base58 address (starts with T)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_account_permissionsdestructiveGet the permission structure of a TRON account including owner, active, and witness permissions with multi-sig keys and thresholds
Parameters:
address(required) — string — TRON base58 address (starts with T)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_account_resourcesdestructiveGet energy and bandwidth usage and limits for a TRON account
Parameters:
address(required) — string — TRON base58 address (starts with T)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_bandwidth_pricesdestructiveGet current and historical bandwidth prices on the TRON network
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_blockdestructiveGet a TRON block by number or latest. Use include_transactions to get transaction details with decoded contract data (sender, receiver, amounts) and pagination.
Parameters:
limit— number — Max transactions to return when include_transactions is true (default: 50)offset— number — Skip first N transactions (default: 0, for pagination)block_number— number — Block number (omit for latest)transaction_type— string — Filter transactions by type (e.g., 'TransferContract', 'TriggerSmartContract')include_transactions— boolean — Include decoded transaction details with contract data — sender, receiver, amounts (default: false)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_chain_parametersdestructiveGet TRON network node info and current energy/bandwidth prices
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_contract_abidestructiveGet the ABI of a smart contract on TRON. Automatically resolves proxy contracts (ERC-1967). Note: many TRON contracts are deployed without on-chain ABI — if empty, check TronScan for verified source code.
Parameters:
contract_address(required) — string — Smart contract address (base58, starts with T)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_contract_eventsdestructiveGet decoded events emitted by a smart contract via TronGrid REST API. Returns a compact summary per event. Use a small limit and paginate with fingerprint to control response size
Parameters:
contract_address(required) — string — TRON smart contract base58 address (starts with T)limit— number — Number of results to return (1-200, default 10). Start small to avoid large responses; use fingerprint to paginate for moreevent_name— string — Filter by specific event name (e.g. Transfer, Approval)fingerprint— string — Pagination cursor from previous response meta.fingerprint — pass to fetch the next pagemax_timestamp— number — Maximum block timestamp in millisecondsmin_timestamp— number — Minimum block timestamp in millisecondsonly_confirmed— boolean — Only return confirmed transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_delegatable_amountdestructiveGet the maximum amount of energy or bandwidth an account can still delegate
Parameters:
address(required) — string — TRON base58 address (starts with T)resource(required) — string — Resource type
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_delegated_resourcesdestructiveGet resources delegated to and from an account (Stake 2.0 delegation info)
Parameters:
address(required) — string — TRON base58 address (starts with T)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_energy_pricesdestructiveGet current and historical energy prices on the TRON network
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_networkdestructiveGet current MCP server connection info: network name, node address, and latest block
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_pending_by_addressdestructiveGet pending transactions for a specific address from the mempool
Parameters:
address(required) — string — TRON address (base58, starts with T)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_pending_transactionsdestructiveList pending transaction IDs and pool size from the mempool
Parameters:
limit— number — Max transaction IDs to return (default: 10)offset— number — Skip first N transaction IDs (default: 0, for pagination)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_pq_capabilitiesdestructiveReport which TIP-899 post-quantum signature schemes the connected node enables and this build can sign (FN-DSA-512 needs the gotron-mcp-pq build). TIP-899 is a draft live only on Nile. can_sign reflects the node and this build; signing also needs local mode with a keystore.
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_proposaldestructiveGet full details of a governance proposal by ID, including the complete list of approval addresses.
Parameters:
proposal_id(required) — number — Proposal ID
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_token_pricedestructiveGet the current USD price of TRX or a TRC20 token. Uses CoinGecko with caching.
Parameters:
token(required) — string — Token to price: 'TRX' or a TRC20 contract address (e.g., TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t for USDT)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_transactiondestructiveGet transaction details by transaction ID
Parameters:
transaction_id(required) — string — Transaction hash / txid (64-char hex string)
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_transaction_historydestructiveGet transaction history for a TRON address via TronGrid REST API. Returns a compact summary per transaction. Use a small limit and paginate with fingerprint to control response size
Parameters:
address(required) — string — TRON base58 address (starts with T)limit— number — Number of results to return (1-200, default 10). Start small to avoid large responses; use fingerprint to paginate for moreonly_to— boolean — Only show incoming transactionsonly_from— boolean — Only show outgoing transactionsfingerprint— string — Pagination cursor from previous response meta.fingerprint — pass to fetch the next pagemax_timestamp— number — Maximum block timestamp in millisecondsmin_timestamp— number — Minimum block timestamp in millisecondsonly_confirmed— boolean — Only return confirmed transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_trc20_allowancedestructiveQuery how many tokens a spender is approved to transfer on behalf of the owner. Flags unlimited approvals as high risk.
Parameters:
owner(required) — string — Token owner address (base58)spender(required) — string — Approved spender address (base58)contract_address(required) — string — TRC20 token contract address
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_trc20_balancedestructiveGet TRC20 token balance for an account
Parameters:
address(required) — string — TRON base58 addresscontract_address(required) — string — TRC20 contract address
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_trc20_token_infodestructiveGet TRC20 token metadata (name, symbol, decimals, total supply)
Parameters:
contract_address(required) — string — TRC20 contract address
Hints: read-only no · destructive yes · idempotent no · open-world yes
get_trc20_transfersdestructiveGet TRC20 token transfer history for a TRON address via TronGrid REST API. Returns a compact summary per transfer with token info. Use a small limit and paginate with fingerprint to control response size
Parameters:
address(required) — string — TRON base58 address (starts with T)limit— number — Number of results to return (1-200, default 10). Start small to avoid large responses; use fingerprint to paginate for moreonly_to— boolean — Only show incoming transfersonly_from— boolean — Only show outgoing transfersfingerprint— string — Pagination cursor from previous response meta.fingerprint — pass to fetch the next pagemax_timestamp— number — Maximum block timestamp in millisecondsmin_timestamp— number — Minimum block timestamp in millisecondsonly_confirmed— boolean — Only return confirmed transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
is_transaction_pendingdestructiveCheck if a specific transaction is still in the pending pool (mempool)
Parameters:
transaction_id(required) — string — Transaction hash / txid (64-char hex string)
Hints: read-only no · destructive yes · idempotent no · open-world yes
list_contract_methodsdestructiveGet a human-readable summary of a smart contract's methods with signatures, inputs, outputs, and mutability. Auto-resolves proxy contracts.
Parameters:
contract_address(required) — string — Smart contract address (base58, starts with T)
Hints: read-only no · destructive yes · idempotent no · open-world yes
list_proposalsdestructiveList governance proposals on the TRON network with pagination support. Returns a compact summary per proposal (use get_proposal for full details including approval addresses). Newest first by default.
Parameters:
limit— number — Max proposals to return (default: 5)order— string — Sort order by proposal ID: 'desc' (default, newest first) or 'asc' (oldest first)offset— number — Skip first N proposals (default: 0, for pagination)
Hints: read-only no · destructive yes · idempotent no · open-world yes
list_witnessesdestructiveList super representatives (witnesses) on the TRON network with pagination support.
Parameters:
limit— number — Max witnesses to return (default: 5)offset— number — Skip first N witnesses (default: 0, for pagination)
Hints: read-only no · destructive yes · idempotent no · open-world yes
revoke_approvaldestructiveBuild unsigned transaction to revoke a TRC20 token approval (sets allowance to 0)
Parameters:
owner(required) — string — Token owner address (base58) — the account revoking the approvalspender(required) — string — Spender address to revokecontract_address(required) — string — TRC20 token contract addressfee_limit— number — Fee limit in TRX (default 15, max 15000)permission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
transfer_trc20destructiveCreate an unsigned TRC20 token transfer transaction. Returns transaction hex for signing.
Parameters:
from(required) — string — Sender address (base58, starts with T)to(required) — string — Recipient address (base58, starts with T)contract_address(required) — string — TRC20 contract address (base58, starts with T)amount(required) — string — Amount in token units (human-readable, e.g., '100.5')fee_limit— number — Fee limit in TRX, range 0-15000 (default: 100)permission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
transfer_trxdestructiveCreate an unsigned TRX transfer transaction. Returns transaction hex for signing.
Parameters:
from(required) — string — Sender address (base58, starts with T)to(required) — string — Recipient address (base58, starts with T)amount(required) — string — Amount in TRX (e.g., '100.5')memo— string — Optional memo to attach to the transactionpermission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
trigger_constant_contractdestructiveCall a read-only (view/pure) smart contract method. No transaction created, no fees. Returns decoded result. Provide either method+params OR data (pre-packed calldata).
Parameters:
contract_address(required) — string — Smart contract address (base58, starts with T)data— string — Pre-packed ABI calldata as hex (0x prefix optional). When provided, method and params are ignored.from— string — Caller address (base58, starts with T; optional — defaults to zero address)method— string — Method signature (e.g., 'totalSupply()', 'balanceOf(address)'). Required unless data is provided.params— string — Method parameters as JSON array. Plain values: ["TJD...", "1000"] (types inferred from method signature). Typed objects also accepted: [{"address": "TJD..."}, {"uint256": "1000"}]token_id— string — TRC10 token ID for simulating TRC10 token transferscall_value— number — Amount in SUN to send with call (default: 0, 1 TRX = 1000000 SUN). Required for simulating payable functions.token_value— number — TRC10 token amount to send with call (default: 0)
Hints: read-only no · destructive yes · idempotent no · open-world yes
trigger_contractdestructiveCall a smart contract method. Returns unsigned transaction hex for signing. Provide either method+params OR data (pre-packed calldata).
Parameters:
from(required) — string — Caller address (base58, starts with T)contract_address(required) — string — Smart contract address (base58, starts with T)data— string — Pre-packed ABI calldata as hex (0x prefix optional). When provided, method and params are ignored.method— string — Method signature (e.g., 'transfer(address,uint256)'). Required unless data is provided.params— string — Method parameters as JSON array. Plain values: ["TJD...", "1000"] (types inferred from method signature). Typed objects also accepted: [{"address": "TJD..."}, {"uint256": "1000"}]fee_limit— number — Fee limit in whole TRX (integer), range 0-15000 (default: 100)call_value— number — Amount to send with call in SUN (default: 0)permission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
undelegate_resourcedestructiveReclaim previously delegated energy or bandwidth (Stake 2.0). Returns unsigned transaction hex for signing.
Parameters:
from(required) — string — Delegator address (base58, starts with T)to(required) — string — Address to reclaim from (base58, starts with T)resource(required) — string — Resource typeamount(required) — string — Amount in TRX to undelegate (e.g., '100.5')memo— string — Optional memo to attach to the transactionpermission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
unfreeze_balancedestructiveUnstake TRX (Stake 2.0). Returns unsigned transaction hex for signing. Note: unstaked TRX has a 14-day withdrawal period.
Parameters:
from(required) — string — Account address (base58, starts with T)amount(required) — string — Amount in TRX to unstake (e.g., '100.5')resource(required) — string — Resource typememo— string — Optional memo to attach to the transactionpermission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
validate_addressdestructiveValidate a TRON address and convert supported inputs to TRON base58/hex. Accepts base58 (T...), TRON hex (41...), or Ethereum/EVM format (0x...).
Parameters:
address(required) — string — TRON address (base58 T..., hex 41..., or Ethereum 0x...)
Hints: read-only no · destructive yes · idempotent no · open-world yes
vote_witnessdestructiveVote for super representatives. Returns unsigned transaction hex for signing. Requires staked TRX (1 TRX staked = 1 vote).
Parameters:
from(required) — string — Voter address (base58, starts with T)votes(required) — object — Map of witness address to vote count, e.g., {"TKSXDA...": 100, "TLyqz...": 50}memo— string — Optional memo to attach to the transactionpermission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
withdraw_expire_unfreezedestructiveWithdraw TRX that has completed the 14-day unstaking period (Stake 2.0). Returns unsigned transaction hex for signing.
Parameters:
from(required) — string — Account address (base58, starts with T)memo— string — Optional memo to attach to the transactionpermission_id— number — Permission ID for multi-sig transactions
Hints: read-only no · destructive yes · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.