{
  "name": "SwapEazi",
  "tagline": "Multi-currency stablecoin routing for AI agents — and every pair Jumper won't route.",
  "description": "Cross-chain stablecoin routing infrastructure. One API routes swaps across 9 networks (Ethereum, Base, Polygon, Arbitrum, Optimism, BNB Chain, Gnosis, Celo, Solana) plus Tron / USDT-TRC20 corridors that generic aggregators deprioritise. Wallet compliance screening on every swap. 0.5% all-in flat fee (gas + bridge + DEX + slippage inclusive). Agents pay $0.02 per /swap call via x402 (USDC on Base) or MPP (pathUSD on Tempo).",
  "version": "1.2.0",
  "provider": {
    "name": "SwapEazi",
    "url": "https://swapeazi.io",
    "docs": "https://swapeazi.io/docs",
    "contact": "hello@swapeazi.io",
    "twitter": "https://x.com/SwapEazi"
  },
  "tags": [
    "stablecoin",
    "swap",
    "cross-chain",
    "remittance",
    "tron",
    "usdt-trc20",
    "sadc",
    "africa",
    "mica",
    "agent-payments",
    "x402",
    "mppx",
    "monerium",
    "circle",
    "paypal"
  ],
  "endpoints": [
    {
      "path": "/api/x402/swap",
      "method": "POST",
      "description": "Execute a multi-currency cross-chain stablecoin swap. Returns an unsigned tx object for the agent to broadcast.",
      "price": "0.02",
      "currency": "USDC",
      "chain": "base",
      "paymentProtocol": "x402",
      "manifest": "/.well-known/x402.json"
    },
    {
      "path": "/api/x402/quote",
      "method": "POST",
      "description": "Free quote — best route, estimated output, fees, timing. Returns { supported: false, reason: \"no_route_found\", pair } on unrouteable pairs.",
      "price": "0",
      "paymentProtocol": "x402"
    },
    {
      "path": "/api/x402/routes",
      "method": "GET",
      "description": "Discovery — supported chains, full per-chain token map, corridors, pricing.",
      "price": "0"
    },
    {
      "path": "/api/mpp/swap",
      "method": "POST",
      "description": "Same as /api/x402/swap, also accepts MPP/Tempo (pathUSD) payment header.",
      "price": "0.02",
      "currency": "USDC | pathUSD",
      "chain": "base | tempo",
      "paymentProtocol": "x402 | mppx"
    },
    {
      "path": "/api/mpp/quote",
      "method": "POST",
      "description": "Free quote — duplicate of /api/x402/quote on the MPP path.",
      "price": "0"
    },
    {
      "path": "/api/mpp/routes",
      "method": "GET",
      "description": "Discovery — supported chains, full per-chain token map, corridors (incl. Tron / USDT-TRC20), pricing.",
      "price": "0"
    }
  ],
  "supportedChains": [
    { "id": "ETH",  "name": "Ethereum",  "chainId": 1,              "tokens": ["USDC", "USDT", "DAI", "EURe", "EURC", "GBPe", "PYUSD", "USDS", "USDe", "sUSDe", "FDUSD", "RLUSD", "USDD", "EURT", "XSGD"] },
    { "id": "BAS",  "name": "Base",      "chainId": 8453,           "tokens": ["USDC", "USDT", "DAI", "EURC", "PYUSD", "USDS", "cNGN"] },
    { "id": "POL",  "name": "Polygon",   "chainId": 137,            "tokens": ["USDC", "USDT", "DAI", "EURe", "GBPe", "USDe", "EURT", "XSGD", "cNGN", "ZARP"] },
    { "id": "ARB",  "name": "Arbitrum",  "chainId": 42161,          "tokens": ["USDC", "USDT", "DAI", "USDe", "sUSDe"] },
    { "id": "OPT",  "name": "Optimism",  "chainId": 10,             "tokens": ["USDC", "USDT", "DAI", "USDe"] },
    { "id": "BNB",  "name": "BNB Chain", "chainId": 56,             "tokens": ["USDC", "USDT", "DAI", "FDUSD", "USDD"] },
    { "id": "GNO",  "name": "Gnosis",    "chainId": 100,            "tokens": ["EURe", "GBPe"] },
    { "id": "CEL",  "name": "Celo",      "chainId": 42220,          "tokens": ["cKES"] },
    { "id": "SOL",  "name": "Solana",    "chainId": 1151111081099710, "tokens": ["EURC", "PYUSD"] },
    { "id": "TRX",  "name": "Tron",      "chainId": 728126428,      "tokens": ["USDT-TRC20"], "note": "User-signed flow (TronLink). Not callable via x402 — direct users to https://swapeazi.io/app for Tron corridors." }
  ],
  "supportedTokens": {
    "tier1": [
      { "symbol": "USDC", "chains": ["ETH", "BAS", "POL", "ARB", "OPT", "BNB"] },
      { "symbol": "USDT", "chains": ["ETH", "POL", "ARB", "OPT", "BAS", "BNB"] },
      { "symbol": "EURe", "chains": ["POL", "GNO", "ETH"], "peg": "EUR", "issuer": "Monerium" },
      { "symbol": "EURC", "chains": ["BAS", "ETH", "SOL"], "peg": "EUR", "issuer": "Circle" },
      { "symbol": "GBPe", "chains": ["POL", "GNO", "ETH"], "peg": "GBP", "issuer": "Monerium" }
    ],
    "tier2": [
      { "symbol": "PYUSD", "chains": ["ETH", "SOL"],  "peg": "USD", "issuer": "PayPal" },
      { "symbol": "cNGN",  "chains": ["POL", "BAS"], "peg": "NGN" },
      { "symbol": "cKES",  "chains": ["CEL"],         "peg": "KES" },
      { "symbol": "ZARP",  "chains": ["POL"],         "peg": "ZAR" },
      { "symbol": "XSGD",  "chains": ["POL", "ETH"], "peg": "SGD" }
    ]
  },
  "corridors": [
    { "from": "EURe",  "to": "USDC", "chains": ["POL", "GNO", "ETH"] },
    { "from": "USDC",  "to": "EURe", "chains": ["POL", "GNO", "ETH"] },
    { "from": "EURC",  "to": "USDC", "chains": ["ETH", "BAS"] },
    { "from": "USDC",  "to": "EURC", "chains": ["ETH", "BAS"] },
    { "from": "USDT",  "to": "USDC", "chains": ["ETH", "POL", "ARB", "OPT", "BAS"] },
    { "from": "USDC",  "to": "USDT", "chains": ["ETH", "POL", "ARB", "OPT", "BAS", "BNB"] },
    { "from": "GBPe",  "to": "USDC", "chains": ["POL", "GNO", "ETH"] },
    { "from": "USDC",  "to": "GBPe", "chains": ["POL", "GNO", "ETH"] },
    { "from": "USDC",  "to": "ZARP", "chains": ["POL"] },
    { "from": "USDC",  "to": "cNGN", "chains": ["POL", "BAS"] },
    { "from": "USDC",  "to": "cKES", "chains": ["CEL"] },
    { "from": "EURe",  "to": "EURC", "chains": ["ETH"] },
    { "from": "USDC",  "to": "DAI",  "chains": ["ETH", "POL", "ARB", "OPT"] },
    { "from": "PYUSD", "to": "USDC", "chains": ["ETH"] },
    { "from": "USDC",  "to": "XSGD", "chains": ["POL", "ETH"] },
    { "from": "USDT-TRC20", "to": "USDC", "chains": ["BAS", "POL"], "agentCallable": false, "note": "TronLink user-signed flow at /app" },
    { "from": "USDT-TRC20", "to": "EURC", "chains": ["BAS"],        "agentCallable": false, "note": "TronLink user-signed flow at /app" }
  ],
  "discovery": {
    "unsupportedPairResponse": "POST /api/x402/quote (or /api/mpp/quote) with an unrouteable pair returns HTTP 200 with { supported: false, reason: \"no_route_found\", pair: \"EURe->ZARP\" }. Probe here before calling /swap."
  },
  "moat": {
    "summary": "Jumper Exchange returns 'No routes available' for USDT (Tron) ↔ USDC (Base). SwapEazi routes it.",
    "wedge": "MiCA forces EU diaspora to hold USDC/EURC on Base; SADC recipients hold USDT-TRC20. The structural gap is exactly what we serve."
  },
  "pricing": {
    "platformFee": "0.5% all-in (gas + bridge + DEX + slippage inclusive)",
    "agentCallFee": "$0.02 USDC on Base via x402, or 0.02 pathUSD on Tempo via MPP",
    "benchmark": "vs. World Bank-audited 6.34% SADC corridor average"
  },
  "wallet": "0x2f7bA8C21e838BbA578DB4FD4D6BfF4409F6a145"
}
