Hovsteder

MERX

Community Hovsteder
Updated

The complete TRON infrastructure layer for AI agents. 52 tools, 30 prompts, 21 resources. Buy energy, send USDT, swap tokens, simulate transactions — all with automatic resource optimization. One config line.

MERX

https://MERX.exchange

The first TRON resource exchange.

npm versionLicense: MITToolsPromptsResources

One platform. Every energy and bandwidth provider. Best price automatically.

Documentation | API Reference | MCP Server

Table of contents

  • What is MERX
  • The problem
  • Platform overview
  • Quick start
  • What sets MERX apart
  • Architecture
  • API overview
  • MCP server
  • SDKs
  • Real-time data
  • Payment methods
  • Standing orders and monitors
  • Savings calculator
  • Error handling
  • Security
  • Tested on mainnet
  • Comparison with alternatives
  • Documentation
  • License

What is MERX

MERX is a TRON resource exchange that aggregates every major energy and bandwidthprovider into a single platform. It monitors prices across all connected providersevery 30 seconds, compares every duration tier, and routes orders to the cheapestavailable source automatically. If a provider fails or runs out of capacity, thenext cheapest fills the order. No manual comparison. No provider lock-in.

The platform handles the full resource lifecycle: price discovery, order routing,delegation verification, and transaction execution. All amounts are tracked in SUNinternally (1 TRX = 1,000,000 SUN) for precision.

Three ways to use MERX:

  • Web platform at merx.exchange -- trade energy andbandwidth through the dashboard, manage deposits and withdrawals, view orderhistory, and monitor delegations.

  • REST API + SDKs -- integrate TRON resource management into any applicationwith JavaScript, Python, or raw HTTP. 46 endpoints covering prices, orders,balance, deposits, withdrawals, webhooks, and API key management.

  • MCP server -- give AI agents full TRON access through 52 tools, 30 prompts,and 21 resources. Works with Claude, GPT, Cursor, and any MCP-compatible client.Zero install via hosted SSE, or run locally via stdio.

The problem

Every smart contract call on TRON requires energy. Without energy, TRX tokens areburned as fees. A single USDT transfer burns 3-13 TRX depending on whether thereceiving address has held USDT before (approximately $1-4 at current prices).With rented energy, the same transfer costs 0.17-1.43 TRX. That is up to a94% reduction in transaction costs.

High-volume wallets -- exchanges, payment processors, trading bots -- burnthousands of TRX daily without resource optimization.

The TRON energy market is fragmented. Each provider has different prices (22-80 SUNper unit), different APIs, different durations (5 minutes to 30 days). Prices changeevery 30 seconds. No single tool aggregates them all, compares prices in real time,and routes orders to the cheapest source.

MERX solves this by aggregating all connected providers behind one API.

Without MERX With MERX
Check every provider website for prices One API call returns all prices sorted
Compare across duration tiers manually Automatic routing to cheapest source
Create accounts on each provider One MERX account covers all providers
Fund each provider separately One balance, one deposit address
Handle each provider's unique API Unified API, unified SDKs
No fallback if a provider fails Automatic failover to next cheapest
No bandwidth optimization Energy and bandwidth handled together
Build and sign transactions manually Resource-aware TX execution included

Platform overview

Component Description
Web exchange Trade energy and bandwidth at merx.exchange. Dashboard with real-time prices, order management, balance, and history.
REST API 46 endpoints covering prices, orders, balance, deposits, withdrawals, webhooks, and API keys. Versioned at /api/v1/.
WebSocket Real-time price stream at wss://merx.exchange/ws. Subscribe to specific providers or all. Heartbeat every 30 seconds.
Webhooks Events: order.filled, order.failed, deposit.received, withdrawal.completed. HMAC-SHA256 signed. Auto-retry on failure.
JavaScript SDK @merx/sdk -- 4 modules (prices, orders, balance, webhooks), 16 methods. TypeScript types included. Zero dependencies.
Python SDK merx-sdk -- same 4 modules in snake_case. Zero dependencies. Python 3.11+.
MCP server 52 tools, 30 prompts, 21 resources for AI agents. Hosted SSE (zero install) or local stdio.
Documentation 36 pages at merx.exchange/docs. API reference, guides, examples.
Price widget Embeddable widget for external sites showing live energy and bandwidth prices.

Quick start

Three paths depending on your use case.

