# MERX - TRON Resource Exchange MCP server

TRON energy exchange for AI agents. tools, 30 prompts, 21 resources. A2A + ACP.

## Links
- Registry page: https://www.getdrio.com/mcp/exchange-merx-mcp
- Repository: https://github.com/Hovsteder/merx-mcp

## Install
- Command: `npx -y merx-mcp`
- Endpoint: https://merx.exchange/mcp/sse
- Auth: Not captured

## Setup notes
- Package: Npm merx-mcp v1.0.5
- Environment variable: MERX_API_KEY (secret)
- Environment variable: TRON_PRIVATE_KEY (secret)
- Remote endpoint: https://merx.exchange/mcp/sse

## Tools
- get_prices - Get current energy and bandwidth prices from all Merx providers, sorted by best (minimum) price across all duration tiers. Each provider lists ALL its duration tiers (5min/1h/1d/7d/30d etc) — short rentals are usually more expensive per unit than long ones, so always check tier-by-tier. Optionally filter by exact duration in seconds. No auth required. Endpoint: https://merx.exchange/mcp/sse
- get_best_price - Quick lookup of the single cheapest provider for a resource type, with optional minimum amount filter. CAVEAT: this returns a single representative price per provider, not broken down by duration tier — short rentals (5min) and long rentals (30 days) have very different per-unit prices and this tool does not distinguish between them. For an accurate per-tier comparison, use get_prices(duration=N) where N is the exact rental duration in seconds (e.g. 3600 for 1h, 86400 for 1d, 2592000 for 30d). Use get_best_price only when you need the absolute floor price as a quick sanity-check. No auth required. Endpoint: https://merx.exchange/mcp/sse
- analyze_prices - Market price analysis with trends and recommendations. No auth required. Endpoint: https://merx.exchange/mcp/sse
- get_price_history - Historical price snapshots. No auth required. Endpoint: https://merx.exchange/mcp/sse
- compare_providers - Side-by-side provider comparison with prices and availability. No auth required. Endpoint: https://merx.exchange/mcp/sse
- estimate_transaction_cost - Estimate cost of a TRON transaction BEFORE sending. Aliases: estimate_cost, calculate_cost, transaction_cost, energy_cost, transfer_cost. Calculate exactly how much energy, bandwidth, and TRX a TRON transaction will cost before sending it. Use this to answer questions like "how much does a USDT transfer cost?" or "what will it cost me to send 100 USDT to address X?". Returns: energy units needed, bandwidth needed, TRX cost if you burn directly, and TRX cost if you rent energy from Merx (typically 70-80% cheaper). Supports trc20_transfer (e.g. USDT/USDC), trc20_approve, trx_transfer, and custom contract calls. No auth required. Endpoint: https://merx.exchange/mcp/sse
- check_address_resources - Check energy, bandwidth, and TRX balance for any TRON address. No auth required. Endpoint: https://merx.exchange/mcp/sse
- create_order - Buy energy or bandwidth on Merx. Routed to cheapest provider. Auth required. Endpoint: https://merx.exchange/mcp/sse
- get_order - Get order status by UUID. Aliases: get_order_status, check_order, order_status, order_details, fetch_order. Check the status and fill details of an existing order by its UUID. Returns current status (PENDING/FILLING/FILLED/PARTIAL/FAILED/CANCELLED), fill amounts, provider used, on-chain delegation tx hash if delivered. Use this to poll order progress after creating an order. Auth required (API key). Endpoint: https://merx.exchange/mcp/sse
- list_orders - List recent orders with optional status filter. Auth required. Endpoint: https://merx.exchange/mcp/sse
- ensure_resources - Declarative resource provisioning. Checks current resources on target address and purchases only what is missing. Auth required. Endpoint: https://merx.exchange/mcp/sse
- wait_for_delegation - Block until an order reaches a terminal state (FILLED, PARTIAL, FAILED, or CANCELLED) by polling get_order at fixed intervals. Use this right after create_order when you need to confirm the energy/bandwidth has actually been delegated on-chain before sending the next transaction. Returns the final order details including the on-chain delegation tx hash. Auth required. Endpoint: https://merx.exchange/mcp/sse
- get_balance - Get your Merx account balance (TRX, USDT, locked). Requires MERX_API_KEY. Endpoint: https://merx.exchange/mcp/sse
- get_deposit_info - Get your Merx deposit address and memo. Requires MERX_API_KEY. Endpoint: https://merx.exchange/mcp/sse
- get_transaction_history - Get your Merx account transaction history. Requires MERX_API_KEY. Endpoint: https://merx.exchange/mcp/sse
- explain_concept - Explain a TRON or Merx concept in plain language. Hardcoded topics (exact match): energy, bandwidth, staking, delegation, sun_units, burn_vs_rent, merx_routing, provider_types. The lookup is fuzzy — substring matches also work, so "rent" finds "burn_vs_rent" and "providers" finds "provider_types". For topics outside this list (e.g. x402, stablecoins, gasfree), pick the closest hardcoded topic, or just answer the question yourself from the broader context — this tool only returns canned explanations of TRON resource economics. Endpoint: https://merx.exchange/mcp/sse
- suggest_duration - Recommend a rental duration based on your use case. No authentication required. Endpoint: https://merx.exchange/mcp/sse
- calculate_savings - Calculate savings from renting energy vs burning TRX. No authentication required. Endpoint: https://merx.exchange/mcp/sse
- list_providers - List all Merx providers with types, durations, and availability. No authentication required. Endpoint: https://merx.exchange/mcp/sse
- get_account_info - Inspect any TRON address. Aliases: check_address, get_address_info, get_wallet_info, address_info, account_status. Read the full on-chain state of ANY TRON address (does not have to be your own): TRX balance, free + delegated energy, free + delegated bandwidth, frozen TRX, account creation timestamp. Use this to check if an address has enough resources before sending a transaction, or to inspect any TRON wallet. No auth required, no API key needed. Endpoint: https://merx.exchange/mcp/sse
- get_trx_balance - Quick TRX balance for a TRON address. No auth required. Endpoint: https://merx.exchange/mcp/sse
- get_trc20_balance - Get TRC-20 token balance for an address. Supports symbol (USDT, USDC) or contract address. No auth required. Endpoint: https://merx.exchange/mcp/sse
- get_transaction - Look up a transaction by ID on TRON. No auth required. Endpoint: https://merx.exchange/mcp/sse
- get_block - Get TRON block info by number (or latest if omitted). No auth required. Endpoint: https://merx.exchange/mcp/sse
- get_chain_parameters - Get TRON network parameters (energy fee, bandwidth cost, etc.) with Merx price comparison. No auth required. Endpoint: https://merx.exchange/mcp/sse
- convert_address - Convert TRON address between base58 (T...) and hex (41...) formats. No auth required. Endpoint: https://merx.exchange/mcp/sse
- get_trx_price - Get current TRX price from CoinGecko. No auth required. Endpoint: https://merx.exchange/mcp/sse
- validate_address - Validate a TRON address format and check on-chain status. No auth required. Endpoint: https://merx.exchange/mcp/sse
- search_transaction_history - Get on-chain transaction history for a TRON address. No auth required. Endpoint: https://merx.exchange/mcp/sse
- transfer_trx - Send TRX to an address. Checks bandwidth, buys via Merx if needed. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY. Endpoint: https://merx.exchange/mcp/sse
- transfer_trc20 - Transfer TRC-20 tokens with automatic energy optimization. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY. Endpoint: https://merx.exchange/mcp/sse
- approve_trc20 - Approve TRC-20 spending allowance. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY. Endpoint: https://merx.exchange/mcp/sse
- get_token_info - Get TRC-20 token metadata: name, symbol, decimals, total supply. No auth required. Endpoint: https://merx.exchange/mcp/sse
- read_contract - Call a view/pure function on a TRON smart contract. No auth or private key required. Endpoint: https://merx.exchange/mcp/sse
- estimate_contract_call - Estimate energy and bandwidth cost for a smart contract call. Compares rental vs burn cost. No auth required. Endpoint: https://merx.exchange/mcp/sse
- call_contract - Execute a state-changing smart contract function. Estimates resources, buys via Merx if needed. Requires TRON_PRIVATE_KEY and TRON_ADDRESS. Endpoint: https://merx.exchange/mcp/sse
- get_contract_info - Get on-chain metadata for a TRON smart contract: existence check, owner address, energy origin, code hash, contract name (if set), ABI entries count. Use this to check whether an address is a contract before calling read_contract or estimate_contract_call. For TRC20-specific metadata (name, symbol, decimals, totalSupply) use get_token_info instead. No auth required. Endpoint: https://merx.exchange/mcp/sse
- get_swap_quote - Get a real swap quote from SunSwap V2. No auth required. Endpoint: https://merx.exchange/mcp/sse
- execute_swap - Execute a token swap on SunSwap V2. Requires TRON_PRIVATE_KEY. Endpoint: https://merx.exchange/mcp/sse
- get_token_price - Get token price via SunSwap quote + CoinGecko USD rate. No auth required. Endpoint: https://merx.exchange/mcp/sse
- create_account - Create a new Merx account, generate an API key, and get deposit info. No auth needed. Endpoint: https://merx.exchange/mcp/sse
- login - Log in to an existing Merx account. No MERX_API_KEY needed. Endpoint: https://merx.exchange/mcp/sse
- set_api_key - Set your Merx API key for this session. Unlocks all authenticated tools (trading, balance, orders). Use this if you already have an API key. Endpoint: https://merx.exchange/mcp/sse
- set_private_key - Set your TRON private key for this session. Address is derived automatically. Enables write tools: transfer_trx, transfer_trc20, approve_trc20, execute_swap, deposit_trx. Key stays local - never sent to Merx servers. Endpoint: https://merx.exchange/mcp/sse
- deposit_trx - Deposit TRX to your Merx account. Requires MERX_API_KEY + TRON_PRIVATE_KEY. Endpoint: https://merx.exchange/mcp/sse
- enable_auto_deposit - Configure automatic top-up when balance drops below a threshold. The configuration lives ONLY in the current MCP session — it is held in memory by the MCP server process and is lost on server restart, MCP client reconnect, or server redeploy. Top-ups are signed locally with TRON_PRIVATE_KEY and sent to your Merx deposit address (memo-routed). For persistent auto-deposit you currently need to call this tool again at the start of each session. Endpoint: https://merx.exchange/mcp/sse
- pay_invoice - Pay an x402 invoice by signing and broadcasting a TRX transfer to the invoice address, then verifying the payment with the facilitator. x402 (Coinbase + Cloudflare HTTP 402 standard) is the protocol AI agents use to pay APIs per call. Use this when you receive an invoice_id from a paywalled service or another agent. REQUIRES: TRON_PRIVATE_KEY in env (use set_private_key first) AND a valid invoice_id from create_invoice or x402 challenge response. The transfer is signed locally — your private key never leaves the MCP process. Endpoint: https://merx.exchange/mcp/sse
- create_paid_order - Create a zero-registration order via x402 pay-per-use. Requires TRON_PRIVATE_KEY. Endpoint: https://merx.exchange/mcp/sse
- execute_intent - Plan a multi-step operation (transfer, swap, buy resources, etc) and return a cost estimate, total energy/bandwidth needed, and the cheapest resource acquisition strategy. NOTE: actual on-chain execution of multi-step intents is not yet wired up — currently returns the same plan as simulate, regardless of dry_run. Use this for planning; for real execution call the underlying tools (create_order, transfer_trc20, execute_swap) yourself in sequence. Auth required. Endpoint: https://merx.exchange/mcp/sse
- simulate - Dry-run a multi-step operation (transfer, swap, buy resources, etc) without sending anything on-chain. Returns per-step energy and bandwidth estimates plus a total TRX cost. Use this to preview a plan before committing — for example, before transferring USDT to multiple recipients you can simulate to see the total energy cost. No auth required. Endpoint: https://merx.exchange/mcp/sse
- create_standing_order - Create a server-side standing order with trigger-based automation. Auth required. Endpoint: https://merx.exchange/mcp/sse
- list_standing_orders - List all standing orders with optional status filter. Auth required. Endpoint: https://merx.exchange/mcp/sse
- get_standing_order - Get full details of a single standing order by its UUID. Returns trigger config, action params, budget, executions count, and status. Auth required (API key). Endpoint: https://merx.exchange/mcp/sse
- cancel_standing_order - Cancel a standing order by its UUID. The order is moved to CANCELLED status and will not trigger again. Already-executed actions are NOT reversed. Auth required (API key). Endpoint: https://merx.exchange/mcp/sse
- create_monitor - Create a persistent server-side monitor that fires notifications when a condition is met. Four monitor types: delegation_expiry (warns when leased energy is about to expire so you can re-rent), balance_threshold (fires when an address goes below a TRX/USDT level), price_alert (fires when energy/bandwidth price crosses a SUN threshold), address_activity (fires on any incoming TX). Notification defaults to webhook=true if omitted. Auth required (API key). Endpoint: https://merx.exchange/mcp/sse
- list_monitors - List all monitors you created with create_monitor, optionally filtered by status (ACTIVE/CANCELLED). Each row shows the full monitor UUID (pass to cancel_monitor), monitor type, target address, and status. Note: the Target column will be empty for monitor types that do not have a single watched address — specifically price_alert and balance_threshold (when watching the API key holder rather than a third-party address). For delegation_expiry and address_activity monitors, Target will always be set. Auth required (API key). Endpoint: https://merx.exchange/mcp/sse
- cancel_monitor - Cancel an active monitor by its UUID. The monitor stops firing notifications. Auth required (API key). Endpoint: https://merx.exchange/mcp/sse
- withdraw - Withdraw TRX or USDT from your Merx account to an external TRON address. The "amount" parameter is interpreted in the currency specified by "currency" — i.e. for currency=TRX it is TRX units, for currency=USDT it is USDT units. (The legacy parameter "amount_trx" is still accepted as an alias for backwards compatibility, but is misleading when currency is USDT — prefer "amount" in new code.) Requires MERX_API_KEY. Endpoint: https://merx.exchange/mcp/sse
- compile_policy - Convert a natural language energy management policy into MERX automation. Creates standing orders and monitors based on your instructions.

