MERX - TRON Resource Exchange

exchange.merxPublished by merx.exchangeOfficial publisherv1.0.5Updated Oct 25, 2026

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

VerifiedStreamable HTTPWeb executableDatabasesFinanceDeveloper Tools

Overview

AI-generated overview

MERX is a TRON energy and bandwidth exchange that lets an assistant quote, buy and use network resources, query on-chain data, and sign TRON transfers and swaps

What you can do
Quote, compare and analyze energy and bandwidth prices, estimate transaction costs and check address resources or balances across TRON accounts, tokens, blocks and transactions. Buy energy or bandwidth, ensure resources on an address, and track orders, balance, deposits and account history. Send TRX and TRC-20 tokens, approve allowances, read and call smart contracts, and get or execute SunSwap swaps. Explain TRON concepts, suggest rental durations and calculate savings from renting versus burning.
When to use it
Useful when an assistant needs to work with TRON: checking energy or bandwidth prices, buying resources before a transfer, inspecting wallets and transactions, or sending tokens and calling contracts with automatic resource optimization.
Requirements
Either the hosted remote endpoint or the local npm package run through npx. Read-only tools work without credentials; trading and account tools need MERX_API_KEY, and sending, swapping and contract writes need TRON_PRIVATE_KEY (plus TRON_ADDRESS for contract calls). A funded MERX balance or per-use payment is needed to buy resources.
Before you install
TRON_PRIVATE_KEY is a wallet private key that authorizes real transfers, swaps and contract calls; anyone holding it controls the funds. Buying resources and sending tokens spend real TRX, and orders draw on a prepaid MERX balance. Write tools sign and broadcast on-chain transactions that cannot be reversed. The README also describes setting keys inside a conversation, which exposes them to the session.

Installation

In SourceWeft

  1. Open MERX - TRON Resource Exchange in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/exchange.merx%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "merx-tron-resource-exchange": {
      "type": "http",
      "url": "https://merx.exchange/mcp/sse"
    }
  }
}

README

MERX

https://MERX.exchange

TRON infrastructure for AI agents.

[MERX MCP server]

[smithery badge] [npm version] [License: MIT] [Tools] [Prompts] [Resources]

66 MCP tools. Energy market across 6 providers. USDT/USDC/USDD payments. x402 v2 facilitator on TRON mainnet.

Documentation | API Reference | MCP Server


Table of contents


What is MERX

MERX is the infrastructure layer for AI agents and agentic networks on TRON. Where Stripe is infrastructure for web commerce and Cloudflare for the open web, MERX is the missing infrastructure layer that lets autonomous AI agents discover, transact, and operate on TRON without ever touching energy, bandwidth, or low-level blockchain mechanics.

The platform exposes one coherent stack: 66-tool MCP server, agent payment service for TRC-20 stablecoins, x402 v2 facilitator (the only TRON facilitator in the coinbase/x402 ecosystem registry), GasFree transfers via a MERX-deployed mainnet controller, dedicated TRON RPC node, A2A (Google, 7 skills) and ACP (BeeAI, 7 capabilities) protocol coverage, and a natural language Policy Engine powered by Anthropic Claude.

Underneath those agent surfaces sits an energy aggregator across 6 active providers (CatFee, Netts, TronSave, iTRX, PowerSun, TEM) that routes resource purchases to the cheapest source automatically -- so when an agent calls send(), MERX estimates the energy required, buys only the deficit, and broadcasts the transaction. The agent never holds TRX or thinks about energy.

Any AI agent running in Claude, LangChain, CrewAI, Vertex AI, AutoGen, or BeeAI can send payments and acquire resources on TRON through a single integration with MERX.

Three ways to plug an agent into MERX:

  • MCP server -- 66 tools for AI agents. Hosted SSE at https://merx.exchange/mcp/sse (zero install) or local stdio via npx merx-mcp. Works with Claude, GPT, Cursor, Windsurf, and any MCP-compatible client.

  • Claude Code plugin -- one-line install for Claude Code. Auto-registers the MCP server, ships 6 slash commands and a tron-agent-engineer sub-agent. See Hovsteder/merx-claude-plugin.

  • REST API + SDKs -- direct programmatic access for agents that aren't using MCP. JavaScript (merx-sdk v2.1 on npm), Python (merx-sdk v2.1 on PyPI), or raw HTTP against /api/v1/ (70+ versioned endpoints).

For human users, the web platform at merx.exchange remains available for manual energy trading, dashboard, deposits, and withdrawals -- but the platform is built primarily for agents.


The problem

AI agents will become the dominant transactional users of stablecoins, and TRON -- home to USDD, $86B+ USDT, USDC, and the dominant chain for retail USDT in Southeast Asia, Africa, and Latin America -- is already the largest USDT-native network in the world.

But TRON has no infrastructure designed for agents:

  • No agent-native payment service. Existing TRON wallets are built for human users with mouse clicks and seed-phrase backups, not for autonomous programs that need to register addresses, send TRC-20s, watch for incoming payments, and create invoices via REST.

  • Energy and bandwidth are a UX dead-end. Every smart contract call on TRON requires energy. Without energy, TRX tokens burn as fees -- a single USDT transfer burns 3-13 TRX (~$1-4) for cold receivers. Renting energy from a provider drops the cost to ~$0.10 -- a 94% reduction -- but every provider has a different price, different API, different duration tiers, and different failure modes. No agent can be expected to manage that.

  • No x402 facilitator on TRON before MERX. The x402 protocol has already processed $43.57M in agent-to-agent payments on Base, Solana, Stellar, and Ethereum. TRON was completely absent from the coinbase/x402 ecosystem registry until MERX. Agents that wanted to pay for TRON-hosted APIs in USDT had no standardized way to do it.

  • Three agent protocols, zero TRON integrations. MCP (Anthropic), A2A (Google), and ACP (BeeAI) are the three major agent communication protocols. Until MERX, none of them had a deployed, production-grade TRON server. AI agents in Claude, Vertex AI, or BeeAI literally could not see TRON.

MERX builds the missing layer. AI agents call one API, hold zero TRX, and get paid / pay / send / receive in USDT, USDC, or USDD on the world's largest USDT network.

Without MERXWith MERX
Agent has to manage energy + bandwidth manuallysend() estimates and provisions resources automatically
Agent has to hold TRX as gasGasFree transfers — agents send stablecoins from zero-TRX wallets
Agent has to integrate every energy provider's APIOne MERX API routes to the cheapest of 6 providers
No way to pay for TRON-hosted APIs in USDTx402 v2 facilitator with full USDT/USDC/USDD support
No A2A/ACP discovery on TRONAgent Card + Manifest live, 7 skills, 7 capabilities
Agent has to write its own MCP server for TRON66 tools, 30 prompts, 21 resources, hosted
Address watching means polling RPCwatch() with sub-3-second webhook delivery via ZMQ

Platform overview