Path 1: Web platform

Go to merx.exchange. Sign in. Deposit TRX. Trade energyand bandwidth at the best available price. No code required.

Path 2: API / SDK

Install the JavaScript SDK:

npm install @merx/sdk

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

import { MerxClient } from '@merx/sdk'

const merx = new MerxClient({ apiKey: 'merx_sk_your_key' })

// Get current prices from all providers
const prices = await merx.prices.list()
console.log(prices[0])
// { provider: "netts", price_sun: 22, available: 100000000 }

// Buy energy at best price
const 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:

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

# Public -- no auth required
curl https://merx.exchange/api/v1/prices

# 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": "TYourAddress..."
  }'

Path 3: MCP for AI agents

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

{
  "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 52 tools available.
-> Key never leaves your machine.

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

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

All 52 tools available from the first message.

Access levels

Configuration Tools Capabilities
No keys 22 Prices, estimation, market analysis, on-chain queries, address lookups
+ MERX_API_KEY 34 + Orders, balance, deposits, standing orders, monitors
+ TRON_PRIVATE_KEY 52 + Send TRX/USDT, swap tokens, approve contracts, execute intents

What sets MERX apart

Multi-provider routing

All connected energy and bandwidth providers are aggregated. Orders are routed tothe cheapest source automatically. If one provider fails or runs out of capacity,the next cheapest fills the order. Prices cover both energy and bandwidth acrossevery available duration tier.

Resource-aware transactions

Every write operation (USDT transfer, token swap, contract call) automaticallyestimates energy AND bandwidth needed, buys the deficit at the best market price,waits for delegation to arrive on-chain, then executes. The caller never burns TRXunnecessarily. Tested on mainnet: a USDT transfer with auto-resources saves up to94% compared to burning.

Exact energy simulation

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

Intent execution

Describe a multi-step plan (transfer + swap + another transfer). MERX simulates allsteps, estimates total resource cost, and executes sequentially. Stateful simulation:energy consumed by step 1 is not available for step 2. Accurate total cost estimatesfor complex workflows.

Standing orders

Server-side 24/7 automation stored in PostgreSQL. Example: "Buy 65,000 energy whenprice drops below 20 SUN." Trigger types: price_below, price_above, schedule(cron), balance_below. Persists across restarts. Works when the client is offline.

Delegation monitors

Watch energy and bandwidth delegations on any address. Alert before expiry.Auto-renew with configurable max price. Monitor types: delegation_expiry,balance_threshold, price_alert.

x402 pay-per-use

No account needed. No pre-deposit. Create an invoice, pay with TRX from any wallet,and receive energy delegation. Complete flow in one API call. Tested on mainnet:1.43 TRX payment resulted in 65,050 energy delegated.

Full MCP protocol

The only TRON MCP server using all three MCP primitives: tools (52), prompts (30),and resources (21 -- 14 static + 7 templates). Two transport modes: hosted SSE(zero install) and local stdio (full key management).

Architecture

Platform overview

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                    v
TronGrid / GetBlock   Energy Providers
(TRON RPC)            (all connected)
    |                    |
    v                    v
+----------------------------------+
|        TRON Blockchain           |
+----------------------------------+

Key architecture principle: All traffic goes through the MERX platform. Usersnever need TronGrid API keys. MERX manages all RPC infrastructure, caching, andfailover server-side. The only operation that stays on the client: transactionsigning 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.

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

Rule Details
Energy deficit > 0 Round up to minimum 65,000 units. Cheaper to buy minimum than to burn even small deficits.
Bandwidth deficit < 1,500 Skip purchase, let network burn ~0.3 TRX. Cheaper than minimum bandwidth order.
After energy purchase Poll check_address_resources every 2 seconds until delegation arrives on-chain. Never broadcast TX before delegation is confirmed.
DEX swaps Simulate 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)

Method Endpoint Description
GET /prices Current energy and bandwidth prices from all providers
GET /prices/best Cheapest provider for given resource and amount
GET /prices/history Historical price snapshots by provider and period
GET /prices/stats Price statistics: min, max, average, percentiles
GET /prices/analysis Market analysis with trends and recommendations
GET /orders/preview Preview order cost without creating it
POST /estimate Estimate energy and bandwidth for any transaction type
GET /chain/account/:address On-chain account info
GET /chain/resources/:address Energy, bandwidth, and free BW for any address
GET /chain/transaction/:txid Transaction details by ID
GET /chain/block/:number Block info by number or latest
GET /chain/parameters TRON network parameters

