Accept TRON payments
with one HTTP header
First x402 facilitator for TRON. Any API can accept USDT, USDC, USDD from AI agents and humans. No accounts, no API keys for payers. Just on-chain payment and a JWT.
How it works
1Agent calls your API
GET /api/premium-data2Your server returns 402
402 + payment instructions3Agent pays on TRON
USDT transfer on-chain4MERX verifies in 3s
POST x402.merx.exchange/facilitate5Content served
200 OK + JWT proofFor API sellers
npm install merx-x402
import { requirePayment } from 'merx-x402'
app.get('/api/data', requirePayment({
amount: '0.10',
recipient: 'TYourAddress',
}), (req, res) => {
res.json({ data: 'premium content' })
})Drop-in Express middleware. Same interface as Coinbase x402 but for TRON/USDT.
For AI agents
// Agent encounters 402 -> pays USDT -> gets JWT -> retries
const auth = await fetch('https://x402.merx.exchange/facilitate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ txid: '...', amount: 100000, to: 'T...' })
})
const { authorization } = await auth.json()
// Retry with proof
await fetch('https://api.example.com/data', {
headers: { 'X-Payment-Authorization': authorization }
})Supported tokens
USDTTether USD
USDCUSD Coin
USDDDecentralized USD
API endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /facilitate | Verify payment, issue JWT authorization |
| GET | /verify/:txid | Check if authorization is valid |
| POST | /invalidate | Mark authorization as used |
| GET | /health | Service status + confirmation parameters |
| GET | /.well-known/x402 | Discovery document |
Base URL: https://x402.merx.exchange
Pricing
Free tier50 settlements/mo
Beyond free tier$0.01 per settlement
Confirmation~3 seconds
Why TRON for x402
$85B+USDT on TRON
63%Global stablecoin supply
3sConfirmation time
$0.01Per settlement