ComponentDescription
MCP server66 tools, 30 prompts, 21 resources for AI agents. Hosted SSE at https://merx.exchange/mcp/sse (zero install) or local stdio. SEP-1649 server card. The largest TRON-native MCP server in production.
Claude Code pluginOne-line install: /plugin marketplace add Hovsteder/merx-claude-plugin. Auto-registers MCP, 6 slash commands, sub-agent.
Agent Payment Serviceagent.merx.exchange -- non-custodial REST API. register, send, receive, watch, invoice, batch, schedule, contacts. USDT live; USDD/USDC next sprint.
x402 v2 Facilitatorx402.merx.exchange -- only TRON facilitator in the coinbase/x402 ecosystem registry. Three settlement schemes (exact, exact_permit, exact_gasfree) for USDT, USDC, USDD on TRON mainnet plus USDC on Base.
GasFree Transfer ServiceMainnet controller TKjJ1r5XYqnLZmLakcP3knis7Lh6gm3qtR activated 2026-04-08. TIP-712 PermitTransfer for USDT/USDC/USDD. Agents send stablecoins from zero-TRX wallets.
A2A Protocol (Google)Agent Card at /.well-known/agent.json. 7 skills including compile_policy. Task-based execution with SSE streaming. Compatible with LangChain, CrewAI, Vertex AI, AutoGen, Mastra.
ACP Protocol (BeeAI)Manifest at /.well-known/agent-manifest.json. 7 capabilities matching A2A skills. Run-based execution with long-polling.
Policy EngineNatural language → standing orders, powered by Anthropic Claude Sonnet 4. Available as MCP tool, A2A skill, and REST endpoint.
Energy aggregatorReal-time price comparison across 6 active providers (CatFee, Netts, TronSave, iTRX, PowerSun, TEM). Routes orders to cheapest source. Underneath the agent surfaces.
Dedicated TRON RPC noderpc.merx.exchange, sub-5ms read latency, 13.7ms broadcast. Trial 1,000 free requests; paid tiers with energy-spend waiver.
REST API70+ versioned endpoints under /api/v1/. Idempotency-Key on POST. Standard error format.
WebSocketReal-time TRC-20 transfer stream and price updates at wss://merx.exchange/ws.
JavaScript SDKmerx-sdk v2.1 -- AgentModule + SwapModule + 4 base modules. TypeScript types included.
Python SDKmerx-sdk v2.1 -- same surface in snake_case.
x402 middlewaremerx-x402 v2.0.0 -- one-line Express integration for x402 v2.
Documentation38+ pages at merx.exchange/docs. API reference, MCP/A2A/ACP guides, x402 integration.

Quick start

Four paths depending on your use case. For AI agents, paths 3 and 4 are the primary surfaces. Path 1 (web) is for human operators; path 2 (REST/SDK) is for direct programmatic integration.

Path 1: Web platform (humans)

Go to merx.exchange. Sign in. Deposit TRX. Manage energy, agent API keys, and balance through the dashboard. No code required.

Path 2: REST API / SDK (programmatic)

Install the JavaScript SDK:

bash
npm install merx-sdk

Use it in your application (replace merx_sk_your_key with your API key from merx.exchange):

typescript
import { MerxClient } from 'merx-sdk'
const merx = new MerxClient({ apiKey: 'merx_sk_your_key' })
// Get current prices from all providersconst prices = await merx.prices.list()console.log(prices[0])// { provider: "netts", price_sun: 22, available: 100000000 }
// Buy energy at best priceconst order = await merx.orders.create({  resource_type: 'ENERGY',  amount: 65000,  duration_sec: 300,  target_address: 'TYourAddress...',})console.log(order.status)   // "FILLED"console.log(order.cost_trx) // 1.4311

Python:

python
from merx import MerxClient
merx = MerxClient(api_key="merx_sk_your_key")
prices = merx.prices.list()order = merx.orders.create(    resource_type="ENERGY",    amount=65000,    duration_sec=300,    target_address="TYourAddress...")

curl (no SDK needed):

bash
# Public -- no auth requiredcurl https://merx.exchange/api/v1/prices
# Authenticatedcurl -X POST https://merx.exchange/api/v1/orders \  -H "Authorization: Bearer merx_sk_your_key" \  -H "Content-Type: application/json" \  -d '{    "resource_type": "ENERGY",    "amount": 65000,    "duration_sec": 300,    "target_address": "TYourAddress..."  }'

Path 3: Claude Code plugin (one-line install)

If you're using Claude Code, this is the fastest path. The plugin auto-registers the hosted MCP server, ships 6 slash commands, and includes a tron-agent-engineer sub-agent specialized in agentic payment workflows on TRON.

/plugin marketplace add Hovsteder/merx-claude-plugin/plugin install merx@merx

Then run /merx:setup to configure your MERX API key. Available commands:

CommandWhat it does
/merx:setupFirst-time setup: API key, connection test, capability tour
/merx:pricesLive TRON energy and bandwidth prices across all providers
/merx:buy-energyBuy energy via cheapest provider, delegated to a target address
/merx:balanceMERX prepaid balance, recent orders, free-tier usage
/merx:txLook up a TRON transaction with structured fields
/merx:sendSend TRC-20 stablecoin via the agent payment service

Source: github.com/Hovsteder/merx-claude-plugin.

Path 4: MCP for any AI agent (Claude, Cursor, Windsurf, custom)

Hosted (zero install) -- works with Claude.ai, Cursor, Windsurf, and any SSE-compatible MCP client:

json
{  "mcpServers": {    "merx": {      "url": "https://merx.exchange/mcp/sse"    }  }}

22 read-only tools are available immediately: prices, estimation, market analysis, on-chain queries, address lookups. No API key required.

To unlock trading tools, call set_api_key in any conversation:

set_api_key("merx_sk_your_key")-> All 34 authenticated tools unlocked for this session.

To unlock write tools (send TRX, swap tokens), call set_private_key:

set_private_key("your_64_char_hex_key")-> Address derived automatically. All 66 tools available.-> Key never leaves your machine.

Local (stdio) -- full power with keys set via environment variables:

bash
npm install -g merx
json
{  "mcpServers": {    "merx": {      "command": "npx merx-mcp",      "env": {        "MERX_API_KEY": "merx_sk_your_key",        "TRON_PRIVATE_KEY": "your_private_key"      }    }  }}

All 66 tools available from the first message.

Additional protocol support

MERX also exposes A2A and ACP for non-MCP orchestrators -- same backend, different discovery surface:

Access levels

ConfigurationToolsCapabilities
No keys22Prices, estimation, market analysis, on-chain queries, address lookups
+ MERX_API_KEY34+ Orders, balance, deposits, standing orders, monitors
+ TRON_PRIVATE_KEY66+ Send TRX/USDT/USDC/USDD, swap tokens, approve contracts, execute intents, agent payments

What sets MERX apart

The only complete agent stack on TRON

MERX is the only TRON project that runs all three major agent protocols as production-grade services: MCP (Anthropic), A2A (Google, 7 skills), and ACP (BeeAI, 7 capabilities). TronLink published a core MCP library (@tronlink/tronlink-mcp-core v0.1.0, March 2026) but it is explicitly a building block, not a hosted service. MERX is the only TRON entry in the coinbase/x402 ecosystem partner registry.