Authenticated endpoints (API key required)

Method Endpoint Description
POST /orders Create order -- routed to cheapest provider
GET /orders List orders with optional status filter
GET /orders/:id Order details with fills, TX hashes, verification
GET /balance MERX account balance (TRX, USDT, locked)
GET /deposit/info Deposit address and memo
POST /withdraw Withdraw TRX to external address
GET /history Account transaction history
GET /history/summary History summary with totals
POST /keys Create new API key
GET /keys List API keys
DELETE /keys/:id Revoke API key
POST /webhooks Register webhook endpoint
GET /webhooks List registered webhooks
DELETE /webhooks/:id Remove webhook
POST /ensure Ensure minimum resources on an address
POST /standing-orders Create server-side standing order
GET /standing-orders List standing orders
POST /monitors Create delegation or balance monitor
GET /monitors List monitors

x402 endpoints (zero registration)

Method Endpoint Description
POST /x402/invoice Create payment invoice
POST /x402/verify Verify invoice payment

Full API reference: merx.exchange/docs/api-reference

MCP server

MERX provides a full MCP (Model Context Protocol) server for AI agents. 52 toolsacross 15 categories, 30 pre-built prompts, and 21 live data resources.

Tool categories

Category Count Auth Description
Price Intelligence 5 -- Real-time prices from all providers, market analysis, trends, history
Resource Estimation 2 -- Estimate energy + bandwidth for any transaction type
Resource Trading 4 API key Buy energy/bandwidth at best price, ensure resources on any address
Account Management 3 API key Balance, deposit info, transaction history
Agent Convenience 4 -- Explain concepts, suggest durations, calculate savings, list providers
On-chain Queries 5 -- Account info, TRX/TRC20 balances, transaction lookup, blocks
Token Operations 4 Private key Send TRX, transfer TRC20, approve tokens -- all resource-aware
Smart Contracts 3 Mixed Read contract state, estimate call cost, execute with auto-resources
Network Utilities 5 -- Chain parameters, address tools, TRX price, on-chain history
DEX Swaps 3 Private key SunSwap V2 quotes, execution with exact energy simulation
Onboarding 2 -- Create account + login, no browser needed
Payments 4 Mixed Self-deposit, auto-deposit config, x402 pay-per-use
Intent Execution 2 Mixed Multi-step plans: simulate or execute complex sequences
Standing Orders 4 API key Server-side 24/7 automation: price triggers, cron, monitors
Session Management 2 -- Set API key and private key for current session
Total 52

Prompts (30)

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

Group Prompts Examples
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 orsubscribe for real-time updates.

Resource URI Updates
Energy prices merx://prices/energy Every 30s
Bandwidth prices merx://prices/bandwidth Every 30s
Best price merx://prices/best Every 30s
Market analysis merx://market/analysis Every 5m
Provider list merx://market/providers Every 30s
Provider status merx://market/providers/status Every 30s
Account balance merx://account/balance On change
Recent orders merx://account/orders/recent On change
Account stats merx://account/stats Every 5m
Auto-deposit config merx://account/auto-deposit On change
Network parameters merx://network/parameters Every 1h
TRX price merx://network/trx-price Every 1m
Token reference merx://reference/tokens Static
Standing orders merx://standing-orders/active On change

URI Templates:

Template Description
merx://address/{address}/overview Full address state: TRX, tokens, energy, bandwidth
merx://address/{address}/resources Energy + bandwidth with free BW tracking
merx://address/{address}/transactions Recent transactions with type and amounts
merx://address/{address}/delegations Active delegations with expiry times
merx://token/{token}/info Token metadata + price + transfer energy cost
merx://order/{order_id}/status Order details with fills and cost breakdown
merx://standing-order/{id}/status Standing 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 52 tools with auth requirements. For input schemas and output examples, seedocs/TOOLS.md.

Price Intelligence

# Tool Description Auth
1 get_prices Current energy and bandwidth prices from all providers --
2 get_best_price Cheapest provider for given resource and amount --
3 analyze_prices Market analysis with trends, percentile, and recommendation --
4 get_price_history Historical price snapshots by provider, resource, and period --
5 compare_providers Side-by-side provider comparison with all duration tiers --

