x402 Facilitator

TRON x402
facilitator

Verify and settle USDT, USDC, USDD payments on TRON for AI agents. Standard x402 interface (/verify, /settle, /supported). No API key required to start. Sub-3-second confirmation.

How it works

1Agent calls your APIGET /api/premium-data
2Server returns 402402 + PAYMENT-REQUIRED
3Agent pays USDT on TRONTRC20 transfer on-chain
4Server calls MERXPOST /verify + /settle
5Content served200 OK + receipt

Facilitator endpoints

Facilitator API endpoints
MethodEndpointDescription
GET/supportedSupported networks, schemes, and signers
POST/verifyVerify payment (amount, recipient, token, confirmation)
POST/settleVerify + record authorization, return JWT
GET/healthService status and confirmation parameters
GET/.well-known/x402Discovery document (12 payable endpoints)
GET/openapi.jsonOpenAPI 3.1.0 specification

Base URL: https://x402.merx.exchange

Supported networks

TRONUSDT, USDC, USDD -- tron:0x2b6653dc
BaseUSDC -- eip155:8453

Quick start: verify a TRON payment

# 1. Check what we support
curl https://x402.merx.exchange/supported

# 2. Verify a TRON USDT payment
curl -X POST https://x402.merx.exchange/verify \
  -H "Content-Type: application/json" \
  -d '{
    "x402Version": 2,
    "paymentPayload": {
      "accepted": { "network": "tron:0x2b6653dc" },
      "payload": { "txid": "<your-tron-txid>" }
    },
    "paymentRequirements": {
      "network": "tron:0x2b6653dc",
      "amount": "1000000",
      "asset": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
      "payTo": "TYourAddress"
    }
  }'

# Response: { "isValid": true, "payer": "TSenderAddress" }

Verification checks

The facilitator validates every payment before confirming:

ConfirmationTransaction confirmed in block
RecipientpayTo matches on-chain receiver
AmountTransfer meets minimum required
TokenCorrect TRC20 contract (USDT/USDC/USDD)

For API sellers (Express middleware)

npm install merx-x402

import { requirePayment } from 'merx-x402'

app.get('/api/data', requirePayment({
  amount: '0.10',         // $0.10 USDT
  recipient: 'TYourAddress',
  facilitator: 'https://x402.merx.exchange',
}), (req, res) => {
  res.json({ data: 'premium content' })
})

Pricing

Without API key100 requests/day
With API key (free)Unlimited
ConfirmationSub-3 seconds

Get a free API key at merx.exchange/dashboard/agent. Pass it as X-Api-Key header for unlimited access and usage tracking.

Why TRON for x402

$85B+USDT on TRON
63%Global stablecoin share
3sConfirmation time
Only TRONin coinbase/x402 registry

12 x402-payable endpoints live

Payable endpoints
EndpointDescriptionPrice
GET /x402/tron/pricesLive TRON energy & bandwidth prices across 6 providers$0.01
GET /x402/tron/account/:addressTRON account info: TRX, energy, bandwidth, USDT/USDC/USDD holdings$0.01
POST /x402/tron/estimateEstimate TRON energy & bandwidth for a TRC-20 transfer$0.01
POST /x402/tron/swap/quoteTRON SunSwap V2 swap quote (TRX, USDT, USDC, USDD)$0.01
GET /x402/tron/networkTRON chain parameters: head, block, energy unit price$0.01
POST /x402/tron/invoiceCreate TRON payment invoice (USDT, USDC, USDD)$0.01
POST /x402/tron/watchWatch TRON address for incoming TRC-20 (sub-3s webhooks)$0.01
POST /x402/tron/receiveDetect a one-time incoming TRON payment$0.01
POST /x402/tron/sendSend USDT on TRON with automatic energy provisioning$0.01
POST /x402/tron/send/batchBatch send up to 50 TRC-20 transfers on TRON$0.01
POST /x402/tron/swap/executeExecute TRON SunSwap V2 swap with exact energy$0.01
POST /x402/tron/rpc/:methodTRON RPC pass-through (9 whitelisted methods)$0.01

Pay with USDC on Base or USDT/USDC/USDD on TRON. All endpoints live at merx.exchange/x402/tron/*

Start using the TRON facilitator