Agent payment service with sub-3-second receive

agent.merx.exchange is non-custodial: agents register their own TRON address and MERX never holds private keys or controls funds. The ZMQ event listener matches incoming TRC-20 transfers (USDT, USDC, USDD, plus any other token in real time) and dispatches webhooks within ~3 seconds of on-chain confirmation. watch() provides persistent 24/7 address monitoring with per-token filtering. invoice() creates payment requests with payment links and automatic detection. batch() sends up to 50 transfers in one call.

x402 v2 facilitator with full TRON stablecoin coverage

x402.merx.exchange implements the standard /verify, /settle, and /supported endpoints, so any x402 client (including the Coinbase CDP reference implementation) interoperates out of the box. Three settlement schemes live on TRON mainnet: exact (direct TRC-20 transfer), exact_permit and exact_gasfree (TIP-712 PermitTransfer through MERX's own GasFreeController contract). USDT, USDC, and USDD all settled on mainnet with verified txids and on-chain commission collection. Among 15 known x402 facilitators, MERX is the only one supporting the full TRON stablecoin set.

GasFree zero-TRX sends

The MERX-deployed GasFreeController contract TKjJ1r5XYqnLZmLakcP3knis7Lh6gm3qtR went live on mainnet 2026-04-08 with three verified mainnet permitTransfer settlements (USDT, USDC, USDD). Agents send stablecoins from wallets that hold zero TRX -- the controller pulls value+fee from a per-user GasFree subaccount and the executor pays the broadcast gas. Single biggest UX barrier for agents on TRON, removed.

Resource-aware transactions

Every write operation (TRC-20 transfer, token swap, contract call) automatically estimates energy AND bandwidth needed, buys the deficit at the best market price across 6 providers, waits for delegation to arrive on-chain, then executes. The agent never burns TRX unnecessarily. Tested on mainnet: a USDT transfer with auto-resources saves up to 94% compared to burning.

Exact energy simulation

Before buying energy for swaps and contract calls, MERX simulates the exact transaction via triggerConstantContract with real parameters. No hardcoded estimates -- the precise energy amount is purchased. For a SunSwap V2 swap, simulation returned 223,354 energy; the on-chain transaction used exactly 223,354.

Natural language Policy Engine

"Keep 500,000 energy on my wallet. Buy when price drops below 55 SUN. Max 200 TRX per week."

The Policy Engine (powered by Anthropic Claude Sonnet 4) parses this instruction, generates structured standing orders with triggers, budget limits, and expiration, previews them for the user, and creates everything with one confirmation. Available through MCP, A2A skill, and REST endpoint. No competitor can replicate this without their own Anthropic integration, standing order infrastructure, and real-time provider price feeds.

Multi-provider energy routing (under the agent surfaces)

All 6 active energy providers are aggregated (CatFee, Netts, TronSave, iTRX, PowerSun, TEM). Orders are routed to the cheapest source automatically. If one provider fails or runs out of capacity, the next cheapest fills the order. Prices cover both energy and bandwidth across every available duration tier.

Standing orders + delegation monitors

Server-side 24/7 automation stored in PostgreSQL. Trigger types: price_below, price_above, schedule (cron), balance_below, delegation_expiry. Persists across restarts. Works when the client is offline. Auto-renew with configurable max price.

Full MCP protocol

The only TRON MCP server using all three MCP primitives: tools (66), prompts (30), and resources (21 -- 14 static + 7 templates). Two transport modes: hosted SSE (zero install) and local stdio (full key management). Three protocol versions supported: 2024-11-05, 2025-03-26, 2025-06-18.


Architecture

Platform overview

mermaid
graph TB    User[User / Application / AI Agent]    Platform[MERX Platform<br>merx.exchange]    PM[Price Monitor<br>polls every 30s]    OE[Order Executor<br>routes to cheapest]    DV[Delegation Verifier<br>confirms on-chain]    TR[Treasury<br>balance management]    RPC[TronGrid / GetBlock<br>TRON RPC]    Providers[Energy Providers<br>all connected]    TRON[TRON Blockchain]
    User -->|Web / API / SDK / MCP| Platform    Platform --> PM    Platform --> OE    Platform --> DV    Platform --> TR    PM -->|Price polling| Providers    OE -->|Order routing<br>cheapest first| Providers    DV -->|Verify delegations| RPC    RPC --> TRON    Providers -->|Delegate energy<br>+ bandwidth| TRON
    style User fill:#1a1a2e,stroke:#B8963E,color:#F5F0E8    style Platform fill:#0C0B09,stroke:#B8963E,color:#F5F0E8    style TRON fill:#141310,stroke:#B8963E,color:#F5F0E8
ASCII diagram (if Mermaid does not render)
User / Application / AI Agent    |    | Web / REST API / SDK / MCP    v+----------------------------------+|         MERX Platform            ||         merx.exchange            ||                                  ||  +------------+ +-------------+  ||  |   Price    | |   Order     |  ||  |  Monitor   | |  Executor   |  ||  | (every 30s)| | (cheapest)  |  ||  +------------+ +-------------+  ||  +------------+ +-------------+  ||  | Delegation | |  Treasury   |  ||  |  Verifier  | |  Manager    |  ||  +------------+ +-------------+  |+----------------------------------+    |                    |    v                    vTronGrid / GetBlock   Energy Providers(TRON RPC)            (all connected)    |                    |    v                    v+----------------------------------+|        TRON Blockchain           |+----------------------------------+

Key architecture principle: All traffic goes through the MERX platform. Users never need TronGrid API keys. MERX manages all RPC infrastructure, caching, and failover server-side. The only operation that stays on the client: transaction signing with a private key. Private keys never leave the client process.

Resource-aware transaction flow

This sequence diagram shows a real USDT transfer with auto-resource optimization. Numbers are from production testing.

mermaid
sequenceDiagram    participant C as Client    participant M as MERX    participant P as Providers    participant T as TRON
    C->>M: POST /orders or transfer_trc20(USDT, 100, TAddr)    M->>M: POST /estimate (trc20_transfer)    Note over M: energy: 7,896 / bandwidth: 345    M->>M: GET /chain/resources/TSender    Note over M: energy: 0 / bandwidth: 0 / free BW: 600    Note over M: Energy deficit: 7,896 (round up to 65,000 min)<br>Bandwidth: 345 < 1,500 min order, skip    M->>P: Route order: ENERGY, 65,000, 300s    P-->>M: FILLED at 22 SUN (1.43 TRX)    Note over M: Poll every 2s until delegation arrives    M->>T: Verify delegation on sender address    T-->>M: energy: 65,050 available    Note over M: Sign TX (client-side if MCP, server-side if API)    M->>T: Broadcast signed TX    T-->>M: TX confirmed    M-->>C: USDT sent. Cost: 1.43 TRX.<br>Burn alternative: 3.66 TRX. Savings: 87.6%
ASCII diagram (if Mermaid does not render)
Client                  MERX                    Providers               TRON  |                       |                       |                      |  | order / transfer      |                       |                      |  |---------------------->|                       |                      |  |                       | estimate energy+BW    |                      |  |                       | energy: 7,896         |                      |  |                       | bandwidth: 345        |                      |  |                       |                       |                      |  |                       | check sender resources|                      |  |                       | energy: 0, BW: 0      |                      |  |                       |                       |                      |  |                       | [deficit: 7,896 -> round up to 65,000]      |  |                       | [BW: 345 < 1,500 min -> skip, burn ~0.3 TRX]|  |                       |                       |                      |  |                       | route to cheapest     |                      |  |                       |---------------------->|                      |  |                       |   FILLED 22 SUN       |                      |  |                       |   1.43 TRX            |                      |  |                       |<----------------------|                      |  |                       |                       |                      |  |                       | [poll until delegation arrives]              |  |                       |                       |                      |  |                       | verify delegation     |--------------------->|  |                       |   energy: 65,050      |<---------------------|  |                       |                       |                      |  |                       | [sign + broadcast]    |                      |  |                       |---------------------->|--------------------->|  |                       |                       |   TX confirmed       |  |                       |<----------------------|<---------------------|  |                       |                       |                      |  |   USDT sent           |                       |                      |  |   Cost: 1.43 TRX      |                       |                      |  |   Burn alt: 3.66 TRX  |                       |                      |  |   Savings: 87.6%      |                       |                      |  |<----------------------|                       |                      |

Resource purchase rules

RuleDetails
Energy deficit > 0Round up to minimum 65,000 units. Cheaper to buy minimum than to burn even small deficits.
Bandwidth deficit < 1,500Skip purchase, let network burn ~0.3 TRX. Cheaper than minimum bandwidth order.
After energy purchasePoll check_address_resources every 2 seconds until delegation arrives on-chain. Never broadcast TX before delegation is confirmed.
DEX swapsSimulate exact energy via triggerConstantContract with real swap parameters. No hardcoded estimates.

API overview

Base URL: https://merx.exchange/api/v1

All endpoints are versioned. Errors follow a standard format: { "error": { "code": "...", "message": "...", "details": { ... } } }. Idempotency-Key header supported on POST /orders and POST /withdraw.

Public endpoints (no authentication)

MethodEndpointDescription
GET/pricesCurrent energy and bandwidth prices from all providers
GET/prices/bestCheapest provider for given resource and amount
GET/prices/historyHistorical price snapshots by provider and period
GET/prices/statsPrice statistics: min, max, average, percentiles
GET/prices/analysisMarket analysis with trends and recommendations
GET/orders/previewPreview order cost without creating it
POST/estimateEstimate energy and bandwidth for any transaction type
GET/chain/account/:addressOn-chain account info
GET/chain/resources/:addressEnergy, bandwidth, and free BW for any address
GET/chain/transaction/:txidTransaction details by ID
GET/chain/block/:numberBlock info by number or latest
GET/chain/parametersTRON network parameters

Authenticated endpoints (API key required)

MethodEndpointDescription
POST/ordersCreate order -- routed to cheapest provider
GET/ordersList orders with optional status filter
GET/orders/:idOrder details with fills, TX hashes, verification
GET/balanceMERX account balance (TRX, USDT, locked)
GET/deposit/infoDeposit address and memo
POST/withdrawWithdraw TRX to external address
GET/historyAccount transaction history
GET/history/summaryHistory summary with totals
POST/keysCreate new API key
GET/keysList API keys
DELETE/keys/:idRevoke API key
POST/webhooksRegister webhook endpoint
GET/webhooksList registered webhooks
DELETE/webhooks/:idRemove webhook
POST/ensureEnsure minimum resources on an address
POST/standing-ordersCreate server-side standing order
GET/standing-ordersList standing orders
POST/monitorsCreate delegation or balance monitor
GET/monitorsList monitors

x402 endpoints (zero registration)

MethodEndpointDescription
POST/x402/invoiceCreate payment invoice
POST/x402/verifyVerify invoice payment

Full API reference: merx.exchange/docs/api


MCP server

MERX provides a full MCP (Model Context Protocol) server for AI agents. 66 tools across 18 categories, 30 pre-built prompts, and 21 live data resources.

Note: the tool catalog table below was last fully audited at 52 tools. Twelve newer tools (agent payment service, swap module, advanced standing orders) are documented at merx.exchange/docs/tools/mcp-server. The canonical count is 64, served by the live MCP server.

Tool categories

CategoryCountAuthDescription
Price Intelligence5--Real-time prices from all providers, market analysis, trends, history
Resource Estimation2--Estimate energy + bandwidth for any transaction type
Resource Trading4API keyBuy energy/bandwidth at best price, ensure resources on any address
Account Management3API keyBalance, deposit info, transaction history
Agent Convenience4--Explain concepts, suggest durations, calculate savings, list providers
On-chain Queries5--Account info, TRX/TRC20 balances, transaction lookup, blocks
Token Operations4Private keySend TRX, transfer TRC20, approve tokens -- all resource-aware
Smart Contracts3MixedRead contract state, estimate call cost, execute with auto-resources
Network Utilities5--Chain parameters, address tools, TRX price, on-chain history
DEX Swaps3Private keySunSwap V2 quotes, execution with exact energy simulation
Onboarding2--Create account + login, no browser needed
Payments4MixedSelf-deposit, auto-deposit config, x402 pay-per-use
Intent Execution2MixedMulti-step plans: simulate or execute complex sequences
Standing Orders4API keyServer-side 24/7 automation: price triggers, cron, monitors
Session Management2--Set API key and private key for current session
Total52

Prompts (30)

Pre-built conversation templates available in Claude Desktop prompt picker and via prompts/get in any MCP client.

GroupPromptsExamples
Market (5)buy-energy, buy-bandwidth, ensure-resources, market-analysis, compare-providers"Buy energy at best market price"
Transactions (5)send-usdt, send-trx, send-token, multi-transfer, explain-transaction"Send USDT with auto resource optimization"
Wallet (4)check-wallet, audit-spending, monitor-delegations, optimize-wallet"Full wallet overview with balances and delegations"
DEX (3)swap-tokens, check-token, price-check"Swap tokens via SunSwap"
Planning (3)estimate-costs, budget-plan, stake-vs-rent"Plan energy budget for a period"
Developer (2)integrate-merx, setup-mcp"How to integrate MERX API"
Onboarding (2)onboard, fund-account"Create account and get started"
Payments (2)setup-auto-funding, buy-without-account"x402 zero-registration purchase"
Simulation (2)simulate-plan, execute-plan"Simulate a multi-step plan"
Monitoring (2)setup-standing-order, auto-renew-delegations"Set up auto-renewal for delegations"

Resources (21)

14 static resources + 7 URI templates. Attach to conversations as context or subscribe for real-time updates.

ResourceURIUpdates
Energy pricesmerx://prices/energyEvery 30s
Bandwidth pricesmerx://prices/bandwidthEvery 30s
Best pricemerx://prices/bestEvery 30s
Market analysismerx://market/analysisEvery 5m
Provider listmerx://market/providersEvery 30s
Provider statusmerx://market/providers/statusEvery 30s
Account balancemerx://account/balanceOn change
Recent ordersmerx://account/orders/recentOn change
Account statsmerx://account/statsEvery 5m
Auto-deposit configmerx://account/auto-depositOn change
Network parametersmerx://network/parametersEvery 1h
TRX pricemerx://network/trx-priceEvery 1m
Token referencemerx://reference/tokensStatic
Standing ordersmerx://standing-orders/activeOn change

URI Templates:

TemplateDescription
merx://address/{address}/overviewFull address state: TRX, tokens, energy, bandwidth
merx://address/{address}/resourcesEnergy + bandwidth with free BW tracking
merx://address/{address}/transactionsRecent transactions with type and amounts
merx://address/{address}/delegationsActive delegations with expiry times
merx://token/{token}/infoToken metadata + price + transfer energy cost
merx://order/{order_id}/statusOrder details with fills and cost breakdown
merx://standing-order/{id}/statusStanding order trigger state and executions

Example conversations

Check prices and buy energy:

User: What is the cheapest energy right now?Agent: [calls get_prices] Cheapest energy is 22 SUN from Netts (5-minute       delegation). For 65,000 energy, that is 1.43 TRX.User: Buy it for TLyqz...Agent: [calls create_order] Done. 65,050 energy delegated via Netts.       Cost: 1.43 TRX. TX: 27ab0019... (verified on-chain).

Resource-aware USDT transfer:

User: Send 100 USDT to TAddr.Agent: [calls transfer_trc20] MERX estimated 7,896 energy needed,       bought 65,000 at 22 SUN, waited for delegation, signed and       broadcast. USDT sent. Cost: 1.43 TRX instead of 3.66 TRX.       Savings: 87.6%.

Market analysis:

User: Is now a good time to buy energy?Agent: [calls analyze_prices] Energy is at 22 SUN -- the 1st percentile       of the last 7 days. 64% below the weekly average of 62 SUN.       Trend: falling. Recommendation: good time to buy.

Full tool reference

All 66 tools with auth requirements. For input schemas and output examples, see docs/TOOLS.md.

Price Intelligence

#ToolDescriptionAuth
1get_pricesCurrent energy and bandwidth prices from all providers--
2get_best_priceCheapest provider for given resource and amount--
3analyze_pricesMarket analysis with trends, percentile, and recommendation--
4get_price_historyHistorical price snapshots by provider, resource, and period--
5compare_providersSide-by-side provider comparison with all duration tiers--

Resource Estimation

#ToolDescriptionAuth
6estimate_transaction_costEstimate energy + bandwidth for TRX/TRC20/custom operations--
7check_address_resourcesEnergy, bandwidth, free BW, and TRX balance for any address--

Resource Trading

#ToolDescriptionAuth
8create_orderBuy energy or bandwidth, routed to cheapest providerAPI key
9get_orderOrder details with fills, TX hashes, and verification statusAPI key
10list_ordersList orders with optional status filterAPI key
11ensure_resourcesDeclarative: ensure minimum energy/bandwidth on an addressAPI key

Account Management

#ToolDescriptionAuth
12get_balanceMERX account balance (TRX, USDT, locked)API key
13get_deposit_infoMERX deposit address and memoAPI key
14get_transaction_historyMERX account order history (7D/30D/90D)API key

Agent Convenience

#ToolDescriptionAuth
15explain_conceptExplain TRON concepts: energy, bandwidth, staking, delegation, sun_units--
16suggest_durationRecommend rental duration based on use case and TX count--
17calculate_savingsCalculate savings from renting vs burning for N transactions--
18list_providersAll providers with types, durations, and availability--

On-chain Queries

#ToolDescriptionAuth
19get_account_infoFull on-chain account: TRX, energy, bandwidth, limits--
20get_trx_balanceQuick TRX balance for any address--
21get_trc20_balanceTRC-20 token balance (supports symbol or contract address)--
22get_transactionLook up transaction by ID with status, energy, bandwidth used--
23get_blockBlock info by number (or latest)--

Token Operations

#ToolDescriptionAuth
24transfer_trxSend TRX with auto bandwidth optimizationPrivate key
25transfer_trc20Transfer TRC-20 tokens with auto energy + bandwidthPrivate key
26approve_trc20Approve TRC-20 spending allowance with auto energyPrivate key
27get_token_infoToken metadata: name, symbol, decimals, total supply--

Smart Contracts

#ToolDescriptionAuth
28read_contractCall view/pure contract functions (no gas, no signing)--
29estimate_contract_callEstimate energy + bandwidth for a contract call--
30call_contractExecute state-changing contract function with auto resourcesPrivate key

Network Utilities

#ToolDescriptionAuth
31get_chain_parametersTRON network parameters with MERX price comparison--
32convert_addressConvert between base58 (T...) and hex (41...) formats--
33get_trx_priceCurrent TRX price from CoinGecko--
34validate_addressValidate TRON address format and check on-chain status--
35search_transaction_historyOn-chain transaction history for any address--

DEX Swaps

#ToolDescriptionAuth
36get_swap_quoteReal SunSwap V2 quote with expected output and slippage--
37execute_swapExecute SunSwap swap with exact energy simulationPrivate key
38get_token_priceToken price via SunSwap pools + CoinGecko USD rate--

Onboarding

#ToolDescriptionAuth
39create_accountCreate MERX account and get API key--
40loginLog in to existing MERX account--

Payments

#ToolDescriptionAuth
41deposit_trxDeposit TRX to MERX from wallet (signs TX with memo)API key + Private key
42enable_auto_depositConfigure auto-deposit when balance drops below thresholdAPI key
43pay_invoicePay an existing x402 invoicePrivate key
44create_paid_orderx402 zero-registration order: invoice, pay, verify, orderPrivate key

Intent Execution

#ToolDescriptionAuth
45execute_intentExecute multi-step plan with resource optimizationAPI key
46simulateSimulate multi-step plan without executing--

Standing Orders and Monitors

#ToolDescriptionAuth
47create_standing_orderCreate server-side standing order with trigger + actionAPI key
48list_standing_ordersList standing orders with status filterAPI key
49create_monitorCreate persistent monitor (delegation, balance, price)API key
50list_monitorsList monitors with status filterAPI key

Session Management

#ToolDescriptionAuth
51set_api_keySet MERX API key for this session--
55set_private_keySet TRON private key for this session (address auto-derived)--

SDKs

JavaScript / TypeScript

bash
npm install merx-sdk
typescript
import { MerxClient } from 'merx-sdk'
const merx = new MerxClient({ apiKey: 'merx_sk_your_key' })
// 4 modules: prices, orders, balance, webhooksconst prices   = await merx.prices.list()const best     = await merx.prices.best({ resource: 'ENERGY' })const order    = await merx.orders.create({ ... })const status   = await merx.orders.get(order.id)const balance  = await merx.balance.get()const webhooks = await merx.webhooks.list()
PropertyValue
Packagemerx-sdk
Modulesprices, orders, balance, webhooks
Methods16
TypeScriptFull type definitions included
DependenciesZero
Node.js18+

Python

bash
pip install merx-sdk
python
from merx import MerxClient
merx = MerxClient(api_key="merx_sk_your_key")
# Same 4 modules, snake_caseprices  = merx.prices.list()best    = merx.prices.best(resource="ENERGY")order   = merx.orders.create(resource_type="ENERGY", amount=65000, ...)status  = merx.orders.get(order.id)balance = merx.balance.get()
PropertyValue
Packagemerx-sdk
Modulesprices, orders, balance, webhooks
Methods16
Type hintsFull type annotations
DependenciesZero
Python3.11+

REST API

No SDK required. All endpoints accept JSON and return JSON.

bash
# Get prices (public, no auth)curl https://merx.exchange/api/v1/prices
# Get best price for energycurl https://merx.exchange/api/v1/prices/best?resource=ENERGY
# Create order (authenticated)curl -X POST https://merx.exchange/api/v1/orders \  -H "Authorization: Bearer merx_sk_your_key" \  -H "Content-Type: application/json" \  -d '{"resource_type":"ENERGY","amount":65000,"duration_sec":300,"target_address":"TAddr..."}'
# Check balancecurl https://merx.exchange/api/v1/balance \  -H "Authorization: Bearer merx_sk_your_key"

Real-time data

WebSocket

Connect to wss://merx.exchange/ws for real-time price updates.

javascript
const ws = new WebSocket('wss://merx.exchange/ws')
ws.onopen = () => {  // Subscribe to all energy price updates  ws.send(JSON.stringify({ type: 'subscribe', channel: 'prices', resource: 'ENERGY' }))}
ws.onmessage = (event) => {  const data = JSON.parse(event.data)  // { provider: "netts", resource: "ENERGY", price_sun: 22, available: 100000000, ... }}
PropertyValue
Endpointwss://merx.exchange/ws
Channelsprices, orders, balance
Update frequencyEvery 30 seconds for prices
HeartbeatEvery 30 seconds
ReconnectClient-side with exponential backoff recommended

Webhooks

Register webhook endpoints to receive HTTP POST notifications for account events.

bash
curl -X POST https://merx.exchange/api/v1/webhooks \  -H "Authorization: Bearer merx_sk_your_key" \  -H "Content-Type: application/json" \  -d '{"url":"https://your-app.com/webhook","events":["order.filled","deposit.received"]}'
EventFired when
order.filledEnergy or bandwidth order has been filled by a provider
order.failedOrder failed after all provider attempts exhausted
deposit.receivedTRX deposit confirmed and credited to balance
withdrawal.completedTRX withdrawal broadcast and confirmed on-chain

Security: Every webhook request includes an X-Merx-Signature header containing an HMAC-SHA256 signature computed with your webhook secret. Verify this signature before processing. Failed deliveries are retried with exponential backoff.


Payment methods

MERX supports three ways to pay for energy and bandwidth.

1. Pre-funded MERX balance

Deposit TRX to your MERX account via the dashboard at merx.exchange or via the API. Trade directly from your balance. Best for high-volume users and teams.

bash
# Check balancecurl https://merx.exchange/api/v1/balance \  -H "Authorization: Bearer merx_sk_your_key"
# Response# { "available_trx": 45.20, "locked_trx": 1.43, "total_trx": 46.63 }

2. Self-deposit from agent wallet

The agent deposits TRX to MERX from its own wallet using the deposit_trx tool or API. The tool builds a TRX transfer with the correct memo, signs it locally, and broadcasts. Balance is credited in 1-2 minutes.

deposit_trx(amount: 10)-> TX: 4bc60854f828...8ddcd509-> 10 TRX deposited. Will be credited to your MERX balance shortly.

3. x402 pay-per-use

No account needed. No pre-deposit. Create an invoice, pay with TRX from any wallet, and receive energy delegation directly. Complete flow in one API call or one tool call via create_paid_order.

create_paid_order(amount: 65000, duration_sec: 300,  resource_type: "ENERGY", target_address: "THT49...")-> Invoice: inv_f41ffc2f...-> Payment TX: 53236a5a...-> Cost: 1.43 TRX-> Status: PENDING -> FILLED-> 65,050 energy delegated to THT49...
MethodSetup requiredBest forMin deposit
Pre-funded balanceAccount + dashboard depositHigh-volume users, teamsAny amount
Self-deposit (deposit_trx)API key + private keyAutonomous agentsAny amount
x402 (create_paid_order)Private key onlyOne-off purchases, no-account agentsPer-order

See docs/PAYMENT-METHODS.md for detailed flow diagrams.


Standing orders and monitors

Standing orders

Server-side 24/7 automation stored in PostgreSQL. Persists across restarts. Works when the client is offline.

Trigger types:

TriggerDescriptionExample
price_belowFire when best price drops below thresholdBuy 65,000 energy when price < 20 SUN
price_aboveFire when best price exceeds thresholdAlert when energy exceeds 50 SUN
scheduleCron-based scheduleBuy energy every day at 03:00 UTC
balance_belowFire when MERX balance drops below thresholdAuto-deposit 50 TRX when balance < 10 TRX

Action types:

ActionDescription
buy_resourceBuy specified amount of energy or bandwidth
ensure_resourcesEnsure minimum resources on target address
notify_onlySend notification via webhook

Example:

create_standing_order(  trigger: { type: "price_below", resource: "ENERGY", threshold_sun: 20 },  action: { type: "buy_resource", amount: 65000, duration_sec: 300 },  target_address: "TLyqz...",  max_executions: 10,  budget_trx: 15)
-> Standing Order: so_a1b2c3d4-> Status: ACTIVE-> Trigger: ENERGY price < 20 SUN-> Action: Buy 65,000 energy (5m)-> Budget: 15 TRX (10 executions max)

Delegation monitors

Watch delegations and resources on any address. Alert before expiry. Auto-renew with configurable max price.

Monitor typeDescriptionExample
delegation_expiryAlert before energy/bandwidth delegation expiresAlert 5 minutes before expiry, auto-renew at max 30 SUN
balance_thresholdAlert when TRX balance drops below thresholdAlert when balance < 5 TRX
price_alertAlert on price movementsAlert when energy price drops below 20 SUN

Example:

create_monitor(  type: "delegation_expiry",  address: "TLyqz...",  resource: "ENERGY",  alert_before_sec: 300,  auto_renew: true,  max_price_sun: 30)
-> Monitor: mon_e5f6g7h8-> Status: ACTIVE-> Type: delegation_expiry-> Alert: 5 minutes before expiry-> Auto-renew: Yes (max 30 SUN)

Savings calculator

Energy is the expensive resource on TRON. These numbers show the cost difference between burning TRX (no energy) and renting energy through MERX.

ResourcePurposeFree dailyWithout it
EnergySmart contract execution (USDT transfers, swaps, approvals)0 (must stake or rent)TRX burned at network rate
BandwidthTransaction serialization (every TX needs some)600 bytes/dayTRX burned at network rate

Cost comparison

ScenarioBurn cost (no energy)Rental cost (MERX)Savings
1 USDT transfer3-13 TRX1.43 TRX56-89%
10 USDT transfers30-130 TRX14.30 TRX52-89%
100 USDT transfers/day300-1,300 TRX143 TRX52-89%
SunSwap swap (small)~50 TRX~4.91 TRX~90%
Contract call (simple)~1 TRX~0.09 TRX~91%

Numbers assume the cheapest available provider at time of order. Actual burn cost varies by recipient address state (whether it has held the token before).

How it works

1 TRX = 1,000,000 SUN. Energy is priced in SUN per unit. A USDT transfer needs approximately 65,000 energy units. At 22 SUN per unit, that is 65,000 x 22 = 1,430,000 SUN = 1.43 TRX. Without energy, the network burns 3-13 TRX from the sender depending on the recipient's account state.


Error handling

All errors follow a standard format across API, SDKs, and MCP:

json
{  "error": {    "code": "INSUFFICIENT_BALANCE",    "message": "MERX balance too low. Need 1.43 TRX, have 0.50 TRX.",    "details": {      "required_trx": 1.43,      "available_trx": 0.50    }  }}

Common error codes

CodeDescriptionResolution
INSUFFICIENT_BALANCEMERX account balance too lowDeposit TRX via dashboard or deposit_trx
PROVIDER_UNAVAILABLEAll providers failed for this orderTry again later or increase max price
INVALID_ADDRESSTRON address format invalidCheck address starts with T and is 34 characters
DELEGATION_TIMEOUTEnergy delegation did not arrive within timeoutCheck order status with get_order
SIMULATION_FAILEDContract call simulation failedCheck contract address and function parameters
PRIVATE_KEY_REQUIREDOperation requires TRON private keySet TRON_PRIVATE_KEY env var or call set_private_key
API_KEY_REQUIREDOperation requires MERX API keySet MERX_API_KEY env var or call set_api_key
ORDER_MIN_AMOUNTAmount below minimum order sizeEnergy minimum: 65,000. Bandwidth minimum: 1,500

Security

Private key handling

  • Private keys are set via environment variable (TRON_PRIVATE_KEY) or the set_private_key tool in-session.
  • Keys never leave the client process. All transaction signing happens locally.
  • The MERX API never receives private keys.
  • The set_private_key tool derives the TRON address automatically -- the user only provides the 64-character hex key.

API key handling

  • API keys authenticate with the MERX API for trading operations.
  • Keys can be set via environment variable (MERX_API_KEY) or the set_api_key tool in-session.
  • Create an account and get an API key without leaving the conversation using the create_account tool.

What MERX can and cannot do

With private keyWithout private key
Sign and broadcast transactionsRead-only operations only
Send TRX and TRC-20 tokensCheck prices and balances
Execute swapsGet swap quotes
Approve contractsEstimate costs
Deposit TRX to MERXView market data

Tested on mainnet

Every capability was tested in production on TRON mainnet. These are not simulations -- every TX hash is verifiable on TronScan.

Verified transactions

CategoryOperationTX HashStatusDetails
Token Operationstransfer_trxb22813a813c3...990e7955SUCCESS0.1 TRX sent, 267 bandwidth consumed
Paymentsdeposit_trx4bc60854f828...8ddcd509SUCCESS10 TRX deposited to MERX with memo, credited to balance
Token Operationsapprove_trc2056fc87f319b9...0bf5ffbbSUCCESSUSDT approval, 99,764 energy consumed
Smart Contractscall_contractfc55aee3dc50...4bb5c1bfSUCCESSname() call on contract, 4,098 energy consumed
DEX Swapsexecute_swap61424b1e89a0...d066d21577SUCCESS0.1 TRX -> 0.032 USDT via SunSwap V2, 223,354 energy (exactly as simulated)
Resource Tradingcreate_order8adac3b8a859...4e69e4caFILLED65,050 energy via Netts at 22 SUN, 1.43 TRX
Paymentscreate_paid_order53236a5aeba0...984dec7bSUCCESSx402 flow: 1.43 TRX invoice paid, 65,050 energy delegated

Key findings from mainnet testing

MetricValue
USDT transfer energy (typical)65,000 units
USDT transfer cost (rented energy)1.43 TRX
USDT transfer cost (burned)3-13 TRX
Maximum savings observed94%
SunSwap swap energy (0.1 TRX -> USDT)223,354 units (exact simulation match)
SunSwap swap output0.032094 USDT for 0.1 TRX
x402 payment flowInvoice -> pay -> verify -> order -> fill -> delegate (one call)
Energy delegation confirmation2-6 seconds after order fill

Comparison with alternatives

Factual comparison based on publicly available information.

FeatureMERXSun ProtocolNetts MCPTronLink MCPPowerSun MCP
MCP Tools55~20~102727
MCP Prompts300000
MCP Resources210000
REST API70+ endpointsNoNoNoNo
JavaScript SDKYesNoNoNoNo
Python SDKYesNoNoNoNo
WebSocketYesNoNoNoNo
Web exchangeYesNoNoNoNo
Transportstdio + SSEstdiostdiostdioSSE
Energy providersAll connected0101
Bandwidth supportYesNoNoNoNo
Auto resource purchaseEnergy + BWNoNoNoEnergy only
Exact energy simulationYesNoNoNoNo
Intent executionYesNoNoNoNo
Standing orders (24/7)YesNoNoNoNo
Delegation monitorsYesNoNoNoNo
x402 pay-per-useYesNoNoNoNo
DEX swapsYesNoNoNoYes
Zero install optionYes (SSE)NoNoNoYes (SSE)
Private key requiredOptionalYesYesYesNo
WebhooksYesNoNoNoNo
Tested on mainnet7 TX verifiedUnknownUnknownUnknownUnknown

MERX covers resource economics, transaction optimization, and general blockchain operations. Other servers focus on one area.


Documentation


License

MIT. See LICENSE.

Source: README.md at commit 6bb1492

Tools

66

get_prices

Get an executable MERX quote when resource, amount, fixed-grid duration and target_address are supplied. The response names the quoted provider. Without all four fields, returns raw provider observations labelled as non-executable analytics.

Parametersamountdurationresourcetarget_address

get_best_price

Get the exact executable MERX quote and quoted provider. Requires resource, amount, a fixed-grid duration, and target_address.

Parametersamountrequireddurationrequiredresourcerequiredtarget_addressrequired

analyze_prices

Market price analysis with trends and recommendations. No auth required.

Parametersresource

get_price_history

Historical price snapshots. No auth required.

Parametersperiodproviderresource

compare_providers

Show raw provider observations for market analytics. This tool does not identify an executable provider; use get_best_price for an executable quote.

Parametersresource

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.

Parametersamountoperationrequiredparameterto_addressfrom_addresstoken_addresscontract_addressfunction_selector

check_address_resources

Check energy, bandwidth, and TRX balance for any TRON address. No auth required.

Parametersaddressrequired

create_order

Buy energy or bandwidth at the Merx market quote. Confirmed Merx funds and API key required; no commission.

Parametersamountrequiredduration_secrequiredmax_price_sunresource_typerequiredtarget_addressrequiredidempotency_keyrequired

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).

Parametersorder_idrequired

list_orders

List recent orders with optional status filter. Auth required.

Parameterslimitstatus

ensure_resources

Declarative resource provisioning. Checks current resources on target address and purchases only what is missing. Auth required.

Parametersduration_secenergy_minimumtarget_addressrequiredidempotency_keyrequiredbandwidth_minimum

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.

Parametersorder_idrequiredtimeout_secpoll_interval_sec

get_balance

Get your Merx account balance (TRX, USDT, locked). Requires MERX_API_KEY.

Takes no parameters.

get_deposit_info

Get your personal TRON address for TRX deposits. No memo is required. Requires MERX_API_KEY.

Takes no parameters.

get_transaction_history

Get your Merx account transaction history. Requires MERX_API_KEY.

Parametersperiod

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.

Parameterstopicrequired

suggest_duration

Recommend a supported duration and return the executable MERX quote and quoted provider for a target address.

Parametersuse_caserequiredtarget_addressrequiredtransaction_count

calculate_savings

Calculate savings from renting energy vs burning TRX. No authentication required.

Parametersoperationtarget_addressrequiredtransaction_count

list_providers

List all Merx providers with types, durations, and availability. No authentication required.

Takes no parameters.

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.

Parametersaddressrequired

get_trx_balance

Quick TRX balance for a TRON address. No auth required.

Parametersaddressrequired

get_trc20_balance

Get TRC-20 token balance for an address. Supports symbol (USDT, USDC) or contract address. No auth required.

Parameterstokenrequiredaddressrequired

get_transaction

Look up a transaction by ID on TRON. No auth required.

Parameterstx_idrequired

get_block

Get TRON block info by number (or latest if omitted). No auth required.

Parametersblock_number

get_chain_parameters

Get TRON network parameters (energy fee, bandwidth cost, etc.) with Merx price comparison. No auth required.

Takes no parameters.

convert_address

Convert TRON address between base58 (T...) and hex (41...) formats. No auth required.

Parametersaddressrequired

get_trx_price

Get current TRX price from CoinGecko. No auth required.

Parameterscurrency

validate_address

Validate a TRON address format and check on-chain status. No auth required.

Parametersaddressrequired

search_transaction_history

Get on-chain transaction history for a TRON address. No auth required.

Parameterstypelimitaddressrequired

transfer_trx

Send TRX to an address. Checks bandwidth, buys via Merx if needed. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.

Parametersamount_trxrequiredto_addressrequiredresource_operation_id

transfer_trc20

Transfer TRC-20 tokens with automatic energy optimization. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.

Parameterstokenrequiredamountrequiredto_addressrequiredresource_operation_id

approve_trc20

Approve TRC-20 spending allowance. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.

Parameterstokenrequiredamountrequiredspenderrequiredresource_operation_id

get_token_info

Get TRC-20 token metadata: name, symbol, decimals, total supply. No auth required.

Parameterstokenrequired

read_contract

Call a view/pure function on a TRON smart contract. No auth or private key required.

Parametersparametercontract_addressrequiredfunction_selectorrequired

estimate_contract_call

Estimate energy and bandwidth cost for a smart contract call. Compares rental vs burn cost. No auth required.

Parametersparametercaller_addresscontract_addressrequiredfunction_selectorrequired

call_contract

Execute a state-changing smart contract function. Estimates resources, buys via Merx if needed. Requires TRON_PRIVATE_KEY and TRON_ADDRESS.

Parametersparametercall_value_trxcontract_addressrequiredfunction_selectorrequiredresource_operation_id

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.

Parametersaddressrequired

get_swap_quote

Get a real swap quote from SunSwap V2. No auth required.

Parametersamountrequiredslippageto_tokenrequiredfrom_tokenrequired

execute_swap

Execute a token swap on SunSwap V2. Requires TRON_PRIVATE_KEY.

Parametersamountrequiredslippageto_tokenrequiredfrom_tokenrequiredresource_operation_id

get_token_price

Get token price via SunSwap quote + CoinGecko USD rate. No auth required.

Parameterstokenrequired

create_account

Create a new Merx account, generate an API key, and get deposit info. No auth needed.

Parametersemailrequiredpasswordrequired

login

Log in to an existing Merx account. No MERX_API_KEY needed.

Parametersemailrequiredpasswordrequired

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.

Parametersapi_keyrequired

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.

Parametersprivate_keyrequired

deposit_trx

Send a plain TRX transfer to your personal Merx deposit address. No memo is required. Broadcast acceptance does not mean the deposit is credited. Requires MERX_API_KEY + TRON_PRIVATE_KEY.

Parametersamount_trxrequired

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 as plain TRX transfers to your personal Merx deposit address, without a memo. For persistent auto-deposit you currently need to call this tool again at the start of each session.

Parametersthreshold_trxrequireddeposit_amount_trxrequiredmax_daily_deposits

pay_invoice

Unavailable legacy resource-invoice payment. No transaction is sent. Fund your personal Merx account and use quoted resource orders instead.

Parametersinvoice_idrequired

create_paid_order

Unavailable legacy resource-invoice order. No transaction is sent. Fund your personal Merx account and use quoted resource orders instead.

Parametersamountrequiredduration_secrequiredresource_typerequiredtarget_addressrequired

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.

Parametersstepsrequireddry_runresource_strategy

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.

Parametersstepsrequiredresource_strategy

create_standing_order

Create a server-side standing order with trigger-based automation. Auth required.

Parametersbudget_trxrequiredexpires_ataction_typerequiredtrigger_typerequiredaction_paramsrequiredmax_executionsrequiredtrigger_paramsrequired

list_standing_orders

List all standing orders with optional status filter. Auth required.

Parametersstatus

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).

Parametersorder_idrequired

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).

Parametersorder_idrequired

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).

Parametersnotifyparamsrequiredmonitor_typerequiredtarget_address

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).

Parametersstatus

cancel_monitor

Cancel an active monitor by its UUID. The monitor stops firing notifications. Auth required (API key).

Parametersmonitor_idrequired

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.

Parametersamountaddressrequiredcurrencyamount_trx

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.

Parametersapplyaddressinstructionrequired

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.

Parameterssigned_txrequiredtarget_addressrequired

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).

Parameterslabeltron_addressrequired

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.

Parametersamount_usdtrequireddescriptionwebhook_urltolerance_pcttimeout_seconds

lookup_invoice

Look up a MERX invoice. Shows amount, recipient, token, and status. Agent must sign and broadcast the transfer separately (non-custodial).

Parametersinvoice_idrequired

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).

Parametersexpires_inamount_usdtrequireddescription

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.

Parametersaddressrequiredttl_hoursevent_typeswebhook_urlrequiredmin_amount_usdt

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.

Takes no parameters.

Version history

1
  1. v1.0.5LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Merx integrations