Resource Estimation

# Tool Description Auth
6 estimate_transaction_cost Estimate energy + bandwidth for TRX/TRC20/custom operations --
7 check_address_resources Energy, bandwidth, free BW, and TRX balance for any address --

Resource Trading

# Tool Description Auth
8 create_order Buy energy or bandwidth, routed to cheapest provider API key
9 get_order Order details with fills, TX hashes, and verification status API key
10 list_orders List orders with optional status filter API key
11 ensure_resources Declarative: ensure minimum energy/bandwidth on an address API key

Account Management

# Tool Description Auth
12 get_balance MERX account balance (TRX, USDT, locked) API key
13 get_deposit_info MERX deposit address and memo API key
14 get_transaction_history MERX account order history (7D/30D/90D) API key

Agent Convenience

# Tool Description Auth
15 explain_concept Explain TRON concepts: energy, bandwidth, staking, delegation, sun_units --
16 suggest_duration Recommend rental duration based on use case and TX count --
17 calculate_savings Calculate savings from renting vs burning for N transactions --
18 list_providers All providers with types, durations, and availability --

On-chain Queries

# Tool Description Auth
19 get_account_info Full on-chain account: TRX, energy, bandwidth, limits --
20 get_trx_balance Quick TRX balance for any address --
21 get_trc20_balance TRC-20 token balance (supports symbol or contract address) --
22 get_transaction Look up transaction by ID with status, energy, bandwidth used --
23 get_block Block info by number (or latest) --

Token Operations

# Tool Description Auth
24 transfer_trx Send TRX with auto bandwidth optimization Private key
25 transfer_trc20 Transfer TRC-20 tokens with auto energy + bandwidth Private key
26 approve_trc20 Approve TRC-20 spending allowance with auto energy Private key
27 get_token_info Token metadata: name, symbol, decimals, total supply --

Smart Contracts

# Tool Description Auth
28 read_contract Call view/pure contract functions (no gas, no signing) --
29 estimate_contract_call Estimate energy + bandwidth for a contract call --
30 call_contract Execute state-changing contract function with auto resources Private key

Network Utilities

# Tool Description Auth
31 get_chain_parameters TRON network parameters with MERX price comparison --
32 convert_address Convert between base58 (T...) and hex (41...) formats --
33 get_trx_price Current TRX price from CoinGecko --
34 validate_address Validate TRON address format and check on-chain status --
35 search_transaction_history On-chain transaction history for any address --

DEX Swaps

# Tool Description Auth
36 get_swap_quote Real SunSwap V2 quote with expected output and slippage --
37 execute_swap Execute SunSwap swap with exact energy simulation Private key
38 get_token_price Token price via SunSwap pools + CoinGecko USD rate --

Onboarding

# Tool Description Auth
39 create_account Create MERX account and get API key --
40 login Log in to existing MERX account --

Payments

# Tool Description Auth
41 deposit_trx Deposit TRX to MERX from wallet (signs TX with memo) API key + Private key
42 enable_auto_deposit Configure auto-deposit when balance drops below threshold API key
43 pay_invoice Pay an existing x402 invoice Private key
44 create_paid_order x402 zero-registration order: invoice, pay, verify, order Private key

Intent Execution

# Tool Description Auth
45 execute_intent Execute multi-step plan with resource optimization API key
46 simulate Simulate multi-step plan without executing --

Standing Orders and Monitors

# Tool Description Auth
47 create_standing_order Create server-side standing order with trigger + action API key
48 list_standing_orders List standing orders with status filter API key
49 create_monitor Create persistent monitor (delegation, balance, price) API key
50 list_monitors List monitors with status filter API key

Session Management

# Tool Description Auth
51 set_api_key Set MERX API key for this session --
52 set_private_key Set TRON private key for this session (address auto-derived) --

SDKs

JavaScript / TypeScript

npm install @merx/sdk
import { MerxClient } from '@merx/sdk'

const merx = new MerxClient({ apiKey: 'merx_sk_your_key' })

// 4 modules: prices, orders, balance, webhooks
const 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()
Property Value
Package @merx/sdk
Modules prices, orders, balance, webhooks
Methods 16
TypeScript Full type definitions included
Dependencies Zero
Node.js 18+

Python

pip install merx-sdk
from merx import MerxClient

merx = MerxClient(api_key="merx_sk_your_key")

