Lucyd

trade.lucydPublished by lucyd.tradeOfficial publisherv0.1.4Updated Oct 26, 2026

Trade Bitcoin Up/Down prediction markets on Lucyd: markets, order books, orders, positions.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Lucyd connects an assistant to a Bitcoin Up/Down prediction market exchange so it can browse markets, read order books, and trade with a wallet.

What you can do
  • List and inspect markets, including rules, strike, end date and outcome token ids
  • Read order books, best bid/ask and mid, and recent trades filtered by market or trader
  • Check positions, profit and loss history, trader stats and the top-trader leaderboard
  • Place limit or market orders, close positions, cancel orders, approve trading and redeem winnings (local server with a wallet key)
  • Check service health, settlement and live trade stream status
When to use it
Useful when you want an assistant to research or trade short-horizon BTC Up/Down prediction markets in plain language, or to monitor a wallet's positions and profit. The hosted endpoint is enough for market data only.
Requirements
Remote endpoint needs no install or authentication. Trading requires the local server via npx with Node.js 18 or newer (or a downloaded binary), the LUCYD_PRIVATE_KEY environment variable, a wallet holding test USDC and a little Sepolia ETH for approvals and redemptions, and network access to the Lucyd API, order book and a Sepolia RPC node.
Before you install
Trading requires the LUCYD_PRIVATE_KEY wallet key, which signs orders and transactions; use a dedicated wallet holding only what you are ready to trade. The server asks the agent to confirm before trading, but that depends on the agent, so set LUCYD_MAX_ORDER_USD low or LUCYD_READ_ONLY=true. Tools can place orders, cancel them, approve contracts and redeem funds. It runs on the Sepolia testnet with test USDC.

Installation

In SourceWeft

  1. Open Lucyd in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/trade.lucyd%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "lucyd": {
      "type": "http",
      "url": "https://mcp.lucyd.trade/mcp"
    }
  }
}

README

Lucyd MCP server

Connect an AI agent (Claude, Cursor or any MCP client) to Lucyd, a prediction markets exchange. Ask in plain language to browse markets, read the order book, trade, close positions and collect winnings.

Lucyd currently runs on the Ethereum Sepolia testnet with test USDC.

What it can do

ToolWhat it does
list_marketsMarkets with filters by state and period
get_marketOne market: rules, strike, end date, outcome token ids
get_order_bookBids and asks of an outcome, best bid, best ask, mid
list_tradesRecent trades, by market or trader
get_positionsTokens held, average price, value and profit
get_trader_statsProfit, volume, win rate of a wallet
get_pnl_historyProfit over time
top_tradersLeaderboard
get_statusWhether the service, settlement and live trades are healthy
get_walletYour address, ETH and USDC balances, approvals
get_open_ordersYour resting orders
get_order_historyYour past and current orders with status and fills
place_orderLimit or market order (buy or sell up or down)
close_positionSell everything you hold on a market right away
cancel_ordersCancel by id, all on a market, or all
approve_tradingOne-time approvals for the Exchange contract
set_auto_redeemTurn automatic payout of winnings on or off
redeemCollect the payout of a resolved market

Example requests:

  • "Show the open 1h markets and the order book of the current one"
  • "Buy 10 up tokens in the current 15m market at 0.55 or better"
  • "Close my position in the 5m market"
  • "What are my positions and total profit this week?"
  • "Cancel all my orders"

Without a wallet key the server works read-only: markets, books, trades and any wallet's public stats.

Hosted, read-only

For market data only, nothing to install: add https://mcp.lucyd.trade/mcp as a custom connector (remote MCP server, no authentication) in Claude, ChatGPT or any client that supports Streamable HTTP. It has the market data tools: markets, order books, trades, and positions and stats of any wallet address. Trading needs your own wallet key, so it works only with the local server below.

To run your own hosted copy, set LUCYD_HTTP_ADDR (for example 0.0.0.0:3006) and LUCYD_HTTP_HOSTS (the host names it answers to); the server then serves MCP at /mcp and refuses to start with a wallet key.

Install

The easiest way needs only Node.js 18 or newer: the client runs npx -y @lucyd/mcp, which downloads the binary for your system on first run and checks its SHA-256. Nothing else to install, see the configs below.

Without Node.js, download the binary for your system from data.testnet.lucyd.trade/mcp (open the latest version folder; SHA256SUMS there lists the checksums) and put it anywhere, for example ~/bin/lucyd-mcp (lucyd-mcp.exe on Windows). On macOS and Linux make it executable with chmod +x lucyd-mcp. Then use its path instead of npx in the configs below.

