Skip to content

Add MERX - first TRON x402 facilitator in registry (USDT, USDC, USDD)#20

Open
Hovsteder wants to merge 2 commits intocoinbase:mainfrom
Hovsteder:main
Open

Add MERX - first TRON x402 facilitator in registry (USDT, USDC, USDD)#20
Hovsteder wants to merge 2 commits intocoinbase:mainfrom
Hovsteder:main

Conversation

@Hovsteder
Copy link
Copy Markdown

@Hovsteder Hovsteder commented Apr 4, 2026

MERX - TRON x402 facilitator (USDT, USDC, USDD)

Adds MERX to partners-data/ as a hosted x402 facilitator targeting TRON mainnet, with secondary support for Base USDC. As of this PR, this directory contains 198 partner directories with zero TRON-related entries.

Facilitator URL: https://x402.merx.exchange
Networks: TRON mainnet (tron:mainnet, also CAIP-2 hex tron:0x2b6653dc), Base mainnet (eip155:8453)
Schemes: exact, exact_permit, exact_gasfree
Assets on TRON:

  • USDT (TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t, 6 decimals)
  • USDC (TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8, 6 decimals)
  • USDD (TPYmHEhy5n8TCEfYGqW2rPxsghSfzghPDn, 18 decimals)

About MERX