# Same 4 modules, snake_case
prices  = 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()
Property Value
Package merx-sdk
Modules prices, orders, balance, webhooks
Methods 16
Type hints Full type annotations
Dependencies Zero
Python 3.11+

REST API

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

# Get prices (public, no auth)
curl https://merx.exchange/api/v1/prices

# Get best price for energy
curl 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 balance
curl 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.

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, ... }
}
Property Value
Endpoint wss://merx.exchange/ws
Channels prices, orders, balance
Update frequency Every 30 seconds for prices
Heartbeat Every 30 seconds
Reconnect Client-side with exponential backoff recommended

Webhooks

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

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"]}'
Event Fired when
order.filled Energy or bandwidth order has been filled by a provider
order.failed Order failed after all provider attempts exhausted
deposit.received TRX deposit confirmed and credited to balance
withdrawal.completed TRX withdrawal broadcast and confirmed on-chain

Security: Every webhook request includes an X-Merx-Signature header containingan HMAC-SHA256 signature computed with your webhook secret. Verify this signaturebefore 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.

# Check balance
curl 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 orAPI. The tool builds a TRX transfer with the correct memo, signs it locally, andbroadcasts. 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 toolcall 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...
Method Setup required Best for Min deposit
Pre-funded balance Account + dashboard deposit High-volume users, teams Any amount
Self-deposit (deposit_trx) API key + private key Autonomous agents Any amount
x402 (create_paid_order) Private key only One-off purchases, no-account agents Per-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. Workswhen the client is offline.

Trigger types:

Trigger Description Example
price_below Fire when best price drops below threshold Buy 65,000 energy when price < 20 SUN
price_above Fire when best price exceeds threshold Alert when energy exceeds 50 SUN
schedule Cron-based schedule Buy energy every day at 03:00 UTC
balance_below Fire when MERX balance drops below threshold Auto-deposit 50 TRX when balance < 10 TRX

Action types:

Action Description
buy_resource Buy specified amount of energy or bandwidth
ensure_resources Ensure minimum resources on target address
notify_only Send 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-renewwith configurable max price.

Monitor type Description Example
delegation_expiry Alert before energy/bandwidth delegation expires Alert 5 minutes before expiry, auto-renew at max 30 SUN
balance_threshold Alert when TRX balance drops below threshold Alert when balance < 5 TRX
price_alert Alert on price movements Alert 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 differencebetween burning TRX (no energy) and renting energy through MERX.

Resource Purpose Free daily Without it
Energy Smart contract execution (USDT transfers, swaps, approvals) 0 (must stake or rent) TRX burned at network rate
Bandwidth Transaction serialization (every TX needs some) 600 bytes/day TRX burned at network rate

Cost comparison

Scenario Burn cost (no energy) Rental cost (MERX) Savings
1 USDT transfer 3-13 TRX 1.43 TRX 56-89%
10 USDT transfers 30-130 TRX 14.30 TRX 52-89%
100 USDT transfers/day 300-1,300 TRX 143 TRX 52-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 costvaries 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 needsapproximately 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 thesender depending on the recipient's account state.

Error handling

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

