tl_accessibility_snapshotGet trimmed accessibility tree with deterministic refs (e1, e2, ...) for element targeting.Input schema{
"type": "object",
"properties": {}
} | — | | — |
tl_chain_create_multisig_txCreate an unsigned multisig TRX transfer transaction with a specific permission ID.Input schema{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Recipient TRON address"
},
"amount_sun": {
"type": "number",
"description": "Amount in SUN (1 TRX = 1,000,000 SUN)"
},
"permission_id": {
"type": "number",
"description": "Permission ID to use (default: 2 = first active permission)"
}
},
"required": [
"to",
"amount_sun"
]
} | — | | — |
tl_chain_get_accountQuery TRON account: TRX balance, bandwidth, energy, permissions, activation status.Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "TRON address to query (default: configured wallet)"
}
}
} | — | | — |
tl_chain_get_addressGet the TRON address derived from the configured private key (base58 + hex).Input schema{
"type": "object",
"properties": {}
} | — | | — |
tl_chain_get_historyQuery transaction history for an address with pagination.Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "TRON address (default: configured wallet)"
},
"limit": {
"type": "number",
"description": "Max transactions to return (default: 20)"
},
"fingerprint": {
"type": "string",
"description": "Pagination cursor from previous response"
},
"only_to": {
"type": "boolean",
"description": "Only show incoming transactions"
},
"only_from": {
"type": "boolean",
"description": "Only show outgoing transactions"
}
}
} | — | | — |
tl_chain_get_stakingQuery TRX staking info: frozen amounts for bandwidth/energy, votes, pending unfreezing, withdrawable amounts.Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "TRON address to query staking info (default: configured wallet)"
}
}
} | — | | — |
tl_chain_get_tokensQuery TRC10 and TRC20 token balances for an address.Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "TRON address to query tokens for (default: configured wallet)"
}
}
} | — | | — |
tl_chain_get_txGet transaction details by transaction ID (hash).Input schema{
"type": "object",
"properties": {
"tx_id": {
"type": "string",
"description": "Transaction hash (64 hex chars)"
}
},
"required": [
"tx_id"
]
} | — | | — |
tl_chain_resourceDelegate, undelegate, or query resource delegations (bandwidth/energy).Input schema{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"delegate",
"undelegate",
"query"
],
"description": "Resource action"
},
"resource": {
"type": "string",
"enum": [
"BANDWIDTH",
"ENERGY"
],
"description": "Resource type"
},
"receiver": {
"type": "string",
"description": "Receiver address (required for delegate/undelegate)"
},
"amount_trx": {
"type": "number",
"description": "Amount of TRX resource to delegate/undelegate"
},
"lock": {
"type": "boolean",
"description": "Lock delegation (cannot be undelegated during lock period)"
}
},
"required": [
"action"
]
} | — | | — |
tl_chain_sendSend TRX, TRC10 or TRC20 tokens to an address. Signs and broadcasts the transaction.Input schema{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Recipient TRON address (T-prefix, 34 chars)"
},
"amount": {
"type": "string",
"description": "Amount to send (e.g. \"1.5\" for TRX, or token amount string)"
},
"token_type": {
"type": "string",
"enum": [
"TRX",
"TRC10",
"TRC20"
],
"description": "Token type (default: TRX)"
},
"token_id": {
"type": "string",
"description": "TRC10 token ID (required for TRC10)"
},
"contract_address": {
"type": "string",
"description": "TRC20 contract address (required for TRC20)"
},
"memo": {
"type": "string",
"description": "Transaction memo"
}
},
"required": [
"to",
"amount"
]
} | — | | — |
tl_chain_setup_multisigConfigure multisig permissions on the account (accountPermissionUpdate, costs 100 TRX).Input schema{
"type": "object",
"properties": {
"cosigner_addresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "Co-signer TRON addresses to add"
},
"threshold": {
"type": "number",
"description": "Required signature weight threshold for active permission"
},
"permission_name": {
"type": "string",
"description": "Permission name (default: \"active0\")"
}
},
"required": [
"cosigner_addresses",
"threshold"
]
} | — | | — |
tl_chain_sign_multisig_txSign a multisig transaction with the owner or co-signer key. Accumulates signatures.Input schema{
"type": "object",
"properties": {
"transaction": {
"type": "object",
"additionalProperties": true,
"description": "Unsigned or partially signed transaction object (from chain_create_multisig_tx)"
},
"use_cosigner": {
"type": "boolean",
"description": "Sign with co-signer key instead of owner key (default: false)"
}
},
"required": [
"transaction"
]
} | — | | — |
tl_chain_stakeFreeze or unfreeze TRX for bandwidth or energy (Stake 2.0).Input schema{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"freeze",
"unfreeze"
],
"description": "Stake action"
},
"amount_trx": {
"type": "number",
"description": "Amount of TRX to freeze/unfreeze"
},
"resource": {
"type": "string",
"enum": [
"BANDWIDTH",
"ENERGY"
],
"description": "Resource type (default: BANDWIDTH)"
}
},
"required": [
"action",
"amount_trx"
]
} | — | | — |
tl_chain_swapEstimate or execute a token swap via SunSwap V2 router.Input schema{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"estimate",
"execute"
],
"description": "Swap action: estimate (quote only) or execute (sign & broadcast)"
},
"from_token": {
"type": "string",
"description": "Source token address or \"TRX\" for native TRX"
},
"to_token": {
"type": "string",
"description": "Target token address or \"TRX\" for native TRX"
},
"amount": {
"type": "string",
"description": "Input amount in token units"
},
"slippage": {
"type": "number",
"description": "Slippage tolerance percentage (default: 1.0)"
}
},
"required": [
"action",
"from_token",
"to_token",
"amount"
]
} | — | | — |
tl_chain_swap_v3Estimate or execute a token swap via SunSwap V3 (concentrated liquidity). Pre-checks balance before execution. Supports fee tier selection.Input schema{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"estimate",
"execute"
],
"description": "Swap action: estimate (quote only) or execute (sign & broadcast)"
},
"from_token": {
"type": "string",
"description": "Source token address or \"TRX\" for native TRX"
},
"to_token": {
"type": "string",
"description": "Target token address or \"TRX\" for native TRX"
},
"amount": {
"type": "string",
"description": "Input amount in token units"
},
"fee_tier": {
"type": "number",
"description": "Pool fee tier in bps: 500 (0.05%), 3000 (0.3%), 10000 (1%) (default: 3000)"
},
"slippage": {
"type": "number",
"description": "Slippage tolerance percentage (default: 0.5)"
},
"sqrt_price_limit": {
"type": "string",
"description": "Price limit for partial fills (optional, advanced)"
}
},
"required": [
"action",
"from_token",
"to_token",
"amount"
]
} | — | | — |
tl_cleanupSafely close browser and all services (chain, fixtures, mock server).Input schema{
"type": "object",
"properties": {
"force": {
"type": "boolean",
"description": "Force cleanup even if session appears inactive"
}
}
} | — | | — |
tl_clickClick an element by a11yRef (e.g. "e5"), testId, or CSS selector.Input schema{
"type": "object",
"properties": {
"a11yRef": {
"type": "string",
"description": "Accessibility reference (e.g. \"e1\", \"e2\") from a11y snapshot"
},
"testId": {
"type": "string",
"description": "data-testid attribute value"
},
"selector": {
"type": "string",
"description": "CSS selector"
},
"timeout": {
"type": "number",
"description": "Timeout in ms (default: 10000)"
},
"force": {
"type": "boolean",
"description": "Force click even if element is obscured"
}
}
} | — | | — |
tl_clipboardRead or write the browser clipboard (useful for copying addresses, mnemonics).Input schema{
"type": "object",
"properties": {
"operation": {
"type": "string",
"enum": [
"read",
"write"
],
"description": "Clipboard operation"
},
"text": {
"type": "string",
"description": "Text to write (required for write operation)"
}
},
"required": [
"operation"
]
} | — | | — |
tl_close_tabClose a browser tab by role or URL pattern.Input schema{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"extension",
"dapp",
"notification"
],
"description": "Role of the tab to close"
},
"urlPattern": {
"type": "string",
"description": "URL pattern to match"
}
}
} | — | | — |
tl_describe_screenComprehensive screen description: wallet state + testIds + accessibility tree + optional screenshot.Input schema{
"type": "object",
"properties": {
"includeScreenshot": {
"type": "boolean",
"description": "Include a screenshot (default: false)"
},
"includeA11y": {
"type": "boolean",
"description": "Include accessibility tree (default: true)"
},
"includeTestIds": {
"type": "boolean",
"description": "Include test IDs (default: true)"
}
}
} | — | | — |
tl_evaluateExecute JavaScript in the browser page context. Useful for DOM manipulation, scrolling, reading state, or any operation not covered by other tools. Returns the serialized result.Input schema{
"type": "object",
"properties": {
"script": {
"type": "string",
"description": "JavaScript expression to evaluate in page context. Return value will be serialized."
},
"timeout": {
"type": "number",
"description": "Timeout in ms (default: 30000)"
}
},
"required": [
"script"
]
} | — | | — |
tl_gasfree_get_accountQuery GasFree account eligibility, supported tokens, and remaining daily quota for gas-free TRC20 transfers.Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "TRON address to query GasFree eligibility (default: configured wallet)"
}
}
} | — | | — |
tl_gasfree_get_transactionsQuery GasFree transaction history: pending, completed, or failed gas-free transfers.Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "TRON address (default: configured wallet)"
},
"limit": {
"type": "number",
"description": "Max transactions to return (default: 20)"
},
"offset": {
"type": "number",
"description": "Pagination offset (default: 0)"
},
"status": {
"type": "string",
"enum": [
"pending",
"success",
"failed",
"all"
],
"description": "Filter by status (default: all)"
}
}
} | — | | — |
tl_gasfree_sendSend a GasFree TRC20 transfer (no gas fee). Pre-checks: account eligibility, token support, daily quota, and token balance.Input schema{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Recipient TRON address (T-prefix, 34 chars)"
},
"amount": {
"type": "string",
"description": "Token amount to send (in token units, e.g. \"10.5\")"
},
"contract_address": {
"type": "string",
"description": "TRC20 token contract address"
}
},
"required": [
"to",
"amount",
"contract_address"
]
} | — | | — |
tl_get_contextGet current context, capabilities, and session info.Input schema{
"type": "object",
"properties": {}
} | — | | — |
tl_get_contract_addressGet the address of a previously deployed contract by name.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Contract name"
}
},
"required": [
"name"
]
} | — | | — |
tl_get_stateGet TronLink wallet state: current screen, account, network, TRX balance, energy, bandwidth.Input schema{
"type": "object",
"properties": {}
} | — | | — |
tl_keyboardSend keyboard events. Press keys (e.g. "Enter", "PageDown", "End", "Control+A") or type text character by character (fires real key events, unlike tl_type which uses fill).Input schema{
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "Key or key combination to press (e.g. \"Enter\", \"Control+A\", \"PageDown\", \"End\")"
},
"text": {
"type": "string",
"description": "Text to type via keyboard events (character by character, fires key events unlike tl_type)"
},
"delay": {
"type": "number",
"description": "Delay between keystrokes in ms (default: 0)"
}
}
} | — | | — |
tl_knowledge_lastGet the last N tool steps from current or all sessions.Input schema{
"type": "object",
"properties": {
"n": {
"type": "number",
"description": "Number of steps to retrieve (default: 10)"
},
"scope": {
"type": "string",
"enum": [
"session",
"global"
],
"description": "Scope: current session or all sessions (default: session)"
}
}
} | — | | — |
tl_knowledge_searchSearch step history by tool name, screen, testId, or a11y name.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search query (tool name, screen, testId, a11y name)"
},
"scope": {
"type": "string",
"enum": [
"session",
"global"
],
"description": "Scope (default: session)"
},
"limit": {
"type": "number",
"description": "Max results (default: 20)"
}
},
"required": [
"query"
]
} | — | | — |
tl_knowledge_sessionsList recent sessions with metadata and step counts.Input schema{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Max sessions to list (default: 10)"
}
}
} | — | | — |
tl_knowledge_summarizeGenerate a reusable recipe summary of a session.Input schema{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Session ID to summarize (default: current session)"
}
}
} | — | | — |
tl_launchLaunch a Chrome browser with TronLink extension. Supports fixture presets: "default" (unlocked wallet with TRX), "onboarding" (fresh install).Input schema{
"type": "object",
"properties": {
"fixture": {
"type": "string",
"description": "Wallet fixture preset: \"default\" (unlocked, TRX balance), \"onboarding\" (fresh install), or custom name"
},
"fixtureData": {
"type": "object",
"additionalProperties": true,
"description": "Custom fixture data override"
},
"startChain": {
"type": "boolean",
"description": "Start local TRON chain node"
},
"headless": {
"type": "boolean",
"description": "Run browser in headless mode (default: false for visual observation)"
},
"extensionPath": {
"type": "string",
"description": "Override extension build path"
}
}
} | — | | — |
tl_list_contractsList all deployed contracts with addresses.Input schema{
"type": "object",
"properties": {}
} | — | | — |
tl_list_flowsList available flow recipes (common multi-step workflows like import_wallet, switch_network, transfer_trx). Call with id to get full step details for a specific flow. Use the returned steps with tl_run_steps after substituting {{param}} placeholders.Input schema{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Flow recipe ID to get full details (e.g. \"import_wallet\", \"switch_network\", \"transfer_trx\"). Omit to list all flows."
},
"tag": {
"type": "string",
"description": "Filter flows by tag (e.g. \"wallet\", \"transfer\", \"network\")"
},
"context": {
"type": "string",
"enum": [
"e2e",
"prod"
],
"description": "Filter flows by context"
}
}
} | — | | — |
tl_list_testidsList all data-testid attributes on the current page.Input schema{
"type": "object",
"properties": {}
} | — | | — |
tl_multisig_connect_wsConnect WebSocket to receive real-time pending multisig transaction notifications for an address.Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "TRON address to subscribe to pending multisig transactions"
}
},
"required": [
"address"
]
} | — | | — |
tl_multisig_disconnect_wsDisconnect the multisig WebSocket listener.Input schema{
"type": "object",
"properties": {}
} | — | | — |
tl_multisig_list_txQuery multisig transaction list: pending/success/failed. Shows signature progress, threshold, current weight for each transaction.Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "TRON address to query transaction list for"
},
"start": {
"type": "number",
"description": "Pagination start index (default: 0)"
},
"limit": {
"type": "number",
"description": "Page size, max 100 (default: 20)"
},
"is_sign": {
"type": "boolean",
"description": "Filter: true = signed by me, false = unsigned (default: false)"
},
"state": {
"type": "number",
"description": "Transaction state: 0=processing, 1=success, 2=failure, 255=all (default: 255)"
}
},
"required": [
"address"
]
} | — | | — |
tl_multisig_query_authQuery multisig permissions for a TRON address: which addresses it controls and active permission details (threshold, weight, operations).Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "TRON address to query multisig permissions for (T-prefix, 34 chars)"
}
},
"required": [
"address"
]
} | — | | — |
tl_multisig_submit_txSubmit a signed multisig transaction to the TRON multisig service. The service collects signatures and broadcasts when threshold is met.Input schema{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Signer address submitting this transaction"
},
"function_selector": {
"type": "string",
"description": "Contract function selector (e.g. \"transfer(address,uint256)\")"
},
"expire_time": {
"type": "number",
"description": "Expiration timestamp in ms (default: 24 hours from now)"
},
"transaction": {
"type": "object",
"properties": {
"raw_data": {
"type": "object",
"properties": {
"ref_block_bytes": {
"type": "string"
},
"ref_block_hash": {
"type": "string"
},
"expiration": {
"type": "number"
},
"contract": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"parameter": {
"type": "object",
"properties": {
"value": {
"type": "object",
"additionalProperties": true
},
"type_url": {
"type": "string"
}
},
"required": [
"value",
"type_url"
]
},
"Permission_id": {
"type": "number"
}
},
"required": [
"type",
"parameter"
]
}
},
"timestamp": {
"type": "number"
},
"fee_limit": {}
},
"required": [
"ref_block_bytes",
"ref_block_hash",
"expiration",
"contract",
"timestamp",
"fee_limit"
]
},
"signature": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"raw_data"
],
"description": "Signed transaction object with raw_data and signatures"
}
},
"required": [
"address",
"transaction"
]
} | — | | — |
tl_navigateNavigate to a TronLink screen: home, settings, send, receive, swap, assets, notification, address_book, node_management, dapp_list, or a custom URL.Input schema{
"type": "object",
"properties": {
"target": {
"type": "string",
"enum": [
"home",
"settings",
"send",
"receive",
"swap",
"notification",
"assets",
"address_book",
"node_management",
"dapp_list",
"url"
],
"description": "Target screen to navigate to"
},
"url": {
"type": "string",
"description": "URL to navigate to (required when target is \"url\")"
}
},
"required": [
"target"
]
} | — | | — |
tl_run_stepsExecute multiple tool steps in sequence. Useful for complex multi-step flows.Input schema{
"type": "object",
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tool": {
"type": "string",
"description": "Tool name (without prefix)"
},
"input": {
"type": "object",
"additionalProperties": true,
"description": "Tool input"
}
},
"required": [
"tool",
"input"
]
},
"description": "Steps to execute in sequence"
},
"stopOnError": {
"type": "boolean",
"description": "Stop on first error (default: true)"
}
},
"required": [
"steps"
]
} | — | | — |
tl_screenshotTake a screenshot of the TronLink extension or dApp page.Input schema{
"type": "object",
"properties": {
"target": {
"type": "string",
"enum": [
"extension",
"dapp",
"active"
],
"description": "Which page to screenshot (default: active)"
},
"fullPage": {
"type": "boolean",
"description": "Capture full page (default: false)"
}
}
} | — | | — |
tl_scrollScroll the page or a specific element. Supports direction (up/down/left/right) and pixel amount. Can target a scrollable container by a11yRef, testId, or CSS selector.Input schema{
"type": "object",
"properties": {
"a11yRef": {
"type": "string",
"description": "Accessibility reference (e.g. \"e1\", \"e2\") from a11y snapshot"
},
"testId": {
"type": "string",
"description": "data-testid attribute value"
},
"selector": {
"type": "string",
"description": "CSS selector"
},
"direction": {
"type": "string",
"enum": [
"up",
"down",
"left",
"right"
],
"description": "Scroll direction (default: down)"
},
"amount": {
"type": "number",
"description": "Scroll amount in pixels (default: 500)"
},
"timeout": {
"type": "number",
"description": "Timeout in ms (default: 10000)"
}
}
} | — | | — |
tl_seed_contractDeploy a smart contract: trc20, trc721, trc1155, trc10, multisig, staking, energy_rental. E2E only.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"trc20",
"trc721",
"trc1155",
"trc10",
"multisig",
"staking",
"energy_rental"
],
"description": "Contract type to deploy"
},
"deployer": {
"type": "string",
"description": "Deployer address or private key"
},
"feeLimit": {
"type": "number",
"description": "Fee limit in SUN (default: 1000000000)"
}
},
"required": [
"name"
]
} | — | | — |
tl_seed_contractsDeploy multiple smart contracts in sequence. E2E only.Input schema{
"type": "object",
"properties": {
"names": {
"type": "array",
"items": {
"type": "string",
"enum": [
"trc20",
"trc721",
"trc1155",
"trc10",
"multisig",
"staking",
"energy_rental"
]
},
"description": "Contract types to deploy"
},
"deployer": {
"type": "string",
"description": "Deployer address or private key"
}
},
"required": [
"names"
]
} | — | | — |
tl_set_contextSwitch workflow context between e2e (testing with local chain) and prod (real networks).Input schema{
"type": "object",
"properties": {
"context": {
"type": "string",
"enum": [
"e2e",
"prod"
],
"description": "Context to switch to"
},
"options": {
"type": "object",
"additionalProperties": true,
"description": "Additional context options"
}
},
"required": [
"context"
]
} | — | | — |
tl_switch_to_tabSwitch to a browser tab by role (extension/dapp/notification) or URL pattern.Input schema{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"extension",
"dapp",
"notification"
],
"description": "Role of the tab to switch to"
},
"urlPattern": {
"type": "string",
"description": "URL pattern to match"
}
}
} | — | | — |
tl_typeType text into an input element. Supports a11yRef, testId, or selector targeting.Input schema{
"type": "object",
"properties": {
"a11yRef": {
"type": "string",
"description": "Accessibility reference (e.g. \"e1\", \"e2\") from a11y snapshot"
},
"testId": {
"type": "string",
"description": "data-testid attribute value"
},
"selector": {
"type": "string",
"description": "CSS selector"
},
"text": {
"type": "string",
"description": "Text to type"
},
"clear": {
"type": "boolean",
"description": "Clear existing text before typing (default: true)"
},
"timeout": {
"type": "number",
"description": "Timeout in ms (default: 10000)"
}
},
"required": [
"text"
]
} | — | | — |
tl_wait_forWait for an element to reach a state (visible/hidden/attached/detached).Input schema{
"type": "object",
"properties": {
"a11yRef": {
"type": "string",
"description": "Accessibility reference (e.g. \"e1\", \"e2\") from a11y snapshot"
},
"testId": {
"type": "string",
"description": "data-testid attribute value"
},
"selector": {
"type": "string",
"description": "CSS selector"
},
"state": {
"type": "string",
"enum": [
"visible",
"hidden",
"attached",
"detached"
],
"description": "State to wait for (default: visible)"
},
"timeout": {
"type": "number",
"description": "Timeout in ms (default: 10000)"
}
}
} | — | | — |
tl_wait_for_notificationWait for TronLink notification popup (transaction confirmation, dApp connection request).Input schema{
"type": "object",
"properties": {
"timeout": {
"type": "number",
"description": "Timeout in ms (default: 30000)"
}
}
} | — | | — |
tl_wallet_createAuto-generate an encrypted wallet (local_secure). Use this when no wallet exists and the user wants automatic setup. After creation, the wallet is immediately available for on-chain, gasfree, and multisig operations. Fund the generated address with TRX before performing write operations.Input schema{
"type": "object",
"properties": {}
} | — | | — |
tl_wallet_listList all agent-wallet wallets with their IDs, types, active status, and TRON addresses.Input schema{
"type": "object",
"properties": {}
} | — | | — |
tl_wallet_set_activeSwitch the active wallet by wallet ID. The new wallet will be used for all subsequent on-chain, gasfree, and multisig operations.Input schema{
"type": "object",
"properties": {
"wallet_id": {
"type": "string",
"description": "The wallet ID to activate"
}
},
"required": [
"wallet_id"
]
} | — | | — |