Examples:
- "Keep 500k energy on my wallet, buy when price is below 55 SUN, max 200 TRX/week"
- "Buy energy every day at 6 AM UTC, 1 million units, for 24 hours"
- "Alert me when my energy drops below 100k"

Returns a preview of what will be created. Set apply=true to execute. Endpoint: https://merx.exchange/mcp/sse
- resource_broadcast - Broadcast a signed TRON transaction with automatic energy optimization.
If the target address lacks sufficient energy, MERX purchases the deficit at the best
market price before broadcasting. One call: estimate, buy energy, wait for delegation, broadcast.

Requires MERX_API_KEY with the "broadcast" scope, and a pre-signed transaction.
Returns txid on success, refunds on timeout.

NOTE: This endpoint is currently behind a feature flag and disabled by default in production.
If you get a 503 MAINTENANCE error, use the manual flow instead: call ensure_resources to
provision energy, then sign and broadcast the transaction with your own TronWeb client. Endpoint: https://merx.exchange/mcp/sse
- register_agent - Register your TRON address as an agent on agent.merx.exchange. Required ONCE before using request_payment, create_invoice, watch_address, agent_status, or any other agent payment tool. Pass the TRON address you want to use as the on-chain identity for this API key. Idempotent — calling twice with the same key returns the existing registration. Auth required (API key). Endpoint: https://merx.exchange/mcp/sse
- request_payment - Create a TRC20 payment request on TRON (USDT, USDC, USDD, or any TRC20). Returns a payment address. Fires webhook when payment arrives (<3 seconds). Use for receiving payments from other agents or humans. Requires agent registration first — call register_agent if you get AGENT_NOT_REGISTERED error. Endpoint: https://merx.exchange/mcp/sse
- lookup_invoice - Look up a MERX invoice. Shows amount, recipient, token, and status. Agent must sign and broadcast the transfer separately (non-custodial). Endpoint: https://merx.exchange/mcp/sse
- create_invoice - Create an invoice for another agent or human to pay. Returns payment URL, address, and QR code. Payment is detected automatically via ZeroMQ (<3 seconds). Endpoint: https://merx.exchange/mcp/sse
- watch_address - Watch any TRON address for TRC20 transfers (USDT, USDC, USDD, or any token). Fires webhook on each matching transfer. Persistent - runs 24/7 even when conversation ends. Endpoint: https://merx.exchange/mcp/sse
- agent_status - Get a snapshot of your agent payment service: registered TRON address, count of pending payment requests (request_payment), active address watches (watch_address), and outstanding invoices (create_invoice). Use this right after register_agent to confirm the agent is set up, or any time you want to see how much in-flight activity your agent has. Auth required (API key) and agent must be registered first via register_agent. Endpoint: https://merx.exchange/mcp/sse