{
  "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

Code Description Resolution
INSUFFICIENT_BALANCE MERX account balance too low Deposit TRX via dashboard or deposit_trx
PROVIDER_UNAVAILABLE All providers failed for this order Try again later or increase max price
INVALID_ADDRESS TRON address format invalid Check address starts with T and is 34 characters
DELEGATION_TIMEOUT Energy delegation did not arrive within timeout Check order status with get_order
SIMULATION_FAILED Contract call simulation failed Check contract address and function parameters
PRIVATE_KEY_REQUIRED Operation requires TRON private key Set TRON_PRIVATE_KEY env var or call set_private_key
API_KEY_REQUIRED Operation requires MERX API key Set MERX_API_KEY env var or call set_api_key
ORDER_MIN_AMOUNT Amount below minimum order size Energy minimum: 65,000. Bandwidth minimum: 1,500

Security

Private key handling

  • Private keys are set via environment variable (TRON_PRIVATE_KEY) or theset_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 useronly 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_keytool in-session.
  • Create an account and get an API key without leaving the conversation using thecreate_account tool.

What MERX can and cannot do

With private key Without private key
Sign and broadcast transactions Read-only operations only
Send TRX and TRC-20 tokens Check prices and balances
Execute swaps Get swap quotes
Approve contracts Estimate costs
Deposit TRX to MERX View 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

Category Operation TX Hash Status Details
Token Operations transfer_trx b22813a813c3...990e7955 SUCCESS 0.1 TRX sent, 267 bandwidth consumed
Payments deposit_trx 4bc60854f828...8ddcd509 SUCCESS 10 TRX deposited to MERX with memo, credited to balance
Token Operations approve_trc20 56fc87f319b9...0bf5ffbb SUCCESS USDT approval, 99,764 energy consumed
Smart Contracts call_contract fc55aee3dc50...4bb5c1bf SUCCESS name() call on contract, 4,098 energy consumed
DEX Swaps execute_swap 61424b1e89a0...d066d21577 SUCCESS 0.1 TRX -> 0.032 USDT via SunSwap V2, 223,354 energy (exactly as simulated)
Resource Trading create_order 8adac3b8a859...4e69e4ca FILLED 65,050 energy via Netts at 22 SUN, 1.43 TRX
Payments create_paid_order 53236a5aeba0...984dec7b SUCCESS x402 flow: 1.43 TRX invoice paid, 65,050 energy delegated

Key findings from mainnet testing

Metric Value
USDT transfer energy (typical) 65,000 units
USDT transfer cost (rented energy) 1.43 TRX
USDT transfer cost (burned) 3-13 TRX
Maximum savings observed 94%
SunSwap swap energy (0.1 TRX -> USDT) 223,354 units (exact simulation match)
SunSwap swap output 0.032094 USDT for 0.1 TRX
x402 payment flow Invoice -> pay -> verify -> order -> fill -> delegate (one call)
Energy delegation confirmation 2-6 seconds after order fill

Comparison with alternatives

Factual comparison based on publicly available information.

Feature MERX Sun Protocol Netts MCP TronLink MCP PowerSun MCP
MCP Tools 52 ~20 ~10 27 27
MCP Prompts 30 0 0 0 0
MCP Resources 21 0 0 0 0
REST API 46 endpoints No No No No
JavaScript SDK Yes No No No No
Python SDK Yes No No No No
WebSocket Yes No No No No
Web exchange Yes No No No No
Transport stdio + SSE stdio stdio stdio SSE
Energy providers All connected 0 1 0 1
Bandwidth support Yes No No No No
Auto resource purchase Energy + BW No No No Energy only
Exact energy simulation Yes No No No No
Intent execution Yes No No No No
Standing orders (24/7) Yes No No No No
Delegation monitors Yes No No No No
x402 pay-per-use Yes No No No No
DEX swaps Yes No No No Yes
Zero install option Yes (SSE) No No No Yes (SSE)
Private key required Optional Yes Yes Yes No
Webhooks Yes No No No No
Tested on mainnet 7 TX verified Unknown Unknown Unknown Unknown

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

Documentation

Platform merx.exchange
Documentation merx.exchange/docs
API Reference merx.exchange/docs/api-reference
MCP Tools docs/TOOLS.md
MCP Prompts docs/PROMPTS.md
MCP Resources docs/RESOURCES.md
Configuration docs/CONFIGURATION.md
Examples docs/EXAMPLES.md
Comparison docs/COMPARISON.md
Intent Guide docs/INTENT-GUIDE.md
Standing Orders docs/STANDING-ORDERS-GUIDE.md
Payment Methods docs/PAYMENT-METHODS.md
Architecture docs/ARCHITECTURE.md
Changelog docs/CHANGELOG.md

License

MIT. See LICENSE.

MCP Server · Populars

MCP Server · New

    node9-ai

    🛡️ Node9 Proxy

    The Execution Security Layer for the Agentic Era. Providing deterministic "Sudo" governance and audit logs for autonomous AI agents.

    Community node9-ai
    superradcompany

    microsandbox

    opensource secure local-first sandboxes for ai agents

    Community superradcompany
    vasylenko

    Bear Notes MCP Server

    MCP Server for Bear note taking app available as Claude Desktop extension or standalone server for any other AI tool

    Community vasylenko
    chrisryugj

    kordoc

    모두 파싱해버리겠다 — HWP/HWPX/PDF → Markdown | npm · CLI · MCP Server

    Community chrisryugj
    replica882

    Twitter Bridge MCP

    Connect Claude.ai to Twitter/X via browser automation — no API key needed

    Community replica882