MERX runs as part of a complete TRON infrastructure stack:

  • Own TRON Lite FullNode (no TronGrid dependency for verification)
  • TRON energy aggregator across 8 providers
  • 12 paid x402 resource endpoints at merx.exchange/x402/* (prices, account, estimate, swap, watch, receive, invoice, send, send/batch, swap/execute, network, rpc proxy)
  • Own deployed GasFreeController contract TKjJ1r5XYqnLZmLakcP3knis7Lh6gm3qtR for permit-based settlement
  • npm middleware merx-x402 for sellers
  • 60-tool MCP server for AI agents

Verified mainnet settlements

Six on-chain settlement transactions were executed on TRON mainnet to verify the full pipeline. All txids are independently verifiable on TronScan.

exact scheme (buyer broadcasts TRC-20 transfer, facilitator parses on-chain Transfer event log and issues authorization JWT):

Token TRON mainnet txid
USDT https://tronscan.org/#/transaction/bf1292ec5ae3d6195fe487c77fdbfde48ebc29024c090d0854d2daacc948e6db
USDC https://tronscan.org/#/transaction/b83b2d363f34ba6a600b567e73b66e914aa339dbf96f261efa145e7c790e6785
USDD https://tronscan.org/#/transaction/349f8b1d360e4ef058a47188f8f4b5f30056e88655c6d4c666f6c511c8f0415c

exact_gasfree scheme (buyer signs TIP-712 PermitTransfer off-chain, facilitator broadcasts via MERX GasFreeController, contract pulls value+fee from per-user GasFree subaccount):

Token TRON mainnet txid Commission to serviceProvider
USDT https://tronscan.org/#/transaction/423f86eff6569ca577ba484bd4436bc3d14f30cac968befb4f835d81d7ac0500 +2 USDT
USDC https://tronscan.org/#/transaction/5974b4085c14a799d727201e80fb72369e077b712b21e70a2fe2cfd964006402 +2 USDC
USDD https://tronscan.org/#/transaction/9744ad7b0c8c321654c043e008b28f4c8ac537c5bf470a32c9acb62b64569260 +2 USDD

Commission flow on serviceProvider wallet TMjNmsTzdqEofvoiMg7ZWa9nG2SAVHQd8M:

              BEFORE         AFTER          DELTA
USDT       0.032094  ->   2.032094       +2.000000
USDC       0.000000  ->   2.000000       +2.000000
USDD       0.000000  ->   2.000000       +2.000000

This is on-chain proof that MERX collects fees as the serviceProvider of its own GasFreeController contract (not Justlend, not a third party).

Standard x402 v2 facilitator interface

GET  /supported           - x402 v2 supported kinds (10 entries: 9 TRON + 1 Base)
POST /verify              - x402 v2 verify
POST /settle              - x402 v2 settle (dispatches by scheme)
GET  /health              - service status, supported assets, confirmation policy
GET  /openapi.json        - OpenAPI 3.1 spec
GET  /.well-known/x402    - resource discovery (12 paid endpoints)
GET  /.well-known/x402/facilitator - facilitator metadata

USDD 18-decimal handling

USDD on TRON uses 18 decimals (unlike USDT/USDC which use 6). The facilitator handles this correctly at every layer: TIP-712 typed-data signing, off-chain verifier, on-chain settlement, JWT amount field, and balance display. The USDD settlement transactions above transfer 0.5 USDD (atomic value 500000000000000000) and 0.1 USDD via permit (atomic value 100000000000000000).

Category

Facilitators

Note on prior art

Other TRON x402 implementations exist at the SDK and standalone-service layer. The narrowly-scoped claim being made here is registry membership: as of this PR there are zero TRON entries in coinbase/x402/typescript/site/app/ecosystem/partners-data/. See the comment thread for the full prior-art audit.

@EruditeIntelligence
Copy link
Copy Markdown

You were not the first x402 for Tron

…st all 3 schemes/assets

- description: scope honest claim to "first in this registry", drop overbroad "First x402 facilitator for TRON"
- websiteUrl: github.com/Hovsteder/x402-tron -> merx.exchange
- networks: add base alongside tron
- schemes: add exact_permit and exact_gasfree (deployed and verified on mainnet)
- assets: list USDT, USDC, USDD explicitly instead of generic "TRC20"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Hovsteder Hovsteder changed the title Add MERX - First x402 facilitator for TRON Add MERX - first TRON x402 facilitator in registry (USDT, USDC, USDD) Apr 8, 2026
@Hovsteder
Copy link
Copy Markdown
Author

Thanks for pointing out the inconsistency. You're right - there are absolutely x402 facilitators that came before MERX. Your @erudite-intelligence/x402-tron v1 was published on npm on 2026-02-12 and v2 on 2026-02-14. Our nearest production competitor BofAI has been operating their hosted facilitator at facilitator.bankofai.io since February. I should not have used "first" as broadly as I did, and I'm correcting the PR title to scope it to this registry.

Where MERX is first is inside this specific partner registry: as of right now, coinbase/x402/typescript/site/app/ecosystem/partners-data/ contains 198 partner directories with zero TRON-related entries (verified by direct GitHub API listing of the directory plus repo-wide code search for tron, TRC20, tronscan, trongrid, and the USDT TRC-20 contract prefix - all zero matches). PR #20 is also the only TRON-mentioning PR in the entire pull request history of this repo.

Before posting this I tested both your stack and BofAI's directly:

@erudite-intelligence/x402-tron-v2 - npm install + inspection

I ran npm install @erudite-intelligence/x402-tron-v2 and read the package contents. It is a scheme registrar that plugs into a third-party @x402/core facilitator host - dist/exact/{server,client,facilitator}/ exports register*Scheme() functions, no Express server, no /verify or /settle HTTP routes. The README documents one scheme (exact), one token (USDT TRC-20 mainnet), and explicitly lists useWrapperContract and feeDelegation under "Roadmap - not yet implemented". The library deserves credit for being the first published TRON x402 scheme on npm, but it is a library that someone has to host inside their own facilitator, not a deployed facilitator service itself.

eruditepay.com and subdomains - direct probe for an actual facilitator

The marketing site at eruditepay.com lists "x402 Facilitator" as a product and states "20 blockchains now live on the facilitator". I tried to find the actual endpoint behind that claim:

  • eruditepay.com/{supported,verify,settle,.well-known/x402,facilitator,products/x402-facilitator,products/facilitator,x402-facilitator} - every path returns the same 42,521-byte SPA homepage (identical title, identical content). POST /verify and POST /settle return HTTP 405 Not Allowed from nginx, so there is no facilitator handler bound there.
  • api.eruditepay.com/{supported,verify,settle,.well-known/x402} - same pattern: GET returns the SPA marketing HTML, POST returns 405.
  • bridge.eruditepay.com/{supported,verify,settle} - all return HTTP 404. The subdomain does expose /.well-known/x402 returning a real JSON descriptor, but it's a resource server discovery doc (361 paid blockchain-analytics endpoints), not a facilitator interface. /api/supported returns HTTP 402 confirming it's a paywalled data API.
  • facilitator.eruditepay.com, x402.eruditepay.com, pay.eruditepay.com - facilitator.* and pay.* do not resolve / connect; x402.* returns 404 on /supported.

I could not find a URL that exposes the standard x402 v2 facilitator interface (GET /supported returning kinds[], POST /verify, POST /settle).

facilitator.bankofai.io - direct probe

BofAI is the more substantial production comparison and clearly a serious team. Their /supported returns ten kinds covering three schemes (exact, exact_permit, exact_gasfree) on tron:mainnet and tron:nile, plus BSC mainnet and BSC testnet. Two notes from direct testing:

  • Their TRON support is USDT and USDD; I could not find USDC TRC-20 (TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8) in their public repos or in their advertised asset set.
  • They route to BSC for EVM, not Base - eip155:8453 is not in their /supported.
  • They have not submitted a directory entry to this repo (verified above).

Where that leaves MERX in this registry

  1. First and currently only TRON-supporting facilitator submitted to coinbase/x402/partners-data/ - 198 dirs, 0 TRON.
  2. Verified mainnet settlements on USDT, USDC, and USDD via two schemes (exact direct TRC-20 transfer, and exact_gasfree TIP-712 permit through MERX's own GasFreeController contract TKjJ1r5XYqnLZmLakcP3knis7Lh6gm3qtR). Six on-chain txids and the before/after delta on the serviceProvider wallet are listed in the PR body - anyone can verify on TronScan.
  3. The only x402 facilitator I found that handles both TRON mainnet and Base mainnet under one endpoint.
  4. The only TRON facilitator I found that runs on its own TRON Lite FullNode (BofAI uses TronGrid) and that is also a TRON energy aggregator across 8 providers.

I'll update the PR title to Add MERX - first TRON x402 facilitator in registry (USDT, USDC, USDD) accordingly. Open to any further corrections.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants