New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@epsilon-exchange/mcp

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@epsilon-exchange/mcp

MCP server for Epsilon — quotes, market data, and non-custodial limit/DCA order placement on Robinhood Chain

latest
Source
npmnpm
Version
0.3.0
Version published
Maintainers
1
Created
Source

@epsilon-exchange/mcp

MCP server for Epsilon — lets AI agents (Cursor, Claude Desktop, Claude Code, or any MCP client) quote, place, and manage limit / stop-loss / DCA orders on Robinhood Chain.

Non-custodial by construction. Orders are EIP-712 messages signed locally with your wallet key; funds never leave your wallet until a keeper fills the order on-chain. The Epsilon API only ever sees the signed payload — never the key.

Setup

You need:

  • An Epsilon developer key (eps_…) — create one at developers.epsilon.exchange.
  • Optionally, a trading wallet private key to enable order placement. Use a dedicated wallet with limited funds — not your main wallet.

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "epsilon": {
      "command": "npx",
      "args": ["-y", "@epsilon-exchange/mcp"],
      "env": {
        "EPSILON_API_KEY": "eps_…",
        "EPSILON_WALLET_KEY": "0x…"
      }
    }
  }
}

Claude Desktop / Claude Code

{
  "mcpServers": {
    "epsilon": {
      "command": "npx",
      "args": ["-y", "@epsilon-exchange/mcp"],
      "env": {
        "EPSILON_API_KEY": "eps_…",
        "EPSILON_WALLET_KEY": "0x…"
      }
    }
  }
}

Omit EPSILON_WALLET_KEY for a read-only connection (quotes, order status, market stats).

Environment

VariableRequiredDefaultPurpose
EPSILON_API_KEYyesdeveloper key (eps_…)
EPSILON_WALLET_KEYno0x-prefixed private key; enables trading tools
EPSILON_API_URLnohttps://api.epsilon.exchangeAPI origin
EPSILON_RPC_URLnopublic Robinhood Chain RPCchain reads + approvals

Tools

ToolWallet neededWhat it does
get_quotenobest executable quote for a swap, with price impact and split suggestion
get_order_statusnoorder status + fills by hash
market_statsnoengine-wide order/volume stats
token_infonotoken metadata (+ balance and router allowance when a wallet is set)
wallet_infoyestrading wallet address, ETH balance, chain
approve_tokenyeson-chain ERC-20 approval of the Epsilon router (once per token)
place_limit_orderyessigned limit or stop-loss order; fills when price reaches the trigger
place_dca_orderyessigned DCA schedule — one signature, N timed executions
cancel_orderyescancels a pending order with a maker-signed EIP-712 cancellation

Example session

You: swap-quote 0.5 WETH → USDG, then place a limit sell at 3100

The agent calls get_quote, shows you the numbers, checks allowance via token_info, runs approve_token if needed, then place_limit_order with limit_price: "3100" — and returns the order hash, trackable with get_order_status or in the Epsilon app.

How signing works

  • Domain: EpsilonRouter v7, chain 4663, router 0xdb41FA80016DC946cEB7B8512c3423463d3F260f (v7.1 strict-floor deploy).
  • The order struct (salt, maker, tokens, amount, trigger price, packed maker-traits, fee fields) is signed with EPSILON_WALLET_KEY via viem.
  • Fee fields come from the route the API serves and are verified server-side — the package never invents them.
  • Cancellation signs OrderCancel(bytes32 orderHash) under the same domain; only the maker can cancel.

Development

npm install
npm run build
EPSILON_API_KEY=eps_… node dist/index.js   # stdio server

The Go indexer cross-verifies this package's signatures in CI (TestMCPSignedOrderFixtureVerifies); regenerate the fixture after signing changes with node scripts/gen-fixture.mjs.

Keywords

mcp

FAQs

Package last updated on 17 Sep 2026

Related posts