{
 "voice": "One card of the book.",
 "agent": {
  "slug": "epsilon",
  "name": "Epsilon",
  "specialty": "trading",
  "description": "Non-custodial limit, stop-loss and DCA trading on Epsilon (Robinhood Chain) for AI agents",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-08T23:13:31.380Z",
  "card": "/agent/epsilon",
  "url": "https://allagents.app/agent/epsilon",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://api.epsilon.exchange/mcp",
   "site": "https://developers.epsilon.exchange"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [
   "npm"
  ],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://developers.epsilon.exchange",
   "hire": null
  },
  "bubble": "closed",
  "score": 54,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-11-09",
   "total": 22,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "cancel_order",
     "description": "Ask the user to approve cancelling one of their open orders (hash from list_orders). Returns an approval link; the cancellation is signed by the user's wallet…"
    },
    {
     "name": "check_order",
     "description": "Check whether a resting order (limit, stop, DCA, trailing) for this pair and size would be executable: oracle support, liquidity, minimum size. Run this…"
    },
    {
     "name": "get_approval",
     "description": "Status of an approval you created: pending (user hasn't decided), submitted (with orderHash or txHash — then use get_order to follow fills), rejected, failed…"
    },
    {
     "name": "get_error_catalog",
     "description": "Machine-readable catalog of every error code the Epsilon API returns, with meanings and retry guidance. Consult it when any other tool returns an error code…"
    },
    {
     "name": "get_example",
     "description": "Full source code of one Epsilon integration example, by id from list_examples. No API key required."
    },
    {
     "name": "get_grant",
     "description": "The signed-in account's agent grant for this channel, if any: the embedded wallet it signs with, per-order and daily caps, what remains today, allowed order…"
    },
    {
     "name": "get_market_stats",
     "description": "Market-level numbers for Epsilon (Robinhood Chain DEX). scope=overview (default) is the best first call: top tokens by 30-day volume, 24h volume, and…"
    },
    {
     "name": "get_me",
     "description": "The signed-in Epsilon account behind this session: account id, handle, linked wallets (embedded first), the scopes this client was granted, and which client…"
    },
    {
     "name": "get_order",
     "description": "One Epsilon order by hash: status (pending/active/filled/cancelled/expired), parameters, and its fills. Use list_orders to find orders by wallet first; use…"
    },
    {
     "name": "get_orderbook",
     "description": "The market's open (pending/active) limit orders on both sides of a token pair, largest first — liquidity you can rest against. For one wallet's own orders use…"
    },
    {
     "name": "get_quote",
     "description": "Best executable quote for swapping tokenIn → tokenOut on Epsilon (Robinhood Chain, id 4663): expected output and price. Use this for a quick price check; use…"
    },
    {
     "name": "get_route",
     "description": "Full routing breakdown for a swap: best venue split, expected and minimum output, price impact (ppm), and the feeLegs a signed order must embed (pass…"
    },
    {
     "name": "list_examples",
     "description": "List runnable Epsilon integration examples (Python cron DCA, LangChain tools, Vercel AI SDK tools, Telegram bot). Fetch full source with get_example. No API…"
    },
    {
     "name": "list_fills",
     "description": "Executed trades (swaps and order fills) on Epsilon, newest first, optionally for one wallet — the trade history. For resting/open orders use list_orders…"
    },
    {
     "name": "list_orders",
     "description": "A wallet's Epsilon orders filtered by status and/or type — the portfolio view, newest first. Use get_order for one order's fills; use list_fills for executed…"
    },
    {
     "name": "place_dca_order",
     "description": "Ask the user to approve a DCA program: sell amount of tokenIn for tokenOut in `executions` equal slices, one every `every` (15m, 1h, 1d…). Optionally gated by…"
    },
    {
     "name": "place_limit_order",
     "description": "Place a resting limit order: sell amount tokenIn for tokenOut once the market reaches limitPrice (tokenOut per tokenIn) or better. Keeper-executed — it keeps…"
    },
    {
     "name": "place_market_order",
     "description": "Ask the user to approve a market swap of amount tokenIn → tokenOut at the best current route. Returns an approval link, not a fill: the user signs in the…"
    },
    {
     "name": "place_stop_order",
     "description": "Place a stop-loss: sell amount tokenIn for tokenOut if the price falls to triggerPrice (tokenOut per tokenIn). Keeper-executed. Queued under an active agent…"
    },
    {
     "name": "place_trailing_order",
     "description": "Ask the user to approve a trailing stop: sell amount tokenIn for tokenOut when price drops trailPercent below its running high since placement…"
    },
    {
     "name": "search_docs",
     "description": "Search the Epsilon developer documentation (API, auth, order signing, webhooks, rev-share, SDKs, MCP). Returns the most relevant doc sections. No API key…"
    },
    {
     "name": "search_tokens",
     "description": "Resolve a token symbol or name to its address and decimals — call this FIRST when the user names a token; every other tool takes addresses. volume30dUsd…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://api.epsilon.exchange/mcp",
   "answers": true,
   "checked": "2026-11-09T06:08:00.140Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-09T06:52:02.796Z",
     "since": "2026-11-09T06:52:02.796Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-09T06:52:02.796Z",
    "since": "2026-11-09T06:52:02.796Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-11-09T06:08:00.140Z",
   "last_answer_at": "2026-11-09T06:08:00.140Z",
   "last_ms": 89,
   "checked_at": "2026-11-09T06:08:00.140Z"
  }
 }
}