## Resources
- merx://prices/energy - Energy prices from all providers, sorted cheapest first MIME type: application/json
- merx://prices/bandwidth - Bandwidth prices from providers that offer it MIME type: application/json
- merx://prices/best - Best energy + bandwidth price with USDT transfer cost MIME type: application/json
- merx://market/analysis - Price trends, averages, and buy/wait recommendation MIME type: application/json
- merx://market/providers - All providers with type, durations, resources, status MIME type: application/json
- merx://market/providers/status - Provider health: online/offline, available supply MIME type: application/json
- merx://account/balance - Merx balance: TRX available, locked, USDT MIME type: application/json
- merx://account/orders/recent - Last 10 orders with status and cost MIME type: application/json
- merx://account/stats - 30-day stats: total spent, saved, order count MIME type: application/json
- merx://account/auto-deposit - Auto-deposit threshold and amount configuration MIME type: application/json
- merx://network/parameters - TRON network parameters: burn prices, energy limit MIME type: application/json
- merx://network/trx-price - Current TRX price in USD MIME type: application/json
- merx://reference/tokens - Well-known TRC20 tokens: addresses, decimals MIME type: application/json
- merx://standing-orders/active - Active standing orders with trigger status MIME type: application/json

## Prompts
- buy-energy - Buy TRON energy at the best market price Arguments: amount, target_address, duration
- buy-bandwidth - Buy TRON bandwidth at the best market price Arguments: amount, target_address, duration
- ensure-resources - Guarantee minimum energy + bandwidth on an address Arguments: target_address, energy, bandwidth, duration
- market-analysis - Full TRON energy and bandwidth market analysis
- compare-providers - Deep comparison of providers for a specific use case Arguments: resource, amount, frequency
- send-usdt - Send USDT (TRC-20) to a TRON address with optimized fees Arguments: to_address, amount
- send-trx - Send TRX to a TRON address Arguments: to_address, amount
- send-token - Send any TRC-20 token to a TRON address Arguments: token, to_address, amount
- multi-transfer - Send tokens to multiple recipients in one batch operation Arguments: token, recipients
- explain-transaction - Analyze and explain a TRON transaction in human-readable terms Arguments: tx_id
- check-wallet - Full wallet overview: balances, resources, staking, and recent activity Arguments: address
- audit-spending - Analyze spending on energy, bandwidth, and fees over a time period Arguments: period, address
- monitor-delegations - Show all active resource delegations to and from an address Arguments: address
- optimize-wallet - Analyze wallet usage patterns and recommend optimizations for staking, resources, and fee reduction Arguments: address
- swap-tokens - Swap tokens on TRON DEX with best route and slippage protection Arguments: from_token, to_token, amount
- check-token - Get detailed information about a TRC-20 token: price, liquidity, holders, contract verification, and risk assessment Arguments: token
- price-check - Get current prices for one or more tokens with 24h change and volume Arguments: tokens
- estimate-costs - Estimate the cost of a TRON operation including energy, bandwidth, and fees. Compare burning TRX vs renting resources. Arguments: operation, address
- budget-plan - Create a daily/weekly/monthly budget plan for TRON operations. Calculates optimal resource strategy based on transaction volume. Arguments: daily_transfers, token, bandwidth_intensive
- stake-vs-rent - Compare staking TRX for resources vs renting on Merx. Shows breakeven point and total cost over 30/90/365 days. Arguments: daily_energy, daily_bandwidth
- integrate-merx - Generate integration code for Merx SDK Arguments: language, use_case
- setup-mcp - Set up Merx MCP server for an AI client Arguments: client, mode
- onboard - Set up a new Merx account with API key and deposit address Arguments: email
- fund-account - Fund your Merx account with TRX Arguments: amount_trx
- setup-auto-funding - Configure automatic Merx account funding Arguments: threshold_trx, deposit_amount_trx
- buy-without-account - Buy TRON resources without a Merx account using x402 payment protocol Arguments: resource, amount, target_address, duration
- simulate-plan - Simulate a multi-step operation before executing to preview costs and outcomes Arguments: description
- execute-plan - Execute a multi-step plan with resource optimization Arguments: description, resource_strategy
- setup-standing-order - Create a standing order that buys resources when price conditions are met Arguments: resource, trigger_price, amount, budget_trx
- auto-renew-delegations - Automatically renew resource delegations before they expire Arguments: address, max_price_sun

## Metadata
- Owner: exchange.merx
- Version: 1.0.5
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Apr 2, 2026
- Source: https://registry.modelcontextprotocol.io