Or build from source with Rust:

bash
cargo install --git https://github.com/lucyd-trade/mcp-server

Connect your agent

Replace the key with your trading wallet key. Restart the client afterwards.

Claude Code

bash
claude mcp add lucyd -e LUCYD_PRIVATE_KEY=0xYOUR_KEY -- npx -y @lucyd/mcp

Claude Desktop: edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\).

Cursor: edit ~/.cursor/mcp.json.

Both use the same format:

json
{  "mcpServers": {    "lucyd": {      "command": "npx",      "args": ["-y", "@lucyd/mcp"],      "env": {        "LUCYD_PRIVATE_KEY": "0xYOUR_KEY"      }    }  }}

If the client on Windows cannot start npx, use "command": "cmd" with "args": ["/c", "npx", "-y", "@lucyd/mcp"].

Before the first trade

The wallet needs USDC to buy and a little Sepolia ETH to pay gas for one-time approvals and redemptions. Then ask the agent to check your wallet and approve trading, or call approve_trading directly. Trading itself costs no gas: the exchange settles fills on chain.

Settings

VariableDefaultMeaning
LUCYD_PRIVATE_KEYnoneWallet key that signs orders and transactions. Without it trading tools are off
LUCYD_MAX_ORDER_USD100Largest buy order in USDC
LUCYD_READ_ONLYfalsetrue turns off every tool that trades or sends transactions
LUCYD_RPC_URLhttps://ethereum-sepolia-rpc.publicnode.comSepolia RPC node
LUCYD_API_URLhttps://api.testnet.lucyd.tradeMarkets API
LUCYD_CLOB_URLhttps://clob.testnet.lucyd.tradeOrder book

Safety

  • The key never leaves your machine. The server signs locally and sends only signed orders and transactions.
  • Use a separate wallet for the agent and keep only what you are ready to trade in it.
  • The server tells the agent to ask you before trading, but that is up to the agent. Set LUCYD_MAX_ORDER_USD low, or LUCYD_READ_ONLY=true if you only want data.

How it works

The server runs locally and talks to the agent over stdio. Market data comes from the public API. Orders are signed with EIP-712 and sent to the order book over WebSocket (protocol in the API docs). Approvals and redemptions are plain transactions on Sepolia.

ContractAddress
Exchange0x6588c789c6b6df8f8b6b92e6433f813cc2d1d4d0
ConditionalTokens (outcome tokens)0xB62eFc43C16b4E2Bf1aAAD33002368e55708538D
USDC (6 decimals)0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238
AutoRedeemer0x42Bf669f0A3DCc95510001Ddbc43D56FdE67268F

License

MIT

Source: README.md at commit 0176d14

Tools

9

get_market

Get market

Full details of one market, including its rules and the ids of its up and down outcome tokens.

Parametersmarketrequired

get_order_book

Get order book

Order book of a market outcome: bids (best first) and asks with prices in USDC per token and sizes in tokens, plus best bid, best ask and mid. Buying down at p is the same book as selling up at 1 - p.

Parametersmarketrequiredoutcome

get_pnl_history

Get P&L history

Profit and loss over time of a wallet, as a series of points. Defaults to the configured wallet.

Parametersrangeaddress

get_positions

Get positions

Positions of a wallet: tokens held per market and outcome, average price, current value and profit. Settled markets show the payout. Defaults to the configured wallet.

Parameterslimitstatemarkettrader

get_status

Service status

Health of the Lucyd service: API and database, settlement of ended markets on time, live trade stream. Use it when something looks stuck, e.g. a market is not resolving.

Takes no parameters.

get_trader_stats

Get trader stats

Stats of a wallet: total and realized profit, volume, markets traded, win rate. Defaults to the configured wallet.

Parametersaddress

list_markets

List markets

List prediction markets on Lucyd. Each market asks whether the BTC price will be Up or Down at its end date versus the strike (strike is the price times 1e8). Returns address (the market id), state, period, start and end dates, strike, winner and volume.

Parameterslimitorderstateoffsetperiod

list_trades

List trades

Recent trades, newest first. Filter by market and/or trader. Amounts are in USDC and tokens.

Parameterstofromlimitmarkettrader

top_traders

Top traders

Leaderboard of traders, best first.

Parameterssortlimit

Version history

2
  1. v0.1.4LatestOct 26, 2026
  2. v0.1.3Oct 20, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts